Added support for keyboard lock LEDs

This commit is contained in:
Jeff Parsons 2014-11-14 18:08:45 -08:00 committed by jeffpar
commit 501649f67b
37 changed files with 1970 additions and 1829 deletions

View file

@ -94,6 +94,16 @@
line-height: 34px;
background-color: #ffffff;
}
.pcjs-led {
float: left;
width: 8px;
height: 8px;
margin: 4px;
border: 1px solid black;
text-align: center;
line-height: 19px;
background-color: #000000;
}
.pcjs-reference {
float: left;
font-size: x-small;

View file

@ -377,6 +377,9 @@
</fieldset>
</form>
</xsl:when>
<xsl:when test="@type = 'led'">
<div class="{$APPCLASS}-{@class} {$APPCLASS}-{@type}" data-value="{$type},{$binding}"><xsl:value-of select="."/></div>
</xsl:when>
<xsl:when test="@type = 'separator'">
<hr/>
</xsl:when>

View file

@ -9,96 +9,96 @@ function xa(){if(void 0===ra){var a;try{window.localStorage.setItem("PCjs.localS
function Aa(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)?!0:!1}return!1}function Ba(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Ca(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}}var Da={init:[],show:[],exit:[]},Ea=!1,Fa=!0;function Ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ha(a){Da.init.push(a)}
function Ia(a){if(Fa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ja(a){!Fa&&a?(Fa=!0,Ea&&Ka("init")):Fa=a}function Ka(a){Da[a]&&Ia(Da[a])}Ga("onload",function(){Ea=!0;Ia(Da.init)});Ga("onpageshow",function(){Ia(Da.show)});Ga(Aa("Opera")||Aa("iOS")?"onunload":"onbeforeunload",function(){Ia(Da.exit)});
function z(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.rk=b.comment;this.ap=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Kk=this.id.substr(0,b),this.xh=this.id.substr(b+1)):this.xh=this.id;this[a]=c;this.qa={sh:!1,Bc:!1,yi:!1,Ob:!1,Zc:!1};this.Gi=null;this.qa.Zc=!1;this.ya={};this.fa=null;Ma[Ma.length]=this}var Na=void 0,Oa={};
if(window){Na||(Na=window.location.search.substr(1));for(var Ra,Sa=/\+/g,Ta=/([^&=]+)=?([^&]*)/g;Ra=Ta.exec(Na);)Oa[decodeURIComponent(Ra[1].replace(Sa," "))]=decodeURIComponent(Ra[2].replace(Sa," "))}function Ua(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function A(a,b){b.prototype=Ua(a.prototype)}var Ma=[];
function Va(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ma.length;b++){var d=Ma[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Wa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ma.length;c++)if(Ma[c].id===a)return Ma[c]}return null}
function Ya(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<Ma.length;d++)if(c)c==Ma[d]&&(c=null);else if(!(a!=Ma[d].type||b&&Ma[d].id.indexOf(b)))return Ma[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){x(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Za(a,b){var c,d;d=D(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var g=f[e];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h){var l,n;n=h.split(" ");for(l=0;l<n.length;l++)switch(h=n[l],h){case "pcjs-input":case "pcjs-output":(n=C(g))&&n.binding&&a.Fb(h,n.type,n.binding,g),n=[]}}}}}}
function z(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.rk=b.comment;this.bp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Lk=this.id.substr(0,b),this.yh=this.id.substr(b+1)):this.yh=this.id;this[a]=c;this.qa={th:!1,Ec:!1,zi:!1,Qb:!1,ad:!1};this.Hi=null;this.qa.ad=!1;this.wa={};this.fa=null;La[La.length]=this}var Na=void 0,Oa={};
if(window){Na||(Na=window.location.search.substr(1));for(var Pa,Sa=/\+/g,Ta=/([^&=]+)=?([^&]*)/g;Pa=Ta.exec(Na);)Oa[decodeURIComponent(Pa[1].replace(Sa," "))]=decodeURIComponent(Pa[2].replace(Sa," "))}function Ua(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function A(a,b){b.prototype=Ua(a.prototype)}var La=[];
function Va(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<La.length;b++){var d=La[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Wa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<La.length;c++)if(La[c].id===a)return La[c]}return null}
function Xa(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<La.length;d++)if(c)c==La[d]&&(c=null);else if(!(a!=La[d].type||b&&La[d].id.indexOf(b)))return La[d]}return null}function C(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){x(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Za(a,b){for(var c=D(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(g.nodeType===window.document.ELEMENT_NODE){var h=g.getAttribute("class");if(h)for(var l=h.split(" "),n=0;n<l.length;n++)switch(h=l[n],h){case "pcjs-input":case "pcjs-output":(n=C(g))&&n.binding&&a.Db(h,n.type,n.binding,g),n=l.length}}}}
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
z.prototype={toString:function(){return this.name?this.name:this.id||this.type},Fb:function(a,b,c,d){switch(c){case "clear":return this.ya[c]||(this.ya[c]=d,d.onclick=function(a){return function(){a.ya.print&&(a.ya.print.value="")}}(this)),!0;case "print":return this.ya[c]||(this.ag=this.ya[c]=d,d.value="",this.da=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}}(d),this.Ja=
function(a,b,c){this.da(a,"notice",c)}),!0;default:return!1}},log:function(){},da:function(){},status:function(a){this.da(this.xh+": "+a)},Ja:function(a,b){b||x(a)},Ta:function(a){this.qa.Zc||(this.qa.sh=!1!==a,this.qa.sh&&(this.name&&this.log("ready"),a=this.Gi,this.Gi=null,a&&a()))},Zb:function(){return this.qa.Ob=!0},Yb:function(a,b){b&&(this.qa.Ob=!1);return!0}};
function $a(a,b){if(a.qa.yi)return a.qa.Bc&&(a.qa.Bc=!1),a.qa.yi=!1;if(a.qa.Zc)return a.da(a.toString()+" error"),!1;a.qa.Bc=b;return a.qa.Bc}function ab(a,b){a.qa.Bc&&(b?a.qa.yi=!0:void 0===b&&a.da(a.toString()+" busy"));return a.qa.Bc}function bb(a,b){b&&(a.qa.sh?b():a.Gi=b);return a.qa.sh}function cb(a,b){a.qa.Zc=!0;a.Ja("Fatal error: "+b)}function db(a){z.call(this,"Panel",a,db)}A(z,db);
db.prototype.Fb=function(a,b,c,d){return this.Ka&&this.Ka.Fb(a,b,c,d)||this.T&&this.T.Fb(a,b,c,d)||this.Va&&this.Va.Fb(a,b,c,d)||this.fa&&this.fa.Fb(a,b,c,d)?!0:z.prototype.Fb.call(this,a,b,c,d)};db.prototype.oc=function(a,b,c,d){this.Ka=a;this.T=c;this.fa=d;this.Va=eb(a,"Keyboard")};db.prototype.Zb=function(a,b){b||fb();return!0};db.prototype.Yb=function(){return!0};
function fb(){for(var a=!1,b=D(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f=Wa(e.id);f||(a=!0,f=new db(e));Za(f,d);a&&f.Ta()}}Ha(fb);function gb(a,b,c){z.call(this,"Bus",a,gb);this.T=b;this.fa=c;this.jg=a.buswidth||20;this.Of=this.ed=(1<<this.jg)-1;this.wb=20>=this.jg?12:14;this.fc=1<<this.wb;this.nk=this.fc>>2;this.ib=this.fc-1;this.dh=(this.Of+this.fc)/this.fc|0;this.Ee=this.dh-1;this.ud=[];this.vd=[];this.fg=this.gg=!1;this.Mi();this.Ta()}A(z,gb);
gb.prototype.Mi=function(){this.Fa=Array(this.dh);for(var a=0;a<this.dh;a++){var b=a*this.fc;hb(this.Fa[a]=new ib(b),this.T,this.fa,b,this.fc)}this.T.Mi(this.Fa,this.Of,this.wb,this.ib,this.Ee);this.T.Ae=this.ed};gb.prototype.reset=function(){jb(this,!0)};gb.prototype.Zb=function(a,b){b||this.reset();return!0};
function kb(a,b,c,d,e){if(!(b&a.ib||!c||c&a.ib)){for(var f=b>>a.wb;0<c&&f<a.Fa.length;){var g=a.Fa[f];if(void 0!==g&&g.size)return lb(1,b,c);b=f*a.fc;g=a.Fa[f++]=new ib(b,a.fc,d,e);hb(g,a.T,a.fa,b,a.fc);c-=a.fc}return!0}return lb(2,b,c)}function jb(a,b){if(void 0!==b&&20<a.jg){var c=a.ed&-1048577|(b?1048576:0);c!=a.ed&&(a.ed=c,a.T&&(a.T.Ae=c))}}
gb.prototype.Th=function(a,b,c){if(!(a&this.ib||!b||b&this.ib)){for(var d=a>>this.wb;0<b;){var e=this.Fa[d];if(!e.ia)return lb(5,a,b);e.Ye(c);b-=this.fc;d++}return!0}return lb(3,a,b)};function mb(a,b,c){if(!(b&a.ib||!c||c&a.ib)){for(var d=b>>a.wb;0<c;)b=d*a.fc,hb(a.Fa[d++]=new ib(b),a.T,a.fa,b,a.fc),c-=a.fc;return!0}return lb(4,b,c)}function nb(a,b){return a.Fa[(b&a.ed)>>a.wb].Dg(b&a.ib)}
function ob(a,b){var c=b&a.ib,d=(b&a.ed)>>a.wb;return c!=a.ib?a.Fa[d].Oj(c):a.Fa[d++].Dg(c)|a.Fa[d&a.Ee].Dg(0)<<8}function pb(a,b,c){a.Fa[(b&a.ed)>>a.wb].Kg(b&a.ib,c&255)}function qb(a,b,c){var d=b&a.ib;b=(b&a.ed)>>a.wb;d!=a.ib?a.Fa[b].Xj(d,c&65535):(a.Fa[b++].Kg(d,c&255),a.Fa[b&a.Ee].Kg(0,c>>8&255))}
function rb(a){for(var b=0,c=[],d=0;d<a.dh;d++){var e=a.Fa[d];if(e.ob||e.zk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,l=0,n=[];h<e.length;){for(var q=e[h],r=h+1;r<e.length&&e[r]===q;)r++;n[l++]=r-h;n[l++]=q;h=r}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.Of==a.ed;return c}function sb(a,b){if(void 0===b)return a.fg=!a.fg,a.fg;void 0===a.ud[b]&&(a.ud[b]=[null,null,!1]);a.ud[b][2]=!a.ud[b][2];return a.ud[b][2]}
function tb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.ud[n]?x("Input port "+v(n)+" registered by "+f.ud[n][0].id+", ignoring "+h.id):f.ud[n]=[h,l,!1,!1]}}function ub(a,b,c){var d=255,e=a.ud[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.fa&&a.fg!=e[2]&&vb(a.fa,b,d)):a.fa&&(a.fa.ea(a,b,null,c),a.fg&&vb(a.fa,b,d));return d}
function wb(a,b){if(void 0===b)return a.gg=!a.gg,a.gg;void 0===a.vd[b]&&(a.vd[b]=[null,null,!1]);a.vd[b][2]=!a.vd[b][2];return a.vd[b][2]}function zb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.vd[n]?x("Output port "+v(n)+" registered by "+f.vd[n][0].id+", ignoring "+h.id):f.vd[n]=[h,l,!1,!1]}}
function Ab(a,b,c,d){var e=a.vd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.fa&&a.gg!=e[2]&&Bb(a.fa,b,c)):a.fa&&(a.fa.ea(a,b,c,d),a.gg&&Bb(a.fa,b,c))}function lb(a,b,c){x("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function ib(a,b,c,d){this.um=b||0;this.wa=null;this.offset=0;this.rh=c;this.ia=null;this.ob=this.zk=!1;if(b)if(d)this.ia=d,a=[d.fd,a-d.Ua],this.wa=a[0],this.offset=a[1],this.Ye(d.Qf);else{this.wa=Array(b>>2);for(d=0;d<this.wa.length;d++)this.wa[d]=0;this.Ye(Cb)}else this.Ye()}
ib.prototype={Nh:function(a){E(this.fa,Db)&&!a&&this.fa.message("attempt to read invalid block %"+p(this.Zd)+" from "+ea(this.T.va,this.T.xa.sa));return 0},Gf:function(a,b){E(this.fa,Db)&&!a&&this.fa.message("attempt to write 0x"+v(b)+" to invalid block %"+p(this.Zd)+" from "+ea(this.T.va,this.T.xa.sa))},dp:function(a){return this.wa[a>>2]>>>((a&3)<<3)&255},fp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.wa[b]>>>a;return 24>a?c&65535:c&255|(this.wa[b+1]&255)<<8},np:function(a,b){var c=a>>2,d=(a&3)<<
3;this.wa[c]=this.wa[c]&~(255<<d)|b<<d;this.ob=!0},pp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.wa[c]=this.wa[c]&~(65535<<d)|b<<d:(this.wa[c]=this.wa[c]&16777215|b<<24,c++,this.wa[c]=this.wa[c]&4294967040|b>>8);this.ob=!0},cp:function(a){Eb(this.fa,this.Zd+a);return this.Dg(a)},ep:function(a){Eb(this.fa,this.Zd+a)||Eb(this.fa,this.Zd+a+1);return this.Oj(a)},mp:function(a,b){Fb(this.fa,this.Zd+a);this.Kg(a,b)},op:function(a,b){Fb(this.fa,this.Zd+a)||Fb(this.fa,this.Zd+a+1);this.Xj(a,b)},save:function(){return this.ia?
null:this.wa},restore:function(a){return this.ia?null==a:a&&this.um==a.length<<2?(this.wa=a,this.ob=!0):!1},Ye:function(a,b){a||(a=[]);void 0===b&&(b=!0);Gb(this,a,b);Hb(this,a,b)},Yd:function(a,b){b?0===this.pk++&&Hb(this,Ib):0===this.ok++&&Gb(this,Ib)}};function Jb(a,b){b?0===--a.pk&&(a.Ec=a.rh?a.Gf:a.Kg,a.lm=a.rh?a.Gf:a.Xj):0===--a.ok&&(a.rc=a.Dg,a.Yl=a.Oj)}function hb(a,b,c,d,e){a.T=b;a.fa=c;a.Zd=d;a.ok=a.pk=0;a.fa&&Kb(a.fa,d,e)}
function Hb(a,b,c){a.Ec=b[2]&&!a.rh?b[2]:a.Gf;a.lm=b[3]&&!a.rh?b[3]:a.Gf;c&&(a.Kg=b[2]?b[2]:a.Gf,a.Xj=b[3]?b[3]:a.Gf)}function Gb(a,b,c){a.rc=b[0]?b[0]:a.Nh;a.Yl=b[1]?b[1]:a.Nh;c&&(a.Dg=b[0]?b[0]:a.Nh,a.Oj=b[1]?b[1]:a.Nh)}var Cb=[ib.prototype.dp,ib.prototype.fp,ib.prototype.np,ib.prototype.pp],Ib=[ib.prototype.cp,ib.prototype.ep,ib.prototype.mp,ib.prototype.op];
function Lb(a,b){z.call(this,"CPU",a,Lb);var c=a.cycles||b,d=a.multiplier||1;this.ca={};this.ca.Kd=c;this.ca.Jd=d;this.ca.Ah=Math.round(this.ca.Kd/1E4)/100;this.ca.Oe=this.ca.Ah*this.ca.Jd;this.qa.Ob=!1;this.qa.Pb=!1;this.qa.xi=a.autoStart;c=Oa.autostart;void 0!==c&&(this.qa.xi="true"==c?!0:"false"==c?!1:null);this.qa.mf=!1;this.ca.kg=this.ca.xf=0;this.ca.mg=a.csStart;this.ca.wf=a.csInterval;this.ca.yf=a.csStop;var e=this;this.eo=function(){e.Ue()};this.Ta()}A(z,Lb);k=Lb.prototype;
k.oc=function(a,b,c,d){this.ra=b;this.fa=d;this.Ka=a;var e=eb(a,"Video");e&&(this.si=function(){Mb(e)},this.Pd=function(){e.Pd()});this.oa=eb(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Zb=function(a,b){if(!b){if(a&&this.restore){Nb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.fa?this.fa.Ln():this.da("No debugger detected")}this.qa.Ob=!0;!Pb(this)&&this.fa&&Rb(this.fa);Sb(this);return!0};
k.Yb=function(a){this.qa.Ob=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.qa.xi||null===a.qa.xi&&!a.fa&&void 0===a.ya.run?(a.Ue(),!0):!1}k.Pd=function(){};k.Gk=function(){return 0};function Ob(a){void 0===a.ca.mg&&(a.ca.mg=0);void 0===a.ca.wf&&(a.ca.wf=-1);void 0===a.ca.yf&&(a.ca.yf=-1);a.qa.mf=0<=a.ca.mg&&0<a.ca.wf;a.qa.mf&&(a.ca.kg=0,a.ca.xf=a.ca.mg-a.Se)}
function Tb(a,b){if(a.qa.mf){var c=!1;a.ca.kg=a.ca.kg+a.Gk()|0;a.ca.xf-=b;0>=a.ca.xf&&(a.ca.xf+=a.ca.wf,c=!0);0<=a.ca.yf&&a.ca.yf<=Ub(a)&&(a.ca.wf=a.ca.yf=-1,Ob(a),a.Cb(),c=!0);c&&a.da(Ub(a)+" cycles: checksum="+p(a.ca.kg))}}function F(a,b,c,d){void 0!==a.ya[b]&&(void 0===d&&(d=4),void 0===c&&(cb(a,"Register "+b+" is invalid"),a.Cb()),c=p(c,d),a.ya[b].innerHTML!=c&&(a.ya[b].innerHTML=c))}k.ih=function(){};k.si=function(){};
k.Fb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ya[c]=d;d.onclick=function(){e.qa.Pb?e.Cb(!0):e.Ue(!0)};a=!0;break;case "reset":this.ya[c]=d;d.onclick=function(){e.Ka&&Vb(e.Ka)};a=!0;break;case "speed":this.ya[c]=d;a=!0;break;case "setSpeed":this.ya[c]=d,d.onclick=function(){Wb(e,e.ca.Jd<<1,!0)},d.innerHTML=this.ca.Oe.toFixed(2)+"Mhz",a=!0}return a};function Xb(a,b,c){a.Se+=b;c&&(a.Oc=a.A=0)}
function Yb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ca.Jd&&a.ca.nd&&(d=a.ca.nd/a.ca.Ah);a.ca.Nk=Math.round(1E3/30);a.ca.Xn=Math.floor(a.ca.Kd/c*d);a.ca.Si=Math.floor(a.ca.Kd/30*d);a.ca.Rk=Math.floor(a.ca.Kd/60*d);a.ca.Qk=Math.floor(a.ca.Kd/2*d);b||(a.ca.zf=a.ca.Si,a.ca.og=a.ca.Rk,a.ca.ng=a.ca.Qk);a.ca.Ti=0}function Ub(a,b){var c=a.Se+a.qe+a.Oc-a.A;b&&1<a.ca.Jd&&a.ca.nd>a.ca.Ah&&(c=Math.round(c/a.ca.Jd));return c}function Nb(a){a.ca.nd=0;a.Dh=1;a.Se=a.qe=a.Oc=a.A=0;Ob(a);Wb(a,1)}
function Wb(a,b,c){void 0!==b&&(0.8>a.ca.nd/a.ca.Oe&&(b=1),a.ca.Jd=b,b=a.ca.Ah*a.ca.Jd,a.ca.Oe!=b&&(a.ca.Oe=b,b=a.ca.Oe.toFixed(2)+"Mhz",a.ya.setSpeed&&(a.ya.setSpeed.innerHTML=b),a.da("target speed: "+b)),c&&a.Pd());Xb(a,a.qe);a.qe=0;a.ca.vf=oa();a.ca.Pe=0;Yb(a)}
k.Ue=function(a){if($a(this,!0)){this.qa.Pb||(Wb(this),this.Ka&&this.Ka.start(this.ca.vf,Ub(this)),this.qa.Pb=!0,this.oa&&Zb(this.oa),this.ya.run&&(this.ya.run.innerHTML="Halt"),a&&this.Pd());this.ca.Ti>=this.ca.Kd&&Yb(this,!0);this.ca.pg=0;this.ca.Bh=oa();this.ca.Pe&&(a=this.ca.Bh-this.ca.Pe,a>this.ca.Nk&&(this.ca.vf+=a,this.ca.vf>this.ca.Bh&&(this.ca.vf=this.ca.Bh)));try{do{this.Ff(this.qa.mf?1:Math.round(this.ca.Xn/this.Dh));var b=this.Oc-this.A;this.qe+=b;this.ca.pg+=b;Xb(this,0,!0);Tb(this,b);
this.ca.og-=b;0>=this.ca.og&&(this.ca.og+=this.ca.Rk,this.si());this.ca.ng-=b;0>=this.ca.ng&&(this.ca.ng+=this.ca.Qk,this.ih());this.ca.zf-=b;if(0>=this.ca.zf){this.ca.zf+=this.ca.Si;break}}while(this.qa.Pb)}catch(c){this.Cb();Sb(this);this.Ka&&this.Ka.stop(oa(),Ub(this));$a(this,!1);cb(this,c.message);return}b=setTimeout;a=this.eo;this.ca.Pe=oa();var d=this.ca.Nk;this.ca.pg&&(d=Math.round(d*this.ca.pg/this.ca.Si));var d=d-(this.ca.Pe-this.ca.Bh),e=this.ca.Pe-this.ca.vf;e&&(this.ca.nd=Math.round(this.qe/
(10*e))/100,864E5<=e&&(this.Se=0,this.oa&&$b(this.oa,!0),Wb(this)));if(0>d||this.ca.nd<this.ca.Oe)d=0;this.ca.Ti+=this.ca.pg;this.ca.Pe+=d;b(a,d)}else Sb(this),this.Ka&&this.Ka.stop(oa(),Ub(this))};k.Cb=function(a){ab(this,!0);this.Oc-=this.A;this.A=0;Xb(this,this.qe);this.qe=0;this.qa.Pb&&(this.qa.Pb=!1,this.oa&&Zb(this.oa),this.ya.run&&(this.ya.run.innerHTML="Run"));this.qa.nh=a};k.Ff=function(){return 0};function Sb(a){a.si();a.ih()}
z.prototype={toString:function(){return this.name?this.name:this.id||this.type},Db:function(a,b,c,d){switch(c){case "clear":return this.wa[c]||(this.wa[c]=d,d.onclick=function(a){return function(){a.wa.print&&(a.wa.print.value="")}}(this)),!0;case "print":return this.wa[c]||(this.$f=this.wa[c]=d,d.value="",this.da=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}}(d),this.Ja=
function(a,b,c){this.da(a,"notice",c)}),!0;default:return!1}},log:function(){},da:function(){},status:function(a){this.da(this.yh+": "+a)},Ja:function(a,b){b||x(a)},Ua:function(a){this.qa.ad||(this.qa.th=!1!==a,this.qa.th&&(this.name&&this.log("ready"),a=this.Hi,this.Hi=null,a&&a()))},$b:function(){return this.qa.Qb=!0},Zb:function(a,b){b&&(this.qa.Qb=!1);return!0}};
function $a(a,b){if(a.qa.zi)return a.qa.Ec&&(a.qa.Ec=!1),a.qa.zi=!1;if(a.qa.ad)return a.da(a.toString()+" error"),!1;a.qa.Ec=b;return a.qa.Ec}function ab(a,b){a.qa.Ec&&(b?a.qa.zi=!0:void 0===b&&a.da(a.toString()+" busy"));return a.qa.Ec}function bb(a,b){b&&(a.qa.th?b():a.Hi=b);return a.qa.th}function cb(a,b){a.qa.ad=!0;a.Ja("Fatal error: "+b)}function db(a){z.call(this,"Panel",a,db)}A(z,db);
db.prototype.Db=function(a,b,c,d){return this.Ka&&this.Ka.Db(a,b,c,d)||this.T&&this.T.Db(a,b,c,d)||this.Ra&&this.Ra.Db(a,b,c,d)||this.fa&&this.fa.Db(a,b,c,d)?!0:z.prototype.Db.call(this,a,b,c,d)};db.prototype.pc=function(a,b,c,d){this.Ka=a;this.T=c;this.fa=d;this.Ra=eb(a,"Keyboard")};db.prototype.$b=function(a,b){b||fb();return!0};db.prototype.Zb=function(){return!0};
function fb(){for(var a=!1,b=D(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=C(d),f=Wa(e.id);f||(a=!0,f=new db(e));Za(f,d);a&&f.Ua()}}Ha(fb);function gb(a,b,c){z.call(this,"Bus",a,gb);this.T=b;this.fa=c;this.hg=a.buswidth||20;this.Pf=this.gd=(1<<this.hg)-1;this.zb=20>=this.hg?12:14;this.gc=1<<this.zb;this.nk=this.gc>>2;this.mb=this.gc-1;this.bh=(this.Pf+this.gc)/this.gc|0;this.Ee=this.bh-1;this.vd=[];this.wd=[];this.dg=this.eg=!1;this.Ni();this.Ua()}A(z,gb);
gb.prototype.Ni=function(){this.Fa=Array(this.bh);for(var a=0;a<this.bh;a++){var b=a*this.gc;hb(this.Fa[a]=new ib(b),this.T,this.fa,b,this.gc)}this.T.Ni(this.Fa,this.Pf,this.zb,this.mb,this.Ee);this.T.Ae=this.gd};gb.prototype.reset=function(){jb(this,!0)};gb.prototype.$b=function(a,b){b||this.reset();return!0};
function kb(a,b,c,d,e){if(!(b&a.mb||!c||c&a.mb)){for(var f=b>>a.zb;0<c&&f<a.Fa.length;){var g=a.Fa[f];if(void 0!==g&&g.size)return lb(1,b,c);b=f*a.gc;g=a.Fa[f++]=new ib(b,a.gc,d,e);hb(g,a.T,a.fa,b,a.gc);c-=a.gc}return!0}return lb(2,b,c)}function jb(a,b){if(void 0!==b&&20<a.hg){var c=a.gd&-1048577|(b?1048576:0);c!=a.gd&&(a.gd=c,a.T&&(a.T.Ae=c))}}
gb.prototype.Uh=function(a,b,c){if(!(a&this.mb||!b||b&this.mb)){for(var d=a>>this.zb;0<b;){var e=this.Fa[d];if(!e.ia)return lb(5,a,b);e.Ze(c);b-=this.gc;d++}return!0}return lb(3,a,b)};function mb(a,b,c){if(!(b&a.mb||!c||c&a.mb)){for(var d=b>>a.zb;0<c;)b=d*a.gc,hb(a.Fa[d++]=new ib(b),a.T,a.fa,b,a.gc),c-=a.gc;return!0}return lb(4,b,c)}function nb(a,b){return a.Fa[(b&a.gd)>>a.zb].Bg(b&a.mb)}
function ob(a,b){var c=b&a.mb,d=(b&a.gd)>>a.zb;return c!=a.mb?a.Fa[d].Pj(c):a.Fa[d++].Bg(c)|a.Fa[d&a.Ee].Bg(0)<<8}function pb(a,b,c){a.Fa[(b&a.gd)>>a.zb].Ig(b&a.mb,c&255)}function qb(a,b,c){var d=b&a.mb;b=(b&a.gd)>>a.zb;d!=a.mb?a.Fa[b].Yj(d,c&65535):(a.Fa[b++].Ig(d,c&255),a.Fa[b&a.Ee].Ig(0,c>>8&255))}
function rb(a){for(var b=0,c=[],d=0;d<a.bh;d++){var e=a.Fa[d];if(e.sb||e.zk){c[b++]=d;var f=c,g=b++;a:if(e=e.save()){for(var h=0,l=0,n=[];h<e.length;){for(var q=e[h],r=h+1;r<e.length&&e[r]===q;)r++;n[l++]=r-h;n[l++]=q;h=r}if(n.length<e.length){e=n;break a}}f[g]=e}}c[b]=a.Pf==a.gd;return c}function sb(a,b){if(void 0===b)return a.dg=!a.dg,a.dg;void 0===a.vd[b]&&(a.vd[b]=[null,null,!1]);a.vd[b][2]=!a.vd[b][2];return a.vd[b][2]}
function tb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.vd[n]?x("Input port "+v(n)+" registered by "+f.vd[n][0].id+", ignoring "+h.id):f.vd[n]=[h,l,!1,!1]}}function ub(a,b,c){var d=255,e=a.vd[b];void 0!==e?(e[1]&&(d=e[1].call(e[0],b,c)),a.fa&&a.dg!=e[2]&&vb(a.fa,b,d)):a.fa&&(a.fa.ea(a,b,null,c),a.dg&&vb(a.fa,b,d));return d}
function wb(a,b){if(void 0===b)return a.eg=!a.eg,a.eg;void 0===a.wd[b]&&(a.wd[b]=[null,null,!1]);a.wd[b][2]=!a.wd[b][2];return a.wd[b][2]}function zb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,g=e+d,h=b,l=c[e];if(void 0!==l)for(var n=e+d;n<=g;n++)void 0!==f.wd[n]?x("Output port "+v(n)+" registered by "+f.wd[n][0].id+", ignoring "+h.id):f.wd[n]=[h,l,!1,!1]}}
function Ab(a,b,c,d){var e=a.wd[b];void 0!==e?(e[1]&&e[1].call(e[0],b,c,d),a.fa&&a.eg!=e[2]&&Bb(a.fa,b,c)):a.fa&&(a.fa.ea(a,b,c,d),a.eg&&Bb(a.fa,b,c))}function lb(a,b,c){x("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function ib(a,b,c,d){this.vm=b||0;this.xa=null;this.offset=0;this.sh=c;this.ia=null;this.sb=this.zk=!1;if(b)if(d)this.ia=d,a=[d.hd,a-d.Va],this.xa=a[0],this.offset=a[1],this.Ze(d.Rf);else{this.xa=Array(b>>2);for(d=0;d<this.xa.length;d++)this.xa[d]=0;this.Ze(Cb)}else this.Ze()}
ib.prototype={Oh:function(a){E(this.fa,Db)&&!a&&this.fa.message("attempt to read invalid block %"+p(this.Zd)+" from "+ea(this.T.va,this.T.ya.sa));return 0},Hf:function(a,b){E(this.fa,Db)&&!a&&this.fa.message("attempt to write 0x"+v(b)+" to invalid block %"+p(this.Zd)+" from "+ea(this.T.va,this.T.ya.sa))},ep:function(a){return this.xa[a>>2]>>>((a&3)<<3)&255},gp:function(a){var b=a>>2;a=(a&3)<<3;var c=this.xa[b]>>>a;return 24>a?c&65535:c&255|(this.xa[b+1]&255)<<8},pp:function(a,b){var c=a>>2,d=(a&3)<<
3;this.xa[c]=this.xa[c]&~(255<<d)|b<<d;this.sb=!0},rp:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.xa[c]=this.xa[c]&~(65535<<d)|b<<d:(this.xa[c]=this.xa[c]&16777215|b<<24,c++,this.xa[c]=this.xa[c]&4294967040|b>>8);this.sb=!0},dp:function(a){Eb(this.fa,this.Zd+a);return this.Bg(a)},fp:function(a){Eb(this.fa,this.Zd+a)||Eb(this.fa,this.Zd+a+1);return this.Pj(a)},op:function(a,b){Fb(this.fa,this.Zd+a);this.Ig(a,b)},qp:function(a,b){Fb(this.fa,this.Zd+a)||Fb(this.fa,this.Zd+a+1);this.Yj(a,b)},save:function(){return this.ia?
null:this.xa},restore:function(a){return this.ia?null==a:a&&this.vm==a.length<<2?(this.xa=a,this.sb=!0):!1},Ze:function(a,b){a||(a=[]);void 0===b&&(b=!0);Gb(this,a,b);Hb(this,a,b)},Yd:function(a,b){b?0===this.pk++&&Hb(this,Ib):0===this.ok++&&Gb(this,Ib)}};function Jb(a,b){b?0===--a.pk&&(a.Hc=a.sh?a.Hf:a.Ig,a.mm=a.sh?a.Hf:a.Yj):0===--a.ok&&(a.sc=a.Bg,a.Zl=a.Pj)}function hb(a,b,c,d,e){a.T=b;a.fa=c;a.Zd=d;a.ok=a.pk=0;a.fa&&Kb(a.fa,d,e)}
function Hb(a,b,c){a.Hc=b[2]&&!a.sh?b[2]:a.Hf;a.mm=b[3]&&!a.sh?b[3]:a.Hf;c&&(a.Ig=b[2]?b[2]:a.Hf,a.Yj=b[3]?b[3]:a.Hf)}function Gb(a,b,c){a.sc=b[0]?b[0]:a.Oh;a.Zl=b[1]?b[1]:a.Oh;c&&(a.Bg=b[0]?b[0]:a.Oh,a.Pj=b[1]?b[1]:a.Oh)}var Cb=[ib.prototype.ep,ib.prototype.gp,ib.prototype.pp,ib.prototype.rp],Ib=[ib.prototype.dp,ib.prototype.fp,ib.prototype.op,ib.prototype.qp];
function Lb(a,b){z.call(this,"CPU",a,Lb);var c=a.cycles||b,d=a.multiplier||1;this.ca={};this.ca.Ld=c;this.ca.Kd=d;this.ca.Bh=Math.round(this.ca.Ld/1E4)/100;this.ca.Pe=this.ca.Bh*this.ca.Kd;this.qa.Qb=!1;this.qa.Rb=!1;this.qa.yi=a.autoStart;c=Oa.autostart;void 0!==c&&(this.qa.yi="true"==c?!0:"false"==c?!1:null);this.qa.nf=!1;this.ca.ig=this.ca.yf=0;this.ca.kg=a.csStart;this.ca.xf=a.csInterval;this.ca.zf=a.csStop;var e=this;this.fo=function(){e.Ve()};this.Ua()}A(z,Lb);k=Lb.prototype;
k.pc=function(a,b,c,d){this.ra=b;this.fa=d;this.Ka=a;var e=eb(a,"Video");e&&(this.ti=function(){Mb(e)},this.Tc=function(){e.Tc()});this.oa=eb(a,"ChipSet");this.Ua()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.$b=function(a,b){if(!b){if(a&&this.restore){Nb(this);if(!this.restore(a))return!1;Ob(this)}else this.reset();this.fa?this.fa.Mn():this.da("No debugger detected")}this.qa.Qb=!0;!Pb(this)&&this.fa&&Rb(this.fa);Sb(this);return!0};
k.Zb=function(a){this.qa.Qb=!1;return a&&this.save?this.save():!0};function Pb(a){return!0===a.qa.yi||null===a.qa.yi&&!a.fa&&void 0===a.wa.run?(a.Ve(),!0):!1}k.Tc=function(){};k.Hk=function(){return 0};function Ob(a){void 0===a.ca.kg&&(a.ca.kg=0);void 0===a.ca.xf&&(a.ca.xf=-1);void 0===a.ca.zf&&(a.ca.zf=-1);a.qa.nf=0<=a.ca.kg&&0<a.ca.xf;a.qa.nf&&(a.ca.ig=0,a.ca.yf=a.ca.kg-a.Te)}
function Tb(a,b){if(a.qa.nf){var c=!1;a.ca.ig=a.ca.ig+a.Hk()|0;a.ca.yf-=b;0>=a.ca.yf&&(a.ca.yf+=a.ca.xf,c=!0);0<=a.ca.zf&&a.ca.zf<=Ub(a)&&(a.ca.xf=a.ca.zf=-1,Ob(a),a.Fb(),c=!0);c&&a.da(Ub(a)+" cycles: checksum="+p(a.ca.ig))}}function F(a,b,c,d){void 0!==a.wa[b]&&(void 0===d&&(d=4),void 0===c&&(cb(a,"Register "+b+" is invalid"),a.Fb()),c=p(c,d),a.wa[b].innerHTML!=c&&(a.wa[b].innerHTML=c))}k.jh=function(){};k.ti=function(){};
k.Db=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.wa[c]=d;d.onclick=function(){e.qa.Rb?e.Fb(!0):e.Ve(!0)};a=!0;break;case "reset":this.wa[c]=d;d.onclick=function(){e.Ka&&Vb(e.Ka)};a=!0;break;case "speed":this.wa[c]=d;a=!0;break;case "setSpeed":this.wa[c]=d,d.onclick=function(){Wb(e,e.ca.Kd<<1,!0)},d.innerHTML=this.ca.Pe.toFixed(2)+"Mhz",a=!0}return a};function Xb(a,b,c){a.Te+=b;c&&(a.Qc=a.A=0)}
function Yb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ca.Kd&&a.ca.pd&&(d=a.ca.pd/a.ca.Bh);a.ca.Ok=Math.round(1E3/30);a.ca.Yn=Math.floor(a.ca.Ld/c*d);a.ca.Ti=Math.floor(a.ca.Ld/30*d);a.ca.Sk=Math.floor(a.ca.Ld/60*d);a.ca.Rk=Math.floor(a.ca.Ld/2*d);b||(a.ca.Af=a.ca.Ti,a.ca.mg=a.ca.Sk,a.ca.lg=a.ca.Rk);a.ca.Ui=0}function Ub(a,b){var c=a.Te+a.qe+a.Qc-a.A;b&&1<a.ca.Kd&&a.ca.pd>a.ca.Bh&&(c=Math.round(c/a.ca.Kd));return c}function Nb(a){a.ca.pd=0;a.Eh=1;a.Te=a.qe=a.Qc=a.A=0;Ob(a);Wb(a,1)}
function Wb(a,b,c){if(void 0!==b){0.8>a.ca.pd/a.ca.Pe&&(b=1);a.ca.Kd=b;b=a.ca.Bh*a.ca.Kd;if(a.ca.Pe!=b){a.ca.Pe=b;b=a.ca.Pe.toFixed(2)+"Mhz";var d=a.wa.setSpeed;d&&(d.innerHTML=b);a.da("target speed: "+b)}c&&a.Tc()}Xb(a,a.qe);a.qe=0;a.ca.wf=oa();a.ca.Qe=0;Yb(a)}
k.Ve=function(a){if($a(this,!0)){if(!this.qa.Rb){Wb(this);this.Ka&&this.Ka.start(this.ca.wf,Ub(this));this.qa.Rb=!0;this.oa&&Zb(this.oa);var b=this.wa.run;b&&(b.innerHTML="Halt");a&&this.Tc()}this.ca.Ui>=this.ca.Ld&&Yb(this,!0);this.ca.ng=0;this.ca.Ch=oa();this.ca.Qe&&(a=this.ca.Ch-this.ca.Qe,a>this.ca.Ok&&(this.ca.wf+=a,this.ca.wf>this.ca.Ch&&(this.ca.wf=this.ca.Ch)));try{do{this.Gf(this.qa.nf?1:Math.round(this.ca.Yn/this.Eh));var c=this.Qc-this.A;this.qe+=c;this.ca.ng+=c;Xb(this,0,!0);Tb(this,c);
this.ca.mg-=c;0>=this.ca.mg&&(this.ca.mg+=this.ca.Sk,this.ti());this.ca.lg-=c;0>=this.ca.lg&&(this.ca.lg+=this.ca.Rk,this.jh());this.ca.Af-=c;if(0>=this.ca.Af){this.ca.Af+=this.ca.Ti;break}}while(this.qa.Rb)}catch(d){this.Fb();Sb(this);this.Ka&&this.Ka.stop(oa(),Ub(this));$a(this,!1);cb(this,d.message);return}c=setTimeout;a=this.fo;this.ca.Qe=oa();b=this.ca.Ok;this.ca.ng&&(b=Math.round(b*this.ca.ng/this.ca.Ti));var b=b-(this.ca.Qe-this.ca.Ch),e=this.ca.Qe-this.ca.wf;e&&(this.ca.pd=Math.round(this.qe/
(10*e))/100,864E5<=e&&(this.Te=0,this.oa&&$b(this.oa,!0),Wb(this)));if(0>b||this.ca.pd<this.ca.Pe)b=0;this.ca.Ui+=this.ca.ng;this.ca.Qe+=b;c(a,b)}else Sb(this),this.Ka&&this.Ka.stop(oa(),Ub(this))};k.Fb=function(a){ab(this,!0);this.Qc-=this.A;this.A=0;Xb(this,this.qe);this.qe=0;if(this.qa.Rb){this.qa.Rb=!1;this.oa&&Zb(this.oa);var b=this.wa.run;b&&(b.innerHTML="Run")}this.qa.oh=a};k.Gf=function(){return 0};function Sb(a){a.ti();a.jh()}
var ac=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function bc(a,b,c){this.T=a;this.Ya=this.sa=0;this.Nc=65535;this.Oa=0;this.xk="CS"==b;this.Hg=b;this.Ac=this.Kc=0;cc(this,c)}function dc(a){this.sa=a;this.Nc=65535;this.Kc=this.Ac=0;return this.Ya=a<<4}
function ec(a){var b,c;a&4?(b=this.T.bd.Ya,c=this.T.bd.Nc):(b=this.T.xc,c=this.T.ze);b+=a&65528;if(b+7<=c){this.T.A-=15;c=this.T.ua(b+0);var d=this.T.ua(b+4);b=this.T.ua(b+2)|(d&255)<<16;var e;d&4096||(e=d&7936)&&768>=e?(this.sa=a,this.Ya=b,this.Nc=c,this.Oa=d&65280,this.type=d&7936,cc(this)):b=-1;return b}return-1}function fc(a){return this.Ya+a}function gc(a){return this.Ya+a}function hc(a,b,c){return a+b<=this.Nc?this.Ya+a:ic.call(this,0,0,c)}
function ic(a,b,c){c||kc.call(this.T,13,0);return-1}function mc(a,b,c){return a+b<=this.Nc?this.Ya+a:nc.call(this,0,0,c)}function nc(a,b,c){c||kc.call(this.T,13,0);return-1}function oc(a,b,c){var d=a.T.ua(c+2),e=a.T.ua(c+0)|(d&255)<<16;c=a.T.ua(c+4);a.sa=b;a.Ya=e;a.Nc=c;a.Oa=d&65280;cc(a)}bc.prototype.save=function(){return[this.sa,this.Ya,this.Nc,this.Oa,this.xk,this.Hg,this.Kc,this.Ac]};
bc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.Ya=a[1],this.Nc=a[2],this.Oa=a[3],this.xk=a[4],this.Hg=a[5],this.Kc=a[6],this.Ac=a[7])};function cc(a,b){void 0===b&&(b=!!(a.T.Dc&1));b?(a.load=ec,a.jd=hc,a.gc=mc,a.Oa&4096&&(6144==(a.Oa&6656)&&(a.gc=ic),a.Oa&2048||!(a.Oa&512))&&(a.gc=nc),a.Kc=a.sa&3,a.Ac=(a.Oa&24576)>>13):(a.load=dc,a.jd=fc,a.gc=gc,a.Kc=a.Ac=0)}
function pc(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}Lb.call(this,a,b);this.bk=61442;this.Ng=4;this.Af=255;this.B=80286<=this.Ia?qc:rc;this.Wa=sc.slice();80186<=this.Ia&&(this.Af=31,this.Wa[15]=tc,this.Wa[96]=uc,this.Wa[97]=vc,this.Wa[98]=wc,this.Wa[99]=tc,this.Wa[100]=tc,this.Wa[101]=tc,this.Wa[102]=tc,this.Wa[103]=tc,this.Wa[104]=xc,this.Wa[105]=yc,this.Wa[106]=zc,this.Wa[107]=Ac,this.Wa[108]=Bc,this.Wa[109]=Cc,this.Wa[110]=Dc,this.Wa[111]=
Ec,this.Wa[192]=Fc,this.Wa[193]=Gc,this.Wa[200]=Ic,this.Wa[201]=Jc,this.Wa[241]=Kc,Lc[7]=Nc,Oc[7]=Nc,80286<=this.Ia&&(this.bk=2,this.Ng=0,this.Wa[15]=Pc,this.Wa[99]=Qc,this.Wa[84]=Rc));this.Pg=[];this.Qg=[];this.Oc=this.fh=0;this.qa.nh=this.qa.yk=!1;this.Fa=[];this.Ae=this.wb=this.ib=this.Ee=0;this.U=this.Jm;this.V=this.Km;this.O=this.Qn;this.P=this.Rn;this.R=this.kp;this.S=this.lp;Sc(this)}A(Lb,pc);
var rc={Ij:4,ba:5,Aa:6,ja:7,ka:8,Q:9,W:11,X:12,Qe:4,Tk:60,Uk:83,Vb:3,xb:9,hc:16,Hh:1,Yk:19,$k:28,bl:16,al:21,Zk:37,Wk:2,bj:9,Xk:5,Vk:33,dj:10,cj:8,vg:3,ug:15,pl:51,ql:1,rl:2,sl:4,ol:32,ej:15,ul:15,Wb:16,Xb:4,wl:11,vl:18,tl:24,Jb:4,xl:2,fj:16,yl:17,kj:18,zl:19,jj:5,lj:6,El:2,Dl:8,Bl:9,Cl:10,Al:10,mj:10,nj:10,dl:80,fl:144,cl:86,el:154,hl:101,jl:165,gl:107,il:171,Gl:70,Il:113,Fl:76,Hl:124,ll:80,nl:128,kl:86,ml:134,xg:3,wg:16,sj:10,rj:8,Jl:51,ic:8,Kl:17,Ll:36,pc:11,Ml:16,yg:10,pe:2,Zi:18,$i:7,aj:15,gj:12,
hj:7,ij:11,oj:18,pj:7,qj:15,tj:15,uj:7,vj:13,zj:11,Aj:7,Bj:8,Nl:8,Ql:12,Ol:18,Pl:17,Rl:15,xj:8,wj:20,yj:2,Ej:3,zg:9,Dj:5,Cj:11,Gj:4,Fj:17,Sl:11},qc={Ij:0,ba:0,Aa:0,ja:0,ka:0,Q:0,W:1,X:1,Qe:3,Tk:14,Uk:16,Vb:2,xb:7,hc:7,Hh:0,Yk:7,$k:13,bl:7,al:11,Zk:16,Wk:3,bj:6,Xk:2,Vk:13,dj:5,cj:5,vg:2,ug:7,pl:23,ql:0,rl:1,sl:3,ol:17,ej:7,ul:11,Wb:7,Xb:3,wl:7,vl:11,tl:15,Jb:2,xl:3,fj:7,yl:8,kj:8,zl:8,jj:4,lj:4,El:2,Dl:3,Bl:5,Cl:2,Al:3,mj:5,nj:3,dl:14,fl:22,cl:17,el:25,hl:17,jl:25,gl:20,il:28,Gl:13,Il:21,Fl:16,Hl:24,
ll:13,nl:21,kl:16,ml:24,xg:2,wg:7,sj:5,rj:5,Jl:19,ic:5,Kl:5,Ll:17,pc:3,Ml:5,yg:3,pe:0,Zi:8,$i:5,aj:9,gj:5,hj:5,ij:4,oj:5,pj:5,qj:4,tj:7,uj:5,vj:8,zj:3,Aj:4,Bj:3,Nl:11,Ql:11,Ol:15,Pl:15,Rl:7,xj:5,wj:8,yj:0,Ej:2,zg:6,Dj:3,Cj:6,Gj:3,Fj:5,Sl:5};k=pc.prototype;k.Mi=function(a,b,c,d,e){this.Fa=a;this.Ae=b;this.wb=c;this.ib=d;this.Ee=e};k.reset=function(){this.qa.Pb&&this.Cb();Sc(this);Nb(this);this.qa.Zc=!1};
function Sc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Dc=65520;a.Gc=0;a.$d=1023;a.Lc={Jj:0,sa:0,Oa:0,zh:-1};a.ne=0;a.xa=new bc(a,"CS");a.Eb=new bc(a,"DS");a.zb=new bc(a,"SS");a.$a=new bc(a,"ES");a.hm=new bc(a,"ZERO");Tc(a,0,65535);80286<=a.Ia&&(a.xc=0,a.ze=65535,a.bd=new bc(a,"LDT",!0),a.Xe=new bc(a,"TSS",!0),a.Qb=new bc(a,"VER",!0),Tc(a,65520,61440),a.xa.Ya=16711680);Uc(a,0);Vc(a);a.qb=0;a.Kb=a.Eg=-1;a.Yg=0;a.la=a.Ma=-1;a.D=a.Eb;a.N=a.zb;a.aa=a.Ba=0}
k.Gk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.xa.sa+this.Eb.sa+this.zb.sa+this.$a.sa+Wc(this)|0};function Xc(a,b,c,d){void 0!==d&&(void 0===a.Pg[b]&&(a.Pg[b]=[]),a.Pg[b].push([c,d]))}function Yc(a,b){var c=a.Pg[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ga))return!1;a.qa.yk&&E(a.fa,Zc)&&$c(a.fa,b,a.Ga)&&ad(a,a.Ga,function(a,c){return function(d){bd(a.fa,b,d,Ub(a)-c)}}(a,Ub(a)));return!0}
function ad(a,b,c){void 0!==c&&(null==a.Qg[b]&&a.fh++,a.Qg[b]=c)}function cd(a,b){var c=a.Qg[b];null!=c&&(c(--a.fh),delete a.Qg[b])}function Vc(a,b){void 0===b&&(b=!!(a.Dc&1));dd=b?ed:fd;cc(a.xa,b);cc(a.Eb,b);cc(a.zb,b);cc(a.$a,b)}
k.save=function(){var a=new gd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.ne]);a.set(1,[this.va,this.xa.save(),this.Eb.save(),this.zb.save(),this.$a.save(),null!=this.xc?[this.Dc,this.xc,this.ze,this.Gc,this.$d,this.bd.save(),this.Xe.save(),this.ne]:null,Wc(this)]);a.set(2,[this.D.Hg,this.N.Hg,this.aa,this.Ba,this.qb,this.la,this.Ma]);a.set(3,[this.Dh,this.Se,this.ca.Jd]);a.set(4,rb(this.ra));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.ne=b[8]||0;b=a[1];this.xa.restore(b[1]);this.Eb.restore(b[2]);this.zb.restore(b[3]);this.$a.restore(b[4]);var c=b[5];c&&c.length&&(this.Dc=c[0],this.xc=c[1],this.ze=c[2],this.Gc=c[3],this.$d=c[4],this.bd.restore(c[5]),this.Xe.restore(c[6]),this.ne=c[7],Vc(this));Uc(this,b[6]);G(this,b[0]);b=a[2];this.D=hd(this,b[0]);this.N=hd(this,b[1]);this.aa=b[2];this.Ba=b[3];
this.qb=b[4];this.la=b[5];this.Ma=b[6];b=a[3];this.Dh=b[0];this.Se=b[1];Wb(this,b[2]);a:{b=this.ra;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.nk){for(var f=0,g=Array(b.nk),h=0;h<e.length-1;)for(var l=e[h++],n=e[h++];l--;)g[f++]=n;e=g}f=b.Fa[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&jb(b,a[c]);b=!0}return b};
function hd(a,b){switch(b){case "CS":return a.xa;case "DS":return a.Eb;case "SS":return a.zb;case "ES":return a.$a;case "ZERO":return a.hm;default:return[0,b,0,0,""]}}function id(a,b){var c;if(a.Dc&1){if(c=a.Gc+(b<<3),c+7<=a.$d){a.Lc.Jj=a.ua(c);a.Lc.sa=a.ua(c+2);a.Lc.Oa=a.ua(c+4);switch(a.Lc.Oa&7936){case 1536:a.Lc.zh=-17153;break;case 1792:a.Lc.zh=-16641;break;default:return!1}return!0}}else if(c=a.Gc+(b<<2),c+7<=a.$d)return a.Lc.Jj=a.ua(c),a.Lc.sa=a.ua(c+2),a.Lc.zh=-769,!0;return!1}
function jd(a,b){a.Ga=a.xa.load(b)+a.va;a.aa|=a.Ng}function kd(a,b){a.Eb.load(b);a.aa|=a.Ng}function ld(a,b){a.zb.load(b);a.aa|=4}function md(a,b){a.$a.load(b);a.aa|=a.Ng}function G(a,b){a.Ga=a.xa.Ya+(a.va=b&65535)}function Tc(a,b,c){a.Ga=a.xa.load(c)+(a.va=b)}function nd(a,b){a.Ga=a.xa.Ya+(a.va=a.va+b&65535)}function od(a){return a.Z&a.ga?1:0}function pd(a){return ac[a.ma&255]?4:0}function qd(a){return(a.ma^a.pa)&16?16:0}function rd(a){return a.Z&a.ga-1?0:64}
0,0,1,1,0,1,0,0,1];function bc(a,b,c){this.T=a;this.Ya=this.sa=0;this.Pc=65535;this.Oa=0;this.xk="CS"==b;this.Fg=b;this.Dc=this.Mc=0;cc(this,c)}function dc(a){this.sa=a;this.Pc=65535;this.Mc=this.Dc=0;return this.Ya=a<<4}
function ec(a){var b,c;a&4?(b=this.T.dd.Ya,c=this.T.dd.Pc):(b=this.T.zc,c=this.T.ze);b+=a&65528;if(b+7<=c){this.T.A-=15;c=this.T.ua(b+0);var d=this.T.ua(b+4);b=this.T.ua(b+2)|(d&255)<<16;var e;d&4096||(e=d&7936)&&768>=e?(this.sa=a,this.Ya=b,this.Pc=c,this.Oa=d&65280,this.type=d&7936,cc(this)):b=-1;return b}return-1}function fc(a){return this.Ya+a}function gc(a){return this.Ya+a}function hc(a,b,c){return a+b<=this.Pc?this.Ya+a:ic.call(this,0,0,c)}
function ic(a,b,c){c||kc.call(this.T,13,0);return-1}function mc(a,b,c){return a+b<=this.Pc?this.Ya+a:nc.call(this,0,0,c)}function nc(a,b,c){c||kc.call(this.T,13,0);return-1}function oc(a,b,c){var d=a.T.ua(c+2),e=a.T.ua(c+0)|(d&255)<<16;c=a.T.ua(c+4);a.sa=b;a.Ya=e;a.Pc=c;a.Oa=d&65280;cc(a)}bc.prototype.save=function(){return[this.sa,this.Ya,this.Pc,this.Oa,this.xk,this.Fg,this.Mc,this.Dc]};
bc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.Ya=a[1],this.Pc=a[2],this.Oa=a[3],this.xk=a[4],this.Fg=a[5],this.Mc=a[6],this.Dc=a[7])};function cc(a,b){void 0===b&&(b=!!(a.T.Gc&1));b?(a.load=ec,a.ld=hc,a.hc=mc,a.Oa&4096&&(6144==(a.Oa&6656)&&(a.hc=ic),a.Oa&2048||!(a.Oa&512))&&(a.hc=nc),a.Mc=a.sa&3,a.Dc=(a.Oa&24576)>>13):(a.load=dc,a.ld=fc,a.hc=gc,a.Mc=a.Dc=0)}
function pc(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}Lb.call(this,a,b);this.ck=61442;this.Lg=4;this.Bf=255;this.B=80286<=this.Ia?qc:rc;this.Wa=sc.slice();80186<=this.Ia&&(this.Bf=31,this.Wa[15]=tc,this.Wa[96]=uc,this.Wa[97]=vc,this.Wa[98]=wc,this.Wa[99]=tc,this.Wa[100]=tc,this.Wa[101]=tc,this.Wa[102]=tc,this.Wa[103]=tc,this.Wa[104]=xc,this.Wa[105]=yc,this.Wa[106]=zc,this.Wa[107]=Ac,this.Wa[108]=Bc,this.Wa[109]=Cc,this.Wa[110]=Dc,this.Wa[111]=
Ec,this.Wa[192]=Fc,this.Wa[193]=Hc,this.Wa[200]=Ic,this.Wa[201]=Jc,this.Wa[241]=Kc,Mc[7]=Nc,Oc[7]=Nc,80286<=this.Ia&&(this.ck=2,this.Lg=0,this.Wa[15]=Pc,this.Wa[99]=Qc,this.Wa[84]=Rc));this.Ng=[];this.Og=[];this.Qc=this.fh=0;this.qa.oh=this.qa.yk=!1;this.Fa=[];this.Ae=this.zb=this.mb=this.Ee=0;this.U=this.Km;this.V=this.Lm;this.O=this.Rn;this.P=this.Sn;this.R=this.mp;this.S=this.np;Sc(this)}A(Lb,pc);
var rc={Jj:4,ba:5,Aa:6,ja:7,ka:8,Q:9,W:11,X:12,Re:4,Uk:60,Vk:83,Wb:3,Ab:9,ic:16,Ih:1,Zk:19,al:28,cl:16,bl:21,$k:37,Xk:2,cj:9,Yk:5,Wk:33,ej:10,dj:8,tg:3,sg:15,ql:51,rl:1,sl:2,tl:4,pl:32,fj:15,vl:15,Xb:16,Yb:4,xl:11,wl:18,ul:24,Mb:4,yl:2,gj:16,zl:17,lj:18,Al:19,kj:5,mj:6,Fl:2,El:8,Cl:9,Dl:10,Bl:10,nj:10,oj:10,el:80,gl:144,dl:86,fl:154,il:101,kl:165,hl:107,jl:171,Hl:70,Jl:113,Gl:76,Il:124,ml:80,ol:128,ll:86,nl:134,vg:3,ug:16,tj:10,sj:8,Kl:51,jc:8,Ll:17,Ml:36,qc:11,Nl:16,wg:10,pe:2,$i:18,aj:7,bj:15,hj:12,
ij:7,jj:11,pj:18,qj:7,rj:15,uj:15,vj:7,wj:13,Aj:11,Bj:7,Cj:8,Ol:8,Rl:12,Pl:18,Ql:17,Sl:15,yj:8,xj:20,zj:2,Fj:3,xg:9,Ej:5,Dj:11,Hj:4,Gj:17,Tl:11},qc={Jj:0,ba:0,Aa:0,ja:0,ka:0,Q:0,W:1,X:1,Re:3,Uk:14,Vk:16,Wb:2,Ab:7,ic:7,Ih:0,Zk:7,al:13,cl:7,bl:11,$k:16,Xk:3,cj:6,Yk:2,Wk:13,ej:5,dj:5,tg:2,sg:7,ql:23,rl:0,sl:1,tl:3,pl:17,fj:7,vl:11,Xb:7,Yb:3,xl:7,wl:11,ul:15,Mb:2,yl:3,gj:7,zl:8,lj:8,Al:8,kj:4,mj:4,Fl:2,El:3,Cl:5,Dl:2,Bl:3,nj:5,oj:3,el:14,gl:22,dl:17,fl:25,il:17,kl:25,hl:20,jl:28,Hl:13,Jl:21,Gl:16,Il:24,
ml:13,ol:21,ll:16,nl:24,vg:2,ug:7,tj:5,sj:5,Kl:19,jc:5,Ll:5,Ml:17,qc:3,Nl:5,wg:3,pe:0,$i:8,aj:5,bj:9,hj:5,ij:5,jj:4,pj:5,qj:5,rj:4,uj:7,vj:5,wj:8,Aj:3,Bj:4,Cj:3,Ol:11,Rl:11,Pl:15,Ql:15,Sl:7,yj:5,xj:8,zj:0,Fj:2,xg:6,Ej:3,Dj:6,Hj:3,Gj:5,Tl:5};k=pc.prototype;k.Ni=function(a,b,c,d,e){this.Fa=a;this.Ae=b;this.zb=c;this.mb=d;this.Ee=e};k.reset=function(){this.qa.Rb&&this.Fb();Sc(this);Nb(this);this.qa.ad=!1};
function Sc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Gc=65520;a.Jc=0;a.$d=1023;a.Nc={Kj:0,sa:0,Oa:0,Ah:-1};a.ne=0;a.ya=new bc(a,"CS");a.Hb=new bc(a,"DS");a.Cb=new bc(a,"SS");a.ab=new bc(a,"ES");a.im=new bc(a,"ZERO");Tc(a,0,65535);80286<=a.Ia&&(a.zc=0,a.ze=65535,a.dd=new bc(a,"LDT",!0),a.Ye=new bc(a,"TSS",!0),a.Sb=new bc(a,"VER",!0),Tc(a,65520,61440),a.ya.Ya=16711680);Uc(a,0);Vc(a);a.ub=0;a.Nb=a.Cg=-1;a.Xg=0;a.la=a.Ma=-1;a.D=a.Hb;a.N=a.Cb;a.aa=a.Ba=0}
k.Hk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.ya.sa+this.Hb.sa+this.Cb.sa+this.ab.sa+Wc(this)|0};function Xc(a,b,c,d){void 0!==d&&(void 0===a.Ng[b]&&(a.Ng[b]=[]),a.Ng[b].push([c,d]))}function Yc(a,b){var c=a.Ng[b];if(void 0!==c)for(var d=0;d<c.length;d++)if(!c[d][1].call(c[d][0],a.Ga))return!1;a.qa.yk&&E(a.fa,Zc)&&$c(a.fa,b,a.Ga)&&ad(a,a.Ga,function(a,c){return function(d){bd(a.fa,b,d,Ub(a)-c)}}(a,Ub(a)));return!0}
function ad(a,b,c){void 0!==c&&(null==a.Og[b]&&a.fh++,a.Og[b]=c)}function cd(a,b){var c=a.Og[b];null!=c&&(c(--a.fh),delete a.Og[b])}function Vc(a,b){void 0===b&&(b=!!(a.Gc&1));dd=b?ed:fd;cc(a.ya,b);cc(a.Hb,b);cc(a.Cb,b);cc(a.ab,b)}
k.save=function(){var a=new gd(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.ne]);a.set(1,[this.va,this.ya.save(),this.Hb.save(),this.Cb.save(),this.ab.save(),null!=this.zc?[this.Gc,this.zc,this.ze,this.Jc,this.$d,this.dd.save(),this.Ye.save(),this.ne]:null,Wc(this)]);a.set(2,[this.D.Fg,this.N.Fg,this.aa,this.Ba,this.ub,this.la,this.Ma]);a.set(3,[this.Eh,this.Te,this.ca.Kd]);a.set(4,rb(this.ra));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.ne=b[8]||0;b=a[1];this.ya.restore(b[1]);this.Hb.restore(b[2]);this.Cb.restore(b[3]);this.ab.restore(b[4]);var c=b[5];c&&c.length&&(this.Gc=c[0],this.zc=c[1],this.ze=c[2],this.Jc=c[3],this.$d=c[4],this.dd.restore(c[5]),this.Ye.restore(c[6]),this.ne=c[7],Vc(this));Uc(this,b[6]);G(this,b[0]);b=a[2];this.D=hd(this,b[0]);this.N=hd(this,b[1]);this.aa=b[2];this.Ba=b[3];
this.ub=b[4];this.la=b[5];this.Ma=b[6];b=a[3];this.Eh=b[0];this.Te=b[1];Wb(this,b[2]);a:{b=this.ra;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.nk){for(var f=0,g=Array(b.nk),h=0;h<e.length-1;)for(var l=e[h++],n=e[h++];l--;)g[f++]=n;e=g}f=b.Fa[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&jb(b,a[c]);b=!0}return b};
function hd(a,b){switch(b){case "CS":return a.ya;case "DS":return a.Hb;case "SS":return a.Cb;case "ES":return a.ab;case "ZERO":return a.im;default:return[0,b,0,0,""]}}function id(a,b){var c;if(a.Gc&1){if(c=a.Jc+(b<<3),c+7<=a.$d){a.Nc.Kj=a.ua(c);a.Nc.sa=a.ua(c+2);a.Nc.Oa=a.ua(c+4);switch(a.Nc.Oa&7936){case 1536:a.Nc.Ah=-17153;break;case 1792:a.Nc.Ah=-16641;break;default:return!1}return!0}}else if(c=a.Jc+(b<<2),c+7<=a.$d)return a.Nc.Kj=a.ua(c),a.Nc.sa=a.ua(c+2),a.Nc.Ah=-769,!0;return!1}
function jd(a,b){a.Ga=a.ya.load(b)+a.va;a.aa|=a.Lg}function kd(a,b){a.Hb.load(b);a.aa|=a.Lg}function ld(a,b){a.Cb.load(b);a.aa|=4}function md(a,b){a.ab.load(b);a.aa|=a.Lg}function G(a,b){a.Ga=a.ya.Ya+(a.va=b&65535)}function Tc(a,b,c){a.Ga=a.ya.load(c)+(a.va=b)}function nd(a,b){a.Ga=a.ya.Ya+(a.va=a.va+b&65535)}function od(a){return a.Z&a.ga?1:0}function pd(a){return ac[a.ma&255]?4:0}function qd(a){return(a.ma^a.pa)&16?16:0}function rd(a){return a.Z&a.ga-1?0:64}
function sd(a){return a.ma&a.ga>>1?128:0}function td(a){return(a.ma^a.pa^a.ma>>1)&a.ga>>1?2048:0}function ud(a){a.Z&=~a.ga}function vd(a){a.pa=a.ma&16|a.pa&-17}function wd(a){a.Z|=a.ga-1}function xd(a){sd(a)&&(a.ma^=a.ga>>1|a.ga>>2,a.pa^=32896)}function yd(a){a.ma&=~a.ga;a.pa=a.ma&32896|a.pa&-32897}function zd(a){a.Z|=a.ga}function Ad(a){a.pa=~(a.ma&16)&16|a.pa&-17}function Bd(a){a.Z&=~(a.ga-1)}function Cd(a){sd(a)||(a.ma^=a.ga>>1|a.ga>>2,a.pa^=32896)}
function Dd(a){a.ma|=a.ga;a.pa=a.ma&32896|a.pa&-32897}function Wc(a){return a.Ca&-2262|od(a)|pd(a)|qd(a)|rd(a)|sd(a)|td(a)}function Uc(a,b){a.ga=256;a.Z=a.ma=a.pa=0;b&1&&zd(a);b&4||(a.ma|=1);b&16&&(a.pa|=16);b&64||wd(a);b&128&&Cd(a);b&2048&&Dd(a);a.xa.Kc?b=b&-12289|a.Ca&12288:(a.ne=(b&12288)>>12,!a.ne||a.Dc&1||(a.ne=0));a.xa.Kc>a.ne&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&-1793|b&1792|a.bk;a.Ca&256&&(a.qb|=2,a.aa|=4)}
k.Fb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ya[c]=d;e=!0;break;default:e=Lb.prototype.Fb.call(this,a,b,c,d)}return e};k.pb=function(a){return this.Fa[(a&this.Ae)>>this.wb].rc(a&this.ib)};
k.ua=function(a){var b=a&this.ib;a=(a&this.Ae)>>this.wb;this.A-=this.B.Ij;return b!=this.ib?this.Fa[a].Yl(b):this.Fa[a++].rc(b)|this.Fa[a&this.Ee].rc(0)<<8};k.Od=function(a,b){this.Fa[(a&this.Ae)>>this.wb].Ec(a&this.ib,b&255)};k.cd=function(a,b){var c=a&this.ib,d=(a&this.Ae)>>this.wb;this.A-=this.B.Ij;c!=this.ib?this.Fa[d].lm(c,b&65535):(this.Fa[d++].Ec(c,b&255),this.Fa[d&this.Ee].Ec(0,b>>8&255))};k.Jm=function(a,b){this.Jg=a;this.la=a.jd(this.Bg=b,0);return this.aa&1?0:this.pb(this.la)};
k.Km=function(a,b){this.Jg=a;this.la=a.jd(this.Bg=b,1);return this.aa&1?0:this.ua(this.la)};k.Qn=function(a,b){this.Jg=a;this.Ma=this.la=a.jd(this.Bg=b,0);return this.aa&1?0:this.pb(this.la)};k.Rn=function(a,b){this.Jg=a;this.Ma=this.la=a.jd(this.Bg=b,1);return this.aa&1?0:this.ua(this.la)};k.kp=function(a){this.aa&2||this.Od(this.Jg.gc(this.Bg,1),a)};k.lp=function(a){this.aa&2||this.cd(this.Jg.gc(this.Bg,2),a)};k.ha=function(){var a=this.pb(this.Ga);this.Ga=this.xa.Ya+(this.va=this.va+1&65535);return a};
k.M=function(){var a=this.pb(this.Ga)<<24>>24;this.Ga=this.xa.Ya+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=this.ua(this.Ga);this.Ga=this.xa.Ya+(this.va=this.va+2&65535);return a};k.La=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ua(this.zb.jd(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.cd(a.zb.gc(c,1),b)}
k.ih=function(){F(this,"AX",this.H);F(this,"BX",this.C);F(this,"CX",this.J);F(this,"DX",this.K);F(this,"SP",this.Y);F(this,"BP",this.I);F(this,"SI",this.G);F(this,"DI",this.F);F(this,"CS",this.xa.sa);F(this,"DS",this.Eb.sa);F(this,"SS",this.zb.sa);F(this,"ES",this.$a.sa);F(this,"IP",this.va);var a=Wc(this);F(this,"PS",a);F(this,"C",a&1?1:0,1);F(this,"P",a&4?1:0,1);F(this,"A",a&16?1:0,1);F(this,"Z",a&64?1:0,1);F(this,"S",a&128?1:0,1);F(this,"T",a&256?1:0,1);F(this,"I",a&512?1:0,1);F(this,"D",a&1024?
1:0,1);F(this,"O",a&2048?1:0,1);this.ya.speed&&(this.ya.speed.innerHTML=this.qa.Pb&&this.ca.nd?this.ca.nd.toFixed(2)+"Mhz":"Stopped")};
k.Ff=function(a){this.qa.nh=!0;var b=this.qa.yk=a&&this.fa&&Ed(this.fa);this.Oc=this.A=a;this.oa&&$b(this.oa);a||!this.fa||E(this.fa,Fd)||(this.aa|=4);do{var c=this.aa&240;if(c)this.Ba|=c;else if(this.Kh=this.Ga,this.la=this.Ma=-1,this.D=this.Eb,this.N=this.zb,this.Ba=this.aa&256,this.qb){a:{if(!(this.aa&4))if(this.qb&1&&this.Ca&512){if(c=Gd(this.oa),-1<=c&&(this.qb&=-2,0<=c)){this.qb&=-5;Hd.call(this,c,null,11);c=!0;break a}}else if(this.qb&2){this.qb&=-3;Hd.call(this,1,null,11);c=!0;break a}if(c=
this.qb&8){for(var c=this.oa,d=!1,e=0;e<c.gb;e++)for(var f=c.gb[e],g=0;g<f.Lb.length;g++){var h=f.Lb[g];h.Id||(Id(c,h),h.Id||(d=!0))}c=!d}c&&(this.qb&=-9);c=!1}if(c&&!a){this.aa=0;break}if(this.qb&4){this.aa=this.A=0;break}}if(b&&Jd(this.fa,this.Ga)){this.Cb();break}this.aa=0;this.Wa[this.ha()].call(this)}while(0<this.A);return this.qa.nh?this.Oc-this.A:void 0===this.qa.nh?0:-1};k.Ra=function(a){this.fa&&E(this.fa,Kd)&&this.fa.message(a)};
Ha(function(){for(var a=D(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new pc(d);Za(d,c)}});function Nd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=a+b)&255}function Od(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&255}
function Pd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return this.Z&255}function Qd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return this.Z&255}function Rd(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&255}
function Sd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=a-b)&255}function Td(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&255}function Ud(a,b){this.pa=a^b;this.ga=256;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.bj:this.B.xb;this.aa|=2;return a}
function Vd(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=a+b)&65535}function Wd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a|b)&65535}function Xd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return this.Z&65535}
function Yd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return this.Z&65535}function Zd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a&b)&65535}function $d(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=a-b)&65535}
function ae(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.xb:this.B.hc;return(this.Z=this.ma=this.pa=a^b)&65535}function be(a,b){this.pa=a^b;this.ga=65536;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Vb:this.B.bj:this.B.xb;this.aa|=2;return a}function ce(a,b){this.Z=this.Z&this.ga-1|(a&b?this.ga:0);(a^a>>1)&b>>1?Dd(this):yd(this)}function de(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;ce.call(this,d,256)}return c}
function Dd(a){a.ma|=a.ga;a.pa=a.ma&32896|a.pa&-32897}function Wc(a){return a.Ca&-2262|od(a)|pd(a)|qd(a)|rd(a)|sd(a)|td(a)}function Uc(a,b){a.ga=256;a.Z=a.ma=a.pa=0;b&1&&zd(a);b&4||(a.ma|=1);b&16&&(a.pa|=16);b&64||wd(a);b&128&&Cd(a);b&2048&&Dd(a);a.ya.Mc?b=b&-12289|a.Ca&12288:(a.ne=(b&12288)>>12,!a.ne||a.Gc&1||(a.ne=0));a.ya.Mc>a.ne&&(b=b&-513|a.Ca&512);a.Ca=a.Ca&-1793|b&1792|a.ck;a.Ca&256&&(a.ub|=2,a.aa|=4)}
k.Db=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.wa[c]=d;e=!0;break;default:e=Lb.prototype.Db.call(this,a,b,c,d)}return e};k.tb=function(a){return this.Fa[(a&this.Ae)>>this.zb].sc(a&this.mb)};
k.ua=function(a){var b=a&this.mb;a=(a&this.Ae)>>this.zb;this.A-=this.B.Jj;return b!=this.mb?this.Fa[a].Zl(b):this.Fa[a++].sc(b)|this.Fa[a&this.Ee].sc(0)<<8};k.Pd=function(a,b){this.Fa[(a&this.Ae)>>this.zb].Hc(a&this.mb,b&255)};k.ed=function(a,b){var c=a&this.mb,d=(a&this.Ae)>>this.zb;this.A-=this.B.Jj;c!=this.mb?this.Fa[d].mm(c,b&65535):(this.Fa[d++].Hc(c,b&255),this.Fa[d&this.Ee].Hc(0,b>>8&255))};k.Km=function(a,b){this.Hg=a;this.la=a.ld(this.zg=b,0);return this.aa&1?0:this.tb(this.la)};
k.Lm=function(a,b){this.Hg=a;this.la=a.ld(this.zg=b,1);return this.aa&1?0:this.ua(this.la)};k.Rn=function(a,b){this.Hg=a;this.Ma=this.la=a.ld(this.zg=b,0);return this.aa&1?0:this.tb(this.la)};k.Sn=function(a,b){this.Hg=a;this.Ma=this.la=a.ld(this.zg=b,1);return this.aa&1?0:this.ua(this.la)};k.mp=function(a){this.aa&2||this.Pd(this.Hg.hc(this.zg,1),a)};k.np=function(a){this.aa&2||this.ed(this.Hg.hc(this.zg,2),a)};k.ha=function(){var a=this.tb(this.Ga);this.Ga=this.ya.Ya+(this.va=this.va+1&65535);return a};
k.M=function(){var a=this.tb(this.Ga)<<24>>24;this.Ga=this.ya.Ya+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=this.ua(this.Ga);this.Ga=this.ya.Ya+(this.va=this.va+2&65535);return a};k.La=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ua(this.Cb.ld(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.ed(a.Cb.hc(c,1),b)}
k.jh=function(){F(this,"AX",this.H);F(this,"BX",this.C);F(this,"CX",this.J);F(this,"DX",this.K);F(this,"SP",this.Y);F(this,"BP",this.I);F(this,"SI",this.G);F(this,"DI",this.F);F(this,"CS",this.ya.sa);F(this,"DS",this.Hb.sa);F(this,"SS",this.Cb.sa);F(this,"ES",this.ab.sa);F(this,"IP",this.va);var a=Wc(this);F(this,"PS",a);F(this,"C",a&1?1:0,1);F(this,"P",a&4?1:0,1);F(this,"A",a&16?1:0,1);F(this,"Z",a&64?1:0,1);F(this,"S",a&128?1:0,1);F(this,"T",a&256?1:0,1);F(this,"I",a&512?1:0,1);F(this,"D",a&1024?
1:0,1);F(this,"O",a&2048?1:0,1);if(a=this.wa.speed)a.innerHTML=this.qa.Rb&&this.ca.pd?this.ca.pd.toFixed(2)+"Mhz":"Stopped"};
k.Gf=function(a){this.qa.oh=!0;var b=this.qa.yk=a&&this.fa&&Ed(this.fa);this.Qc=this.A=a;this.oa&&$b(this.oa);a||!this.fa||E(this.fa,Fd)||(this.aa|=4);do{var c=this.aa&240;if(c)this.Ba|=c;else if(this.Lh=this.Ga,this.la=this.Ma=-1,this.D=this.Hb,this.N=this.Cb,this.Ba=this.aa&256,this.ub){a:{if(!(this.aa&4))if(this.ub&1&&this.Ca&512){if(c=Gd(this.oa),-1<=c&&(this.ub&=-2,0<=c)){this.ub&=-5;Hd.call(this,c,null,11);c=!0;break a}}else if(this.ub&2){this.ub&=-3;Hd.call(this,1,null,11);c=!0;break a}if(c=
this.ub&8){for(var c=this.oa,d=!1,e=0;e<c.jb;e++)for(var f=c.jb[e],g=0;g<f.Ib.length;g++){var h=f.Ib[g];h.Jd||(Id(c,h),h.Jd||(d=!0))}c=!d}c&&(this.ub&=-9);c=!1}if(c&&!a){this.aa=0;break}if(this.ub&4){this.aa=this.A=0;break}}if(b&&Jd(this.fa,this.Ga)){this.Fb();break}this.aa=0;this.Wa[this.ha()].call(this)}while(0<this.A);return this.qa.oh?this.Qc-this.A:void 0===this.qa.oh?0:-1};k.Sa=function(a){this.fa&&E(this.fa,Kd)&&this.fa.message(a)};
Ha(function(){for(var a=D(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new pc(d);Za(d,c)}});function Nd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=a+b)&255}function Od(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a|b)&255}
function Pd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return this.Z&255}function Qd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return this.Z&255}function Rd(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a&b)&255}
function Sd(a,b){this.pa=a^b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=a-b)&255}function Td(a,b){this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a^b)&255}function Ud(a,b){this.pa=a^b;this.ga=256;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.cj:this.B.Ab;this.aa|=2;return a}
function Vd(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=a+b)&65535}function Wd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a|b)&65535}function Xd(a,b){this.pa=a^b;this.Z=this.ma=a+b+(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return this.Z&65535}
function Yd(a,b){this.pa=a^b;this.Z=this.ma=a-b-(this.Z&this.ga?1:0);this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return this.Z&65535}function Zd(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a&b)&65535}function $d(a,b){this.pa=a^b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=a-b)&65535}
function ae(a,b){this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.Ab:this.B.ic;return(this.Z=this.ma=this.pa=a^b)&65535}function be(a,b){this.pa=a^b;this.ga=65536;this.Z=this.ma=a-b;this.A-=0>this.Ma?0>this.la?this.B.Wb:this.B.cj:this.B.Ab;this.aa|=2;return a}function ce(a,b){this.Z=this.Z&this.ga-1|(a&b?this.ga:0);(a^a>>1)&b>>1?Dd(this):yd(this)}function de(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;ce.call(this,d,256)}return c}
function ee(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;ce.call(this,d,65536)}return c}function fe(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ce.call(this,d,256)}return c}function ge(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ce.call(this,d,65536)}return c}
function he(a,b){var c=a;if(b){var d;(d=(b&this.Af)%9)?(d=a<<d|(this.Z&this.ga?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Z&this.ga?1:0)<<8;ce.call(this,d,256)}return c}function ie(a,b){var c=a;if(b){var d;(d=(b&this.Af)%17)?(d=a<<d|(this.Z&this.ga?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Z&this.ga?1:0)<<16;ce.call(this,d,65536)}return c}function je(a,b){var c=a;b&&(c=(b&this.Af)%9,c=a>>c|(this.Z&this.ga?1:0)<<8-c|a<<9-c,ce.call(this,c,256),c&=255);return c}
function ke(a,b){var c=a;b&&(c=(b&this.Af)%17,c=a>>c|(this.Z&this.ga?1:0)<<16-c|a<<17-c,ce.call(this,c,65536),c&=65535);return c}function le(a,b){var c=a;b&&(c=8<b?this.Z=this.ma=0:(this.Z=this.ma=a<<b)&255,this.pa=0,this.ga=256);return c}function me(a,b){var c=a;b&&(c=16<b?this.Z=this.ma=0:(this.Z=this.ma=a<<b)&65535,this.pa=0,this.ga=65536);return c}
function he(a,b){var c=a;if(b){var d;(d=(b&this.Bf)%9)?(d=a<<d|(this.Z&this.ga?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.Z&this.ga?1:0)<<8;ce.call(this,d,256)}return c}function ie(a,b){var c=a;if(b){var d;(d=(b&this.Bf)%17)?(d=a<<d|(this.Z&this.ga?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.Z&this.ga?1:0)<<16;ce.call(this,d,65536)}return c}function je(a,b){var c=a;b&&(c=(b&this.Bf)%9,c=a>>c|(this.Z&this.ga?1:0)<<8-c|a<<9-c,ce.call(this,c,256),c&=255);return c}
function ke(a,b){var c=a;b&&(c=(b&this.Bf)%17,c=a>>c|(this.Z&this.ga?1:0)<<16-c|a<<17-c,ce.call(this,c,65536),c&=65535);return c}function le(a,b){var c=a;b&&(c=8<b?this.Z=this.ma=0:(this.Z=this.ma=a<<b)&255,this.pa=0,this.ga=256);return c}function me(a,b){var c=a;b&&(c=16<b?this.Z=this.ma=0:(this.Z=this.ma=a<<b)&65535,this.pa=0,this.ga=65536);return c}
function ne(a,b){if(b){var c=8<b?0:a>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.pa=a^this.Z;this.ga=256;a=this.Z}return a&255}function oe(a,b){if(b){var c=16<b?0:a>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function pe(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|256:this.Z&-257;this.pa=a^this.Z;this.ga=256;a=this.Z}return a&255}
function qe(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function re(){this.A-=0>this.la?2:this.B.Rl;return 1}function se(){var a=this.J&this.Af;this.A-=(0>this.la?this.B.xj:this.B.wj)+(a<<this.B.yj);return a}function te(){var a=this.ha();this.A-=(0>this.la?this.B.xj:this.B.wj)+(a<<this.B.yj);return a}function ue(){return null}function ve(a){kc.call(this,13,0);return a}
function qe(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.Z=this.ma=c>>1;this.Z=c&1?this.Z|65536:this.Z&-65537;this.pa=a^this.Z;this.ga=65536;a=this.Z}return a&65535}function re(){this.A-=0>this.la?2:this.B.Sl;return 1}function se(){var a=this.J&this.Bf;this.A-=(0>this.la?this.B.yj:this.B.xj)+(a<<this.B.zj);return a}function te(){var a=this.ha();this.A-=(0>this.la?this.B.yj:this.B.xj)+(a<<this.B.zj);return a}function ue(){return null}function ve(a){kc.call(this,13,0);return a}
function Nc(a){tc.call(this);return a}function J(a){L.call(this);return a}
var we=[Nd,Od,Pd,Qd,Rd,Sd,Td,Ud],xe=[Vd,Wd,Xd,Yd,Zd,$d,ae,be],ye=[function(a,b){this.A-=0>this.Ma?this.B.ic:this.B.Kl;return b},ve,ve,ve,ve,ve,ve,ve],ze=[function(a,b){this.A-=0>this.Ma?this.B.Cl:this.B.Al;return b},J,J,J,J,J,J,J],Ae=[de,fe,he,je,le,ne,J,pe],Be=[ee,ge,ie,ke,me,oe,J,qe],De=[function(a,b){b=this.ha();this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.la?this.B.Dj:this.B.Cj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.xg:this.B.wg;return a^255},function(a,b){b=0;this.pa=
a^b;this.ga=256;this.A-=0>this.la?this.B.xg:this.B.wg;return(this.Z=this.ma=b-a)&255},function(a){this.H=this.Kb=(this.Z=(this.H&255)*a)&65535;this.pa=this.ma=this.Z;this.ga=256;this.H&65280?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Gl:this.B.Fl;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Kb=b&65535;this.Z=this.pa=this.ma=b;this.ga=256;127<b||-128>b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.ll:this.B.kl;this.aa|=2;return a},
function(a){if(!a)return Ce.call(this),a;var b=this.H/a;if(255<b)return Ce.call(this),a;this.Kb=this.H=b&255|(this.H%a&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.dl:this.B.cl;this.aa|=2;return a},function(a){if(!a)return Ce.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ce.call(this),a;this.Kb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.hl:this.B.gl;this.aa|=2;return a}],
Ee=[function(a,b){b=this.L();this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.la?this.B.Dj:this.B.Cj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.xg:this.B.wg;return a^65535},function(a,b){b=0;this.pa=a^b;this.ga=65536;this.A-=0>this.la?this.B.xg:this.B.wg;return(this.Z=this.ma=b-a)&65535},function(a){this.Kb=this.H=(this.Z=this.H*a)&65535;this.Eg=this.K=this.Z>>16&65535;this.pa=this.ma=this.Z;this.ga=65536;this.K?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Il:
this.B.Hl;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Kb=b&65535;this.K=this.Eg=b>>16&65535;this.Z=this.pa=this.ma=b;this.ga=65536;32767<b||-32768>b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.nl:this.B.ml;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ce.call(this),a;this.Kb=this.H=c&65535;this.Eg=this.K=b%a&65535;this.ma=this.pa=this.Z=c|65536;this.ga=65536;this.A-=
0>this.la?this.B.fl:this.B.el;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ce.call(this),a;this.Kb=this.H=d&65535;this.Eg=this.K=b%c&65535;this.ma=this.pa=this.Z=d|65536;this.ga=65536;this.A-=0>this.la?this.B.jl:this.B.il;this.aa|=2;return a}],Lc=[function(a){this.pa=a;a=(this.ma=a+1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.vg:this.B.ug;return a},function(a){this.pa=
a;a=(this.ma=a-1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.vg:this.B.ug;return a},J,J,J,J,J,J],Oc=[function(a){this.pa=a;a=(this.ma=a+1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.vg:this.B.ug;return a},function(a){this.pa=a;a=(this.ma=a-1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.vg:this.B.ug;return a},function(a){H(this,this.va);G(this,a);this.A-=0>this.la?this.B.bl:this.B.al;this.aa|=2;return a},
function(a){if(0>this.la)return J.call(this,a);H(this,this.xa.sa);H(this,this.va);Tc(this,a,this.ua(this.la+2));this.A-=this.B.Zk;this.aa|=2;return a},function(a){G(this,a);this.A-=0>this.la?this.B.wl:this.B.vl;this.aa|=2;return a},function(a){if(0>this.la)return J.call(this,a);Tc(this,a,this.ua(this.la+2));this.A-=this.B.tl;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ia&&(b=a));H(this,b);this.A-=0>this.la?this.B.pc:this.B.Ml;this.aa|=2;return a},ve],Fe=[de,fe,he,
je,le,ne,J,pe],Ge=[ee,ge,ie,ke,me,oe,J,qe];function He(a,b){this.A-=0>this.Ma?0>this.la?this.B.El:this.B.Dl:this.B.Bl;return b}function Ie(){return He.call(this,0,this.Kb)}function Je(a,b){this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Ej:this.B.zg:this.B.zg;this.aa|=2;return a}function Ke(a,b){this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Ej:this.B.zg:this.B.zg;this.aa|=2;return a}
function Le(a,b){var c=(b<<16>>16)*(this.ha()<<24>>24);this.Z=this.pa=this.ma=c;this.ga=256;32767<c||-32768>c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Me(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.pa=this.ma=c;this.ga=65536;32767<c||-32768>c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Ne(a){return a}function Oe(a){if(0>this.la)return L.call(this),a;this.A-=this.B.xl;return this.la}
function Pe(a,b){if(0>this.la)return L.call(this),a;kd(this,this.ua(this.la+2));this.A-=this.B.fj;return b}function Qe(a,b){if(0>this.la)return L.call(this),a;md(this,this.ua(this.la+2));this.A-=this.B.fj;return b}function Re(a){if(0>this.la)return tc.call(this),a;var b=a<<16>>16,c=this.ua(this.la)<<16>>16,d=this.ua(this.la+2)<<16>>16;this.A-=this.B.Vk;if(b<c||b>d)G(this,this.Kh-this.xa.Ya),Hd.call(this,5,null,0);this.aa|=2;return a}
function Se(a,b){this.A-=10+(0>this.la?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bd(this),a;wd(this);return a}function Te(a,b){this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(b,!0)&&this.Qb.Ac>=this.xa.Kc&&this.Qb.Ac>=(b&3))return Bd(this),this.Qb.Oa&65280;wd(this);return a}function Xe(a,b){this.A-=14+(0>this.la?0:2);if(b&65528&&0<=this.Qb.load(b,!0)&&(7168==(this.Qb.Oa&7168)||this.Qb.Ac>=this.xa.Kc)&&this.Qb.Ac>=(b&3))return Bd(this),this.Qb.Nc;wd(this);return a}
function Ye(a,b){if(0>this.la){switch(this.Yg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Gj}else this.Ma=this.la,this.R(a),this.A-=this.B.Fj;return b}
function Ze(a,b){if(0>this.la){switch(this.Yg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Gj}else this.Ma=this.la,this.S(a),this.A-=this.B.Fj;return b}function Hd(a,b,c){id(this,a)&&(H(this,Wc(this)),this.Ca&=this.Lc.zh,H(this,this.xa.sa),H(this,this.va),null!=b&&H(this,b),Tc(this,this.Lc.Jj,this.Lc.sa),this.A-=this.B.pl+c)}
function $e(a){a|=this.Dc&1;this.Dc=this.Dc&65520|a&-65521;this.Dc&1&&Vc(this,!0)}function Ce(){G(this,this.Kh-this.xa.Ya);Hd.call(this,0,null,2)}function kc(a,b,c){this.fa&&(E(this.fa,Kd)&&this.fa.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa)),c&&this.Cb());80186<=this.Ia&&(G(this,this.Kh-this.xa.Ya),Hd.call(this,a,b,0))}function tc(){kc.call(this,6);this.Cb()}
function L(){G(this,this.Kh-this.xa.Ya);cb(this,"Undefined opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.xa.sa));this.Cb()}function af(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function df(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function ef(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}
var we=[Nd,Od,Pd,Qd,Rd,Sd,Td,Ud],xe=[Vd,Wd,Xd,Yd,Zd,$d,ae,be],ye=[function(a,b){this.A-=0>this.Ma?this.B.jc:this.B.Ll;return b},ve,ve,ve,ve,ve,ve,ve],ze=[function(a,b){this.A-=0>this.Ma?this.B.Dl:this.B.Bl;return b},J,J,J,J,J,J,J],Ae=[de,fe,he,je,le,ne,J,pe],Be=[ee,ge,ie,ke,me,oe,J,qe],De=[function(a,b){b=this.ha();this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.la?this.B.Ej:this.B.Dj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.vg:this.B.ug;return a^255},function(a,b){b=0;this.pa=
a^b;this.ga=256;this.A-=0>this.la?this.B.vg:this.B.ug;return(this.Z=this.ma=b-a)&255},function(a){this.H=this.Nb=(this.Z=(this.H&255)*a)&65535;this.pa=this.ma=this.Z;this.ga=256;this.H&65280?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Hl:this.B.Gl;this.aa|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Nb=b&65535;this.Z=this.pa=this.ma=b;this.ga=256;127<b||-128>b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.ml:this.B.ll;this.aa|=2;return a},
function(a){if(!a)return Ce.call(this),a;var b=this.H/a;if(255<b)return Ce.call(this),a;this.Nb=this.H=b&255|(this.H%a&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.el:this.B.dl;this.aa|=2;return a},function(a){if(!a)return Ce.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ce.call(this),a;this.Nb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ma=this.pa=this.Z=b|256;this.ga=256;this.A-=0>this.la?this.B.il:this.B.hl;this.aa|=2;return a}],
Ee=[function(a,b){b=this.L();this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.la?this.B.Ej:this.B.Dj;this.aa|=2;return a},J,function(a){this.A-=0>this.la?this.B.vg:this.B.ug;return a^65535},function(a,b){b=0;this.pa=a^b;this.ga=65536;this.A-=0>this.la?this.B.vg:this.B.ug;return(this.Z=this.ma=b-a)&65535},function(a){this.Nb=this.H=(this.Z=this.H*a)&65535;this.Cg=this.K=this.Z>>16&65535;this.pa=this.ma=this.Z;this.ga=65536;this.K?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.Jl:
this.B.Il;this.aa|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Nb=b&65535;this.K=this.Cg=b>>16&65535;this.Z=this.pa=this.ma=b;this.ga=65536;32767<b||-32768>b?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?this.B.ol:this.B.nl;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Ce.call(this),a;this.Nb=this.H=c&65535;this.Cg=this.K=b%a&65535;this.ma=this.pa=this.Z=c|65536;this.ga=65536;this.A-=
0>this.la?this.B.gl:this.B.fl;this.aa|=2;return a},function(a,b){if(!a)return Ce.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ce.call(this),a;this.Nb=this.H=d&65535;this.Cg=this.K=b%c&65535;this.ma=this.pa=this.Z=d|65536;this.ga=65536;this.A-=0>this.la?this.B.kl:this.B.jl;this.aa|=2;return a}],Mc=[function(a){this.pa=a;a=(this.ma=a+1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){this.pa=
a;a=(this.ma=a-1)&255;this.Z=a|(this.Z&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.tg:this.B.sg;return a},J,J,J,J,J,J],Oc=[function(a){this.pa=a;a=(this.ma=a+1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){this.pa=a;a=(this.ma=a-1)&65535;this.Z=a|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.tg:this.B.sg;return a},function(a){H(this,this.va);G(this,a);this.A-=0>this.la?this.B.cl:this.B.bl;this.aa|=2;return a},
function(a){if(0>this.la)return J.call(this,a);H(this,this.ya.sa);H(this,this.va);Tc(this,a,this.ua(this.la+2));this.A-=this.B.$k;this.aa|=2;return a},function(a){G(this,a);this.A-=0>this.la?this.B.xl:this.B.wl;this.aa|=2;return a},function(a){if(0>this.la)return J.call(this,a);Tc(this,a,this.ua(this.la+2));this.A-=this.B.ul;this.aa|=2;return a},function(a){var b=a;this.aa&512&&(a=a-2&65535,80286>this.Ia&&(b=a));H(this,b);this.A-=0>this.la?this.B.qc:this.B.Nl;this.aa|=2;return a},ve],Fe=[de,fe,he,
je,le,ne,J,pe],Ge=[ee,ge,ie,ke,me,oe,J,qe];function He(a,b){this.A-=0>this.Ma?0>this.la?this.B.Fl:this.B.El:this.B.Cl;return b}function Ie(){return He.call(this,0,this.Nb)}function Je(a,b){this.Z=this.ma=this.pa=a&b;this.ga=256;this.A-=0>this.Ma?0>this.la?this.B.Fj:this.B.xg:this.B.xg;this.aa|=2;return a}function Ke(a,b){this.Z=this.ma=this.pa=a&b;this.ga=65536;this.A-=0>this.Ma?0>this.la?this.B.Fj:this.B.xg:this.B.xg;this.aa|=2;return a}
function Le(a,b){var c=(b<<16>>16)*(this.ha()<<24>>24);this.Z=this.pa=this.ma=c;this.ga=256;32767<c||-32768>c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Me(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Z=this.pa=this.ma=c;this.ga=65536;32767<c||-32768>c?(zd(this),Dd(this)):(ud(this),yd(this));this.A-=0>this.la?21:24;return c&65535}function Ne(a){return a}function Oe(a){if(0>this.la)return L.call(this),a;this.A-=this.B.yl;return this.la}
function Pe(a,b){if(0>this.la)return L.call(this),a;kd(this,this.ua(this.la+2));this.A-=this.B.gj;return b}function Qe(a,b){if(0>this.la)return L.call(this),a;md(this,this.ua(this.la+2));this.A-=this.B.gj;return b}function Re(a){if(0>this.la)return tc.call(this),a;var b=a<<16>>16,c=this.ua(this.la)<<16>>16,d=this.ua(this.la+2)<<16>>16;this.A-=this.B.Wk;if(b<c||b>d)G(this,this.Lh-this.ya.Ya),Hd.call(this,5,null,0);this.aa|=2;return a}
function Se(a,b){this.A-=10+(0>this.la?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Bd(this),a;wd(this);return a}function Te(a,b){this.A-=14+(0>this.la?0:2);if(0<=this.Sb.load(b,!0)&&this.Sb.Dc>=this.ya.Mc&&this.Sb.Dc>=(b&3))return Bd(this),this.Sb.Oa&65280;wd(this);return a}function Xe(a,b){this.A-=14+(0>this.la?0:2);if(b&65528&&0<=this.Sb.load(b,!0)&&(7168==(this.Sb.Oa&7168)||this.Sb.Dc>=this.ya.Mc)&&this.Sb.Dc>=(b&3))return Bd(this),this.Sb.Pc;wd(this);return a}
function Ye(a,b){if(0>this.la){switch(this.Xg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Hj}else this.Ma=this.la,this.R(a),this.A-=this.B.Gj;return b}
function Ze(a,b){if(0>this.la){switch(this.Xg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Hj}else this.Ma=this.la,this.S(a),this.A-=this.B.Gj;return b}function Hd(a,b,c){id(this,a)&&(H(this,Wc(this)),this.Ca&=this.Nc.Ah,H(this,this.ya.sa),H(this,this.va),null!=b&&H(this,b),Tc(this,this.Nc.Kj,this.Nc.sa),this.A-=this.B.ql+c)}
function $e(a){a|=this.Gc&1;this.Gc=this.Gc&65520|a&-65521;this.Gc&1&&Vc(this,!0)}function Ce(){G(this,this.Lh-this.ya.Ya);Hd.call(this,0,null,2)}function kc(a,b,c){this.fa&&(E(this.fa,Kd)&&this.fa.message("Fault 0x"+t(a)+(null!=b?" (0x"+v(b)+")":"")+" on opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.ya.sa)),c&&this.Fb());80186<=this.Ia&&(G(this,this.Lh-this.ya.Ya),Hd.call(this,a,b,0))}function tc(){kc.call(this,6);this.Fb()}
function L(){G(this,this.Lh-this.ya.Ya);cb(this,"Undefined opcode 0x"+t(nb(this.ra,this.Ga))+" at "+ea(this.va,this.ya.sa));this.Fb()}function af(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function df(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function ef(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}
function ff(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function gf(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function hf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function jf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function kf(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function lf(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}
function mf(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function nf(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function of(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function pf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function qf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function rf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}
function sf(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function tf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function uf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function vf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function wf(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function xf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}
@ -377,297 +377,302 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.aa|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Dh=[function(){var a=this.ha();16>(a&56)&&(this.aa|=1);Bh[a].call(this,dd,ue)},function(){var a=this.ha();a&16||(this.aa|=1);Bh[a].call(this,Ch,ue)},function(){N[this.ha()].call(this,Te)},function(){N[this.ha()].call(this,Xe)},L,function(){this.xa.Kc?kc.call(this,13,0,!0):($e.call(this,this.ua(2054)),this.F=
this.ua(2086),this.G=this.ua(2088),this.I=this.ua(2090),this.Y=this.ua(2092),this.C=this.ua(2094),this.K=this.ua(2096),this.J=this.ua(2098),this.H=this.ua(2100),oc(this.$a,this.ua(2084),2102),oc(this.xa,this.ua(2082),2108),oc(this.zb,this.ua(2080),2114),oc(this.Eb,this.ua(2078),2120),Uc(this,this.ua(2072)),G(this,this.ua(2074)),this.xc=this.ua(2126)|this.ua(2128)<<16,this.ze=this.xc+this.ua(2130),oc(this.bd,this.ua(2076),2132),this.Gc=this.ua(2138)|this.ua(2140)<<16,this.$d=this.Gc+this.ua(2142),
oc(this.Xe,this.ua(2070),2144),this.A-=195)},L,L,L,L,L,tc,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],ed=[function(){this.A-=2+(0>this.la?0:1);return this.bd.sa},function(){this.A-=2+(0>this.la?0:1);return this.Xe.sa},function(a){this.aa|=2;this.bd.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.Xe.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(a,!0)&&2048!=(this.Qb.Oa&2560)&&(this.Qb.Ac>=this.xa.Kc&&this.Qb.Ac>=(a&3)||7168==(this.Qb.Oa&7168)))return Bd(this),a;
wd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.Oa&2560)&&this.Qb.Ac>=this.xa.Kc&&this.Qb.Ac>=(a&3))return Bd(this),a;wd(this);return a},J,J],fd=[Nc,Nc,Nc,Nc,Nc,Nc,J,J],dd=fd,Ch=[function(a){0>this.la?tc.call(this):(a=this.ze-this.xc,this.cd(this.la+2,this.xc),this.cd(this.la+4,65280|this.xc>>16),this.A-=11);return a},function(a){0>this.la?tc.call(this):(a=this.$d-this.Gc,this.cd(this.la+2,this.Gc),this.cd(this.la+4,65280|this.Gc>>16),this.A-=
12);return a},function(a){0>this.la?tc.call(this):(this.xc=this.ua(this.la+2)|this.pb(this.la+4)<<16,this.ze=this.xc+a,this.aa|=2,this.A-=11);return a},function(a){0>this.la?tc.call(this):(this.Gc=this.ua(this.la+2)|this.pb(this.la+4)<<16,this.$d=this.Gc+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.la?0:1);return this.Dc},J,function(a){$e.call(this,a);this.A-=0>this.la?3:6;this.aa|=2;return a},J];function Pc(){Dh[this.ha()].call(this)}
function Rc(){H(this,this.Y);this.A-=this.B.pc}function uc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.Ll}function vc(){this.F=this.La();this.G=this.La();this.I=this.La();this.Y+=2;this.C=this.La();this.K=this.La();this.J=this.La();this.H=this.La();this.A-=this.B.Jl}function wc(){N[this.ha()].call(this,Re)}function Qc(){yh[this.ha()].call(this,Se)}function xc(){H(this,this.L());this.A-=this.B.pc}
function yc(){N[this.ha()].call(this,Me)}function zc(){H(this,this.ha());this.A-=this.B.pc}function Ac(){N[this.ha()].call(this,Le)}function Bc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=ub(this.ra,this.K,this.Ga-b-1);this.Od(this.$a.gc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
function Cc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.Ga-b-1,d=ub(this.ra,this.K,d)|ub(this.ra,this.K,d)<<8;this.cd(this.$a.gc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
function Dc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.pb(this.Eb.jd(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;Ab(this.ra,this.K,d,this.Ga-b-1);a&&(nd(this,-2),this.aa|=256)}}
function Ec(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.ua(this.Eb.jd(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ga-b-1;Ab(this.ra,this.K,d&255,b);Ab(this.ra,this.K,d>>8,b);a&&(nd(this,-2),this.aa|=256)}}function Eh(){var a=this.M();td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Fh(){var a=this.M();td(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
function Gh(){var a=this.M();od(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Hh(){var a=this.M();od(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Ih(){var a=this.M();rd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Jh(){var a=this.M();rd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Kh(){var a=this.M();od(this)||rd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}
function Lh(){var a=this.M();od(this)||rd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Mh(){var a=this.M();sd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Nh(){var a=this.M();sd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}function Oh(){var a=this.M();pd(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Ph(){var a=this.M();pd(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
function Qh(){var a=this.M();!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Rh(){var a=this.M();!sd(this)==!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Sh(){var a=this.M();rd(this)||!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Wb):this.A-=this.B.Xb}function Th(){var a=this.M();rd(this)||!sd(this)!=!td(this)?this.A-=this.B.Xb:(G(this,this.va+a),this.A-=this.B.Wb)}
function Uh(){Ah[this.ha()].call(this,we,this.ha);this.A-=0>this.Ma?1:this.B.Hh}function Fc(){Ah[this.ha()].call(this,Fe,te)}function Gc(){Bh[this.ha()].call(this,Ge,te)}function Vh(){var a=this.L();G(this,this.La());this.Y=this.Y+a&65535;this.A-=this.B.Ql}function Wh(){G(this,this.La());this.A-=this.B.Nl}
function Ic(){var a=this.L(),b=this.ha()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,H(this,this.ua(this.zb.jd(this.I,1)));H(this,c)}this.I=c;this.Y=this.Y-a&65535}function Jc(){this.Y=this.I;this.I=this.La();this.A-=5}function Xh(){var a=this.L();Tc(this,this.La(),this.La());this.Y=this.Y+a&65535;this.fh&&cd(this,this.Ga);this.A-=this.B.Pl}function Yh(){Tc(this,this.La(),this.La());this.A-=this.B.Ol}
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Dh=[function(){var a=this.ha();16>(a&56)&&(this.aa|=1);Bh[a].call(this,dd,ue)},function(){var a=this.ha();a&16||(this.aa|=1);Bh[a].call(this,Ch,ue)},function(){N[this.ha()].call(this,Te)},function(){N[this.ha()].call(this,Xe)},L,function(){this.ya.Mc?kc.call(this,13,0,!0):($e.call(this,this.ua(2054)),this.F=
this.ua(2086),this.G=this.ua(2088),this.I=this.ua(2090),this.Y=this.ua(2092),this.C=this.ua(2094),this.K=this.ua(2096),this.J=this.ua(2098),this.H=this.ua(2100),oc(this.ab,this.ua(2084),2102),oc(this.ya,this.ua(2082),2108),oc(this.Cb,this.ua(2080),2114),oc(this.Hb,this.ua(2078),2120),Uc(this,this.ua(2072)),G(this,this.ua(2074)),this.zc=this.ua(2126)|this.ua(2128)<<16,this.ze=this.zc+this.ua(2130),oc(this.dd,this.ua(2076),2132),this.Jc=this.ua(2138)|this.ua(2140)<<16,this.$d=this.Jc+this.ua(2142),
oc(this.Ye,this.ua(2070),2144),this.A-=195)},L,L,L,L,L,tc,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],ed=[function(){this.A-=2+(0>this.la?0:1);return this.dd.sa},function(){this.A-=2+(0>this.la?0:1);return this.Ye.sa},function(a){this.aa|=2;this.dd.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.Ye.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Sb.load(a,!0)&&2048!=(this.Sb.Oa&2560)&&(this.Sb.Dc>=this.ya.Mc&&this.Sb.Dc>=(a&3)||7168==(this.Sb.Oa&7168)))return Bd(this),a;
wd(this);return a},function(a){this.aa|=2;this.A-=14+(0>this.la?0:2);if(0<=this.Sb.load(a,!0)&&512==(this.Sb.Oa&2560)&&this.Sb.Dc>=this.ya.Mc&&this.Sb.Dc>=(a&3))return Bd(this),a;wd(this);return a},J,J],fd=[Nc,Nc,Nc,Nc,Nc,Nc,J,J],dd=fd,Ch=[function(a){0>this.la?tc.call(this):(a=this.ze-this.zc,this.ed(this.la+2,this.zc),this.ed(this.la+4,65280|this.zc>>16),this.A-=11);return a},function(a){0>this.la?tc.call(this):(a=this.$d-this.Jc,this.ed(this.la+2,this.Jc),this.ed(this.la+4,65280|this.Jc>>16),this.A-=
12);return a},function(a){0>this.la?tc.call(this):(this.zc=this.ua(this.la+2)|this.tb(this.la+4)<<16,this.ze=this.zc+a,this.aa|=2,this.A-=11);return a},function(a){0>this.la?tc.call(this):(this.Jc=this.ua(this.la+2)|this.tb(this.la+4)<<16,this.$d=this.Jc+a,this.aa|=2,this.A-=12);return a},function(){this.A-=2+(0>this.la?0:1);return this.Gc},J,function(a){$e.call(this,a);this.A-=0>this.la?3:6;this.aa|=2;return a},J];function Pc(){Dh[this.ha()].call(this)}
function Rc(){H(this,this.Y);this.A-=this.B.qc}function uc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.Ml}function vc(){this.F=this.La();this.G=this.La();this.I=this.La();this.Y+=2;this.C=this.La();this.K=this.La();this.J=this.La();this.H=this.La();this.A-=this.B.Kl}function wc(){N[this.ha()].call(this,Re)}function Qc(){yh[this.ha()].call(this,Se)}function xc(){H(this,this.L());this.A-=this.B.qc}
function yc(){N[this.ha()].call(this,Me)}function zc(){H(this,this.ha());this.A-=this.B.qc}function Ac(){N[this.ha()].call(this,Le)}function Bc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=ub(this.ra,this.K,this.Ga-b-1);this.Pd(this.ab.hc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
function Cc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.Ga-b-1,d=ub(this.ra,this.K,d)|ub(this.ra,this.K,d)<<8;this.ed(this.ab.hc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}}
function Dc(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.tb(this.Hb.ld(this.G,0));this.G=this.G+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;Ab(this.ra,this.K,d,this.Ga-b-1);a&&(nd(this,-2),this.aa|=256)}}
function Ec(){var a=1,b=0,c=5;this.Ba&192&&(a=this.J,b=1,this.Ba&256&&(c=4));if(a--){var d=this.ua(this.Hb.ld(this.G,1));this.G=this.G+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ga-b-1;Ab(this.ra,this.K,d&255,b);Ab(this.ra,this.K,d>>8,b);a&&(nd(this,-2),this.aa|=256)}}function Eh(){var a=this.M();td(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Fh(){var a=this.M();td(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}
function Gh(){var a=this.M();od(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Hh(){var a=this.M();od(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}function Ih(){var a=this.M();rd(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Jh(){var a=this.M();rd(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}function Kh(){var a=this.M();od(this)||rd(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}
function Lh(){var a=this.M();od(this)||rd(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}function Mh(){var a=this.M();sd(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Nh(){var a=this.M();sd(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}function Oh(){var a=this.M();pd(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Ph(){var a=this.M();pd(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}
function Qh(){var a=this.M();!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Rh(){var a=this.M();!sd(this)==!td(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Sh(){var a=this.M();rd(this)||!sd(this)!=!td(this)?(G(this,this.va+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Th(){var a=this.M();rd(this)||!sd(this)!=!td(this)?this.A-=this.B.Yb:(G(this,this.va+a),this.A-=this.B.Xb)}
function Uh(){Ah[this.ha()].call(this,we,this.ha);this.A-=0>this.Ma?1:this.B.Ih}function Fc(){Ah[this.ha()].call(this,Fe,te)}function Hc(){Bh[this.ha()].call(this,Ge,te)}function Vh(){var a=this.L();G(this,this.La());this.Y=this.Y+a&65535;this.A-=this.B.Rl}function Wh(){G(this,this.La());this.A-=this.B.Ol}
function Ic(){var a=this.L(),b=this.ha()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,H(this,this.ua(this.Cb.ld(this.I,1)));H(this,c)}this.I=c;this.Y=this.Y-a&65535}function Jc(){this.Y=this.I;this.I=this.La();this.A-=5}function Xh(){var a=this.L();Tc(this,this.La(),this.La());this.Y=this.Y+a&65535;this.fh&&cd(this,this.Ga);this.A-=this.B.Ql}function Yh(){Tc(this,this.La(),this.La());this.A-=this.B.Pl}
function Zh(){N[this.ha()].call(this,Ne);this.A-=8}function $h(){this.aa|=36;this.A-=this.B.pe}function Kc(){L.call(this)}
var sc=[function(){var a=this.ha();xh[a].call(this,Nd)},function(){yh[this.ha()].call(this,Vd)},function(){zh[this.ha()].call(this,Nd)},function(){N[this.ha()].call(this,Vd)},function(){this.H=this.H&-256|Nd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Vd.call(this,this.H,this.L());this.A--},function(){H(this,this.$a.sa);this.A-=this.B.yg},function(){md(this,this.La());this.A-=this.B.ic},function(){xh[this.ha()].call(this,Od)},function(){yh[this.ha()].call(this,Wd)},function(){zh[this.ha()].call(this,
Od)},function(){N[this.ha()].call(this,Wd)},function(){this.H=this.H&-256|Od.call(this,this.H&255,this.ha());this.A--},function(){this.H=Wd.call(this,this.H,this.L());this.A--},function(){H(this,this.xa.sa);this.A-=this.B.yg},function(){jd(this,this.La());this.A-=this.B.ic},function(){xh[this.ha()].call(this,Pd)},function(){yh[this.ha()].call(this,Xd)},function(){zh[this.ha()].call(this,Pd)},function(){N[this.ha()].call(this,Xd)},function(){this.H=this.H&-256|Pd.call(this,this.H&255,this.ha());this.A--},
function(){this.H=Xd.call(this,this.H,this.L());this.A--},function(){H(this,this.zb.sa);this.A-=this.B.yg},function(){ld(this,this.La());this.A-=this.B.ic},function(){xh[this.ha()].call(this,Qd)},function(){yh[this.ha()].call(this,Yd)},function(){zh[this.ha()].call(this,Qd)},function(){N[this.ha()].call(this,Yd)},function(){this.H=this.H&-256|Qd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Yd.call(this,this.H,this.L());this.A--},function(){H(this,this.Eb.sa);this.A-=this.B.yg},function(){kd(this,
this.La());this.A-=this.B.ic},function(){xh[this.ha()].call(this,Rd)},function(){yh[this.ha()].call(this,Zd)},function(){zh[this.ha()].call(this,Rd)},function(){N[this.ha()].call(this,Zd)},function(){this.H=this.H&-256|Rd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Zd.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.$a;this.A-=this.B.pe},function(){var a=this.H&255,b=qd(this),c=this.Z&this.ga;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Z=this.ma=a&255);this.ga=65536;c&&(this.Z|=this.ga);b?Ad(this):vd(this);this.A-=this.B.Qe},function(){xh[this.ha()].call(this,Sd)},function(){yh[this.ha()].call(this,$d)},function(){zh[this.ha()].call(this,Sd)},function(){N[this.ha()].call(this,$d)},function(){this.H=this.H&-256|Sd.call(this,this.H&255,this.ha());this.A--},function(){this.H=$d.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.xa;this.A-=this.B.pe},function(){var a=this.H&255,b=qd(this),c=this.Z&
this.ga;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Z=this.ma=a&255);this.ga=65536;c&&(this.Z|=this.ga);b?Ad(this):vd(this);this.A-=this.B.Qe},function(){xh[this.ha()].call(this,Td)},function(){yh[this.ha()].call(this,ae)},function(){zh[this.ha()].call(this,Td)},function(){N[this.ha()].call(this,ae)},function(){this.H=this.H&-256|Td.call(this,this.H&255,this.ha());this.A--},function(){this.H=ae.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=
this.zb;this.A-=this.B.pe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Qe},function(){xh[this.ha()].call(this,Ud)},function(){yh[this.ha()].call(this,be)},function(){zh[this.ha()].call(this,Ud)},function(){N[this.ha()].call(this,be)},function(){this.H=this.H&-256|Ud.call(this,this.H&255,this.ha());this.A--},function(){this.H=be.call(this,this.H,this.L());
this.A--},function(){this.aa|=20;this.D=this.N=this.Eb;this.A-=this.B.pe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Qe},function(){this.pa=this.H;this.H=(this.ma=this.H+1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J+1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;
var sc=[function(){var a=this.ha();xh[a].call(this,Nd)},function(){yh[this.ha()].call(this,Vd)},function(){zh[this.ha()].call(this,Nd)},function(){N[this.ha()].call(this,Vd)},function(){this.H=this.H&-256|Nd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Vd.call(this,this.H,this.L());this.A--},function(){H(this,this.ab.sa);this.A-=this.B.wg},function(){md(this,this.La());this.A-=this.B.jc},function(){xh[this.ha()].call(this,Od)},function(){yh[this.ha()].call(this,Wd)},function(){zh[this.ha()].call(this,
Od)},function(){N[this.ha()].call(this,Wd)},function(){this.H=this.H&-256|Od.call(this,this.H&255,this.ha());this.A--},function(){this.H=Wd.call(this,this.H,this.L());this.A--},function(){H(this,this.ya.sa);this.A-=this.B.wg},function(){jd(this,this.La());this.A-=this.B.jc},function(){xh[this.ha()].call(this,Pd)},function(){yh[this.ha()].call(this,Xd)},function(){zh[this.ha()].call(this,Pd)},function(){N[this.ha()].call(this,Xd)},function(){this.H=this.H&-256|Pd.call(this,this.H&255,this.ha());this.A--},
function(){this.H=Xd.call(this,this.H,this.L());this.A--},function(){H(this,this.Cb.sa);this.A-=this.B.wg},function(){ld(this,this.La());this.A-=this.B.jc},function(){xh[this.ha()].call(this,Qd)},function(){yh[this.ha()].call(this,Yd)},function(){zh[this.ha()].call(this,Qd)},function(){N[this.ha()].call(this,Yd)},function(){this.H=this.H&-256|Qd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Yd.call(this,this.H,this.L());this.A--},function(){H(this,this.Hb.sa);this.A-=this.B.wg},function(){kd(this,
this.La());this.A-=this.B.jc},function(){xh[this.ha()].call(this,Rd)},function(){yh[this.ha()].call(this,Zd)},function(){zh[this.ha()].call(this,Rd)},function(){N[this.ha()].call(this,Zd)},function(){this.H=this.H&-256|Rd.call(this,this.H&255,this.ha());this.A--},function(){this.H=Zd.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.ab;this.A-=this.B.pe},function(){var a=this.H&255,b=qd(this),c=this.Z&this.ga;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.Z=this.ma=a&255);this.ga=65536;c&&(this.Z|=this.ga);b?Ad(this):vd(this);this.A-=this.B.Re},function(){xh[this.ha()].call(this,Sd)},function(){yh[this.ha()].call(this,$d)},function(){zh[this.ha()].call(this,Sd)},function(){N[this.ha()].call(this,$d)},function(){this.H=this.H&-256|Sd.call(this,this.H&255,this.ha());this.A--},function(){this.H=$d.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=this.ya;this.A-=this.B.pe},function(){var a=this.H&255,b=qd(this),c=this.Z&
this.ga;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.Z=this.ma=a&255);this.ga=65536;c&&(this.Z|=this.ga);b?Ad(this):vd(this);this.A-=this.B.Re},function(){xh[this.ha()].call(this,Td)},function(){yh[this.ha()].call(this,ae)},function(){zh[this.ha()].call(this,Td)},function(){N[this.ha()].call(this,ae)},function(){this.H=this.H&-256|Td.call(this,this.H&255,this.ha());this.A--},function(){this.H=ae.call(this,this.H,this.L());this.A--},function(){this.aa|=20;this.D=this.N=
this.Cb;this.A-=this.B.pe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Re},function(){xh[this.ha()].call(this,Ud)},function(){yh[this.ha()].call(this,be)},function(){zh[this.ha()].call(this,Ud)},function(){N[this.ha()].call(this,be)},function(){this.H=this.H&-256|Ud.call(this,this.H&255,this.ha());this.A--},function(){this.H=be.call(this,this.H,this.L());
this.A--},function(){this.aa|=20;this.D=this.N=this.Hb;this.A-=this.B.pe},function(){var a=this.H&255,b=this.H>>8,c,d=qd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Z=a);this.ga=65536;c&&(this.Z|=this.ga);d?Ad(this):vd(this);this.A-=this.B.Re},function(){this.pa=this.H;this.H=(this.ma=this.H+1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J+1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;
this.A-=2},function(){this.pa=this.K;this.K=(this.ma=this.K+1)&65535;this.Z=this.K|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.C;this.C=(this.ma=this.C+1)&65535;this.Z=this.C|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.Y;this.Y=(this.ma=this.Y+1)&65535;this.Z=this.Y|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.I;this.I=(this.ma=this.I+1)&65535;this.Z=this.I|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=
this.G;this.G=(this.ma=this.G+1)&65535;this.Z=this.G|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.F;this.F=(this.ma=this.F+1)&65535;this.Z=this.F|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.H;this.H=(this.ma=this.H-1)&65535;this.Z=this.H|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.J;this.J=(this.ma=this.J-1)&65535;this.Z=this.J|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.K;this.K=
(this.ma=this.K-1)&65535;this.Z=this.K|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.C;this.C=(this.ma=this.C-1)&65535;this.Z=this.C|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.Y;this.Y=(this.ma=this.Y-1)&65535;this.Z=this.Y|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.I;this.I=(this.ma=this.I-1)&65535;this.Z=this.I|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.G;this.G=(this.ma=this.G-
1)&65535;this.Z=this.G|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.F;this.F=(this.ma=this.F-1)&65535;this.Z=this.F|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){H(this,this.H);this.A-=this.B.pc},function(){H(this,this.J);this.A-=this.B.pc},function(){H(this,this.K);this.A-=this.B.pc},function(){H(this,this.C);this.A-=this.B.pc},function(){H(this,this.Y-2&65535);this.A-=this.B.pc},function(){H(this,this.I);this.A-=this.B.pc},function(){H(this,this.G);this.A-=
this.B.pc},function(){H(this,this.F);this.A-=this.B.pc},function(){this.H=this.La();this.A-=this.B.ic},function(){this.J=this.La();this.A-=this.B.ic},function(){this.K=this.La();this.A-=this.B.ic},function(){this.C=this.La();this.A-=this.B.ic},function(){this.Y=this.La();this.A-=this.B.ic},function(){this.I=this.La();this.A-=this.B.ic},function(){this.G=this.La();this.A-=this.B.ic},function(){this.F=this.La();this.A-=this.B.ic},Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Eh,Fh,Gh,Hh,Ih,Jh,Kh,
Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,function(){Bh[this.ha()].call(this,xe,this.L);this.A-=0>this.Ma?1:this.B.Hh},Uh,function(){Bh[this.ha()].call(this,xe,this.M);this.A-=0>this.Ma?1:this.B.Hh},function(){xh[this.ha()].call(this,Je)},function(){yh[this.ha()].call(this,Ke)},function(){zh[this.Yg=this.ha()].call(this,Ye)},function(){N[this.Yg=this.ha()].call(this,Ze)},function(){this.aa|=1;xh[this.ha()].call(this,He)},function(){this.aa|=1;yh[this.ha()].call(this,He)},function(){zh[this.ha()].call(this,He)},
function(){N[this.ha()].call(this,He)},function(){var a=this.ha();switch((a&56)>>3){case 0:this.Kb=this.$a.sa;break;case 1:this.Kb=this.xa.sa;break;case 2:this.Kb=this.zb.sa;break;case 3:this.Kb=this.Eb.sa;break;default:L.call(this);return}this.aa|=1;yh[a].call(this,Ie)},function(){this.aa|=1;this.D=this.N=this.hm;N[this.ha()].call(this,Oe)},function(){var a,b=this.ha(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ia){tc.call(this);
1)&65535;this.Z=this.G|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.pa=this.F;this.F=(this.ma=this.F-1)&65535;this.Z=this.F|(this.Z&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){H(this,this.H);this.A-=this.B.qc},function(){H(this,this.J);this.A-=this.B.qc},function(){H(this,this.K);this.A-=this.B.qc},function(){H(this,this.C);this.A-=this.B.qc},function(){H(this,this.Y-2&65535);this.A-=this.B.qc},function(){H(this,this.I);this.A-=this.B.qc},function(){H(this,this.G);this.A-=
this.B.qc},function(){H(this,this.F);this.A-=this.B.qc},function(){this.H=this.La();this.A-=this.B.jc},function(){this.J=this.La();this.A-=this.B.jc},function(){this.K=this.La();this.A-=this.B.jc},function(){this.C=this.La();this.A-=this.B.jc},function(){this.Y=this.La();this.A-=this.B.jc},function(){this.I=this.La();this.A-=this.B.jc},function(){this.G=this.La();this.A-=this.B.jc},function(){this.F=this.La();this.A-=this.B.jc},Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Eh,Fh,Gh,Hh,Ih,Jh,Kh,
Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,function(){Bh[this.ha()].call(this,xe,this.L);this.A-=0>this.Ma?1:this.B.Ih},Uh,function(){Bh[this.ha()].call(this,xe,this.M);this.A-=0>this.Ma?1:this.B.Ih},function(){xh[this.ha()].call(this,Je)},function(){yh[this.ha()].call(this,Ke)},function(){zh[this.Xg=this.ha()].call(this,Ye)},function(){N[this.Xg=this.ha()].call(this,Ze)},function(){this.aa|=1;xh[this.ha()].call(this,He)},function(){this.aa|=1;yh[this.ha()].call(this,He)},function(){zh[this.ha()].call(this,He)},
function(){N[this.ha()].call(this,He)},function(){var a=this.ha();switch((a&56)>>3){case 0:this.Nb=this.ab.sa;break;case 1:this.Nb=this.ya.sa;break;case 2:this.Nb=this.Cb.sa;break;case 3:this.Nb=this.Hb.sa;break;default:L.call(this);return}this.aa|=1;yh[a].call(this,Ie)},function(){this.aa|=1;this.D=this.N=this.im;N[this.ha()].call(this,Oe)},function(){var a,b=this.ha(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ia){tc.call(this);
return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}N[b].call(this,He);switch(c){case 0:md(this,this.H);this.H=a;break;case 1:jd(this,this.J);this.J=a;break;case 2:ld(this,this.K);this.K=a;break;case 3:kd(this,this.C);this.C=a;break;case 4:md(this,this.Y);this.Y=a;break;case 5:jd(this,this.I);this.I=a;break;case 6:ld(this,this.G);this.G=a;break;case 7:kd(this,this.F),this.F=a}},function(){this.aa|=1;Bh[this.ha()].call(this,ye,this.La)},
function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&
32768?65535:0;this.A-=this.B.Xk},function(){var a=this.L(),b=this.L();H(this,this.xa.sa);H(this,this.va);Tc(this,a,b);this.A-=this.B.$k},function(){L.call(this)},function(){H(this,Wc(this));this.A-=this.B.pc},function(){Uc(this,this.La());this.A-=this.B.ic},function(){var a=this.H>>8;a&1?zd(this):ud(this);a&4?pd(this)||(this.ma^=1):pd(this)&&(this.ma^=1);a&16?Ad(this):vd(this);a&64?Bd(this):wd(this);a&128?Cd(this):xd(this);this.A-=this.B.Jb},function(){this.H=this.H&255|(Wc(this)&213)<<8;this.A-=
this.B.Jb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.mj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.mj},function(){var a=this.L(),b=this.H;this.Od(this.D.gc(a,0),b);this.A-=this.B.nj},function(){var a=this.L(),b=this.H;this.cd(this.D.gc(a,1),b);this.A-=this.B.nj},function(){var a=1,b=0,c=this.B.oj;this.Ba&192&&(a=this.J,b=1,c=this.B.qj,this.Ba&256||(this.A-=this.B.pj));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G);this.Od(this.$a.gc(this.F,0),e);
this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.oj;this.Ba&192&&(a=this.J,b=1,c=this.B.qj,this.Ba&256||(this.A-=this.B.pj));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G);this.cd(this.$a.gc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Zi;this.Ba&192&&(a=this.J,b=1,c=this.B.aj,this.Ba&256||
(this.A-=this.B.$i));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.$a,this.F);Ud.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.xb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Zi;this.Ba&192&&(a=this.J,b=1,c=this.B.aj,this.Ba&256||(this.A-=this.B.$i));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.$a,this.F);be.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
d&65535;this.A-=c-this.B.xb;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){this.Z=this.ma=this.pa=this.H&255&this.ha();this.ga=256;this.A-=this.B.Qe},function(){this.Z=this.ma=this.pa=this.H&this.L();this.ga=65536;this.A-=this.B.Qe},function(){var a=1,b=0,c=this.B.zj;this.Ba&192&&(a=this.J,b=1,c=this.B.Bj,this.Ba&256||(this.A-=this.B.Aj));if(a--){var d=this.H;this.Od(this.$a.gc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&
(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.zj;this.Ba&192&&(a=this.J,b=1,c=this.B.Bj,this.Ba&256||(this.A-=this.B.Aj));if(a--){var d=this.H;this.cd(this.$a.gc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Ba&192&&(a=this.J,b=1,c=this.B.ij,this.Ba&256||(this.A-=this.B.hj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(nd(this,
this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.gj;this.Ba&192&&(a=this.J,b=1,c=this.B.ij,this.Ba&256||(this.A-=this.B.hj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.tj;this.Ba&192&&(a=this.J,b=1,c=this.B.vj,this.Ba&256||(this.A-=this.B.uj));a--&&(Ud.call(this,this.H&255,this.O(this.$a,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-this.B.xb,
this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.tj;this.Ba&192&&(a=this.J,b=1,c=this.B.vj,this.Ba&256||(this.A-=this.B.uj));a--&&(be.call(this,this.H,this.P(this.$a,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.xb,this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.ha();this.A-=this.B.Jb},function(){this.J=this.J&-256|this.ha();this.A-=this.B.Jb},function(){this.K=this.K&-256|this.ha();
this.A-=this.B.Jb},function(){this.C=this.C&-256|this.ha();this.A-=this.B.Jb},function(){this.H=this.H&255|this.ha()<<8;this.A-=this.B.Jb},function(){this.J=this.J&255|this.ha()<<8;this.A-=this.B.Jb},function(){this.K=this.K&255|this.ha()<<8;this.A-=this.B.Jb},function(){this.C=this.C&255|this.ha()<<8;this.A-=this.B.Jb},function(){this.H=this.L();this.A-=this.B.Jb},function(){this.J=this.L();this.A-=this.B.Jb},function(){this.K=this.L();this.A-=this.B.Jb},function(){this.C=this.L();this.A-=this.B.Jb},
function(){this.Y=this.L();this.A-=this.B.Jb},function(){this.I=this.L();this.A-=this.B.Jb},function(){this.G=this.L();this.A-=this.B.Jb},function(){this.F=this.L();this.A-=this.B.Jb},Vh,Wh,Vh,Wh,function(){N[this.ha()].call(this,Qe)},function(){N[this.ha()].call(this,Pe)},function(){this.aa|=1;Ah[this.ha()].call(this,ze,this.ha)},function(){this.aa|=1;Bh[this.ha()].call(this,ze,this.L)},Xh,Yh,Xh,Yh,function(){Hd.call(this,3,null,this.B.ql)},function(){var a=this.ha();Yc(this,a)?Hd.call(this,a,null,
0):this.A--},function(){td(this)?Hd.call(this,4,null,this.B.rl):this.A-=this.B.sl},function(){Tc(this,this.La(),this.La());Uc(this,this.La());this.fh&&cd(this,this.Ga);this.A-=this.B.ol},function(){Ah[this.ha()].call(this,Ae,re)},function(){Bh[this.ha()].call(this,Be,re)},function(){Ah[this.ha()].call(this,Ae,se)},function(){Bh[this.ha()].call(this,Be,se)},function(){var a=this.ha(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ga=256;this.Z=this.ma=b;this.A-=this.B.Uk},function(){var a=this.ha();this.Z=
this.ma=this.H=(this.H>>8)*a+this.H&255;this.ga=256;this.A-=this.B.Tk},function(){this.H=this.H&-256|(od(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Sl},Zh,Zh,Zh,Zh,Zh,Zh,Zh,Zh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.ga-1?(G(this,this.va+a),this.A-=this.B.zl):this.A-=this.B.jj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.ga-1?this.A-=this.B.lj:(G(this,this.va+a),this.A-=this.B.kj)},function(){var a=
this.M();(this.J=this.J-1&65535)?(G(this,this.va+a),this.A-=this.B.yl):this.A-=this.B.jj},function(){var a=this.M();this.J?this.A-=this.B.lj:(G(this,this.va+a),this.A-=this.B.kj)},function(){var a=this.ha();this.H=this.H&-256|ub(this.ra,a,this.Ga-2);this.A-=this.B.dj},function(){var a=this.ha();this.H=ub(this.ra,a,this.Ga-1)|ub(this.ra,a+1&65535,this.Ga-2)<<8;this.A-=this.B.dj},function(){var a=this.ha();Ab(this.ra,a,this.H&255,this.Ga-2);this.A-=this.B.sj},function(){var a=this.ha();Ab(this.ra,a,
this.H&255,this.Ga-2);Ab(this.ra,a+1&65535,this.H>>8,this.Ga-2);this.A-=this.B.sj},function(){var a=this.L();H(this,this.va);G(this,this.va+a);this.A-=this.B.Yk},function(){var a=this.L();G(this,this.va+a);this.A-=this.B.ej},function(){Tc(this,this.L(),this.L());this.A-=this.B.ul},function(){var a=this.M();G(this,this.va+a);this.A-=this.B.ej},function(){this.H=this.H&-256|ub(this.ra,this.K,this.Ga-1);this.A-=this.B.cj},function(){this.H=ub(this.ra,this.K,this.Ga-1)|ub(this.ra,this.K+1&65535,this.Ga-
1)<<8;this.A-=this.B.cj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);this.A-=this.B.rj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);Ab(this.ra,this.K+1&65535,this.H>>8,this.Ga-1);this.A-=this.B.rj},$h,$h,function(){this.aa|=132;this.A-=this.B.pe},function(){this.aa|=68;this.A-=this.B.pe},function(){this.qb|=4;this.A-=2;this.fa&&Ed(this.fa)?(nd(this,-1),this.Cb()):this.Ca&512||(this.fa&&nd(this,-1),this.Cb())},function(){od(this)?ud(this):zd(this);this.A-=2},function(){this.Kb=-1;Ah[this.ha()].call(this,
De,ue);0<=this.Kb&&(this.H=this.Kb)},function(){this.Kb=-1;Bh[this.ha()].call(this,Ee,ue);0<=this.Kb&&(this.H=this.Kb,this.K=this.Eg)},function(){this.Z&=~this.ga;this.A-=2},function(){this.Z|=this.ga;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.Wk},function(){this.Ca|=512;this.aa|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=2},function(){this.Ca|=1024;this.A-=2},function(){Ah[this.ha()].call(this,Lc,ue)},function(){Bh[this.ha()].call(this,Oc,ue)}];
function O(a){z.call(this,"ChipSet",a,O);this.Ia=a.model;this.Ia=void 0!==this.Ia?parseInt(this.Ia,10):ai;this.$b=0;var b=a.sw1;if(b)this.$b=bi(b,ci|di.qm);else{this.Vd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.Vd=b);if(b=this.Vd.length)this.$b|=ei.Yh,b--,this.$b|=(b&3)<<ei.Jf;if(b=a.monitor||(this.Ia<fi?"mono":"ega"),void 0!==gi[b])this.$b|=gi[b]<<di.Jf}this.ve=bi(a.sw2||"11110000",0);this.Pn=this.Ia==ai?16:64;this.Wf=this.Xf=1;this.Ia>=fi&&(this.Wf=this.Xf=2);this.th=a.scaleTimers||!1;
this.jp=a.rtcDate;this.Ek=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new webkitAudioContext);this.reset(!0);this.Ta()}A(z,O);var ai=5150,fi=5170,gi={none:0,tv:1,color:2,mono:3,ega:0},ei={Yh:1,ONE:0,cq:64,aq:128,Ap:192,If:192,Jf:6},ci=12,di={bq:16,sp:32,qm:48,If:48,Jf:4};k=O.prototype;
k.Fb=function(a,b,c,d){switch(c){case "sw1":return this.ya[c]=d,hi(this,c,d,this.$b,{0:this.Ia==ai?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==ai?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==ai)return this.ya[c]=d,hi(this,c,d,this.ve,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ya[c]=d,!0}return!1};
k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.Va=eb(a,"Keyboard");this.Tl=Math.round(c.ca.Kd/1193181);tb(b,this,ii);zb(b,this,ji);this.Ia<fi?(tb(b,this,ki),zb(b,this,li)):(tb(b,this,mi),zb(b,this,ni));if(d){var e=this;oi(d,Fd,function(){for(var a=0;a<e.Ab.length;a++){for(var b=e.Ab[a],c="PIC"+a+":",d=0;d<b.sd.length;d++)c+=" IC"+(d+1)+"="+t(b.sd[d]);c+=" IMR="+t(b.yd)+" IRR="+t(b.Nb)+" ISR="+t(b.Hc);e.fa.message(c)}});oi(d,pi,function(){for(var a=0;a<e.Mb.length;a++){qi(e,a);
var b=e.Mb[a],c="TIMER"+a+":",d=0;if(void 0!==b.kd)for(var n=0;n<=b.kd;n++)d|=b.ac[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.kd+" COUNT="+v(d);e.fa.message(c)}});oi(d,ri,function(){for(var a="",b=0;64>b;b++){var c=13>=b?si(e,b):e.ta[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.fa.message(a)})}Xc(c,ti,this,this.On)};k.Zb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.dd=this.$b;this.$e=this.ve;ui(this);this.gb=Array(this.Wf);for(b=0;b<this.Wf;b++)vi(this,b);this.Ab=Array(this.Xf);wi(this,0,32);1<this.Xf&&wi(this,1,160);this.mi=void 0;this.Mb=Array(3);for(b=0;b<this.Mb.length;b++)xi(this,b);this.Vf=this.ki=this.yc=this.$g=void 0;this.Zg=0;if(this.Ia>=fi){this.mb=16;this.xd=0;this.gd=16;this.Vg=0;this.Be=160;512<=yi(this)&&(this.Be|=16);3==zi(this)&&(this.Be|=64);this.ii=3;this.Tf=0;this.Rg=Array(7);this.Ce=0;a&&(this.ta=Array(64));
Ai(this,this.jp);for(a=21;24>=a;a++)this.ta[a]=0;for(a=14;46>a;a++)void 0===this.ta[a]&&(this.ta[a]=0);this.ta[20]=this.dd&(di.If|2|ei.Yh|ei.If);this.ta[16]=Bi(this,0)<<4|Bi(this,1);Ci(this)}};
function Ai(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.ta[0]=c.getSeconds();a.ta[1]=0;a.ta[2]=c.getMinutes();a.ta[3]=0;a.ta[4]=c.getHours();a.ta[5]=0;a.ta[6]=c.getDay()+1;a.ta[7]=c.getDate();a.ta[8]=c.getMonth()+1;c=c.getFullYear();a.ta[9]=c%100;c/=100;a.ta[50]=c%10|c/10<<4;a.lg=-1;a.ta[10]=38;a.ta[11]=2;a.ta[12]=0;a.ta[13]=128}
32768?65535:0;this.A-=this.B.Yk},function(){var a=this.L(),b=this.L();H(this,this.ya.sa);H(this,this.va);Tc(this,a,b);this.A-=this.B.al},function(){L.call(this)},function(){H(this,Wc(this));this.A-=this.B.qc},function(){Uc(this,this.La());this.A-=this.B.jc},function(){var a=this.H>>8;a&1?zd(this):ud(this);a&4?pd(this)||(this.ma^=1):pd(this)&&(this.ma^=1);a&16?Ad(this):vd(this);a&64?Bd(this):wd(this);a&128?Cd(this):xd(this);this.A-=this.B.Mb},function(){this.H=this.H&255|(Wc(this)&213)<<8;this.A-=
this.B.Mb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.nj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.nj},function(){var a=this.L(),b=this.H;this.Pd(this.D.hc(a,0),b);this.A-=this.B.oj},function(){var a=this.L(),b=this.H;this.ed(this.D.hc(a,1),b);this.A-=this.B.oj},function(){var a=1,b=0,c=this.B.pj;this.Ba&192&&(a=this.J,b=1,c=this.B.rj,this.Ba&256||(this.A-=this.B.qj));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G);this.Pd(this.ab.hc(this.F,0),e);
this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.pj;this.Ba&192&&(a=this.J,b=1,c=this.B.rj,this.Ba&256||(this.A-=this.B.qj));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G);this.ed(this.ab.hc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.$i;this.Ba&192&&(a=this.J,b=1,c=this.B.bj,this.Ba&256||
(this.A-=this.B.aj));if(a--){var d=this.Ca&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.ab,this.F);Ud.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Ab;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.$i;this.Ba&192&&(a=this.J,b=1,c=this.B.bj,this.Ba&256||(this.A-=this.B.aj));if(a--){var d=this.Ca&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.ab,this.F);be.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+
d&65535;this.A-=c-this.B.Ab;this.J-=b;a&&rd(this)==(this.Ba&64)&&(nd(this,this.Ba&16?-3:-2),this.aa|=256)}},function(){this.Z=this.ma=this.pa=this.H&255&this.ha();this.ga=256;this.A-=this.B.Re},function(){this.Z=this.ma=this.pa=this.H&this.L();this.ga=65536;this.A-=this.B.Re},function(){var a=1,b=0,c=this.B.Aj;this.Ba&192&&(a=this.J,b=1,c=this.B.Cj,this.Ba&256||(this.A-=this.B.Bj));if(a--){var d=this.H;this.Pd(this.ab.hc(this.F,0),d);this.F=this.F+(this.Ca&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&
(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.Aj;this.Ba&192&&(a=this.J,b=1,c=this.B.Cj,this.Ba&256||(this.A-=this.B.Bj));if(a--){var d=this.H;this.ed(this.ab.hc(this.F,1),d);this.F=this.F+(this.Ca&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(nd(this,-2),this.aa|=256)}},function(){var a=1,b=0,c=this.B.hj;this.Ba&192&&(a=this.J,b=1,c=this.B.jj,this.Ba&256||(this.A-=this.B.ij));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ca&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(nd(this,
this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.hj;this.Ba&192&&(a=this.J,b=1,c=this.B.jj,this.Ba&256||(this.A-=this.B.ij));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ca&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(nd(this,this.Ba&16?-3:-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.uj;this.Ba&192&&(a=this.J,b=1,c=this.B.wj,this.Ba&256||(this.A-=this.B.vj));a--&&(Ud.call(this,this.H&255,this.O(this.ab,this.F)),this.F=this.F+(this.Ca&1024?-1:1)&65535,this.A-=c-this.B.Ab,
this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){var a=1,b=0,c=this.B.uj;this.Ba&192&&(a=this.J,b=1,c=this.B.wj,this.Ba&256||(this.A-=this.B.vj));a--&&(be.call(this,this.H,this.P(this.ab,this.F)),this.F=this.F+(this.Ca&1024?-2:2)&65535,this.A-=c-this.B.Ab,this.J-=b,a&&rd(this)==(this.Ba&64)&&(nd(this,-2),this.aa|=256))},function(){this.H=this.H&-256|this.ha();this.A-=this.B.Mb},function(){this.J=this.J&-256|this.ha();this.A-=this.B.Mb},function(){this.K=this.K&-256|this.ha();
this.A-=this.B.Mb},function(){this.C=this.C&-256|this.ha();this.A-=this.B.Mb},function(){this.H=this.H&255|this.ha()<<8;this.A-=this.B.Mb},function(){this.J=this.J&255|this.ha()<<8;this.A-=this.B.Mb},function(){this.K=this.K&255|this.ha()<<8;this.A-=this.B.Mb},function(){this.C=this.C&255|this.ha()<<8;this.A-=this.B.Mb},function(){this.H=this.L();this.A-=this.B.Mb},function(){this.J=this.L();this.A-=this.B.Mb},function(){this.K=this.L();this.A-=this.B.Mb},function(){this.C=this.L();this.A-=this.B.Mb},
function(){this.Y=this.L();this.A-=this.B.Mb},function(){this.I=this.L();this.A-=this.B.Mb},function(){this.G=this.L();this.A-=this.B.Mb},function(){this.F=this.L();this.A-=this.B.Mb},Vh,Wh,Vh,Wh,function(){N[this.ha()].call(this,Qe)},function(){N[this.ha()].call(this,Pe)},function(){this.aa|=1;Ah[this.ha()].call(this,ze,this.ha)},function(){this.aa|=1;Bh[this.ha()].call(this,ze,this.L)},Xh,Yh,Xh,Yh,function(){Hd.call(this,3,null,this.B.rl)},function(){var a=this.ha();Yc(this,a)?Hd.call(this,a,null,
0):this.A--},function(){td(this)?Hd.call(this,4,null,this.B.sl):this.A-=this.B.tl},function(){Tc(this,this.La(),this.La());Uc(this,this.La());this.fh&&cd(this,this.Ga);this.A-=this.B.pl},function(){Ah[this.ha()].call(this,Ae,re)},function(){Bh[this.ha()].call(this,Be,re)},function(){Ah[this.ha()].call(this,Ae,se)},function(){Bh[this.ha()].call(this,Be,se)},function(){var a=this.ha(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ga=256;this.Z=this.ma=b;this.A-=this.B.Vk},function(){var a=this.ha();this.Z=
this.ma=this.H=(this.H>>8)*a+this.H&255;this.ga=256;this.A-=this.B.Uk},function(){this.H=this.H&-256|(od(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Tl},Zh,Zh,Zh,Zh,Zh,Zh,Zh,Zh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Z&this.ga-1?(G(this,this.va+a),this.A-=this.B.Al):this.A-=this.B.kj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Z&this.ga-1?this.A-=this.B.mj:(G(this,this.va+a),this.A-=this.B.lj)},function(){var a=
this.M();(this.J=this.J-1&65535)?(G(this,this.va+a),this.A-=this.B.zl):this.A-=this.B.kj},function(){var a=this.M();this.J?this.A-=this.B.mj:(G(this,this.va+a),this.A-=this.B.lj)},function(){var a=this.ha();this.H=this.H&-256|ub(this.ra,a,this.Ga-2);this.A-=this.B.ej},function(){var a=this.ha();this.H=ub(this.ra,a,this.Ga-1)|ub(this.ra,a+1&65535,this.Ga-2)<<8;this.A-=this.B.ej},function(){var a=this.ha();Ab(this.ra,a,this.H&255,this.Ga-2);this.A-=this.B.tj},function(){var a=this.ha();Ab(this.ra,a,
this.H&255,this.Ga-2);Ab(this.ra,a+1&65535,this.H>>8,this.Ga-2);this.A-=this.B.tj},function(){var a=this.L();H(this,this.va);G(this,this.va+a);this.A-=this.B.Zk},function(){var a=this.L();G(this,this.va+a);this.A-=this.B.fj},function(){Tc(this,this.L(),this.L());this.A-=this.B.vl},function(){var a=this.M();G(this,this.va+a);this.A-=this.B.fj},function(){this.H=this.H&-256|ub(this.ra,this.K,this.Ga-1);this.A-=this.B.dj},function(){this.H=ub(this.ra,this.K,this.Ga-1)|ub(this.ra,this.K+1&65535,this.Ga-
1)<<8;this.A-=this.B.dj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);this.A-=this.B.sj},function(){Ab(this.ra,this.K,this.H&255,this.Ga-1);Ab(this.ra,this.K+1&65535,this.H>>8,this.Ga-1);this.A-=this.B.sj},$h,$h,function(){this.aa|=132;this.A-=this.B.pe},function(){this.aa|=68;this.A-=this.B.pe},function(){this.ub|=4;this.A-=2;this.fa&&Ed(this.fa)?(nd(this,-1),this.Fb()):this.Ca&512||(this.fa&&nd(this,-1),this.Fb())},function(){od(this)?ud(this):zd(this);this.A-=2},function(){this.Nb=-1;Ah[this.ha()].call(this,
De,ue);0<=this.Nb&&(this.H=this.Nb)},function(){this.Nb=-1;Bh[this.ha()].call(this,Ee,ue);0<=this.Nb&&(this.H=this.Nb,this.K=this.Cg)},function(){this.Z&=~this.ga;this.A-=2},function(){this.Z|=this.ga;this.A-=2},function(){this.Ca&=-513;this.A-=this.B.Xk},function(){this.Ca|=512;this.aa|=4;this.A-=2},function(){this.Ca&=-1025;this.A-=2},function(){this.Ca|=1024;this.A-=2},function(){Ah[this.ha()].call(this,Mc,ue)},function(){Bh[this.ha()].call(this,Oc,ue)}];
function O(a){z.call(this,"ChipSet",a,O);this.Ia=(this.Ia=a.model)?parseInt(this.Ia,10):ai;this.ac=0;var b=a.sw1;if(b)this.ac=bi(b,ci|di.rm);else{this.Vd=[360,360];(b=a.floppies)&&b.length&&(this.Vd=b);if(b=this.Vd.length)this.ac|=ei.Zh,b--,this.ac|=(b&3)<<ei.Kf;if(b=a.monitor||(this.Ia<fi?"mono":"ega"),void 0!==gi[b])this.ac|=gi[b]<<di.Kf}this.ve=bi(a.sw2||"11110000",0);this.Qn=this.Ia==ai?16:64;this.dh=this.gh=1;this.Ia>=fi&&(this.dh=this.gh=2);this.uh=a.scaleTimers||!1;this.lp=a.rtcDate;this.Fk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.qi=new window.webkitAudioContext);this.reset(!0);this.Ua()}A(z,O);var ai=5150,fi=5170,gi={none:0,tv:1,color:2,mono:3,ega:0},ei={Zh:1,ONE:0,eq:64,cq:128,Cp:192,Jf:192,Kf:6},ci=12,di={dq:16,vp:32,rm:48,Jf:48,Kf:4};k=O.prototype;
k.Db=function(a,b,c,d){switch(c){case "sw1":return this.wa[c]=d,hi(this,c,d,this.ac,{0:this.Ia==ai?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==ai?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==ai)return this.wa[c]=d,hi(this,c,d,this.ve,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.wa[c]=d,!0}return!1};
k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.Ra=eb(a,"Keyboard");this.Ul=Math.round(c.ca.Ld/1193181);tb(b,this,ii);zb(b,this,ji);this.Ia<fi?(tb(b,this,ki),zb(b,this,li)):(tb(b,this,mi),zb(b,this,ni));if(d){var e=this;oi(d,Fd,function(){for(var a=0;a<e.Eb.length;a++){for(var b=e.Eb[a],c="PIC"+a+":",d=0;d<b.vc.length;d++)c+=" IC"+(d+1)+"="+t(b.vc[d]);c+=" IMR="+t(b.zd)+" IRR="+t(b.Pb)+" ISR="+t(b.Kc);e.fa.message(c)}});oi(d,pi,function(){for(var a=0;a<e.Ob.length;a++){qi(e,a);
var b=e.Ob[a],c="TIMER"+a+":",d=0;if(null!=b.md)for(var n=0;n<=b.md;n++)d|=b.Za[n]<<8*n;c+=" MODE"+b.mode+" BYTES="+b.md+" COUNT="+v(d);e.fa.message(c)}});oi(d,ri,function(){for(var a="",b=0;64>b;b++){var c=13>=b?si(e,b):e.ta[b];a&&(a+="\n");a+="CMOS[0x"+t(b)+"]: 0x"+t(c)}e.fa.message(a)})}Xc(c,ti,this,this.Pn)};k.$b=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Zb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.fd=this.ac;this.af=this.ve;ui(this);this.jb=Array(this.dh);for(b=0;b<this.dh;b++)vi(this,b);this.Eb=Array(this.gh);wi(this,0,32);1<this.gh&&wi(this,1,160);this.ni=null;this.Ob=Array(3);for(b=0;b<this.Ob.length;b++)xi(this,b);this.Wf=this.li=this.Ac=this.Zg=null;this.Yg=0;if(this.Ia>=fi){this.qb=16;this.yd=0;this.jd=16;this.Ug=0;this.Be=160;512<=yi(this)&&(this.Be|=16);3==zi(this)&&(this.Be|=64);this.ji=3;this.Uf=0;this.Pg=Array(7);this.Ce=0;a&&(this.ta=Array(64));Ai(this,
this.lp);for(a=21;24>=a;a++)this.ta[a]=0;for(a=14;46>a;a++)void 0===this.ta[a]&&(this.ta[a]=0);this.ta[20]=this.fd&(di.Jf|2|ei.Zh|ei.Jf);this.ta[16]=Bi(this,0)<<4|Bi(this,1);Ci(this)}};
function Ai(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.da("CMOS date invalid ("+b+"), using "+c)):b&&a.da("CMOS date: "+c);a.ta[0]=c.getSeconds();a.ta[1]=0;a.ta[2]=c.getMinutes();a.ta[3]=0;a.ta[4]=c.getHours();a.ta[5]=0;a.ta[6]=c.getDay()+1;a.ta[7]=c.getDate();a.ta[8]=c.getMonth()+1;c=c.getFullYear();a.ta[9]=c%100;c/=100;a.ta[50]=c%10|c/10<<4;a.jg=-1;a.ta[10]=38;a.ta[11]=2;a.ta[12]=0;a.ta[13]=128}
function si(a,b){var c=a.ta[b];if(10>b){var d=!1;4!=b&&5!=b||a.ta[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.ta[11]&4||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else 10==b&&(a.ta[b]^=128);return c}function Ci(a){for(var b=0,c=16;46>c;c++)b+=a.ta[c];a.ta[47]=b&255;a.ta[46]=b>>8}
k.save=function(){var a=new gd(this);a.set(0,[this.$b,this.ve,this.dd,this.$e]);for(var b=[],c=0;c<this.gb;c++){var d=[],e=this.gb[c];d[0]=e.de;d[1]=e.ji;d[2]=e.kk;d[3]=e.vb;for(var f=[],g=0;g<e.Lb.length;g++){var h=[],l=e.Lb[g];h[0]=l.Id;h[1]=l.fk;h[2]=l.Jc;h[3]=l.Sb;h[4]=l.ac;h[5]=l.mode;h[6]=l.ah;h[8]=l.gp;h[9]=l.hp;f[g]=h}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.Ab.length;c++)d=[],e=this.Ab[c],d[0]=e.qg,d[1]=e.sd,d[2]=e.Ld,d[3]=e.yd,d[4]=e.Nb,d[5]=e.Hc,d[6]=e.De,d[7]=e.Uf,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Mb.length;c++)d=[],e=this.Mb[c],d[0]=e.Jc,d[1]=e.Xc,d[2]=e.ac,d[3]=e.bg,d[4]=e.mk,d[5]=e.mode,d[6]=e.Fg,d[7]=e.ge,d[8]=e.kd,d[9]=e.md,d[10]=e.eg,d[11]=e.nf,d[12]=e.se,b[c]=d;a.set(3,[this.mi,b]);a.set(4,[this.$g,this.yc,this.ki,this.Vf,this.Zg]);this.Ia>=fi&&(a.set(5,[this.mb,this.xd,this.gd,this.Vg,this.Be,this.ii]),a.set(6,[this.Tf,this.Rg,this.Ce,this.ta,this.lg]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.$b=b[0];this.ve=b[1];this.dd=b[2];this.$e=b[3];b=a[1];this.gb=Array(this.Wf);for(c=0;c<this.Wf;c++)vi(this,c,1==b.length?b[0][c]:b);b=a[2];this.Ab=Array(this.Xf);for(c=0;c<this.Xf;c++)wi(this,c,0===c?32:160,b[0][c]);b=a[3];this.mi=b[0];this.Mb=Array(3);for(c=0;c<this.Mb.length;c++)xi(this,c,b[1][c]);b=a[4];this.$g=b[0];this.yc=b[1];this.ki=b[2];this.Vf=b[3];this.Zg=b[4];if(b=a[5])this.mb=b[0],this.xd=b[1],this.gd=b[2],this.Vg=b[3],this.Be=b[4],this.ii=b[5];
if(b=a[6])this.Tf=b[0],this.Rg=b[1],this.Ce=b[2],this.ta=b[3],this.lg=b[4],Ai(this);return!0};function vi(a,b,c){a=a.gb[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.de=c[0];a.ji=c[1];a.kk=c[2];a.vb=c[3];a.Vn=b<<2;a.Lb=Array(4);for(b=0;b<a.Lb.length;b++)Di(a,b,c[4][b])}function Di(a,b,c){var d=a.Lb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ia=a;d.Jk=b;d.Id=c[0];d.fk=c[1];d.Jc=c[2];d.Sb=c[3];d.ac=c[4];d.mode=c[5];d.ah=c[6];Ei(d,c[8],c[9])}
function Ei(a,b,c,d){"string"==typeof b&&(b=Wa(b));b&&(a.jh=null,a.gp=b.id,a.hp=c,a.hh=b,a.Hi=b[c],a.Jh=d)}function wi(a,b,c,d){a=a.Ab[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.zq=b<<3;a.qg=d[0];a.sd=d[1];a.Ld=d[2];a.yd=d[3];a.Nb=d[4];a.Hc=d[5];a.De=d[6];a.Uf=d[7]}
function xi(a,b,c){a=a.Mb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.Jc=c[0];a.Xc=c[1];a.ac=c[2];a.bg=c[3];a.mk=c[4];a.mode=c[5];a.Fg=c[6];a.ge=c[7];a.kd=c[8];a.md=c[9];a.eg=c[10];a.nf=c[11];a.se=c[12]}function yi(a,b){return((((b?a.$b:a.dd)&12)>>2)+1)*a.Pn+32*((b?a.ve:a.$e)&15)}function Fi(a,b){var c=b?a.$b:a.dd;return a.Ia!=ai||c&ei.Yh?((c&ei.If)>>ei.Jf)+1:0}
function Bi(a,b){if(b<Fi(a)){if(!a.Vd)return 1;if(b<a.Vd.length)switch(a.Vd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function zi(a,b){return((b?a.$b:a.dd)&di.If)>>di.Jf}
function hi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)void 0!==e&&void 0!==e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),Gi(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Gi(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.$b=
a.$b&~e|(c?0:e);break;case "sw2":a.ve=a.ve&~e|(c?0:e)}ui(a)}}(a,b[g])}function Gi(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function ui(a){var b=a.ya.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(yi(a,!0)+"Kb");d+=", "+c[zi(a,!0)]+" Monitor";d+=", "+Fi(a,!0)+" Floppy Drives";if(void 0!==a.dd&&a.dd!=a.$b||void 0!==a.$e&&a.$e!=a.ve)d+=" (Reset required)";b.innerHTML=d}}
function Hi(a,b,c,d,e){var f=a.gb[b],g=f.Lb[c].Sb[f.vb];f.vb^=1;a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.vb+"]",P,g);return g}function Ii(a,b,c,d,e,f){var g=a.gb[b];a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.vb+"]",P);a=g.Lb[c];a.Sb[g.vb]=a.fk[g.vb]=e;g.vb^=1}function Ji(a,b,c,d,e){var f=a.gb[b],g=f.Lb[c].ac[f.vb];f.vb^=1;a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.vb+"]",P,g);return g}
function Ki(a,b,c,d,e,f){var g=a.gb[b];a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.vb+"]",P);a=g.Lb[c];a.ac[g.vb]=a.Jc[g.vb]=e;g.vb^=1}function Li(a,b,c,d){var e=a.gb[b],f=e.de|1;e.de&=-16;a.ea(c,null,d,"DMA"+b+".STATUS",P,f);return f}function Mi(a,b,c,d,e){var f=a.gb[b];a.ea(c,d,e,"DMA"+b+".REQ",P);a=d&3;f.de=f.de&~(16<<a)|(d&4)<<a+2;f.kk=d}function Ni(a,b,c,d,e){var f=a.gb[b];a.ea(c,d,e,"DMA"+b+".MASK",P);b=d&3;c=f.Lb[b];c.Id=d&4?!0:!1;c.Id||Oi(a,f.Vn+b)}
function Pi(a,b,c,d,e){a.ea(c,d,e,"DMA"+b+".CLEAR",P);a=a.gb[b];for(b=0;b<a.Lb.length;b++)Di(a,b)}function Qi(a,b,c,d,e){var f=a.gb[b].Lb[c].ah;a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",P,f);return f}function Ri(a,b,c,d,e,f){a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",P);a.gb[b].Lb[c].ah=e}function Si(a,b,c,d){var e=a.Rg[b];a.ea(c,null,d,"DMA.SPARE"+b+".PAGE",P,e);return e}function Ti(a,b,c,d,e){a.ea(c,d,e,"DMA.SPARE"+b+".PAGE",P);a.Rg[b]=d}function Ui(a,b,c,d,e){Ei(a.gb[b>>2].Lb[b&3],c,d,e)}
function Oi(a,b,c){b=a.gb[b>>2].Lb[b&3];b.hh&&b.Hi&&b.Jh?(c&&(b.jh=c),b.Id||Id(a,b,!0)):c&&c(!0)}function Id(a,b,c){c&&(b.count=b.ac[1]<<8|b.ac[0],b.mm=b.mode&12,b.Fk=b.Zc=!1);for(var d=!1;0<=b.count&&(c=b.ah<<16|b.Sb[1]<<8|b.Sb[0],4==b.mm?(d=!0,function(c){b.Hi.call(b.hh,b.Jh,-1,function(f,g){0>f&&(b.Fk||(b.Fk=!0),f=255);b.Id||pb(a.ra,c,f);(d=g)&&setTimeout(function(){Vi(b)||Id(a,b)},0)})}(c)):8==b.mm?(c=nb(a.ra,c),0>b.Hi.call(b.hh,b.Jh,c)&&(b.Zc=!0)):b.Zc=!0),!d&&!Vi(b););}
function Vi(a){if(!a.Zc&&0<=--a.count&&(a.mode&32?(a.Sb[0]--,0>a.Sb[0]&&(a.Sb[0]=255,a.Sb[1]--,0>a.Sb[1]&&(a.Sb[1]=255))):(a.Sb[0]++,255<a.Sb[0]&&(a.Sb[0]=0,a.Sb[1]++,255<a.Sb[1]&&(a.Sb[1]=0))),!a.Id))return!1;var b=a.ia;b.de=b.de&~(16<<a.Jk)|1<<a.Jk;a.mode&16||(a.Id=!0,a.hh=a.Jh=null);a.jh&&(a.jh(!a.Zc),a.jh=null);return!0}function Wi(a,b,c){var d=0,e=a.Ab[b];if(void 0!==e.Uf)switch(e.Uf&3){case 2:d=e.Nb;break;case 3:d=e.Hc}a.ea(e.port,null,c,"PIC"+b,Fd,d);return d}
function Xi(a,b,c,d){var e=a.Ab[b];a.ea(e.port,c,d,"PIC"+b,Fd);if(c&16)e.Ld=0,e.sd[e.Ld++]=c,e.yd=0,e.De=7,e.Nb=e.Hc=0,e.Uf=10;else if(c&8)e.Uf=c;else{var f=c&224;if(f&32){d=0;if(96==(f&96))d=1<<(c&7);else for(c=e.De+1;;){c&=7;f=1<<c;if(e.Hc&f){d=f;break}if(c++==e.De)break}e.Hc&d&&(e.Hc&=~d,Yi(a,b))}else 192==f&&(e.De=c&7)}}function Zi(a,b,c){var d=a.Ab[b],e=d.yd;a.ea(d.port+1,null,c,"PIC"+b,Fd,e);return e}
function $i(a,b,c,d){var e=a.Ab[b];a.ea(e.port+1,c,d,"PIC"+b,Fd);e.Ld<e.sd.length?(e.sd[e.Ld++]=c,2==e.Ld&&e.sd[0]&2&&e.Ld++,3!=e.Ld||e.sd[0]&1||e.Ld++):(e.yd=c,d=a.T,d.aa|=4,Yi(a,b,b||253!=c?0:6))}function Yi(a,b,c){b=a.Ab[b];var d=((b.Hc|b.yd)^255)&b.Nb;a=a.T;a.oa&&(a.qb=d?a.qb|1:a.qb&-2);d&&c&&(b.qg=c)}function aj(a,b,c){var d=b>>3,e=a.Ab[d];e.Nb|=1<<(b&7);e.qg=c||0;1==d&&(a.Ab[0].Nb|=4);Yi(a,d)}
function bj(a,b){var c=b>>3,d=a.Ab[c],e=1<<(b&7);d.Nb&e&&(d.Nb&=~e,1!=c||d.Nb||(a.Ab[0].Nb&=-5),Yi(a,c))}function Gd(a,b){void 0===b&&(b=0);var c=-1,d=a.Ab[b];if(d.qg)c=-2,d.qg--;else for(var e=d.Nb&((d.Hc|d.yd)^255),f=d.De+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.sd[1]+f:Gd(a,1);0<=c&&(d.Hc|=g,d.Nb&=~g);break}if(f++==d.De)break}return c}function cj(a,b,c){var d;d=a.Mb[b];d.ge==d.kd&&dj(a,b);if(d.eg)return d.bg[d.ge++];qi(a,b);d=d.ac[d.ge++];a.ea(64+b,null,c,"TIMER"+b,pi,d);return d}
function ej(a,b,c,d){a.ea(64+b,c,d,"TIMER"+b,pi);d=a.Mb[b];d.ge==d.kd&&dj(a,b);d.Jc[d.ge++]=c;if(d.ge==d.kd){d.nf&&0!=d.mode&&8!=d.mode||(d.eg=!1,d.ac[0]=d.Xc[0]=d.Jc[0],d.ac[1]=d.Xc[1]=d.Jc[1],d.se=Ub(a.T,a.th),d.nf=!0,d.md=0!=d.mode,0==b&&bj(a,0));2==b&&Zb(a);if(0==b){var e=fj(a,0);2048<=e&&(a.T.Dh=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Fg&&(b=a.T,b.qa.Pb&&(a=b.A-c*a.Tl,b.A-=a,b.Oc-=a))}}k.Hn=function(a,b){this.ea(a,null,b,"TIMER_CTRL",pi);return null};
k.Wo=function(a,b,c){this.ea(a,b,c,"TIMER_CTRL",pi);this.mi=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Mb[a];e.Fg=b;e.mode=d;e.mk=c;e.Jc=[0,0];e.ac=[0,0];e.bg=[0,0];e.md=!1;e.eg=!1;e.nf=!1;dj(this,a);0==a&&bj(this,0);2==a&&255==this.Ab[0].yd&&77==this.yc&&(a=this.Mb[0],a.Xc[0]=a.Jc[0],a.Xc[1]=a.Jc[1],a.se=Ub(this.T,this.th))}else qi(this,a),b=this.Mb[a],b.bg[0]=b.ac[0],b.bg[1]=b.ac[1],b.eg=!0,dj(this,a)}};
function fj(a,b){var c=a.Mb[b],d=c.Jc[1]<<8|c.Jc[0];d||(d=1==c.kd?256:65536);return d}function dj(a,b){var c=a.Mb[b];c.ge=32==c.Fg?1:0;c.kd=48==c.Fg?2:1}
function qi(a,b,c){var d=a.Mb[b];if(d.nf&&(2!=b||a.yc&1)){var e=Ub(a.T,a.th),f=(e-d.se)/a.Tl|0;0>f&&(d.se=e,f=0);var g=fj(a,b),h=a.Mb[b],l=h.Xc[1]<<8|h.Xc[0];l||(l=1==h.kd?256:65536);h=l-f;0==d.mode?(0>=h&&(h=0),h||(d.md=!0,d.nf=!1,b||aj(a,0))):4==d.mode?(d.md=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Xc[0]=h&255,d.Xc[1]=h>>8,d.se=e,!b&&d.md&&aj(a,0))):6==d.mode&&(h-=f,0>=h&&(d.md=!d.md,h=g+h,0>=h&&(h=g),d.Xc[0]=h&255,d.Xc[1]=h>>8,d.se=e,!b&&d.md&&aj(a,0)));d.ac[0]=h&255;d.ac[1]=h>>8;c&&(a.se=0)}return d}
function $b(a,b){for(var c=0;c<a.Mb.length;c++)qi(a,c,b);if(a.Ia>=fi){var c=0,d=a.T.ca.Kd,e=Ub(a.T,a.th);if(0<=a.lg&&(c=e-a.lg,Math.floor(c/d)&&60<=++a.ta[0]&&(a.ta[0]=0,60<=++a.ta[2]&&(a.ta[2]=0,24<=++a.ta[4])))){a.ta[4]=0;a.ta[6]=a.ta[6]%7+1;var f=a.ta[9],g=qa[a.ta[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.ta[7]>g&&(a.ta[7]=1,12<++a.ta[8]&&(a.ta[8]=1,a.ta[9]=(a.ta[9]+1)%100))}a.lg=e-c%d}}
k.zn=function(a,b){var c=this.$g;this.Vf&16&&(this.yc&128?c=this.dd:this.Va&&(c=gj(this.Va)));this.ea(a,null,b,"PPI_A",hj,c);return c};k.Po=function(a,b,c){this.ea(a,b,c,"PPI_A",hj);this.$g=b};k.An=function(a,b){var c=this.yc;this.ea(a,null,b,"PPI_B",hj,c);return c};k.Qo=function(a,b,c){this.ea(a,b,c,"PPI_B",hj);ij(this,b);this.Va&&jj(this.Va,b&128?!1:!0,b&64?!0:!1)};function ij(a,b){var c=!!(b&2),d=!!(a.yc&2);a.yc=b;c!=d&&Zb(a,c)}
k.Bn=function(a,b){var c=0,c=this.Ia==ai?this.yc&4?c|this.$e&15:c|this.$e>>4&1:this.yc&8?c|this.dd>>4:c|this.dd&15;this.yc&1&&qi(this,2).md&&(c=this.yc&2?c|32:c|16);this.ea(a,null,b,"PPI_C",hj|Db,c);return c};k.Ro=function(a,b,c){this.ea(a,b,c,"PPI_C",hj);this.ki=b};k.Cn=function(a,b){var c=this.Vf;this.ea(a,null,b,"PPI_CTRL",hj,c);return c};k.So=function(a,b,c){this.ea(a,b,c,"PPI_CTRL",hj);this.Vf=b};
k.Pm=function(a,b){var c=this.Vg;this.ea(a,null,b,"8042_OUTBUFF",kj,c);this.mb&=-258;var d=this.Va&&gj(this.Va,!0);d&&lj(this,d);return c};k.io=function(a,b,c){this.ea(a,b,c,"8042_INBUF.DATA",kj);if(this.mb&8)switch(this.xd){case 96:mj(this,b);break;case 209:nj(this,b);break;default:if(mj(this,this.gd&-17),this.Va){a=-1;switch(b){case 255:a=250,oj(this.Va)}lj(this,a)}}this.xd=b;this.mb&=-9};k.Qm=function(a,b){var c=this.yc&-209|(Ub(this.T)&64?16:0);this.ea(a,null,b,"8042_RWREG",kj|pj,c);return c};
k.jo=function(a,b,c){this.ea(a,b,c,"8042_RWREG",kj);ij(this,b)};k.Rm=function(a,b){this.ea(a,null,b,"8042_STATUS",kj,this.mb);var c=this.mb&255;this.mb&256&&(this.mb|=1,this.mb&=-257);return c};
k.ho=function(a,b,c){this.ea(a,b,c,"8042_INBUFF.CMD",kj);this.xd=b;this.mb|=8;a=0;240<=this.xd&&(a=this.xd^15,this.xd=240);switch(this.xd){case 192:lj(this,this.Be);break;case 173:mj(this,this.gd|16);break;case 174:mj(this,this.gd&-17);break;case 170:this.Va&&qj(this.Va,!0);mj(this,this.gd|16);lj(this,85);nj(this,3);break;case 224:lj(this,this.gd&16?0:1);break;case 240:a&1&&Sc(this.T)}};
function mj(a,b){var c=!(a.gd&16);a.gd=b;a.mb=a.mb&-5|b&4;if(a.Va){var d=!(b&16);jj(a.Va,!!(b&8),d)&&lj(a,gj(a.Va,!0));!c&&d&&gj(a.Va)&&rj(a)}}function lj(a,b){0<=b&&(a.Vg=b,a.mb&=-2,a.mb|=256)}function nj(a,b){a.ii=b;jb(a.ra,!!(b&2));b&1||Sc(a.T)}function rj(a){a.Ia<fi?aj(a,1,4):a.gd&16||aj(a,1,120)}k.en=function(a,b){this.ea(a,null,b,"CMOS_ADDR",ri,this.Ce);return this.Ce};k.xo=function(a,b,c){this.ea(a,b,c,"CMOS_ADDR",ri);this.Ce=b;this.Zg=b&128?0:128};
k.fn=function(a,b){var c=this.Ce&63,d=13>=c?si(this,c):this.ta[c];this.ea(a,null,b,"CMOS_DATA["+t(c)+"]",ri,d);return d};k.yo=function(a,b,c){var d=this.Ce&63;this.ea(a,b,c,"CMOS_DATA["+t(d)+"]",ri);a=this.ta;13>=d&&10>d&&(c=!1,this.ta[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.ta[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.xn=function(a,b){this.ea(a,null,b,"MFG_DATA",hj,this.Tf);return this.Tf};k.Mo=function(a,b,c){this.ea(a,b,c,"MFG_DATA",hj);this.Tf=b};
k.Oo=function(a,b,c){this.ea(a,b,c,"NMI",hj);this.Zg=b};k.On=function(a){var b=this.T.H>>8;this.fa&&E(this.fa,sj)&&($c(this.fa,ti,a),ad(this.T,a,function(a,d){return function(e){d=Ub(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+t(g)+" DH(sec)="+t(n);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+t(n)+" DL(day)="+t(l);bd(a.fa,ti,e,d,f)}}(this,Ub(this.T))));return!0};
k.save=function(){var a=new gd(this);a.set(0,[this.ac,this.ve,this.fd,this.af]);for(var b=[],c=0;c<this.jb;c++){for(var d=this.jb[c],e=d,f=[],g=0;g<e.Ib.length;g++){var h=e.Ib[g];f[g]=[h.Jd,h.Rg,h.bc,h.eb,h.Za,h.mode,h.$g,h.hp,h.ip]}b[c]=[d.de,d.ki,d.kk,d.lb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Eb.length;c++)d=this.Eb[c],b[c]=[d.og,d.vc,d.Md,d.zd,d.Pb,d.Kc,d.De,d.Vf];a.set(2,[b]);b=[];for(c=0;c<this.Ob.length;c++)d=this.Ob[c],b[c]=[d.bc,d.Cc,d.Za,d.Ke,d.mk,d.mode,d.Dg,d.ge,d.md,d.od,d.cg,d.of,d.se];
a.set(3,[this.ni,b]);a.set(4,[this.Zg,this.Ac,this.li,this.Wf,this.Yg]);this.Ia>=fi&&(a.set(5,[this.qb,this.yd,this.jd,this.Ug,this.Be,this.ji]),a.set(6,[this.Uf,this.Pg,this.Ce,this.ta,this.jg]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.ac=b[0];this.ve=b[1];this.fd=b[2];this.af=b[3];b=a[1];for(c=0;c<this.dh;c++)vi(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.gh;c++)wi(this,c,0===c?32:160,b[0][c]);b=a[3];this.ni=b[0];for(c=0;c<this.Ob.length;c++)xi(this,c,b[1][c]);b=a[4];this.Zg=b[0];this.Ac=b[1];this.li=b[2];this.Wf=b[3];this.Yg=b[4];if(b=a[5])this.qb=b[0],this.yd=b[1],this.jd=b[2],this.Ug=b[3],this.Be=b[4],this.ji=b[5];if(b=a[6])this.Uf=b[0],this.Pg=b[1],this.Ce=b[2],this.ta=b[3],
this.jg=b[4],Ai(this);return!0};var Di=[0,null,null,0,Array(4)];function vi(a,b,c){var d=a.jb[b];d||(d={Ib:Array(4)});c=c&&5==c.length?c:Di;d.de=c[0];d.ki=c[1];d.kk=c[2];d.lb=c[3];d.Wn=b<<2;for(var e=0;e<d.Ib.length;e++)Ei(d,e,c[4][e]);a.jb[b]=d}var Fi=[!0,[0,0],[0,0],[0,0],[0,0]];
function Ei(a,b,c){var d=a.Ib[b];d||(d={Rg:[0,0],bc:[0,0],eb:[0,0],Za:[0,0]});c=c&&8==c.length?c:Fi;d.Jd=c[0];d.Rg[0]=c[1][0];d.Rg[1]=c[1][1];d.bc[0]=c[2][0];d.bc[1]=c[2][1];d.eb[0]=c[3][0];d.eb[1]=c[3][1];d.Za[0]=c[4][0];d.Za[1]=c[4][1];d.mode=c[5];d.$g=c[6];d.ia=a;d.Kk=b;Gi(d,c[8],c[9]);a.Ib[b]=d}function Gi(a,b,c,d){"string"==typeof b&&(b=Wa(b));b&&(a.kh=null,a.hp=b.id,a.ip=c,a.ih=b,a.Ii=b[c],a.Kh=d)}var Hi=[0,Array(4)];
function wi(a,b,c,d){var e=a.Eb[b];e||(e={vc:[null,null,null,null]});d=d&&8==d.length?d:Hi;e.port=c;e.Bq=b<<3;e.og=d[0];e.vc[0]=d[1][0];e.vc[1]=d[1][1];e.vc[2]=d[1][2];e.vc[3]=d[1][3];e.Md=d[2];e.zd=d[3];e.Pb=d[4];e.Kc=d[5];e.De=d[6];e.Vf=d[7];a.Eb[b]=e}var Ii=[[0,0],[0,0],[0,0],[0,0]];
function xi(a,b,c){var d=a.Ob[b];d||(d={bc:[0,0],Cc:[0,0],Za:[0,0],Ke:[0,0]});c=c&&13==c.length?c:Ii;d.bc[0]=c[0][0];d.bc[1]=c[0][1];d.Cc[0]=c[1][0];d.Cc[1]=c[1][1];d.Za[0]=c[2][0];d.Za[1]=c[2][1];d.Ke[0]=c[3][0];d.Ke[1]=c[3][1];d.mk=c[4];d.mode=c[5];d.Dg=c[6];d.ge=c[7];d.md=c[8];d.od=c[9];d.cg=c[10];d.of=c[11];d.se=c[12];a.Ob[b]=d}function yi(a,b){return((((b?a.ac:a.fd)&12)>>2)+1)*a.Qn+32*((b?a.ve:a.af)&15)}function Ji(a,b){var c=b?a.ac:a.fd;return a.Ia!=ai||c&ei.Zh?((c&ei.Jf)>>ei.Kf)+1:0}
function Bi(a,b){if(b<Ji(a)){if(!a.Vd)return 1;if(b<a.Vd.length)switch(a.Vd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function zi(a,b){return((b?a.ac:a.fd)&di.Jf)>>di.Kf}
function hi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+g)+'" class="'+h+'" data-value="0">'+g+"</div>\n"}c.innerHTML=f;b=D(c,"pcjs-bitCell");c=null;for(g=0;g<b.length;g++)null!=e&&null!=e[g]&&(c=e[g]),c&&b[g].setAttribute("title",c),Ki(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Ki(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.ac=
a.ac&~e|(c?0:e);break;case "sw2":a.ve=a.ve&~e|(c?0:e)}ui(a)}}(a,b[g])}function Ki(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function ui(a){var b=a.wa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(yi(a,!0)+"Kb");d+=", "+c[zi(a,!0)]+" Monitor";d+=", "+Ji(a,!0)+" Floppy Drives";if(null!=a.fd&&a.fd!=a.ac||null!=a.af&&a.af!=a.ve)d+=" (Reset required)";b.innerHTML=d}}
function Li(a,b,c,d,e){var f=a.jb[b],g=f.Ib[c],h=g.eb[f.lb];a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".ADDR["+f.lb+"]",P,h);f.lb^=1;b||0!=c||f.lb||(g.eb[0]++,255<g.eb[0]&&(g.eb[0]=0,g.eb[1]++,255<g.eb[1]&&(g.eb[1]=0)));return h}function Mi(a,b,c,d,e,f){var g=a.jb[b];a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".ADDR["+g.lb+"]",P);a=g.Ib[c];a.eb[g.lb]=a.Rg[g.lb]=e;g.lb^=1}
function Ni(a,b,c,d,e){var f=a.jb[b],g=f.Ib[c],h=g.Za[f.lb];a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".COUNT["+f.lb+"]",P,h);f.lb^=1;b||0!=c||f.lb||(g.Za[0]--,0>g.Za[0]&&(g.Za[0]=255,g.Za[1]--,0>g.Za[1]&&(g.Za[1]=255)));return h}function Oi(a,b,c,d,e,f){var g=a.jb[b];a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.lb+"]",P);a=g.Ib[c];a.Za[g.lb]=a.bc[g.lb]=e;g.lb^=1}function Pi(a,b,c,d){var e=a.jb[b],f=e.de|1;e.de&=-16;a.ea(c,null,d,"DMA"+b+".STATUS",P,f);return f}
function Qi(a,b,c,d,e){var f=a.jb[b];a.ea(c,d,e,"DMA"+b+".REQ",P);a=d&3;f.de=f.de&~(16<<a)|(d&4)<<a+2;f.kk=d}function Ri(a,b,c,d,e){var f=a.jb[b];a.ea(c,d,e,"DMA"+b+".MASK",P);b=d&3;c=f.Ib[b];c.Jd=!!(d&4);c.Jd||Si(a,f.Wn+b)}function Ti(a,b,c,d,e){a.ea(c,d,e,"DMA"+b+".MASTER_CLEAR",P);a=a.jb[b];for(b=0;b<a.Ib.length;b++)Ei(a,b)}function Ui(a,b,c,d,e){var f=a.jb[b].Ib[c].$g;a.ea(d,null,e,"DMA"+b+".CHANNEL"+c+".PAGE",P,f);return f}
function Vi(a,b,c,d,e,f){a.ea(d,e,f,"DMA"+b+".CHANNEL"+c+".PAGE",P);a.jb[b].Ib[c].$g=e}function Wi(a,b,c,d){var e=a.Pg[b];a.ea(c,null,d,"DMA.SPARE"+b+".PAGE",P,e);return e}function Xi(a,b,c,d,e){a.ea(c,d,e,"DMA.SPARE"+b+".PAGE",P);a.Pg[b]=d}function Yi(a,b,c,d,e){Gi(a.jb[b>>2].Ib[b&3],c,d,e)}function Si(a,b,c){b=a.jb[b>>2].Ib[b&3];b.ih&&b.Ii&&b.Kh?(c&&(b.kh=c),b.Jd||Id(a,b,!0)):c&&c(!0)}
function Id(a,b,c){c&&(b.count=b.Za[1]<<8|b.Za[0],b.nm=b.mode&12,b.Gk=b.ad=!1);for(var d=!1;0<=b.count&&(c=b.$g<<16|b.eb[1]<<8|b.eb[0],4==b.nm?(d=!0,function(c){b.Ii.call(b.ih,b.Kh,-1,function(f,g){0>f&&(b.Gk||(b.Gk=!0),f=255);b.Jd||pb(a.ra,c,f);(d=g)&&setTimeout(function(){Zi(b)||Id(a,b)},0)})}(c)):8==b.nm?(c=nb(a.ra,c),0>b.Ii.call(b.ih,b.Kh,c)&&(b.ad=!0)):b.ad=!0),!d&&!Zi(b););}
function Zi(a){if(!a.ad&&0<=--a.count&&(a.mode&32?(a.eb[0]--,0>a.eb[0]&&(a.eb[0]=255,a.eb[1]--,0>a.eb[1]&&(a.eb[1]=255))):(a.eb[0]++,255<a.eb[0]&&(a.eb[0]=0,a.eb[1]++,255<a.eb[1]&&(a.eb[1]=0))),!a.Jd))return!1;var b=a.ia;b.de=b.de&~(16<<a.Kk)|1<<a.Kk;a.mode&16||(a.Jd=!0,a.ih=a.Kh=null);a.kh&&(a.kh(!a.ad),a.kh=null);return!0}function $i(a,b,c){var d=0,e=a.Eb[b];if(null!=e.Vf)switch(e.Vf&3){case 2:d=e.Pb;break;case 3:d=e.Kc}a.ea(e.port,null,c,"PIC"+b,Fd,d);return d}
function aj(a,b,c,d){var e=a.Eb[b];a.ea(e.port,c,d,"PIC"+b,Fd);if(c&16)e.Md=0,e.vc[e.Md++]=c,e.zd=0,e.De=7,e.Pb=e.Kc=0,e.Vf=10;else if(c&8)e.Vf=c;else{var f=c&224;if(f&32){d=0;if(96==(f&96))d=1<<(c&7);else for(c=e.De+1;;){c&=7;f=1<<c;if(e.Kc&f){d=f;break}if(c++==e.De)break}e.Kc&d&&(e.Kc&=~d,bj(a,b))}else 192==f&&(e.De=c&7)}}function cj(a,b,c){var d=a.Eb[b],e=d.zd;a.ea(d.port+1,null,c,"PIC"+b,Fd,e);return e}
function dj(a,b,c,d){var e=a.Eb[b];a.ea(e.port+1,c,d,"PIC"+b,Fd);e.Md<e.vc.length?(e.vc[e.Md++]=c,2==e.Md&&e.vc[0]&2&&e.Md++,3!=e.Md||e.vc[0]&1||e.Md++):(e.zd=c,d=a.T,d.aa|=4,bj(a,b,b||253!=c?0:6))}function bj(a,b,c){b=a.Eb[b];var d=((b.Kc|b.zd)^255)&b.Pb;a=a.T;a.oa&&(a.ub=d?a.ub|1:a.ub&-2);d&&c&&(b.og=c)}function ej(a,b,c){var d=b>>3,e=a.Eb[d];e.Pb|=1<<(b&7);e.og=c||0;1==d&&(a.Eb[0].Pb|=4);bj(a,d)}
function fj(a,b){var c=b>>3,d=a.Eb[c],e=1<<(b&7);d.Pb&e&&(d.Pb&=~e,1!=c||d.Pb||(a.Eb[0].Pb&=-5),bj(a,c))}function Gd(a,b){void 0===b&&(b=0);var c=-1,d=a.Eb[b];if(d.og)c=-2,d.og--;else for(var e=d.Pb&((d.Kc|d.zd)^255),f=d.De+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.vc[1]+f:Gd(a,1);0<=c&&(d.Kc|=g,d.Pb&=~g);break}if(f++==d.De)break}return c}function gj(a,b,c){var d;d=a.Ob[b];d.ge==d.md&&hj(a,b);if(d.cg)return d.Ke[d.ge++];qi(a,b);d=d.Za[d.ge++];a.ea(64+b,null,c,"TIMER"+b,pi,d);return d}
function ij(a,b,c,d){a.ea(64+b,c,d,"TIMER"+b,pi);d=a.Ob[b];d.ge==d.md&&hj(a,b);d.bc[d.ge++]=c;if(d.ge==d.md){d.of&&0!=d.mode&&8!=d.mode||(d.cg=!1,d.Za[0]=d.Cc[0]=d.bc[0],d.Za[1]=d.Cc[1]=d.bc[1],d.se=Ub(a.T,a.uh),d.of=!0,d.od=0!=d.mode,0==b&&fj(a,0));2==b&&Zb(a);if(0==b){var e=jj(a,0);2048<=e&&(a.T.Eh=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Dg&&(b=a.T,b.qa.Rb&&(a=b.A-c*a.Ul,b.A-=a,b.Qc-=a))}}k=O.prototype;k.In=function(a,b){this.ea(a,null,b,"TIMER_CTRL",pi);return null};
k.Xo=function(a,b,c){this.ea(a,b,c,"TIMER_CTRL",pi);this.ni=b;a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Ob[a];e.Dg=b;e.mode=d;e.mk=c;e.bc=[0,0];e.Za=[0,0];e.Ke=[0,0];e.od=!1;e.cg=!1;e.of=!1;hj(this,a);0==a&&fj(this,0);2==a&&255==this.Eb[0].zd&&77==this.Ac&&(a=this.Ob[0],a.Cc[0]=a.bc[0],a.Cc[1]=a.bc[1],a.se=Ub(this.T,this.uh))}else qi(this,a),b=this.Ob[a],b.Ke[0]=b.Za[0],b.Ke[1]=b.Za[1],b.cg=!0,hj(this,a)}};
function jj(a,b){var c=a.Ob[b],d=c.bc[1]<<8|c.bc[0];d||(d=1==c.md?256:65536);return d}function hj(a,b){var c=a.Ob[b];c.ge=32==c.Dg?1:0;c.md=48==c.Dg?2:1}
function qi(a,b,c){var d=a.Ob[b];if(d.of&&(2!=b||a.Ac&1)){var e=Ub(a.T,a.uh),f=(e-d.se)/a.Ul|0;0>f&&(d.se=e,f=0);var g=jj(a,b),h=a.Ob[b],l=h.Cc[1]<<8|h.Cc[0];l||(l=1==h.md?256:65536);h=l-f;0==d.mode?(0>=h&&(h=0),h||(d.od=!0,d.of=!1,b||ej(a,0))):4==d.mode?(d.od=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Cc[0]=h&255,d.Cc[1]=h>>8,d.se=e,!b&&d.od&&ej(a,0))):6==d.mode&&(h-=f,0>=h&&(d.od=!d.od,h=g+h,0>=h&&(h=g),d.Cc[0]=h&255,d.Cc[1]=h>>8,d.se=e,!b&&d.od&&ej(a,0)));d.Za[0]=h&255;d.Za[1]=h>>8;c&&(a.se=0)}return d}
function $b(a,b){for(var c=0;c<a.Ob.length;c++)qi(a,c,b);if(a.Ia>=fi){var c=0,d=a.T.ca.Ld,e=Ub(a.T,a.uh);if(0<=a.jg&&(c=e-a.jg,Math.floor(c/d)&&60<=++a.ta[0]&&(a.ta[0]=0,60<=++a.ta[2]&&(a.ta[2]=0,24<=++a.ta[4])))){a.ta[4]=0;a.ta[6]=a.ta[6]%7+1;var f=a.ta[9],g=qa[a.ta[8]-1];28==g&&0===f%4&&(f%100||0===f%400)&&g++;++a.ta[7]>g&&(a.ta[7]=1,12<++a.ta[8]&&(a.ta[8]=1,a.ta[9]=(a.ta[9]+1)%100))}a.jg=e-c%d}}
k.An=function(a,b){var c=this.Zg;this.Wf&16&&(this.Ac&128?c=this.fd:this.Ra&&(c=kj(this.Ra)));this.ea(a,null,b,"PPI_A",lj,c);return c};k.Qo=function(a,b,c){this.ea(a,b,c,"PPI_A",lj);this.Zg=b};k.Bn=function(a,b){var c=this.Ac;this.ea(a,null,b,"PPI_B",lj,c);return c};k.Ro=function(a,b,c){this.ea(a,b,c,"PPI_B",lj);mj(this,b);this.Ra&&nj(this.Ra,b&128?!1:!0,b&64?!0:!1)};function mj(a,b){var c=!!(b&2),d=!!(a.Ac&2);a.Ac=b;c!=d&&Zb(a,c)}
k.Cn=function(a,b){var c=0,c=this.Ia==ai?this.Ac&4?c|this.af&15:c|this.af>>4&1:this.Ac&8?c|this.fd>>4:c|this.fd&15;this.Ac&1&&qi(this,2).od&&(c=this.Ac&2?c|32:c|16);this.ea(a,null,b,"PPI_C",lj|Db,c);return c};k.So=function(a,b,c){this.ea(a,b,c,"PPI_C",lj);this.li=b};k.Dn=function(a,b){var c=this.Wf;this.ea(a,null,b,"PPI_CTRL",lj,c);return c};k.To=function(a,b,c){this.ea(a,b,c,"PPI_CTRL",lj);this.Wf=b};
k.Qm=function(a,b){var c=this.Ug;this.ea(a,null,b,"8042_OUTBUFF",oj,c);this.qb&=-258;var d=this.Ra&&kj(this.Ra,!0);d&&pj(this,d);return c};k.jo=function(a,b,c){this.ea(a,b,c,"8042_INBUF.DATA",oj);if(this.qb&8)switch(this.yd){case 96:qj(this,b);break;case 209:rj(this,b);break;default:if(qj(this,this.jd&-17),this.Ra){a=-1;switch(b){case 255:a=250,sj(this.Ra)}pj(this,a)}}this.yd=b;this.qb&=-9};k.Rm=function(a,b){var c=this.Ac&-209|(Ub(this.T)&64?16:0);this.ea(a,null,b,"8042_RWREG",oj|tj,c);return c};
k.ko=function(a,b,c){this.ea(a,b,c,"8042_RWREG",oj);mj(this,b)};k.Sm=function(a,b){this.ea(a,null,b,"8042_STATUS",oj,this.qb);var c=this.qb&255;this.qb&256&&(this.qb|=1,this.qb&=-257);return c};
k.io=function(a,b,c){this.ea(a,b,c,"8042_INBUFF.CMD",oj);this.yd=b;this.qb|=8;a=0;240<=this.yd&&(a=this.yd^15,this.yd=240);switch(this.yd){case 192:pj(this,this.Be);break;case 173:qj(this,this.jd|16);break;case 174:qj(this,this.jd&-17);break;case 170:this.Ra&&uj(this.Ra,!0);qj(this,this.jd|16);pj(this,85);rj(this,3);break;case 224:pj(this,this.jd&16?0:1);break;case 240:a&1&&Sc(this.T)}};
function qj(a,b){var c=!(a.jd&16);a.jd=b;a.qb=a.qb&-5|b&4;if(a.Ra){var d=!(b&16);nj(a.Ra,!!(b&8),d)&&pj(a,kj(a.Ra,!0));!c&&d&&kj(a.Ra)&&vj(a)}}function pj(a,b){0<=b&&(a.Ug=b,a.qb&=-2,a.qb|=256)}function rj(a,b){a.ji=b;jb(a.ra,!!(b&2));b&1||Sc(a.T)}function vj(a){a.Ia<fi?ej(a,1,4):a.jd&16||ej(a,1,120)}k.fn=function(a,b){this.ea(a,null,b,"CMOS_ADDR",ri,this.Ce);return this.Ce};k.yo=function(a,b,c){this.ea(a,b,c,"CMOS_ADDR",ri);this.Ce=b;this.Yg=b&128?0:128};
k.gn=function(a,b){var c=this.Ce&63,d=13>=c?si(this,c):this.ta[c];this.ea(a,null,b,"CMOS_DATA["+t(c)+"]",ri,d);return d};k.zo=function(a,b,c){var d=this.Ce&63;this.ea(a,b,c,"CMOS_DATA["+t(d)+"]",ri);a=this.ta;13>=d&&10>d&&(c=!1,this.ta[11]&4||(b=10*(b>>4)+(b&15),c=!0),4==d||5==d)&&(c&&12<b&&(b+=48),this.ta[11]&2||(12>=b?b=12==b?0:b:(b-=116,b=24==b?12:b)));a[d]=b};k.yn=function(a,b){this.ea(a,null,b,"MFG_DATA",lj,this.Uf);return this.Uf};k.No=function(a,b,c){this.ea(a,b,c,"MFG_DATA",lj);this.Uf=b};
k.Po=function(a,b,c){this.ea(a,b,c,"NMI",lj);this.Yg=b};k.Pn=function(a){var b=this.T.H>>8;this.fa&&E(this.fa,wj)&&($c(this.fa,ti,a),ad(this.T,a,function(a,d){return function(e){d=Ub(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,l=a.T.K&255,n=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+v(h)+" CL(min)="+t(g)+" DH(sec)="+t(n);else if(4==b||5==b)f=" CX(year)="+v(a.T.J)+" DH(month)="+t(n)+" DL(day)="+t(l);bd(a.fa,ti,e,d,f)}}(this,Ub(this.T))));return!0};
function bi(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}
function Zb(a,b){if(a.pi){void 0!==b?a.Ek=b:b=a.Ek&&a.T&&a.T.qa.Pb;var c=Math.round(1193181/fj(a,2));if(20>c||2E4<c)b=!1;b?a.rd?(a.rd.frequency.value=c,a.Ra("speaker set to "+c+"hz",tj)):(a.rd=a.pi.createOscillator(),a.rd.type=1,a.rd.connect(a.pi.destination),a.rd.frequency.value=c,a.Ra("speaker on at "+c+"hz",tj),a.rd.noteOn(0)):a.rd&&(a.rd.noteOff(0),a.rd.disconnect(),delete a.rd,a.Ra("speaker off at "+c+"hz",tj))}else b&&a.Ra("BEEP",tj)}
k.Ra=function(a,b,c){this.fa&&(null==b&&(b=hj),void 0!==c&&(b|=0==c?pi:1==c?uj:6==c?vj:Fd),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e,f){this.fa&&(null==e&&(e=hj),this.fa.ea(this,a,b,c,d,e,f))};
var ii={0:function(a,b){return Hi(this,0,0,a,b)},1:function(a,b){return Ji(this,0,0,a,b)},2:function(a,b){return Hi(this,0,1,a,b)},3:function(a,b){return Ji(this,0,1,a,b)},4:function(a,b){return Hi(this,0,2,a,b)},5:function(a,b){return Ji(this,0,2,a,b)},6:function(a,b){return Hi(this,0,3,a,b)},7:function(a,b){return Ji(this,0,3,a,b)},8:function(a,b){return Li(this,0,a,b)},32:function(a,b){return Wi(this,0,b)},33:function(a,b){return Zi(this,0,b)},64:function(a,b){return cj(this,0,b)},65:function(a,
b){return cj(this,1,b)},66:function(a,b){return cj(this,2,b)},67:O.prototype.Hn,129:function(a,b){return Qi(this,0,2,a,b)},130:function(a,b){return Qi(this,0,3,a,b)},131:function(a,b){return Qi(this,0,1,a,b)},135:function(a,b){return Qi(this,0,0,a,b)}},ki={96:O.prototype.zn,97:O.prototype.An,98:O.prototype.Bn,99:O.prototype.Cn},mi={96:O.prototype.Pm,97:O.prototype.Qm,100:O.prototype.Rm,112:O.prototype.en,113:O.prototype.fn,128:O.prototype.xn,132:function(a,b){return Si(this,0,a,b)},133:function(a,
b){return Si(this,1,a,b)},134:function(a,b){return Si(this,2,a,b)},136:function(a,b){return Si(this,3,a,b)},137:function(a,b){return Qi(this,1,2,a,b)},138:function(a,b){return Qi(this,1,3,a,b)},139:function(a,b){return Qi(this,1,1,a,b)},140:function(a,b){return Si(this,4,a,b)},141:function(a,b){return Si(this,5,a,b)},142:function(a,b){return Si(this,6,a,b)},143:function(a,b){return Qi(this,1,0,a,b)},160:function(a,b){return Wi(this,1,b)},161:function(a,b){return Zi(this,1,b)},192:function(a,b){return Hi(this,
1,0,a,b)},194:function(a,b){return Ji(this,1,0,a,b)},196:function(a,b){return Hi(this,1,1,a,b)},198:function(a,b){return Ji(this,1,1,a,b)},200:function(a,b){return Hi(this,1,2,a,b)},202:function(a,b){return Ji(this,1,2,a,b)},204:function(a,b){return Hi(this,1,3,a,b)},206:function(a,b){return Ji(this,1,3,a,b)},208:function(a,b){return Li(this,1,a,b)}},ji={0:function(a,b,c){Ii(this,0,0,a,b,c)},1:function(a,b,c){Ki(this,0,0,a,b,c)},2:function(a,b,c){Ii(this,0,1,a,b,c)},3:function(a,b,c){Ki(this,0,1,
a,b,c)},4:function(a,b,c){Ii(this,0,2,a,b,c)},5:function(a,b,c){Ki(this,0,2,a,b,c)},6:function(a,b,c){Ii(this,0,3,a,b,c)},7:function(a,b,c){Ki(this,0,3,a,b,c)},8:function(a,b,c){this.ea(a,b,c,"DMA0.CMD",P);this.gb[0].ji=b},9:function(a,b,c){Mi(this,0,a,b,c)},10:function(a,b,c){Ni(this,0,a,b,c)},11:function(a,b,c){this.ea(a,b,c,"DMA0.MODE",P);this.gb[0].Lb[b&3].mode=b},12:function(a,b,c){this.ea(a,b,c,"DMA0.INDEX",P);this.gb[0].vb=0},13:function(a,b,c){Pi(this,0,a,b,c)},32:function(a,b,c){Xi(this,
0,b,c)},33:function(a,b,c){$i(this,0,b,c)},64:function(a,b,c){ej(this,0,b,c)},65:function(a,b,c){ej(this,1,b,c)},66:function(a,b,c){ej(this,2,b,c)},67:O.prototype.Wo,129:function(a,b,c){Ri(this,0,2,a,b,c)},130:function(a,b,c){Ri(this,0,3,a,b,c)},131:function(a,b,c){Ri(this,0,1,a,b,c)},135:function(a,b,c){Ri(this,0,0,a,b,c)}},li={96:O.prototype.Po,97:O.prototype.Qo,98:O.prototype.Ro,99:O.prototype.So,160:O.prototype.Oo},ni={96:O.prototype.io,97:O.prototype.jo,100:O.prototype.ho,112:O.prototype.xo,
113:O.prototype.yo,128:O.prototype.Mo,132:function(a,b,c){Ti(this,0,a,b,c)},133:function(a,b,c){Ti(this,1,a,b,c)},134:function(a,b,c){Ti(this,2,a,b,c)},136:function(a,b,c){Ti(this,3,a,b,c)},137:function(a,b,c){Ri(this,1,2,a,b,c)},138:function(a,b,c){Ri(this,1,3,a,b,c)},139:function(a,b,c){Ri(this,1,1,a,b,c)},140:function(a,b,c){Ti(this,4,a,b,c)},141:function(a,b,c){Ti(this,5,a,b,c)},142:function(a,b,c){Ti(this,6,a,b,c)},143:function(a,b,c){Ri(this,1,0,a,b,c)},160:function(a,b,c){Xi(this,1,b,c)},161:function(a,
b,c){$i(this,1,b,c)},192:function(a,b,c){Ii(this,1,0,a,b,c)},194:function(a,b,c){Ki(this,1,0,a,b,c)},196:function(a,b,c){Ii(this,1,1,a,b,c)},198:function(a,b,c){Ki(this,1,1,a,b,c)},200:function(a,b,c){Ii(this,1,2,a,b,c)},202:function(a,b,c){Ki(this,1,2,a,b,c)},204:function(a,b,c){Ii(this,1,3,a,b,c)},206:function(a,b,c){Ki(this,1,3,a,b,c)},208:function(a,b,c){this.ea(a,b,c,"DMA1.CMD",P);this.gb[1].ji=b},210:function(a,b,c){Mi(this,1,a,b,c)},212:function(a,b,c){Ni(this,1,a,b,c)},214:function(a,b,c){this.ea(a,
b,c,"DMA1.MODE",P);this.gb[1].Lb[b&3].mode=b},216:function(a,b,c){this.ea(a,b,c,"DMA1.INDEX",P);this.gb[1].vb=0},218:function(a,b,c){Pi(this,1,a,b,c)}};Ha(function(){for(var a=D(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new O(d);Za(d,c);ui(d)}});
function wj(a){z.call(this,"ROM",a,wj);this.Gb=null;this.gk=a.addr;this.Uh=a.size;this.sm=a.alias;this.Gg=a.file;this.Lk=a.notify;if(this.Gg){a=this.Gg;var b=ha(this.Gg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Gg+"&format=bytes&decimal=true");sa(a,!0,null,this,wj.prototype.ao)}}A(z,wj);wj.prototype.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;xj(this)};wj.prototype.Zb=function(){this.di&&(this.fa&&yj(this.fa,this.gk,this.Uh,this.di),delete this.di);return!0};wj.prototype.Yb=function(){return!0};
wj.prototype.ao=function(a,b,c){if(c)this.Ja("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Gb=e;else if(f)for(this.Gb=Array(4*f.length),c=b=0;b<f.length;b++)this.Gb[c++]=f[b]&255,this.Gb[c++]=f[b]>>8&255,this.Gb[c++]=f[b]>>16&255,this.Gb[c++]=f[b]>>24&255;else this.Gb=d;this.di=d.symbols;if(!this.Gb.length){x("Empty ROM: "+a);return}if(1==this.Gb.length){x(this.Gb[0]);return}}catch(g){this.Ja("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Gb=Array(a.length),d=0;d<a.length;d++)this.Gb[d]=parseInt(a[d],16);xj(this)}};function xj(a){if(!bb(a))if(!a.Gg)a.Ta();else if(a.Gb&&a.ra){if(a.Gb.length!=a.Uh)cb(a,"ROM size (0x"+p(a.Gb.length)+") does not match specified size (0x"+p(a.Uh)+")");else if(zj(a,a.gk)&&zj(a,a.sm)){if(a.Lk){var b=Wa(a.Lk,a.id);b&&("ega"==b.Ia&&Aj(b,a.Gb,[8752,12640],8),b.Ta())}delete a.Gb}a.Ta()}}
function zj(a,b){if(null==b)return!0;if(kb(a.ra,b,a.Uh,!0)){for(var c=0;c<a.Gb.length;c++)pb(a.ra,b+c,a.Gb[c]);return!0}return!1}Ha(function(){for(var a=D(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new wj(d);Za(d,c)}});function Bj(a){z.call(this,"RAM",a,Bj);this.Tg=a.addr;this.Qd=a.size;this.Gm=a.test;this.Em=!!this.Qd;this.kh=!1}A(z,Bj);Bj.prototype.oc=function(a,b,c){this.ra=b;this.T=c;this.oa=eb(a,"ChipSet");this.Ta()};Bj.prototype.Zb=function(a,b){b||this.reset();return!0};
Bj.prototype.Yb=function(){return!0};Bj.prototype.reset=function(){if(!this.Tg&&!this.Em&&this.oa){var a=1024*yi(this.oa);this.Qd&&a!=this.Qd&&(mb(this.ra,this.Tg,this.Qd),this.kh=!1);this.Qd=a}!this.kh&&this.Qd&&kb(this.ra,this.Tg,this.Qd)&&(this.kh=!0,this.status(Math.floor(this.Qd/1024)+"Kb"));if(this.kh){if(this.Gm||qb(this.ra,1138,4660),this.oa&&(a=this.oa,a.ta)){var b=1048576>this.Tg?21:23,c=a.ta[b]|a.ta[b+1]<<8,c=c+(this.Qd>>10);a.ta[b]=c&255;a.ta[b+1]=c>>8;Ci(a)}}else x("No RAM allocated")};
Ha(function(){for(var a=D(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Bj(d);Za(d,c)}});function Cj(a){z.call(this,"Keyboard",a,Cj);this.Ak=!1;this.ci={};this.Sn=250;this.Tn=100;this.Ta()}A(z,Cj);
var Q={tp:1,vp: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,qp:65,rp:66,$j:67,om:68,E:69,yp:70,Bp:71,ak:72,Dp:73,Ep:74,Fp:75,Gp:76,Hp:77,Zh:78,Jp:79,Kp:80,Mp:81,ck:82,Qp:83,$p:84,dq:85,eq:86,fq:87,hq:88,iq:89,jq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,kq:97,lq:98,nq:99,oq:100,pq:101,qq:102,rq:103,sq:104,tq:105,uq:106,vq:107,wq:108,
xq:109,yq:110,Aq:111,Bq:112,Cq:113,Dq:114,Eq:115,Fq:116,Gq:117,Hq:118,Iq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Dj={16:2,17:8,18:32,20:256},Ej={tab:1009,esc:1027,"right-shift":3016,shift:1016,ctrl:1017,alt:1018,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Fj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,bs:14,tab:15,q:16,
w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,"num-down":80,
"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},S={1027:1};S[Q["1"]]=2;S[Q["!"]]=10754;S[Q["2"]]=3;S[Q["@"]]=10755;S[Q["3"]]=4;S[Q["#"]]=10756;S[Q["4"]]=5;S[Q.$]=10757;S[Q["5"]]=6;S[Q["%"]]=10758;S[Q["6"]]=7;S[Q["^"]]=10759;S[Q["7"]]=8;
S[Q["&"]]=10760;S[Q["8"]]=9;S[Q["*"]]=10761;S[Q["9"]]=10;S[Q["("]]=10762;S[Q["0"]]=11;S[Q[")"]]=10763;S[Q["-"]]=12;S[Q._]=10764;S[Q["="]]=13;S[Q["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16;S[81]=10768;S[119]=17;S[87]=10769;S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[Q["["]]=26;S[Q["{"]]=10778;S[Q["]"]]=27;S[Q["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;S[65]=10782;
S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[Q[";"]]=39;S[Q[":"]]=10791;S[Q["'"]]=40;S[Q['"']]=10792;S[Q["`"]]=41;S[Q["~"]]=10793;S[1016]=42;S[Q["\\"]]=43;S[Q["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[Q[","]]=51;S[Q["<"]]=10803;S[Q["."]]=52;
S[Q[">"]]=10804;S[Q["/"]]=53;S[Q["?"]]=10805;S[3016]=54;S[1018]=56;S[Q[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66;S[1120]=67;S[1121]=68;S[1036]=71;S[1038]=72;S[1033]=73;S[1037]=75;S[1039]=77;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[4003]=7470;S[4063]=7494;S[4081]=3677523;k=Cj.prototype;
k.Fb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.ya[a])switch(c){case "kbd":return this.ya[a]=d,d.onkeydown=function(a){return Gj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Bb&64?e.Bb&=-65:e.Bb&40?b=!1:(e.Ak&&a==Q["`"]&&(a=27),b=!Hj(e,a));return b},d.onkeyup=function(a){return Gj(e,a,!1)},!0;default:if(void 0!==Ej[c]&&"button"==b)return this.ya[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Pd();return!Hj(a,c)}}(this,
c,Ej[c]),!0;if(void 0!==Fj[c])return this.ya[a]=d,b=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]),c=function(a,b,c){return function(){Ij(a,c)}}(this,c,Fj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet")};k.Ta=function(){this.Ck=(this.Om=Aa("iOS"))||Aa("Android");this.Ra("mobile keyboard support: "+(this.Ck?"true":"false"));return z.prototype.Ta.call(this)};
function oj(a){a.Ra("keyboard reset",Jj);a.wc=[170];a.oa&&rj(a.oa)}function jj(a,b,c){var d=!1;a.Ai!==c&&(a.Ai=a.Ei=c);a.oh!==b&&(a.oh=b)&&!a.Ei&&qj(a);a.oh&&a.Ei&&(oj(a),a.Ei=!1,d=!0);return d}function gj(a,b){var c=0;a.wc.length&&(c=a.wc[0],a.Ra("scan code 0x"+t(c)+" delivered"),b&&qj(a));return c}function qj(a,b){0<a.wc.length&&(b?a.wc=[]:(a.wc.shift(),0<a.wc.length&&a.oa&&rj(a.oa)))}k.Zb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le();this.Bb=0;this.wc=[];if(this.td)for(var a in this.td)ca(a)||this.td[a]&&clearTimeout(this.td[a]);this.td=[];this.Xl=this.Te=0};k.save=function(){var a=new gd(this);a.set(0,this.Vj());return a.data()};k.restore=function(a){return this.le(a[0])};k.le=function(a){var b=0;void 0===a&&(a=[]);this.Ai=a[b++];this.oh=a[b];return!0};k.Vj=function(){var a=0,b=[];b[a++]=this.Ai;b[a]=this.oh;return b};
function Ij(a,b){var c=b&127,d=c==b;if(a.wc)if(20>a.wc.length){if(!(!d&&!a.ci[c]||d&&a.ci[c])){a.ci[c]=d;a.Ra("scan code 0x"+t(b)+" buffered");a.wc.push(b);1==a.wc.length&&a.oa&&rj(a.oa);for(var e in Fj)if(Fj[e]==c){(c=a.ya["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.wc.length&&a.wc.push(255),a.Ra("scan code buffer overflow")}function Kj(a,b){var c=b?a.Tn:a.Sn;a.T&&a.T.ca.nd&&(c/=a.T.ca.nd);return c}
function Lj(a,b){!a.Te||void 0!==b&&b==a.Te||(clearTimeout(a.td[a.Te]),Mj(a,a.Te,!1))}function Gj(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.Xl=f);if(S[f+1E3]){var g=g+1E3,h=Dj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.Bb&=~h,c&&(a.Bb|=h),20==f?d=Hj(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.Bb&40)&&(g=4063),d=c?!Hj(a,g):!1}else 91==f?(a.Bb&=-65,c&&(a.Bb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.Bb&=-65,a.Ck||f!=a.Xl||Lj(a));void 0===d&&(d=!Mj(a,g,c));return d}
function Hj(a,b,c){var d=!1;Lj(a,b);Mj(a,b,!0)&&(c?Mj(a,b,!1):(c=!1,a.td[b]&&(clearTimeout(a.td[b]),c=!0),c=Kj(a,c),a.td[a.Te=b]=setTimeout(function(a){return function(){Mj(a,b,!1)}}(a),c)),d=!0);return d}
function Mj(a,b,c){var d=!1;c||(a.td[b]=null,a.Te==b&&(a.Te=0));var e=S[b]||S[b+1E3];if(void 0!==e){14==e&&40==(a.Bb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.Bb&3||a.Bb&256&&b||(g=h):29==h?a.Bb&12||(g=h):56==h?a.Bb&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)Ij(a,d[c]);d=!0}return d}
k.Ra=function(a,b){this.fa&&(null==b&&(b=uj),b==Jj&&(b|=uj),E(this.fa,b)&&this.fa.message(a))};Ha(function(){for(var a=D(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Cj(d);Za(d,c)}});
function T(a,b,c,d){z.call(this,"Video",a,T);this.Ia=a.model;this.Vc=0;"ega"==this.Ia&&(this.em=a.switches,this.Vc=a.memory||0);this.pd=a.mode;if(void 0===this.pd||void 0===Nj[this.pd])this.pd=Oj;this.Fh=a.charCols;this.Ui=a.charRows;if(void 0===this.Fh||void 0===this.Ui)this.Fh=Nj[this.pd][0],this.Ui=Nj[this.pd][1];this.Ad=a.screenWidth;this.ie=a.screenHeight;this.Fm=a.scale;this.Dm=12<=Math.round(this.Ad/this.Fh);this.Hm=a.touchScreen;this.bb=b;this.Wc=c;this.jm=d;this.me=null;this.Cm=a.autoLock;
this.Ua=this.Rb=0;this.Wd=[];this.wd=Array(16);this.Bi=!1;var e=this;b&&(b.onfocus=function(){e.Bi=!0},b.onblur=function(){e.Bi=!1},b.uf=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock,b.km=b.exitPointerLock||b.mozExitPointerLock||b.webkitExitPointerLock,b=function(){e.Ag(document.pointerLockElement===e.bb||document.mozPointerLockElement===e.bb||document.webkitPointerLockElement===e.bb)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):
"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ha(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.bo)}A(z,T);
var Pj={2:{Xi:15700,Wi:208,Lj:85,Mj:96},3:{Xi:18432,Wi:364,Lj:85,Mj:96},4:{Xi:21850,Wi:364,Lj:85,Mj:96}},Qj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Oj=7,Nj=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Nj[Oj]=[80,25,1,0,1];Nj[13]=[320,200,16];Nj[14]=[640,200,16];Nj[15]=[640,350,16];Nj[16]=[640,350,16];Nj[0]=Nj[1];Nj[2]=Nj[3];Nj[5]=Nj[4];var Rj=Array(5);Rj[0]=[0,0,0,255];
Rj[1]=[127,192,127,255];Rj[2]=[127,192,127,255];Rj[3]=[127,255,127,255];Rj[4]=[127,255,127,255];var Sj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],U=Array(16);U[0]=[0,0,0,255];U[1]=[0,0,170,255];U[2]=[0,170,0,255];U[3]=[0,170,170,255];U[4]=[170,0,0,255];U[5]=[170,0,170,255];U[6]=[170,85,0,255];U[7]=[170,170,170,255];U[8]=[85,85,85,255];U[9]=[85,85,255,255];U[10]=[85,255,85,255];U[11]=[85,255,255,255];U[12]=[255,85,85,255];U[13]=[255,85,255,255];U[14]=[255,255,85,255];U[15]=[255,255,255,255];
var Tj=[2,4,6],Uj=[3,5,7],Vj=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Wj=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],Xj=[0];Xj[128]=1;Xj[32768]=2;Xj[32896]=3;Xj[8388608]=4;Xj[8388736]=5;Xj[8421376]=6;Xj[8421504]=7;Xj[2147483648]=8;Xj[2147483776]=9;Xj[2147516416]=10;Xj[2147516544]=11;Xj[2155872256]=12;Xj[2155872384]=13;Xj[2155905024]=14;Xj[2155905152]=15;
function Yj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Zj[b],f=a.oe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(ak)];this.fa=a.fa;this.type=e[0];this.port=e[1];this.ke=b;this.Ua=e[2];this.Rb=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.Ua&&(this.Rb=Math.min(this.Vc>>2,32768));this.Yc=c[0];this.Cc=c[1];this.hf=c[2];this.Ef=c[3];this.nc=c[4]&255;this.wh=c[4]>>8&255;this.dc=c[5];this.Ni=ak;this.Ug=bk;if(5==b){this.Ni=ck;this.Ug=dk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,[this.Ua,this.Rb,this.Vc],Array(this.Vc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.ld=b[0];this.Ed=b[1];this.Td=b[2];this.fi=ek;this.Wh=b[3];this.ig=b[4];this.vh=b[5];this.Gd=b[6];this.Lf=b[7];this.hi=fk;this.Ii=b[8];this.Ji=b[9];this.Fd=b[10];this.ye=b[11];this.gi=gk;this.Db=b[12];d=b[13];"number"==typeof d&&(d=[this.Ua,this.Rb,d]);this.Ua=d[0];this.Rb=d[1];d=this.Vc>>2;if((this.fd=b[14])&&this.fd.length<d){for(var e=this.fd,g=0,h=Array(d),l=0;l<e.length-1;){for(var n=
e[l++],q=e[l++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.fd=h}this.Th(b[15]);this.Hj=b[16];this.kb=b[17];this.od=b[18];this.rb=b[19];this.Ih=b[20];this.re=b[21];this.Re=b[22];this.Pi=b[23];this.Qi=b[24]}f=Pj[f]||Pj[3];this.Ri=a.T.ca.Kd/f.Xi|0;this.Wn=this.Ri*f.Lj/100|0;this.Sk=this.Ri*f.Wi;this.Zn=this.Sk*f.Mj/100|0;this.Yi=null==c[7]?0:c[7]}}
var ak=18,ck=25,bk="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),dk="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
ek="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),fk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],gk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function hk(a){return this.rc(a)|this.rc(a+1)<<8}function ik(a,b){this.Ec(a,b&255);this.Ec(a+1,b>>8&255)}
var pk=[,,function(a){a+=this.offset;return(this.ia.Db=this.wa[a])>>this.ia.Hj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.wa[b]>>8:this.wa[b])&255}];pk[16]=function(a){a+=this.offset;a=this.wa[a];for(var b=this.ia.Pi&this.ia.Qi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};pk[512]=function(a,b){var c=a+this.offset,d;d=this.wa[c]&~this.ia.kb|(b|b<<8|b<<16|b<<24)&this.ia.kb;d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
pk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Re;d=d&this.ia.kb|this.wa[c]&~this.ia.kb;d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
pk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Re;d&=this.ia.Db;d=d&this.ia.kb|this.wa[c]&~this.ia.kb;d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
pk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Re;d|=this.ia.Db;d=d&this.ia.kb|this.wa[c]&~this.ia.kb;d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
pk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.od|b<<8-this.ia.od&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Re;d^=this.ia.Db;d=d&this.ia.kb|this.wa[c]&~this.ia.kb;d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};pk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.kb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.wa[d]&~c;c=c&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[d]!=c&&(this.wa[d]=c,this.ob=!0)};
pk[4096]=function(a){a+=this.offset;var b=this.wa[a]&~this.ia.kb|this.ia.Db&this.ia.kb;this.wa[a]!=b&&(this.wa[a]=b,this.ob=!0)};pk[8192]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.kb|this.wa[c]&~this.ia.kb,d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};pk[24576]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d&this.ia.Db,d=d&this.ia.kb|this.wa[c]&~this.ia.kb,d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
pk[40960]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d|this.ia.Db,d=d&this.ia.kb|this.wa[c]&~this.ia.kb,d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};pk[57344]=function(a,b){var c=a+this.offset,d=Wj[b&15],d=d^this.ia.Db,d=d&this.ia.kb|this.wa[c]&~this.ia.kb,d=d&this.ia.rb|this.ia.Db&~this.ia.rb;this.wa[c]!=d&&(this.wa[c]=d,this.ob=!0)};
function qk(a){var b=[];if(void 0!==a.ke){b[0]=a.Yc;b[1]=a.Cc;b[2]=a.hf;b[3]=a.Ef;b[4]=a.nc|a.wh<<8;b[5]=a.dc;if(5==a.ke){var c=[];c[0]=a.ld;c[1]=a.Ed;c[2]=a.Td;c[3]=a.Wh;c[4]=a.ig;c[5]=a.vh;c[6]=a.Gd;c[7]=a.Lf;c[8]=a.Ii;c[9]=a.Ji;c[10]=a.Fd;c[11]=a.ye;c[12]=a.Db;c[13]=[a.Ua,a.Rb,a.Vc];var d;a:if(d=a.fd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var l=d[h],n=h+2;n<d.length&&d[n]===l;)n+=2;f[e++]=n-h>>1;f[e++]=l;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Ch;c[16]=a.Hj;c[17]=a.kb;c[18]=a.od;c[19]=a.rb;c[20]=a.Ih;c[21]=a.re;c[22]=a.Re;c[23]=a.Pi;c[24]=a.Qi;b[6]=c}b[7]=a.Yi}return b}function rk(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var l=e[g],f=f+(b+"["+t(g)+"]: "+(l+" ".substr(0,h-l.length))+t(d[g])+(g===c?"*":""))}a.fa.message(f)}else a.fa.message(b+": "+t(c))}
Yj.prototype.Th=function(a){if(null!=a&&a!=this.Ch){var b=a&255,c=pk[b];c||b&1&&(c=pk[1]);var b=a&65280,d=pk[b];d||b&256&&(d=pk[256]);this.Qf||(this.Qf=[null,hk,null,ik]);this.Qf[0]=c;this.Qf[2]=d;this.Ch=a}};var Zj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=T.prototype;
k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;tb(b,this,sk);zb(b,this,tk);"ega"==this.Ia&&(tb(b,this,uk),zb(b,this,vk));if(d){var e=this;oi(d,wk,function(a){if(e.Ha)if(a){var b=e.Ha;if(b.fd){a=da(a);a=void 0!==a?a-b.Ua:b.bp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.Ua+a)+":",q=0;8>q&&a<b.fd.length;q++)var r=b.fd[a++],n=n+(" "+p(r));c&&(c+="\n");c+=n}c&&b.fa.message(c);b.bp=a}else b.fa.message("no buffer")}else{e.fa.message("BIOSMODE: "+t(e.Md));b=e.Ha;rk(b,"CRTC",b.nc,b.dc,b.Ug);
if(1==b.ke||3==b.ke)rk(b," MODEREG",b.Cc),rk(b," STATUS1",b.Ef);3==b.ke&&rk(b," COLOR",b.hf);5==b.ke&&(b.fa.message(" ATCDATA: "+b.ld),rk(b," ATC",b.Ed,b.Td,b.fi),rk(b," GRC",b.Fd,b.ye,b.gi),rk(b," SEQ",b.Gd,b.Lf,b.hi),rk(b," FEAT",b.vh),rk(b," MISC",b.ig),rk(b," STATUS0",b.Wh),rk(b," LATCHES",b.Db),b.fa.message(" ACCESS: "+v(b.Ch)),b.fa.message("Use 'dump video buffer' to dump video memory"))}else e.fa.message("no active video card")})}(this.Va=eb(a,"Keyboard"))&&this.bb&&this.Va.Fb("input",
this.jm?"textarea":"canvas","kbd",this.jm||this.bb);this.Wg=9;(this.oa=eb(a,"ChipSet"))&&this.em&&(this.Wg=bi(this.em,this.Wg));this.Va&&this.Hm&&xk(this)};k.Fb=function(a,b,c,d){var e=this;switch(c){case "lockPointer":return this.ya[c]=d,this.bb&&this.bb.uf?d.onclick=function(){e.uf(!0)}:d.parentNode.removeChild(d),!0;case "refresh":return this.ya[c]=d,d.onclick=function(){Mb(e,!0)},!0}return!1};k.Pd=function(){this.bb&&this.bb.focus()};
k.uf=function(a){if(this.bb)if(a){if(this.bb.uf)return this.bb.uf(),this.me.Ag(!0),!0}else if(this.bb.km)return this.bb.km(),this.me.Ag(!1),!0;return!1};k.Ag=function(a){this.me&&(this.me.Ag(a),this.Va&&(this.Va.Ak=a))};function xk(a){var b=a.bb;b&&!a.zi&&(b.addEventListener("touchstart",function(b){yk(a,b)},!1),b.addEventListener("touchmove",function(b){yk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.zi=!0)}
function yk(a,b){a.Bi&&b.preventDefault();var c=0,d=0,e=a.bb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.Ad/a.bb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.Ad/3)|0;d=a.ie/a.bb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.ie/3)|0;1!=d?d?Hj(a.Va,40,!0):Hj(a.Va,38,!0):1!=c&&(c?Hj(a.Va,39,!0):Hj(a.Va,37,!0))}k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.oa&&(b=zi(this.oa));var c=!1;if(this.Ia)switch(this.Ia){case "ega":var c=!0,d=Qj[this.Wg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.oe!==b&&(this.oe=b,a=!0);this.Ha=null;this.Uc=this.ni=new Yj(this,1);this.Hb=this.gh=new Yj(this,3);c?(this.na=new Yj(this,5,null,this.Vc),zk(this)):this.na=new Yj;Ak(this);this.Md=null;this.pd=3==b?Oj:3;this.He=this.Mc=-1;this.Ge=0;Bk(this,this.pd);if(this.Ha.Ua&&a){a=this.Ha.Ua+this.oi;for(b=this.Ha.Ua;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.oe?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),qb(this.ra,b,c|d<<8);Mb(this,!0)}};function zk(a){a.na.ig&1?(a.Uc=a.ni,a.Hb=a.na):(a.Uc=a.na,a.Hb=a.gh)}k.save=function(){var a=new gd(this);a.set(0,qk(this.ni));a.set(1,qk(this.gh));a.set(2,[this.oe,this.pd,this.Md]);a.set(3,qk(this.na));return a.data()};
k.restore=function(a){var b=a[2];this.oe=b[0];this.pd=b[1];this.Md=b[2];this.Ha=null;this.Uc=this.ni=new Yj(this,1,a[0]);this.Hb=this.gh=new Yj(this,3,a[1]);this.na=new Yj(this,5,a[3],this.Vc);this.na.Yc&&zk(this);Ak(this);if(!Ck(this))return!1;Dk(this);return!0};
k.bo=function(a,b,c){if(c)this.Ja("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Aj(this,d,[0,6144]);else{this.Ja("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ja("Font ROM data error: "+e.message);return}this.Ta()}};
function Ek(a,b){if(1==b)return a.wd[0]=U[0],a.wd[1]=U[7],a.wd;if(2==b){var c=a.Ha.hf;if(a.Ha===a.na){var d=a.na.Td[0],c=d&7;d&16&&(c|=8);18!=a.na.Td[1]&&(c|=32)}a.wd[0]=U[c&15];c=c&32?Uj:Tj;for(d=0;d<c.length;d++)a.wd[d+1]=U[c[d]];return a.wd}if(a.Hb===a.gh)return U;c=null!=a.na.Td[15]?a.na.Td:Vj;for(d=0;d<a.wd.length;d++){var e=c[d]||0;a.wd[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.wd}function Aj(a,b,c,d){a.Sg=b;a.bi=c;a.Ke=d}
function Ak(a){var b=!1;if(window&&a.Sg){var c=a.Ke?0:2048,d=a.Ke?a.Ke:9;Fk(a,1,a.bi[0],c,d,14,a.Sg,Rj,Sj)&&(b=!0);c=Ek(a);d=a.Ke?a.Ke:8;Fk(a,3,a.bi[1],0,d,8,a.Sg,c)&&(b=!0);a.Ke&&Fk(a,5,a.bi[0],0,a.Ke,14,a.Sg,c)&&(b=!0)}return b}function Fk(a,b,c,d,e,f,g,h,l){var n=!1;Gk(a,b,c,d,e,f,g,h,l)&&(n=!0);a.Dm&&Gk(a,b<<1,c,d,e,f,g,h,l)&&(n=!0);return n}
function Gk(a,b,c,d,e,f,g,h,l){var n=!1,q=b&1?0:1,r=a.Wd[b];r||(r={kc:e<<q,lc:f<<q,df:Array(h.length),ek:h.slice(),Kf:l,$h:Array(h.length)});for(l=0;l<h.length;l++){var s=h[l],u=r.df[l]?r.ek[l]:[];if(s[0]!==u[0]||s[1]!==u[1]||s[2]!==u[2]){var n=r,u=l,y=q,B=c,M=d,V=e,va=f,wa=g,xb=[0,0,0,0],Qb=window.document.createElement("canvas");Qb.width=n.kc<<4;Qb.height=n.lc<<4;for(var W=Qb.getContext("2d"),K=void 0,w=void 0,R=void 0,I=8>va||!M?va:8,yb=W.createImageData(n.kc,n.lc),K=0;256>K;K++){for(R=0;R<va;R++)for(var La=
n.Kf&&u&1&&R>=va-2,ga=wa[R<I?B+K*I+R:M+K*I+R-I],X=0;X<=y;X++)for(w=0;w<V;w++){var Xa=w<<y,Hc=(R<<y)+X,jc=La||ga&128>>(8<=w&&176<=K&&223>=K?7:w)?s:xb;Hk(yb,Xa,Hc,jc);y&&Hk(yb,Xa+1,Hc,jc)}W.putImageData(yb,(K&15)*n.kc,(K>>4)*n.lc)}n.df[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.ek[u]=s;n.$h[u]=Qb;n=!0}}a.Wd[b]=r;return n}function Ik(a){0<a.Ge||0<=a.Mc?0>a.He&&(a.He=0):a.He=-1}
function Dk(a){if(a.Ub){for(var b=10;15>=b;b++)if(null==a.Ha.dc[b])return;var c=a.Ha.dc[10],b=c&31,d=a.Ha.dc[11]&31,e=a.Ha.dc[9]&31,f=!1;a.Ha===a.na&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Jk(a);else{c=a.Ha.dc[15]+((a.Ha.dc[14]&63)<<8);a.Mc!=c&&(Jk(a),a.Mc=c);d=d-b+1;if(a.nm!=b||a.tk!=d)a.nm=b,a.tk=d;a.he=e+1;Ik(a)}}}
function Jk(a){if(0<=a.Mc){if(void 0!==a.ec){var b=a.ec[a.Mc];if(b&131072){var b=b&-131073,c=a.Mc%a.Ib,d=Math.floor(a.Mc/a.Ib);a.Ub&&a.Wd[a.Ub]&&(a.jf&&Kk(a,c,d,b,a.jf),Kk(a,c,d,b));a.ec[a.Mc]=b}}a.Mc=-1}}
function Lk(a){var b;a=a.Ha;var c=a.ye[5];if(null!=c){b=2;var d=512,e=a.ye[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.od=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Ye=function(a){var b=this.Ha;null!=a&&b&&a!=b.Ch&&(b.Th(a),this.ra.Th(b.Ua,b.Rb,b.Qf))};
function Ck(a,b){var c,d=a.Md,e=a.Ha;if(e)if(1==e.ke)d=Oj;else if(5==e.ke){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.ye[6];if(null!=h){switch(h&12){case 0:e.Ua=655360;e.Rb=f;d=255;break;case 4:e.Ua=655360;e.Rb=f;d=3==a.oe?15:16;break;case 8:e.Ua=720896;e.Rb=g;d=Oj;break;case 12:e.Ua=753664,e.Rb=g,d=3==a.oe?2:3}c=e.Lf[1]&8;f=e.dc[6]|(e.dc[7]&1)<<8;255!=d&&(h&1?753664==e.Ua?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Lk(a)}}else e.Cc&8&&(e.Cc&2?(d=e.Cc&16?6:5,e.Cc&4||(d-=1)):(d=e.Cc&1?3:1,e.Cc&4&&(d-=
1)));else a.Md=null,null==d&&(d=a.pd);if(!Bk(a,d,b))return!1;a.Ye(c);return!0}
function Bk(a,b,c){if(null!=b&&(b!=a.Md||c)){a.tm=0;a.Md=b;b=a.Ha||(b==Oj?a.Uc:a.Hb);if(b!=a.Ha||b.Ua!=a.Ua||b.Rb!=a.Rb){Jk(a);if(a.Ua){if(!mb(a.ra,a.Ua,a.Rb))return!1;a.Ha&&(a.Ha.Yc=!1)}a.Ha=b;b.Yc=!0;a.Ua=b.Ua;a.Rb=b.Rb;if(!kb(a.ra,b.Ua,b.Rb,!1,b===a.na?b:null))return!1}a.Ub=0;a.Ib=a.Fh;a.qc=a.Ui;a.Oi=Nj[Oj][2];b=0;var d=Nj[a.Md];d&&(a.Ib=d[0],a.qc=d[1],a.Oi=d[2],b=d[3]||0,a.Ub=d[4],4==a.oe&&a.Ha===a.na&&3==a.Ub&&(7==a.na.dc[9]?a.qc=43:a.Ub=5));a.Pk=a.Ib*a.qc;a.Eh=a.Pk/a.Oi;a.oi=(a.Eh<<1)+b;a.qk=
b?a.oi+b>>1:0;13<=a.Md&&(a.Eh<<=1);a.Wd.length&&(a.Bd=Math.floor(a.Ad/a.Ib),a.Cd=Math.floor(a.ie/a.qc),a.Ub?(b=a.Wd[a.Ub],d=a.Wd[a.Ub<<1],a.Fm&&80==a.Ib?d&&a.Bd>=3*d.kc>>2&&(a.Ub<<=1,b=d):(d&&a.Bd>=d.kc&&(a.Ub<<=1,b=d),b&&(a.Bd=b.kc,a.Cd=b.lc)),a.cg=a.dg=0,b&&(a.cg=a.Ib*b.kc,a.dg=a.qc*b.lc)):(a.Bd=a.Cd=1,a.cg=a.Ib,a.dg=a.qc),a.yh=a.Wc.createImageData(a.cg,a.dg),a.gf=window.document.createElement("canvas"),a.gf.width=a.cg,a.gf.height=a.dg,a.jf=a.gf.getContext("2d"),a.Yj=a.Zj=0,a.qi=a.Ad,a.ri=a.ie,
b=a.Ad-a.Ib*a.Bd,d=a.ie-a.qc*a.Cd,0<b&&(a.Yj=b>>1,a.qi-=b),0<d&&(a.Zj=d>>1,a.ri-=d),b||d)&&(a.Wc.fillStyle=a.bb.style.backgroundColor,a.Wc.fillRect(0,0,a.Ad,a.ie));!1!==c?Mb(a,!0):Mk(a,!0)}return!0}function Hk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Mk(a,b){var c;if(b){if(c=a.Eh,void 0===a.ec||a.ec.length!=c)a.ec=Array(c)}else{if(void 0===a.ec)return;c=a.ec.length}for(var d=0;d<c;d++)a.ec[d]=-1;a.Ge=-1}
function Kk(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Wd[a.Ub];h.Kf&&(d=h.Kf[d]);var l=g>>4&15;h.Kf&&(l=h.Kf[l]);e?(b*=h.kc,c*=h.lc,e.fillStyle=h.df[l],e.fillRect(b,c,h.kc,h.lc)):(b=b*a.Bd+a.Yj,c=c*a.Cd+a.Zj,a.Wc.fillStyle=h.df[l],a.Wc.fillRect(b,c,a.Bd,a.Cd));g&256&&(l=(f&15)*h.kc,f=(f>>4)*h.lc,e?e.drawImage(h.$h[d],l,f,h.kc,h.lc,b,c,h.kc,h.lc):a.Wc.drawImage(h.$h[d],l,f,h.kc,h.lc,b,c,a.Bd,a.Cd));g&512&&(f=a.nm,g=a.tk,e?(a.he&&a.he!==h.lc&&(f=Math.floor(f*h.lc/a.he),g=Math.floor(g*h.lc/a.he)),
e.fillStyle=h.df[d],e.fillRect(b,c+f,h.kc,g)):(a.he&&a.he!==a.Cd&&(f=Math.floor(f*a.Cd/a.he),g=Math.floor(g*a.Cd/a.he)),a.Wc.fillStyle=h.df[d],a.Wc.fillRect(b,c+f,a.Bd,g)))}
function Mb(a,b){if(a.qa.Ob){var c=!1;a.Ha&&(a.Ha===a.na?a.na.Ed&32&&(c=!0):a.Ha.Cc&8&&(c=!0));if(c||b){if(b)Mk(a,!0);else if(void 0===a.ec)return;var d=!1;!(b||++a.tm&15)&&0<=a.He&&(a.He++,d=!0);var e=0,f=a.Pk,c=a.Ha.Ua,g=c+a.Ha.Rb,h=(a.Ha.dc[12]<<8)+a.Ha.dc[13];a.Ub&&(h<<=1);var c=c+h,l=a.oi;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.ra,n=!0,q=c>>h.wb;0<l&&q<h.Fa.length;)h.Fa[q].ob&&(h.Fa[q].ob=n=!1,h.Fa[q].zk=!0),l-=h.fc,q++;h=n}if(h){if(!d)return;if(!a.Ge){if(0>a.Mc)return;e=a.Mc;f=
e+1}}if(a.Ub){if(a.Wd[a.Ub]){d=0;h=a.Ge=0;l=1048575;a.Ha.Cc&32&&(h=32768,l&=~h,a.He&2||(l&=-65537));for(c+=e<<1;c<g&&e<f;)n=ob(a.ra,c),n|=65536,n&h&&(a.Ge++,n&=l),e==a.Mc&&(n|=a.He&1?131072:0),q=a.ec[e],q!=n&&(Kk(a,e%a.Ib,Math.floor(e/a.Ib),n,a.jf),a.ec[e]=n,d++),c+=2,e++;d&&a.jf&&a.Wc.drawImage(a.gf,0,0,a.cg,a.dg,a.Yj,a.Zj,a.qi,a.ri);Ik(a)}}else if(a.qk){for(var f=g,r,s,e=c,g=a.Ge=0,d=a.Oi,h=16==d?65536:196608,l=16==d?1:2,n=Ek(a,l),u=q=0,y=a.Ib,B=0,M=a.qc,V=0;e<f;){r=ob(a.ra,e);s=a.ec[g];if(s===
r)q+=d;else{a.ec[g]=r;r=r>>8|(r&255)<<8;s=h;var va=16;q<y&&(y=q);for(var wa=0;wa<d;wa++){var xb=(r&(s>>=l))>>(va-=l);Hk(a.yh,q++,u,n[xb])}q>B&&(B=q);u<M&&(M=u);u>=V&&(V=u+1)}e+=2;g++;if(q>=a.Ib){q=0;u+=2;if(u>a.qc)break;u==a.qc&&(u=1,e=c+a.qk)}}y<a.Ib&&(a.jf.putImageData(a.yh,0,0,y,M,B-y,V-M),a.Wc.drawImage(a.gf,0,0,a.Ib,a.qc,0,0,a.Ad,a.ie))}else{f=g;e=a.Ge=0;g=Ek(a);d=a.Ha.fd;l=h=0;n=a.Ib;q=0;u=a.qc;for(y=0;c<f;){B=c++-a.Ua;B=d[B];M=a.ec[e];if(M===B)h+=8;else{a.ec[e]=B;h<n&&(n=h);for(M=0;8>M;M++)V=
B&2155905152,0>V&&(V+=4294967296),V=Xj[V]||0,Hk(a.yh,h++,l,g[V]),B<<=1;h>q&&(q=h);l<u&&(u=l);l>=y&&(y=l+1)}e++;if(h>=a.Ib&&(h=0,++l>a.qc))break}n<a.Ib&&(a.jf.putImageData(a.yh,0,0,n,u,q-n,y-u),a.Wc.drawImage(a.gf,0,0,a.Ib,a.qc,0,0,a.Ad,a.ie))}}}}k.un=function(a,b){return Nk(this,this.Uc,b)};k.Ko=function(a,b,c){a=this.Uc;a.wh=a.nc;a.nc=b&31;this.ea(a.port,b,c,"CRTC.INDX")};k.tn=function(a,b){return Ok(this,this.Uc,b)};k.Jo=function(a,b,c){Pk(this,this.Uc,b,c)};
k.vn=function(a,b){return Qk(this,this.Uc,b)};k.Lo=function(a,b,c){a=this.Uc;this.ea(a.port+4,b,c,"MODE");a.Cc=b;Ck(this,!1)};k.wn=function(a,b){return Rk(this,this.Uc,b)};k.Wl=function(a,b,c){this.na.vh=this.na.vh&-4|b&3;this.ea(a,b,c,"FEAT")};k.Mk=function(a,b){var c=this.na.ld?this.na.Td[this.na.Ed&31]:this.na.Ed;this.ea(960,null,b,"ATC."+(this.na.ld?this.na.fi[this.na.Ed&31]:"INDX"),c);this.na.ld=!this.na.ld;return c};
k.Vl=function(a,b,c){var d=this.na.Ed&32;if(this.na.ld){var e=this.na.Ed&31;if(16<=e||!d)this.ea(a,b,c,"ATC."+this.na.fi[e]),this.na.Td[e]=b;this.na.ld=!1}else this.na.Ed=b,this.ea(a,b,c,"ATC.INDX"),this.na.ld=!0,b&32&&!d&&Ak(this)&&Mb(this,!0)};k.Gn=function(a,b){var c=3-((this.na.ig&12)>>2),c=this.na.Wh&-17|(this.Wg&1<<c)<<4-c;this.na.Wh=c;this.ea(962,null,b,"STATUS0",c);return c};k.No=function(a,b,c){this.na.ig=b;zk(this);this.ea(962,b,c,"MISC")};
k.Fn=function(a,b){var c=this.na.Gd;this.ea(964,null,b,"SEQ.INDX",c);return c};k.Uo=function(a,b,c){this.na.Gd=b;this.ea(964,b,c,"SEQ.INDX")};k.En=function(a,b){var c=this.na.Lf[this.na.Gd];this.ea(965,null,b,"SEQ"+this.na.hi[this.na.Gd],c);return c};k.To=function(a,b,c){this.ea(965,b,c,"SEQ."+this.na.hi[this.na.Gd]);this.na.Lf[this.na.Gd]=b;2==this.na.Gd&&(this.na.kb=Wj[b&15])};k.mn=function(a,b){var c=this.na.Ii;this.ea(972,null,b,"GRC1",c);return c};
k.Eo=function(a,b,c){this.na.Ii=b;this.ea(972,b,c,"GRC1")};k.nn=function(a,b){var c=this.na.Ji;this.ea(970,null,b,"GRC2",c);return c};k.Fo=function(a,b,c){this.na.Ji=b;this.ea(970,b,c,"GRC2")};k.ln=function(a,b){var c=this.na.Fd;this.ea(974,null,b,"GRC.INDX",c);return c};k.Do=function(a,b,c){this.na.Fd=b;this.ea(974,b,c,"GRC.INDX")};k.kn=function(a,b){var c=this.na.ye[this.na.Fd];this.ea(975,null,b,"GRC."+this.na.gi[this.na.Fd],c);return c};
k.Co=function(a,b,c){this.ea(975,b,c,"GRC."+this.na.gi[this.na.Fd]);this.na.ye[this.na.Fd]=b;switch(this.na.Fd){case 0:this.na.Ih=Wj[b&15];this.na.Re=this.na.Ih&~this.na.re;break;case 1:this.na.re=~Wj[b&15];this.na.Re=this.na.Ih&~this.na.re;break;case 2:this.na.Pi=Wj[b&15]&2155905152;break;case 3:case 5:this.Ye(Lk(this));break;case 4:this.na.Hj=(b&3)<<3;break;case 6:Ck(this,!1);break;case 7:this.na.Qi=Wj[b&15^15]&2155905152;break;case 8:this.na.rb=b|b<<8|b<<16|b<<24}};
k.bn=function(a,b){return Nk(this,this.Hb,b)};k.vo=function(a,b,c){a=this.Hb;a.wh=a.nc;a.nc=b&31;this.ea(a.port,b,c,"CRTC.INDX")};k.an=function(a,b){return Ok(this,this.Hb,b)};k.uo=function(a,b,c){Pk(this,this.Hb,b,c)};k.cn=function(a,b){return Qk(this,this.Hb,b)};k.wo=function(a,b,c){a=this.Hb;this.ea(a.port+4,b,c,"MODE");a.Cc=b;Ck(this,!1)};k.$m=function(a,b){var c=this.Hb.hf;this.ea(this.Hb.port+5,null,b,this.Hb.type+".COLOR",c);return c};
k.to=function(a,b,c){this.ea(this.Hb.port+5,b,c,this.Hb.type+".COLOR");this.Hb.hf!==b&&(this.Hb.hf=b,Mk(this,!1))};k.dn=function(a,b){return Rk(this,this.Hb,b)};function Nk(a,b,c){var d=b.nc;a.ea(b.port,null,c,"CRTC.INDX",d);return d}function Ok(a,b,c){var d;b.nc<b.Ni&&(d=b.dc[b.nc]);a.ea(b.port+1,null,c,"CRTC."+b.Ug[b.nc],d);return d}function Pk(a,b,c,d){b.nc<b.Ni&&(a.ea(b.port+1,c,d,"CRTC."+b.Ug[b.nc]),b.dc[b.nc]=c,9==b.nc&&8!=b.wh&&Ck(a,!0),Dk(a))}
function Qk(a,b,c){var d=b.Cc;a.ea(b.port+4,null,c,"MODE",d);return d}function Rk(a,b,c){var d=0,e=Ub(a.T),f=e-b.Yi;0>f&&(f=0);f%b.Ri>b.Wn&&(d|=1);f%=b.Sk;f>b.Zn&&(d|=8);b.Yi=e-f;b===a.na?(d|=b.Ef&48^48,b.ld=!1):d=(b.Ef^=9)|240;b.Ef=d;a.ea(b.port+6,null,c,b===a.na?"STATUS1":"STATUS",d);return d}k.Ra=function(a,b){this.fa&&(b||E(this.fa,wk))&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,wk,e)};
var sk={948:T.prototype.un,949:T.prototype.tn,952:T.prototype.vn,954:T.prototype.wn,980:T.prototype.bn,981:T.prototype.an,984:T.prototype.cn,985:T.prototype.$m,986:T.prototype.dn},tk={948:T.prototype.Ko,949:T.prototype.Jo,952:T.prototype.Lo,980:T.prototype.vo,981:T.prototype.uo,984:T.prototype.wo,985:T.prototype.to},uk={960:T.prototype.Mk,961:T.prototype.Mk,962:T.prototype.Gn,964:T.prototype.Fn,965:T.prototype.En,970:T.prototype.nn,972:T.prototype.mn,974:T.prototype.ln,975:T.prototype.kn},vk={954:T.prototype.Wl,
960:T.prototype.Vl,961:T.prototype.Vl,962:T.prototype.No,964:T.prototype.Uo,965:T.prototype.To,970:T.prototype.Fo,972:T.prototype.Eo,974:T.prototype.Do,975:T.prototype.Co,986:T.prototype.Wl};
function Zb(a,b){if(a.qi){void 0!==b?a.Fk=b:b=a.Fk&&a.T&&a.T.qa.Rb;var c=Math.round(1193181/jj(a,2));if(20>c||2E4<c)b=!1;b?a.td?(a.td.frequency.value=c,a.Sa("speaker set to "+c+"hz",xj)):(a.td=a.qi.createOscillator(),a.td.type=1,a.td.connect(a.qi.destination),a.td.frequency.value=c,a.Sa("speaker on at "+c+"hz",xj),a.td.noteOn(0)):a.td&&(a.td.noteOff(0),a.td.disconnect(),delete a.td,a.Sa("speaker off at "+c+"hz",xj))}else b&&a.Sa("BEEP",xj)}
k.Sa=function(a,b,c){this.fa&&(null==b&&(b=lj),void 0!==c&&(b|=0==c?pi:1==c?yj:6==c?zj:Fd),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e,f){this.fa&&(null==e&&(e=lj),this.fa.ea(this,a,b,c,d,e,f))};
var ii={0:function(a,b){return Li(this,0,0,a,b)},1:function(a,b){return Ni(this,0,0,a,b)},2:function(a,b){return Li(this,0,1,a,b)},3:function(a,b){return Ni(this,0,1,a,b)},4:function(a,b){return Li(this,0,2,a,b)},5:function(a,b){return Ni(this,0,2,a,b)},6:function(a,b){return Li(this,0,3,a,b)},7:function(a,b){return Ni(this,0,3,a,b)},8:function(a,b){return Pi(this,0,a,b)},32:function(a,b){return $i(this,0,b)},33:function(a,b){return cj(this,0,b)},64:function(a,b){return gj(this,0,b)},65:function(a,
b){return gj(this,1,b)},66:function(a,b){return gj(this,2,b)},67:O.prototype.In,129:function(a,b){return Ui(this,0,2,a,b)},130:function(a,b){return Ui(this,0,3,a,b)},131:function(a,b){return Ui(this,0,1,a,b)},135:function(a,b){return Ui(this,0,0,a,b)}},ki={96:O.prototype.An,97:O.prototype.Bn,98:O.prototype.Cn,99:O.prototype.Dn},mi={96:O.prototype.Qm,97:O.prototype.Rm,100:O.prototype.Sm,112:O.prototype.fn,113:O.prototype.gn,128:O.prototype.yn,132:function(a,b){return Wi(this,0,a,b)},133:function(a,
b){return Wi(this,1,a,b)},134:function(a,b){return Wi(this,2,a,b)},136:function(a,b){return Wi(this,3,a,b)},137:function(a,b){return Ui(this,1,2,a,b)},138:function(a,b){return Ui(this,1,3,a,b)},139:function(a,b){return Ui(this,1,1,a,b)},140:function(a,b){return Wi(this,4,a,b)},141:function(a,b){return Wi(this,5,a,b)},142:function(a,b){return Wi(this,6,a,b)},143:function(a,b){return Ui(this,1,0,a,b)},160:function(a,b){return $i(this,1,b)},161:function(a,b){return cj(this,1,b)},192:function(a,b){return Li(this,
1,0,a,b)},194:function(a,b){return Ni(this,1,0,a,b)},196:function(a,b){return Li(this,1,1,a,b)},198:function(a,b){return Ni(this,1,1,a,b)},200:function(a,b){return Li(this,1,2,a,b)},202:function(a,b){return Ni(this,1,2,a,b)},204:function(a,b){return Li(this,1,3,a,b)},206:function(a,b){return Ni(this,1,3,a,b)},208:function(a,b){return Pi(this,1,a,b)}},ji={0:function(a,b,c){Mi(this,0,0,a,b,c)},1:function(a,b,c){Oi(this,0,0,a,b,c)},2:function(a,b,c){Mi(this,0,1,a,b,c)},3:function(a,b,c){Oi(this,0,1,
a,b,c)},4:function(a,b,c){Mi(this,0,2,a,b,c)},5:function(a,b,c){Oi(this,0,2,a,b,c)},6:function(a,b,c){Mi(this,0,3,a,b,c)},7:function(a,b,c){Oi(this,0,3,a,b,c)},8:function(a,b,c){this.ea(a,b,c,"DMA0.CMD",P);this.jb[0].ki=b},9:function(a,b,c){Qi(this,0,a,b,c)},10:function(a,b,c){Ri(this,0,a,b,c)},11:function(a,b,c){this.ea(a,b,c,"DMA0.MODE",P);this.jb[0].Ib[b&3].mode=b},12:function(a,b,c){this.ea(a,b,c,"DMA0.RESET_FF",P);this.jb[0].lb=0},13:function(a,b,c){Ti(this,0,a,b,c)},32:function(a,b,c){aj(this,
0,b,c)},33:function(a,b,c){dj(this,0,b,c)},64:function(a,b,c){ij(this,0,b,c)},65:function(a,b,c){ij(this,1,b,c)},66:function(a,b,c){ij(this,2,b,c)},67:O.prototype.Xo,129:function(a,b,c){Vi(this,0,2,a,b,c)},130:function(a,b,c){Vi(this,0,3,a,b,c)},131:function(a,b,c){Vi(this,0,1,a,b,c)},135:function(a,b,c){Vi(this,0,0,a,b,c)}},li={96:O.prototype.Qo,97:O.prototype.Ro,98:O.prototype.So,99:O.prototype.To,160:O.prototype.Po},ni={96:O.prototype.jo,97:O.prototype.ko,100:O.prototype.io,112:O.prototype.yo,
113:O.prototype.zo,128:O.prototype.No,132:function(a,b,c){Xi(this,0,a,b,c)},133:function(a,b,c){Xi(this,1,a,b,c)},134:function(a,b,c){Xi(this,2,a,b,c)},136:function(a,b,c){Xi(this,3,a,b,c)},137:function(a,b,c){Vi(this,1,2,a,b,c)},138:function(a,b,c){Vi(this,1,3,a,b,c)},139:function(a,b,c){Vi(this,1,1,a,b,c)},140:function(a,b,c){Xi(this,4,a,b,c)},141:function(a,b,c){Xi(this,5,a,b,c)},142:function(a,b,c){Xi(this,6,a,b,c)},143:function(a,b,c){Vi(this,1,0,a,b,c)},160:function(a,b,c){aj(this,1,b,c)},161:function(a,
b,c){dj(this,1,b,c)},192:function(a,b,c){Mi(this,1,0,a,b,c)},194:function(a,b,c){Oi(this,1,0,a,b,c)},196:function(a,b,c){Mi(this,1,1,a,b,c)},198:function(a,b,c){Oi(this,1,1,a,b,c)},200:function(a,b,c){Mi(this,1,2,a,b,c)},202:function(a,b,c){Oi(this,1,2,a,b,c)},204:function(a,b,c){Mi(this,1,3,a,b,c)},206:function(a,b,c){Oi(this,1,3,a,b,c)},208:function(a,b,c){this.ea(a,b,c,"DMA1.CMD",P);this.jb[1].ki=b},210:function(a,b,c){Qi(this,1,a,b,c)},212:function(a,b,c){Ri(this,1,a,b,c)},214:function(a,b,c){this.ea(a,
b,c,"DMA1.MODE",P);this.jb[1].Ib[b&3].mode=b},216:function(a,b,c){this.ea(a,b,c,"DMA1.RESET_FF",P);this.jb[1].lb=0},218:function(a,b,c){Ti(this,1,a,b,c)}};Ha(function(){for(var a=D(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new O(d);Za(d,c);ui(d)}});
function Aj(a){z.call(this,"ROM",a,Aj);this.Jb=null;this.gk=a.addr;this.Vh=a.size;this.tm=a.alias;this.Eg=a.file;this.Mk=a.notify;if(this.Eg){a=this.Eg;var b=ha(this.Eg);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.Eg+"&format=bytes&decimal=true");sa(a,!0,null,this,Aj.prototype.bo)}}A(z,Aj);Aj.prototype.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;Bj(this)};Aj.prototype.$b=function(){this.ei&&(this.fa&&Cj(this.fa,this.gk,this.Vh,this.ei),delete this.ei);return!0};Aj.prototype.Zb=function(){return!0};
Aj.prototype.bo=function(a,b,c){if(c)this.Ja("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.Jb=e;else if(f)for(this.Jb=Array(4*f.length),c=b=0;b<f.length;b++)this.Jb[c++]=f[b]&255,this.Jb[c++]=f[b]>>8&255,this.Jb[c++]=f[b]>>16&255,this.Jb[c++]=f[b]>>24&255;else this.Jb=d;this.ei=d.symbols;if(!this.Jb.length){x("Empty ROM: "+a);return}if(1==this.Jb.length){x(this.Jb[0]);return}}catch(g){this.Ja("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Jb=Array(a.length),d=0;d<a.length;d++)this.Jb[d]=parseInt(a[d],16);Bj(this)}};function Bj(a){if(!bb(a))if(!a.Eg)a.Ua();else if(a.Jb&&a.ra){if(a.Jb.length!=a.Vh)cb(a,"ROM size (0x"+p(a.Jb.length)+") does not match specified size (0x"+p(a.Vh)+")");else if(Dj(a,a.gk)&&Dj(a,a.tm)){if(a.Mk){var b=Wa(a.Mk,a.id);b&&("ega"==b.Ia&&Ej(b,a.Jb,[8752,12640],8),b.Ua())}delete a.Jb}a.Ua()}}
function Dj(a,b){if(null==b)return!0;if(kb(a.ra,b,a.Vh,!0)){for(var c=0;c<a.Jb.length;c++)pb(a.ra,b+c,a.Jb[c]);return!0}return!1}Ha(function(){for(var a=D(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Aj(d);Za(d,c)}});function Fj(a){z.call(this,"RAM",a,Fj);this.Sg=a.addr;this.Qd=a.size;this.Hm=a.test;this.Fm=!!this.Qd;this.lh=!1}A(z,Fj);Fj.prototype.pc=function(a,b,c){this.ra=b;this.T=c;this.oa=eb(a,"ChipSet");this.Ua()};Fj.prototype.$b=function(a,b){b||this.reset();return!0};
Fj.prototype.Zb=function(){return!0};Fj.prototype.reset=function(){if(!this.Sg&&!this.Fm&&this.oa){var a=1024*yi(this.oa);this.Qd&&a!=this.Qd&&(mb(this.ra,this.Sg,this.Qd),this.lh=!1);this.Qd=a}!this.lh&&this.Qd&&kb(this.ra,this.Sg,this.Qd)&&(this.lh=!0,this.status(Math.floor(this.Qd/1024)+"Kb"));if(this.lh){if(this.Hm||qb(this.ra,1138,4660),this.oa&&(a=this.oa,a.ta)){var b=1048576>this.Sg?21:23,c=a.ta[b]|a.ta[b+1]<<8,c=c+(this.Qd>>10);a.ta[b]=c&255;a.ta[b+1]=c>>8;Ci(a)}}else x("No RAM allocated")};
Ha(function(){for(var a=D(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Fj(d);Za(d,c)}});function Gj(a){z.call(this,"Keyboard",a,Gj);this.Ak=!1;this.di={};this.Tn=250;this.Un=100;this.Ua()}A(z,Gj);
var Q={wp:1,xp: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,sp:65,tp:66,ak:67,pm:68,E:69,Ap:70,Dp:71,bk:72,Fp:73,Gp:74,Hp:75,Ip:76,Jp:77,$h:78,Lp:79,Mp:80,Op:81,dk:82,Sp:83,bq:84,fq:85,gq:86,hq:87,jq:88,kq:89,lq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mq:97,nq:98,pq:99,qq:100,rq:101,sq:102,tq:103,uq:104,vq:105,wq:106,xq:107,yq:108,
zq:109,Aq:110,Cq:111,Dq:112,Eq:113,Fq:114,Gq:115,Hq:116,Iq:117,Jq:118,Kq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Hj={16:2,17:8,18:32,20:256,144:512,145:1024},Ij={"caps-lock":256,"num-lock":512,"scroll-lock":1024},Jj={tab:1009,esc:1027,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Kj={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,
bs:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,
"num-down":80,"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},S={1027:1};S[Q["1"]]=2;S[Q["!"]]=10754;S[Q["2"]]=3;S[Q["@"]]=10755;S[Q["3"]]=4;S[Q["#"]]=10756;S[Q["4"]]=5;S[Q.$]=10757;S[Q["5"]]=6;S[Q["%"]]=10758;S[Q["6"]]=7;S[Q["^"]]=10759;
S[Q["7"]]=8;S[Q["&"]]=10760;S[Q["8"]]=9;S[Q["*"]]=10761;S[Q["9"]]=10;S[Q["("]]=10762;S[Q["0"]]=11;S[Q[")"]]=10763;S[Q["-"]]=12;S[Q._]=10764;S[Q["="]]=13;S[Q["+"]]=10765;S[1008]=14;S[1009]=15;S[113]=16;S[81]=10768;S[119]=17;S[87]=10769;S[101]=18;S[69]=10770;S[114]=19;S[82]=10771;S[116]=20;S[84]=10772;S[121]=21;S[89]=10773;S[117]=22;S[85]=10774;S[105]=23;S[73]=10775;S[111]=24;S[79]=10776;S[112]=25;S[80]=10777;S[Q["["]]=26;S[Q["{"]]=10778;S[Q["]"]]=27;S[Q["}"]]=10779;S[13]=28;S[1017]=29;S[97]=30;
S[65]=10782;S[115]=31;S[83]=10783;S[100]=32;S[68]=10784;S[102]=33;S[70]=10785;S[103]=34;S[71]=10786;S[104]=35;S[72]=10787;S[106]=36;S[74]=10788;S[107]=37;S[75]=10789;S[108]=38;S[76]=10790;S[Q[";"]]=39;S[Q[":"]]=10791;S[Q["'"]]=40;S[Q['"']]=10792;S[Q["`"]]=41;S[Q["~"]]=10793;S[1016]=42;S[Q["\\"]]=43;S[Q["|"]]=10795;S[122]=44;S[90]=10796;S[120]=45;S[88]=10797;S[99]=46;S[67]=10798;S[118]=47;S[86]=10799;S[98]=48;S[66]=10800;S[110]=49;S[78]=10801;S[109]=50;S[77]=10802;S[Q[","]]=51;S[Q["<"]]=10803;
S[Q["."]]=52;S[Q[">"]]=10804;S[Q["/"]]=53;S[Q["?"]]=10805;S[3016]=54;S[1018]=56;S[Q[" "]]=57;S[1020]=58;S[1112]=59;S[1113]=60;S[1114]=61;S[1115]=62;S[1116]=63;S[1117]=64;S[1118]=65;S[1119]=66;S[1120]=67;S[1121]=68;S[1144]=69;S[1145]=70;S[1036]=71;S[1038]=72;S[1033]=73;S[1037]=75;S[1039]=77;S[1035]=79;S[1040]=80;S[1034]=81;S[1045]=82;S[1046]=83;S[1122]=87;S[1123]=88;S[4003]=7470;S[4063]=7494;S[4081]=3677523;k=Gj.prototype;
k.Db=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.wa[a])switch(c){case "kbd":return this.wa[a]=d,d.onkeydown=function(a){return Lj(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.bb&64?e.bb&=-65:e.bb&40?b=!1:(e.Ak&&a==Q["`"]&&(a=27),b=!Mj(e,a));return b},d.onkeyup=function(a){return Lj(e,a,!1)},!0;case "caps-lock":return this.wa[a]=d,d.onclick=function(){e.T&&e.T.Tc();Mj(e,1020,!0)},!0;case "num-lock":return this.wa[a]=d,d.onclick=function(){e.T&&
e.T.Tc();Mj(e,1144,!0)},!0;case "scroll-lock":return this.wa[a]=d,d.onclick=function(){e.T&&e.T.Tc();Mj(e,1145,!0)},!0;default:if(void 0!==Jj[c]&&"button"==b)return this.wa[a]=d,d.onclick=function(a,b,c){return function(){a.T&&a.T.Tc();Nj(a,c);return!Mj(a,c)}}(this,c,Jj[c]),!0;if(void 0!==Kj[c])return this.wa[a]=d,b=function(a,b,c){return function(){Oj(a,c)}}(this,c,Kj[c]),c=function(a,b,c){return function(){Oj(a,c)}}(this,c,Kj[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=
b,d.onmouseup=d.onmouseout=c),!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet")};k.Ua=function(){this.Dk=(this.Pm=Aa("iOS"))||Aa("Android");this.Sa("mobile keyboard support: "+(this.Dk?"true":"false"));return z.prototype.Ua.call(this)};function sj(a){a.Sa("keyboard reset",Pj);a.yc=[170];a.oa&&vj(a.oa)}function nj(a,b,c){var d=!1;a.Bi!==c&&(a.Bi=a.Fi=c);a.ph!==b&&(a.ph=b)&&!a.Fi&&uj(a);a.ph&&a.Fi&&(sj(a),a.Fi=!1,d=!0);return d}
function kj(a,b){var c=0;a.yc.length&&(c=a.yc[0],a.Sa("scan code 0x"+t(c)+" delivered"),b&&uj(a));return c}function uj(a,b){0<a.yc.length&&(b?a.yc=[]:(a.yc.shift(),0<a.yc.length&&a.oa&&vj(a.oa)))}k.$b=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Zb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le();this.bb=0;this.yc=[];if(this.ud)for(var a in this.ud)ca(a)||this.ud[a]&&clearTimeout(this.ud[a]);this.ud=[];this.Yl=this.Ue=0};
k.save=function(){var a=new gd(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.le(a[0])};k.le=function(a){var b=0;void 0===a&&(a=[]);this.Bi=a[b++];this.ph=a[b];return!0};k.Wj=function(){var a=0,b=[];b[a++]=this.Bi;b[a]=this.ph;return b};
function Oj(a,b){var c=b&127,d=c==b;if(a.yc)if(20>a.yc.length){if(!(!d&&!a.di[c]||d&&a.di[c])){a.di[c]=d;a.Sa("scan code 0x"+t(b)+" buffered");a.yc.push(b);1==a.yc.length&&a.oa&&vj(a.oa);for(var e in Kj)if(Kj[e]==c){(c=a.wa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.yc.length&&a.yc.push(255),a.Sa("scan code buffer overflow")}function Qj(a,b){var c=b?a.Un:a.Tn;a.T&&a.T.ca.pd&&(c/=a.T.ca.pd);return c}
function Rj(a,b){!a.Ue||void 0!==b&&b==a.Ue||(clearTimeout(a.ud[a.Ue]),Sj(a,a.Ue,!1))}function Tj(a,b){var c,d;for(d in Ij){var e="led-"+d,f=Ij[d];b&&b!=f||!(c=a.wa[e])||(c.style.backgroundColor=a.bb&f?"#00ff00":"#000000")}}function Nj(a,b){var c;if(S[b]){var d=Math.floor(b/1E3)&2,e=Hj[Math.floor(b%1E3)]||0;e&&(d&&(e>>=1),e&1792&&(c=!(a.bb&e)),a.bb&=~e,c&&(a.bb|=e),Tj(a,e))}}
function Lj(a,b,c){var d,e=!c,f=b.keyCode,g=f;c&&(a.Yl=f);if(S[f+1E3]){var g=g+1E3,h=Hj[f]||0;if(h)2==b.location&&(h>>=1,g+=2E3),a.bb&=~h,c&&(a.bb|=h),Tj(a,h),20==f||144==f||145==f?d=Mj(a,g):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.bb&40)&&(g=4063),d=c?!Mj(a,g):!1}else 91==f?(a.bb&=-65,c&&(a.bb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(g+=32):d=!0;e&&(a.bb&=-65,a.Dk||f!=a.Yl||Rj(a));void 0===d&&(d=!Sj(a,g,c));return d}
function Mj(a,b,c){var d=!1;Rj(a,b);c&&Nj(a,b);Sj(a,b,!0)&&(c=!1,a.ud[b]&&(clearTimeout(a.ud[b]),c=!0),c=Qj(a,c),a.ud[a.Ue=b]=setTimeout(function(a){return function(){Sj(a,b,!1)}}(a),c),d=!0);return d}
function Sj(a,b,c){var d=!1;c||(a.ud[b]=null,a.Ue==b&&(a.Ue=0));var e=S[b]||S[b+1E3];if(void 0!==e){14==e&&40==(a.bb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.bb&3||a.bb&256&&b||(g=h):29==h?a.bb&12||(g=h):56==h?a.bb&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;c<d.length;c++)Oj(a,d[c]);d=!0}return d}
k.Sa=function(a,b){this.fa&&(null==b&&(b=yj),b==Pj&&(b|=yj),E(this.fa,b)&&this.fa.message(a))};Ha(function(){for(var a=D(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Gj(d);Za(d,c)}});
function T(a,b,c,d){z.call(this,"Video",a,T);this.Ia=a.model;this.Yc=0;"ega"==this.Ia&&(this.fm=a.switches,this.Yc=a.memory||0);this.rd=a.mode;if(void 0===this.rd||void 0===Uj[this.rd])this.rd=Vj;this.Gh=a.charCols;this.Vi=a.charRows;if(void 0===this.Gh||void 0===this.Vi)this.Gh=Uj[this.rd][0],this.Vi=Uj[this.rd][1];this.Bd=a.screenWidth;this.ie=a.screenHeight;this.Gm=a.scale;this.Em=12<=Math.round(this.Bd/this.Gh);this.Im=a.touchScreen;this.fb=b;this.Zc=c;this.km=d;this.me=null;this.Dm=a.autoLock;
this.Va=this.Tb=0;this.Wd=[];this.xd=Array(16);this.Ci=!1;var e=this;b&&(b.onfocus=function(){e.Ci=!0},b.onblur=function(){e.Ci=!1},b.vf=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock,b.lm=b.exitPointerLock||b.mozExitPointerLock||b.webkitExitPointerLock,b=function(){e.yg(document.pointerLockElement===e.fb||document.mozPointerLockElement===e.fb||document.webkitPointerLockElement===e.fb)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):
"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ha(a)&&(a=ta()+"/api/v1/dump?file="+a+"&format=bytes"),sa(a,!0,null,this,this.co)}A(z,T);
var Wj={2:{Yi:15700,Xi:208,Mj:85,Nj:96},3:{Yi:18432,Xi:364,Mj:85,Nj:96},4:{Yi:21850,Xi:364,Mj:85,Nj:96}},Xj={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Vj=7,Uj=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Uj[Vj]=[80,25,1,0,1];Uj[13]=[320,200,16];Uj[14]=[640,200,16];Uj[15]=[640,350,16];Uj[16]=[640,350,16];Uj[0]=Uj[1];Uj[2]=Uj[3];Uj[5]=Uj[4];var Yj=Array(5);Yj[0]=[0,0,0,255];
Yj[1]=[127,192,127,255];Yj[2]=[127,192,127,255];Yj[3]=[127,255,127,255];Yj[4]=[127,255,127,255];var Zj=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],U=Array(16);U[0]=[0,0,0,255];U[1]=[0,0,170,255];U[2]=[0,170,0,255];U[3]=[0,170,170,255];U[4]=[170,0,0,255];U[5]=[170,0,170,255];U[6]=[170,85,0,255];U[7]=[170,170,170,255];U[8]=[85,85,85,255];U[9]=[85,85,255,255];U[10]=[85,255,85,255];U[11]=[85,255,255,255];U[12]=[255,85,85,255];U[13]=[255,85,255,255];U[14]=[255,255,85,255];U[15]=[255,255,255,255];
var ak=[2,4,6],bk=[3,5,7],ck=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],dk=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],ek=[0];ek[128]=1;ek[32768]=2;ek[32896]=3;ek[8388608]=4;ek[8388736]=5;ek[8421376]=6;ek[8421504]=7;ek[2147483648]=8;ek[2147483776]=9;ek[2147516416]=10;ek[2147516544]=11;ek[2155872256]=12;ek[2155872384]=13;ek[2155905024]=14;ek[2155905152]=15;
function fk(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=gk[b],f=a.oe||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(hk)];this.fa=a.fa;this.type=e[0];this.port=e[1];this.ke=b;this.Va=e[2];this.Tb=e[3];this.Yc=d||e[4];65536<=this.Yc&&720896<=this.Va&&(this.Tb=Math.min(this.Yc>>2,32768));this.$c=c[0];this.Fc=c[1];this.jf=c[2];this.Ff=c[3];this.oc=c[4]&255;this.xh=c[4]>>8&255;this.ec=c[5];this.Oi=hk;this.Tg=ik;if(5==b){this.Oi=jk;this.Tg=kk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),
0,0,0,Array(9),0,[this.Va,this.Tb,this.Yc],Array(this.Yc>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.nd=b[0];this.Fd=b[1];this.Td=b[2];this.gi=lk;this.Xh=b[3];this.gg=b[4];this.wh=b[5];this.Hd=b[6];this.Mf=b[7];this.ii=mk;this.Ji=b[8];this.Ki=b[9];this.Gd=b[10];this.ye=b[11];this.hi=tk;this.Gb=b[12];d=b[13];"number"==typeof d&&(d=[this.Va,this.Tb,d]);this.Va=d[0];this.Tb=d[1];d=this.Yc>>2;if((this.hd=b[14])&&this.hd.length<d){for(var e=this.hd,g=0,h=Array(d),l=0;l<e.length-1;){for(var n=
e[l++],q=e[l++];n--;)h[g]=q,g+=2;g==d&&(g=1)}this.hd=h}this.Uh(b[15]);this.Ij=b[16];this.ob=b[17];this.qd=b[18];this.vb=b[19];this.Jh=b[20];this.re=b[21];this.Se=b[22];this.Qi=b[23];this.Ri=b[24]}f=Wj[f]||Wj[3];this.Si=a.T.ca.Ld/f.Yi|0;this.Xn=this.Si*f.Mj/100|0;this.Tk=this.Si*f.Xi;this.$n=this.Tk*f.Nj/100|0;this.Zi=null==c[7]?0:c[7]}}
var hk=18,jk=25,ik="HORZ_TOTAL HORZ_DISP HORZ_SYNC_POS HORZ_SYNC_WIDTH VERT_TOTAL VERT_TOTAL_ADJ VERT_DISP VERT_SYNC_POS INTERLACE_POS MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO".split(" "),kk="HORZ_TOTAL HORZ_DISP_END HORZ_BLANK_START HORZ_BLANK_END HORZ_RETRACE_START HORZ_RETRACE_END VERT_TOTAL CRTC_OVERFLOW PRESET_ROW_SCAN MAX_SCAN_LINE CURSOR_START CURSOR_END START_ADDR_HI START_ADDR_LO CURSOR_ADDR_HI CURSOR_ADDR_LO LIGHT_PEN_HI LIGHT_PEN_LO VERT_DISP_END OFFSET UNDERLINE VERT_BLANK_START VERT_BLANK_END MODE_CTRL LONE_COMPARE".split(" "),
lk="PAL00 PAL01 PAL02 PAL03 PAL04 PAL05 PAL06 PAL07 PAL08 PAL09 PAL0A PAL0B PAL0C PAL0D PAL0E PAL0F MODE OVRSCAN PLANES HORZPAN".split(" "),mk=["RESET","CLK","MAPMASK","CHARMAP","MODE"],tk="SRESET ESRESET COLRCMP DATAROT READMAP MODE MISC COLRDC BITMASK".split(" ");function uk(a){return this.sc(a)|this.sc(a+1)<<8}function vk(a,b){this.Hc(a,b&255);this.Hc(a+1,b>>8&255)}
var wk=[,,function(a){a+=this.offset;return(this.ia.Gb=this.xa[a])>>this.ia.Ij&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.xa[b]>>8:this.xa[b])&255}];wk[16]=function(a){a+=this.offset;a=this.xa[a];for(var b=this.ia.Qi&this.ia.Ri,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};wk[512]=function(a,b){var c=a+this.offset,d;d=this.xa[c]&~this.ia.ob|(b|b<<8|b<<16|b<<24)&this.ia.ob;d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
wk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.qd|b<<8-this.ia.qd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Se;d=d&this.ia.ob|this.xa[c]&~this.ia.ob;d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
wk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.qd|b<<8-this.ia.qd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Se;d&=this.ia.Gb;d=d&this.ia.ob|this.xa[c]&~this.ia.ob;d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
wk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.qd|b<<8-this.ia.qd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Se;d|=this.ia.Gb;d=d&this.ia.ob|this.xa[c]&~this.ia.ob;d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
wk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.qd|b<<8-this.ia.qd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.re|this.ia.Se;d^=this.ia.Gb;d=d&this.ia.ob|this.xa[c]&~this.ia.ob;d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};wk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.ob&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.xa[d]&~c;c=c&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[d]!=c&&(this.xa[d]=c,this.sb=!0)};
wk[4096]=function(a){a+=this.offset;var b=this.xa[a]&~this.ia.ob|this.ia.Gb&this.ia.ob;this.xa[a]!=b&&(this.xa[a]=b,this.sb=!0)};wk[8192]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d&this.ia.ob|this.xa[c]&~this.ia.ob,d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};wk[24576]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d&this.ia.Gb,d=d&this.ia.ob|this.xa[c]&~this.ia.ob,d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
wk[40960]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d|this.ia.Gb,d=d&this.ia.ob|this.xa[c]&~this.ia.ob,d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};wk[57344]=function(a,b){var c=a+this.offset,d=dk[b&15],d=d^this.ia.Gb,d=d&this.ia.ob|this.xa[c]&~this.ia.ob,d=d&this.ia.vb|this.ia.Gb&~this.ia.vb;this.xa[c]!=d&&(this.xa[c]=d,this.sb=!0)};
function xk(a){var b=[];if(void 0!==a.ke){b[0]=a.$c;b[1]=a.Fc;b[2]=a.jf;b[3]=a.Ff;b[4]=a.oc|a.xh<<8;b[5]=a.ec;if(5==a.ke){var c=[];c[0]=a.nd;c[1]=a.Fd;c[2]=a.Td;c[3]=a.Xh;c[4]=a.gg;c[5]=a.wh;c[6]=a.Hd;c[7]=a.Mf;c[8]=a.Ji;c[9]=a.Ki;c[10]=a.Gd;c[11]=a.ye;c[12]=a.Gb;c[13]=[a.Va,a.Tb,a.Yc];var d;a:if(d=a.hd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var l=d[h],n=h+2;n<d.length&&d[n]===l;)n+=2;f[e++]=n-h>>1;f[e++]=l;h=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Dh;c[16]=a.Ij;c[17]=a.ob;c[18]=a.qd;c[19]=a.vb;c[20]=a.Jh;c[21]=a.re;c[22]=a.Se;c[23]=a.Qi;c[24]=a.Ri;b[6]=c}b[7]=a.Zi}return b}function yk(a,b,c,d,e){if(d){var f="",g,h=0;for(g=0;g<e.length;g++)h<e[g].length&&(h=e[g].length);h++;for(g=0;g<e.length;g++){f&&(f+="\n");var l=e[g],f=f+(b+"["+t(g)+"]: "+(l+" ".substr(0,h-l.length))+t(d[g])+(g===c?"*":""))}a.fa.message(f)}else a.fa.message(b+": "+t(c))}
fk.prototype.Uh=function(a){if(null!=a&&a!=this.Dh){var b=a&255,c=wk[b];c||b&1&&(c=wk[1]);var b=a&65280,d=wk[b];d||b&256&&(d=wk[256]);this.Rf||(this.Rf=[null,uk,null,vk]);this.Rf[0]=c;this.Rf[2]=d;this.Dh=a}};var gk=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=T.prototype;
k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;tb(b,this,zk);zb(b,this,Ak);"ega"==this.Ia&&(tb(b,this,Bk),zb(b,this,Ck));if(d){var e=this;oi(d,Dk,function(a){if(e.Ha)if(a){var b=e.Ha;if(b.hd){a=da(a);a=void 0!==a?a-b.Va:b.cp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Va+a)+":",r=0;8>r&&a<b.hd.length;r++)var s=b.hd[a++],f=f+(" "+p(s));c&&(c+="\n");c+=f}c&&b.fa.message(c);b.cp=a}else b.fa.message("no buffer")}else{e.fa.message("BIOSMODE: "+t(e.Nd));b=e.Ha;yk(b,"CRTC",b.oc,b.ec,b.Tg);
if(1==b.ke||3==b.ke)yk(b," MODEREG",b.Fc),yk(b," STATUS1",b.Ff);3==b.ke&&yk(b," COLOR",b.jf);5==b.ke&&(b.fa.message(" ATCDATA: "+b.nd),yk(b," ATC",b.Fd,b.Td,b.gi),yk(b," GRC",b.Gd,b.ye,b.hi),yk(b," SEQ",b.Hd,b.Mf,b.ii),yk(b," FEAT",b.wh),yk(b," MISC",b.gg),yk(b," STATUS0",b.Xh),yk(b," LATCHES",b.Gb),b.fa.message(" ACCESS: "+v(b.Dh)),b.fa.message("Use 'dump video buffer' to dump video memory"))}else e.fa.message("no active video card")})}if((this.Ra=eb(a,"Keyboard"))&&this.fb){for(var f in this.wa)0<
f.indexOf("lock")&&this.Ra.Db("input","led",f,this.wa[f]);this.Ra.Db("input",this.km?"textarea":"canvas","kbd",this.km||this.fb)}this.Vg=9;(this.oa=eb(a,"ChipSet"))&&this.fm&&(this.Vg=bi(this.fm,this.Vg));this.Ra&&this.Im&&Ek(this)};k.Db=function(a,b,c,d){var e=this;if(!this.wa[c])switch(this.wa[c]=d,c){case "lockPointer":return this.jp=d.innerHTML,this.fb&&this.fb.vf?d.onclick=function(){e.vf(!0)}:d.parentNode.removeChild(d),!0;case "refresh":return d.onclick=function(){Mb(e,!0)},!0}return!1};
k.Tc=function(){this.fb&&this.fb.focus()};k.vf=function(a){if(this.fb)if(a){if(this.fb.vf)return this.fb.vf(),this.me.yg(!0),!0}else if(this.fb.lm)return this.fb.lm(),this.me.yg(!1),!0;return!1};k.yg=function(a){this.me&&(this.me.yg(a),this.Ra&&(this.Ra.Ak=a));var b=this.wa.lockPointer;b&&(b.innerHTML=a?"Press Esc to Unlock Pointer":this.jp)};
function Ek(a){var b=a.fb;b&&!a.Ai&&(b.addEventListener("touchstart",function(b){Fk(a,b)},!1),b.addEventListener("touchmove",function(b){Fk(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ai=!0)}
function Fk(a,b){a.Ci&&b.preventDefault();var c=0,d=0,e=a.fb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.Bd/a.fb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.Bd/3)|0;d=a.ie/a.fb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.ie/3)|0;1!=d?d?Mj(a.Ra,40,!0):Mj(a.Ra,38,!0):1!=c&&(c?Mj(a.Ra,39,!0):Mj(a.Ra,37,!0))}k.$b=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Zb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.oa&&(b=zi(this.oa));var c=!1;if(this.Ia)switch(this.Ia){case "ega":var c=!0,d=Xj[this.Vg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.oe!==b&&(this.oe=b,a=!0);this.Ha=null;this.Xc=this.oi=new fk(this,1);this.Kb=this.hh=new fk(this,3);c?(this.na=new fk(this,5,null,this.Yc),Gk(this)):this.na=new fk;Hk(this);this.Nd=null;this.rd=3==b?Vj:3;this.He=this.Oc=-1;this.Ge=0;Ik(this,this.rd);if(this.Ha.Va&&a){a=this.Ha.Va+this.pi;for(b=this.Ha.Va;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.oe?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),qb(this.ra,b,c|d<<8);Mb(this,!0)}};function Gk(a){a.na.gg&1?(a.Xc=a.oi,a.Kb=a.na):(a.Xc=a.na,a.Kb=a.hh)}k.save=function(){var a=new gd(this);a.set(0,xk(this.oi));a.set(1,xk(this.hh));a.set(2,[this.oe,this.rd,this.Nd]);a.set(3,xk(this.na));return a.data()};
k.restore=function(a){var b=a[2];this.oe=b[0];this.rd=b[1];this.Nd=b[2];this.Ha=null;this.Xc=this.oi=new fk(this,1,a[0]);this.Kb=this.hh=new fk(this,3,a[1]);this.na=new fk(this,5,a[3],this.Yc);this.na.$c&&Gk(this);Hk(this);if(!Jk(this))return!1;Kk(this);return!0};
k.co=function(a,b,c){if(c)this.Ja("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){x("Empty font ROM image: "+a);return}if(1==d.length){x(d[0]);return}if(8192==d.length)Ej(this,d,[0,6144]);else{this.Ja("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ja("Font ROM data error: "+e.message);return}this.Ua()}};
function Lk(a,b){if(1==b)return a.xd[0]=U[0],a.xd[1]=U[7],a.xd;if(2==b){var c=a.Ha.jf;if(a.Ha===a.na){var d=a.na.Td[0],c=d&7;d&16&&(c|=8);18!=a.na.Td[1]&&(c|=32)}a.xd[0]=U[c&15];c=c&32?bk:ak;for(d=0;d<c.length;d++)a.xd[d+1]=U[c[d]];return a.xd}if(a.Kb===a.hh)return U;c=null!=a.na.Td[15]?a.na.Td:ck;for(d=0;d<a.xd.length;d++){var e=c[d]||0;a.xd[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.xd}function Ej(a,b,c,d){a.Qg=b;a.ci=c;a.Le=d}
function Hk(a){var b=!1;if(window&&a.Qg){var c=a.Le?0:2048,d=a.Le?a.Le:9;Mk(a,1,a.ci[0],c,d,14,a.Qg,Yj,Zj)&&(b=!0);c=Lk(a);d=a.Le?a.Le:8;Mk(a,3,a.ci[1],0,d,8,a.Qg,c)&&(b=!0);a.Le&&Mk(a,5,a.ci[0],0,a.Le,14,a.Qg,c)&&(b=!0)}return b}function Mk(a,b,c,d,e,f,g,h,l){var n=!1;Nk(a,b,c,d,e,f,g,h,l)&&(n=!0);a.Em&&Nk(a,b<<1,c,d,e,f,g,h,l)&&(n=!0);return n}
function Nk(a,b,c,d,e,f,g,h,l){var n=!1,q=b&1?0:1,r=a.Wd[b];r||(r={lc:e<<q,mc:f<<q,ef:Array(h.length),fk:h.slice(),Lf:l,ai:Array(h.length)});for(l=0;l<h.length;l++){var s=h[l],u=r.ef[l]?r.fk[l]:[];if(s[0]!==u[0]||s[1]!==u[1]||s[2]!==u[2]){var n=r,u=l,y=q,B=c,M=d,V=e,va=f,wa=g,xb=[0,0,0,0],Qb=window.document.createElement("canvas");Qb.width=n.lc<<4;Qb.height=n.mc<<4;for(var W=Qb.getContext("2d"),K=void 0,w=void 0,R=void 0,I=8>va||!M?va:8,yb=W.createImageData(n.lc,n.mc),K=0;256>K;K++){for(R=0;R<va;R++)for(var Ma=
n.Lf&&u&1&&R>=va-2,ga=wa[R<I?B+K*I+R:M+K*I+R-I],X=0;X<=y;X++)for(w=0;w<V;w++){var Ya=w<<y,Gc=(R<<y)+X,jc=Ma||ga&128>>(8<=w&&176<=K&&223>=K?7:w)?s:xb;Ok(yb,Ya,Gc,jc);y&&Ok(yb,Ya+1,Gc,jc)}W.putImageData(yb,(K&15)*n.lc,(K>>4)*n.mc)}n.ef[u]="#"+t(s[0])+t(s[1])+t(s[2]);n.fk[u]=s;n.ai[u]=Qb;n=!0}}a.Wd[b]=r;return n}function Pk(a){0<a.Ge||0<=a.Oc?0>a.He&&(a.He=0):a.He=-1}
function Kk(a){if(a.Vb){for(var b=10;15>=b;b++)if(null==a.Ha.ec[b])return;var c=a.Ha.ec[10],b=c&31,d=a.Ha.ec[11]&31,e=a.Ha.ec[9]&31,f=!1;a.Ha===a.na&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Qk(a);else{c=a.Ha.ec[15]+((a.Ha.ec[14]&63)<<8);a.Oc!=c&&(Qk(a),a.Oc=c);d=d-b+1;if(a.om!=b||a.tk!=d)a.om=b,a.tk=d;a.he=e+1;Pk(a)}}}
function Qk(a){if(0<=a.Oc){if(void 0!==a.fc){var b=a.fc[a.Oc];if(b&131072){var b=b&-131073,c=a.Oc%a.Lb,d=Math.floor(a.Oc/a.Lb);a.Vb&&a.Wd[a.Vb]&&(a.kf&&Rk(a,c,d,b,a.kf),Rk(a,c,d,b));a.fc[a.Oc]=b}}a.Oc=-1}}
function Sk(a){var b;a=a.Ha;var c=a.ye[5];if(null!=c){b=2;var d=512,e=a.ye[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.qd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.Ze=function(a){var b=this.Ha;null!=a&&b&&a!=b.Dh&&(b.Uh(a),this.ra.Uh(b.Va,b.Tb,b.Rf))};
function Jk(a,b){var c,d=a.Nd,e=a.Ha;if(e)if(1==e.ke)d=Vj;else if(5==e.ke){var d=null,f=e.Yc>>2,g=32768<f?32768:f,h=e.ye[6];if(null!=h){switch(h&12){case 0:e.Va=655360;e.Tb=f;d=255;break;case 4:e.Va=655360;e.Tb=f;d=3==a.oe?15:16;break;case 8:e.Va=720896;e.Tb=g;d=Vj;break;case 12:e.Va=753664,e.Tb=g,d=3==a.oe?2:3}c=e.Mf[1]&8;f=e.ec[6]|(e.ec[7]&1)<<8;255!=d&&(h&1?753664==e.Va?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=Sk(a)}}else e.Fc&8&&(e.Fc&2?(d=e.Fc&16?6:5,e.Fc&4||(d-=1)):(d=e.Fc&1?3:1,e.Fc&4&&(d-=
1)));else a.Nd=null,null==d&&(d=a.rd);if(!Ik(a,d,b))return!1;a.Ze(c);return!0}
function Ik(a,b,c){if(null!=b&&(b!=a.Nd||c)){a.um=0;a.Nd=b;b=a.Ha||(b==Vj?a.Xc:a.Kb);if(b!=a.Ha||b.Va!=a.Va||b.Tb!=a.Tb){Qk(a);if(a.Va){if(!mb(a.ra,a.Va,a.Tb))return!1;a.Ha&&(a.Ha.$c=!1)}a.Ha=b;b.$c=!0;a.Va=b.Va;a.Tb=b.Tb;if(!kb(a.ra,b.Va,b.Tb,!1,b===a.na?b:null))return!1}a.Vb=0;a.Lb=a.Gh;a.rc=a.Vi;a.Pi=Uj[Vj][2];b=0;var d=Uj[a.Nd];d&&(a.Lb=d[0],a.rc=d[1],a.Pi=d[2],b=d[3]||0,a.Vb=d[4],4==a.oe&&a.Ha===a.na&&3==a.Vb&&(7==a.na.ec[9]?a.rc=43:a.Vb=5));a.Qk=a.Lb*a.rc;a.Fh=a.Qk/a.Pi;a.pi=(a.Fh<<1)+b;a.qk=
b?a.pi+b>>1:0;13<=a.Nd&&(a.Fh<<=1);a.Wd.length&&(a.Cd=Math.floor(a.Bd/a.Lb),a.Dd=Math.floor(a.ie/a.rc),a.Vb?(b=a.Wd[a.Vb],d=a.Wd[a.Vb<<1],a.Gm&&80==a.Lb?d&&a.Cd>=3*d.lc>>2&&(a.Vb<<=1,b=d):(d&&a.Cd>=d.lc&&(a.Vb<<=1,b=d),b&&(a.Cd=b.lc,a.Dd=b.mc)),a.ag=a.bg=0,b&&(a.ag=a.Lb*b.lc,a.bg=a.rc*b.mc)):(a.Cd=a.Dd=1,a.ag=a.Lb,a.bg=a.rc),a.zh=a.Zc.createImageData(a.ag,a.bg),a.hf=window.document.createElement("canvas"),a.hf.width=a.ag,a.hf.height=a.bg,a.kf=a.hf.getContext("2d"),a.Zj=a.$j=0,a.ri=a.Bd,a.si=a.ie,
b=a.Bd-a.Lb*a.Cd,d=a.ie-a.rc*a.Dd,0<b&&(a.Zj=b>>1,a.ri-=b),0<d&&(a.$j=d>>1,a.si-=d),b||d)&&(a.Zc.fillStyle=a.fb.style.backgroundColor,a.Zc.fillRect(0,0,a.Bd,a.ie));!1!==c?Mb(a,!0):Tk(a,!0)}return!0}function Ok(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Tk(a,b){var c;if(b){if(c=a.Fh,void 0===a.fc||a.fc.length!=c)a.fc=Array(c)}else{if(void 0===a.fc)return;c=a.fc.length}for(var d=0;d<c;d++)a.fc[d]=-1;a.Ge=-1}
function Rk(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Wd[a.Vb];h.Lf&&(d=h.Lf[d]);var l=g>>4&15;h.Lf&&(l=h.Lf[l]);e?(b*=h.lc,c*=h.mc,e.fillStyle=h.ef[l],e.fillRect(b,c,h.lc,h.mc)):(b=b*a.Cd+a.Zj,c=c*a.Dd+a.$j,a.Zc.fillStyle=h.ef[l],a.Zc.fillRect(b,c,a.Cd,a.Dd));g&256&&(l=(f&15)*h.lc,f=(f>>4)*h.mc,e?e.drawImage(h.ai[d],l,f,h.lc,h.mc,b,c,h.lc,h.mc):a.Zc.drawImage(h.ai[d],l,f,h.lc,h.mc,b,c,a.Cd,a.Dd));g&512&&(f=a.om,g=a.tk,e?(a.he&&a.he!==h.mc&&(f=Math.floor(f*h.mc/a.he),g=Math.floor(g*h.mc/a.he)),
e.fillStyle=h.ef[d],e.fillRect(b,c+f,h.lc,g)):(a.he&&a.he!==a.Dd&&(f=Math.floor(f*a.Dd/a.he),g=Math.floor(g*a.Dd/a.he)),a.Zc.fillStyle=h.ef[d],a.Zc.fillRect(b,c+f,a.Cd,g)))}
function Mb(a,b){if(a.qa.Qb){var c=!1;a.Ha&&(a.Ha===a.na?a.na.Fd&32&&(c=!0):a.Ha.Fc&8&&(c=!0));if(c||b){if(b)Tk(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.um&15)&&0<=a.He&&(a.He++,d=!0);var e=0,f=a.Qk,c=a.Ha.Va,g=c+a.Ha.Tb,h=(a.Ha.ec[12]<<8)+a.Ha.ec[13];a.Vb&&(h<<=1);var c=c+h,l=a.pi;c+l>g&&(l=g-c,0>l&&(l=0));g=c+l;if(h=!b){for(var h=a.ra,n=!0,q=c>>h.zb;0<l&&q<h.Fa.length;)h.Fa[q].sb&&(h.Fa[q].sb=n=!1,h.Fa[q].zk=!0),l-=h.gc,q++;h=n}if(h){if(!d)return;if(!a.Ge){if(0>a.Oc)return;e=a.Oc;f=
e+1}}if(a.Vb){if(a.Wd[a.Vb]){d=0;h=a.Ge=0;l=1048575;a.Ha.Fc&32&&(h=32768,l&=~h,a.He&2||(l&=-65537));for(c+=e<<1;c<g&&e<f;)n=ob(a.ra,c),n|=65536,n&h&&(a.Ge++,n&=l),e==a.Oc&&(n|=a.He&1?131072:0),q=a.fc[e],q!=n&&(Rk(a,e%a.Lb,Math.floor(e/a.Lb),n,a.kf),a.fc[e]=n,d++),c+=2,e++;d&&a.kf&&a.Zc.drawImage(a.hf,0,0,a.ag,a.bg,a.Zj,a.$j,a.ri,a.si);Pk(a)}}else if(a.qk){for(var f=g,r,s,e=c,g=a.Ge=0,d=a.Pi,h=16==d?65536:196608,l=16==d?1:2,n=Lk(a,l),u=q=0,y=a.Lb,B=0,M=a.rc,V=0;e<f;){r=ob(a.ra,e);s=a.fc[g];if(s===
r)q+=d;else{a.fc[g]=r;r=r>>8|(r&255)<<8;s=h;var va=16;q<y&&(y=q);for(var wa=0;wa<d;wa++){var xb=(r&(s>>=l))>>(va-=l);Ok(a.zh,q++,u,n[xb])}q>B&&(B=q);u<M&&(M=u);u>=V&&(V=u+1)}e+=2;g++;if(q>=a.Lb){q=0;u+=2;if(u>a.rc)break;u==a.rc&&(u=1,e=c+a.qk)}}y<a.Lb&&(a.kf.putImageData(a.zh,0,0,y,M,B-y,V-M),a.Zc.drawImage(a.hf,0,0,a.Lb,a.rc,0,0,a.Bd,a.ie))}else{f=g;e=a.Ge=0;g=Lk(a);d=a.Ha.hd;l=h=0;n=a.Lb;q=0;u=a.rc;for(y=0;c<f;){B=c++-a.Va;B=d[B];M=a.fc[e];if(M===B)h+=8;else{a.fc[e]=B;h<n&&(n=h);for(M=0;8>M;M++)V=
B&2155905152,0>V&&(V+=4294967296),V=ek[V]||0,Ok(a.zh,h++,l,g[V]),B<<=1;h>q&&(q=h);l<u&&(u=l);l>=y&&(y=l+1)}e++;if(h>=a.Lb&&(h=0,++l>a.rc))break}n<a.Lb&&(a.kf.putImageData(a.zh,0,0,n,u,q-n,y-u),a.Zc.drawImage(a.hf,0,0,a.Lb,a.rc,0,0,a.Bd,a.ie))}}}}k.vn=function(a,b){return Uk(this,this.Xc,b)};k.Lo=function(a,b,c){a=this.Xc;a.xh=a.oc;a.oc=b&31;this.ea(a.port,b,c,"CRTC.INDX")};k.un=function(a,b){return Vk(this,this.Xc,b)};k.Ko=function(a,b,c){Wk(this,this.Xc,b,c)};
k.wn=function(a,b){return Xk(this,this.Xc,b)};k.Mo=function(a,b,c){a=this.Xc;this.ea(a.port+4,b,c,"MODE");a.Fc=b;Jk(this,!1)};k.xn=function(a,b){return Yk(this,this.Xc,b)};k.Xl=function(a,b,c){this.na.wh=this.na.wh&-4|b&3;this.ea(a,b,c,"FEAT")};k.Nk=function(a,b){var c=this.na.nd?this.na.Td[this.na.Fd&31]:this.na.Fd;this.ea(960,null,b,"ATC."+(this.na.nd?this.na.gi[this.na.Fd&31]:"INDX"),c);this.na.nd=!this.na.nd;return c};
k.Wl=function(a,b,c){var d=this.na.Fd&32;if(this.na.nd){var e=this.na.Fd&31;if(16<=e||!d)this.ea(a,b,c,"ATC."+this.na.gi[e]),this.na.Td[e]=b;this.na.nd=!1}else this.na.Fd=b,this.ea(a,b,c,"ATC.INDX"),this.na.nd=!0,b&32&&!d&&Hk(this)&&Mb(this,!0)};k.Hn=function(a,b){var c=3-((this.na.gg&12)>>2),c=this.na.Xh&-17|(this.Vg&1<<c)<<4-c;this.na.Xh=c;this.ea(962,null,b,"STATUS0",c);return c};k.Oo=function(a,b,c){this.na.gg=b;Gk(this);this.ea(962,b,c,"MISC")};
k.Gn=function(a,b){var c=this.na.Hd;this.ea(964,null,b,"SEQ.INDX",c);return c};k.Vo=function(a,b,c){this.na.Hd=b;this.ea(964,b,c,"SEQ.INDX")};k.Fn=function(a,b){var c=this.na.Mf[this.na.Hd];this.ea(965,null,b,"SEQ"+this.na.ii[this.na.Hd],c);return c};k.Uo=function(a,b,c){this.ea(965,b,c,"SEQ."+this.na.ii[this.na.Hd]);this.na.Mf[this.na.Hd]=b;2==this.na.Hd&&(this.na.ob=dk[b&15])};k.nn=function(a,b){var c=this.na.Ji;this.ea(972,null,b,"GRC1",c);return c};
k.Fo=function(a,b,c){this.na.Ji=b;this.ea(972,b,c,"GRC1")};k.on=function(a,b){var c=this.na.Ki;this.ea(970,null,b,"GRC2",c);return c};k.Go=function(a,b,c){this.na.Ki=b;this.ea(970,b,c,"GRC2")};k.mn=function(a,b){var c=this.na.Gd;this.ea(974,null,b,"GRC.INDX",c);return c};k.Eo=function(a,b,c){this.na.Gd=b;this.ea(974,b,c,"GRC.INDX")};k.ln=function(a,b){var c=this.na.ye[this.na.Gd];this.ea(975,null,b,"GRC."+this.na.hi[this.na.Gd],c);return c};
k.Do=function(a,b,c){this.ea(975,b,c,"GRC."+this.na.hi[this.na.Gd]);this.na.ye[this.na.Gd]=b;switch(this.na.Gd){case 0:this.na.Jh=dk[b&15];this.na.Se=this.na.Jh&~this.na.re;break;case 1:this.na.re=~dk[b&15];this.na.Se=this.na.Jh&~this.na.re;break;case 2:this.na.Qi=dk[b&15]&2155905152;break;case 3:case 5:this.Ze(Sk(this));break;case 4:this.na.Ij=(b&3)<<3;break;case 6:Jk(this,!1);break;case 7:this.na.Ri=dk[b&15^15]&2155905152;break;case 8:this.na.vb=b|b<<8|b<<16|b<<24}};
k.cn=function(a,b){return Uk(this,this.Kb,b)};k.wo=function(a,b,c){a=this.Kb;a.xh=a.oc;a.oc=b&31;this.ea(a.port,b,c,"CRTC.INDX")};k.bn=function(a,b){return Vk(this,this.Kb,b)};k.vo=function(a,b,c){Wk(this,this.Kb,b,c)};k.dn=function(a,b){return Xk(this,this.Kb,b)};k.xo=function(a,b,c){a=this.Kb;this.ea(a.port+4,b,c,"MODE");a.Fc=b;Jk(this,!1)};k.an=function(a,b){var c=this.Kb.jf;this.ea(this.Kb.port+5,null,b,this.Kb.type+".COLOR",c);return c};
k.uo=function(a,b,c){this.ea(this.Kb.port+5,b,c,this.Kb.type+".COLOR");this.Kb.jf!==b&&(this.Kb.jf=b,Tk(this,!1))};k.en=function(a,b){return Yk(this,this.Kb,b)};function Uk(a,b,c){var d=b.oc;a.ea(b.port,null,c,"CRTC.INDX",d);return d}function Vk(a,b,c){var d;b.oc<b.Oi&&(d=b.ec[b.oc]);a.ea(b.port+1,null,c,"CRTC."+b.Tg[b.oc],d);return d}function Wk(a,b,c,d){b.oc<b.Oi&&(a.ea(b.port+1,c,d,"CRTC."+b.Tg[b.oc]),b.ec[b.oc]=c,9==b.oc&&8!=b.xh&&Jk(a,!0),Kk(a))}
function Xk(a,b,c){var d=b.Fc;a.ea(b.port+4,null,c,"MODE",d);return d}function Yk(a,b,c){var d=0,e=Ub(a.T),f=e-b.Zi;0>f&&(f=0);f%b.Si>b.Xn&&(d|=1);f%=b.Tk;f>b.$n&&(d|=8);b.Zi=e-f;b===a.na?(d|=b.Ff&48^48,b.nd=!1):d=(b.Ff^=9)|240;b.Ff=d;a.ea(b.port+6,null,c,b===a.na?"STATUS1":"STATUS",d);return d}k.Sa=function(a,b){this.fa&&(b||E(this.fa,Dk))&&this.fa.message(a)};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,Dk,e)};
var zk={948:T.prototype.vn,949:T.prototype.un,952:T.prototype.wn,954:T.prototype.xn,980:T.prototype.cn,981:T.prototype.bn,984:T.prototype.dn,985:T.prototype.an,986:T.prototype.en},Ak={948:T.prototype.Lo,949:T.prototype.Ko,952:T.prototype.Mo,980:T.prototype.wo,981:T.prototype.vo,984:T.prototype.xo,985:T.prototype.uo},Bk={960:T.prototype.Nk,961:T.prototype.Nk,962:T.prototype.Hn,964:T.prototype.Gn,965:T.prototype.Fn,970:T.prototype.on,972:T.prototype.nn,974:T.prototype.mn,975:T.prototype.ln},Ck={954:T.prototype.Xl,
960:T.prototype.Wl,961:T.prototype.Wl,962:T.prototype.Oo,964:T.prototype.Vo,965:T.prototype.Uo,970:T.prototype.Go,972:T.prototype.Fo,974:T.prototype.Eo,975:T.prototype.Do,986:T.prototype.Xl};
Ha(function(){for(var a=D(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=C(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new T(d,e,f);Za(d,c)}});
function Sk(a){this.Ik=a.adapter;switch(this.Ik){case 1:this.Nj=1016;this.tg=4;break;case 2:this.Nj=760;this.tg=3;break;default:x("Unrecognized serial adapter #"+this.Ik);return}this.fe=null;z.call(this,"SerialPort",a,Sk);var b=a.binding,c;a=Tk;b&&(void 0===c&&(c="Panel"),(c=Ya(c,this.id))&&(b=c.ya[b])&&this.Fb(null,null,a,b))}A(z,Sk);var Tk="buffer";k=Sk.prototype;k.hk=function(a,b){return a==this.xh?(this.me=b,this):null};
k.Fb=function(a,b,c,d){var e=this;switch(c){case Tk:return this.ya[c]=this.fe=d,d.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Uk(e,[b]))},d.onkeypress=function(a){a=a||window.event;Uk(e,[a.which||a.keyCode])},!0}return!1};k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet");tb(b,this,Vk,this.Nj);zb(b,this,Wk,this.Nj);this.Ta()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le()};k.save=function(){var a=new gd(this),b=0,c=[];c[b++]=this.li;c[b++]=this.lk;c[b++]=this.af;c[b++]=this.Xg;c[b++]=this.be;c[b++]=this.Tc;c[b++]=this.hd;c[b++]=this.Ic;c[b++]=this.jk;c[b]=this.Nf;a.set(0,c);return a.data()};k.restore=function(a){return this.le(a[0])};
k.le=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.li=a[b++];this.lk=a[b++];this.af=a[b++];this.Xg=a[b++];this.be=a[b++];this.Tc=a[b++];this.hd=a[b++];this.Ic=a[b++];this.jk=a[b++];this.Nf=a[b];return!0};function Uk(a,b){a.Nf=a.Nf.concat(b);Xk(a)}function Xk(a){0<a.Nf.length&&!(a.Ic&1)&&(a.li=a.Nf.shift(),a.Ic|=1);var b=-1;a.Ic&1&&a.Xg&1&&(b=4);0<=b?(a.be&=-8,a.be|=b,a.oa&&a.tg&&aj(a.oa,a.tg)):(a.be|=1,a.oa&&a.tg&&bj(a.oa,a.tg))}
k.Dn=function(a,b){var c=this.Tc&128?this.af&255:this.li;this.ea(a,null,b,this.Tc&128?"DLL":"RBR",c);this.Ic&=-2;Xk(this);return c};k.on=function(a,b){var c=this.Tc&128?this.af>>8:this.Xg;this.ea(a,null,b,this.Tc&128?"DLM":"IER",c);return c};k.pn=function(a,b){var c=this.be;this.ea(a,null,b,"IIR",c);return c};k.qn=function(a,b){var c=this.Tc;this.ea(a,null,b,"LCR",c);return c};k.sn=function(a,b){var c=this.hd;this.ea(a,null,b,"MCR",c);return c};
k.rn=function(a,b){var c=this.Ic;this.ea(a,null,b,"LSR",c);return c};k.yn=function(a,b){var c=this.jk;this.ea(a,null,b,"MSR",c);return c};k.Vo=function(a,b,c){this.ea(a,b,c,this.Tc&128?"DLL":"THR");this.Tc&128?this.af=this.af&-256|b:(this.lk=b,this.Ic&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Ic|=96))};
k.Go=function(a,b,c){this.ea(a,b,c,this.Tc&128?"DLM":"IER");this.Tc&128?this.af=this.af&255|b<<8:this.Xg=b};k.Ho=function(a,b,c){this.ea(a,b,c,"LCR");this.Tc=b};
k.Io=function(a,b,c){var d=this.hd;this.ea(a,b,c,"MCR");this.hd=b;this.me&&(d^b)&3&&(a=this.me,b=this.hd,(c=3==(b&3))?a.Yc||(d=!1,a.hd&2||(a.reset(),a.Ra("serial mouse reset"),d=!0),a.hd&1||(a.Ra("serial mouse ID requested"),d=!0),d&&(Uk(a.Zf,[77,77]),a.Ra("serial mouse ID sent")),Yk(a,a.bb),a.setActive(c)):a.Yc&&(a.Ra("serial mouse inactive"),Zk(a.bb),a.setActive(c)),a.hd=b)};k.Ra=function(a){this.fa&&E(this.fa,$k)&&this.fa.message(a)};
k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,$k,e)};var Vk={0:Sk.prototype.Dn,1:Sk.prototype.on,2:Sk.prototype.pn,3:Sk.prototype.qn,4:Sk.prototype.sn,5:Sk.prototype.rn,6:Sk.prototype.yn},Wk={0:Sk.prototype.Vo,1:Sk.prototype.Go,3:Sk.prototype.Ho,4:Sk.prototype.Io};Ha(function(){for(var a=D(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Sk(d);Za(d,c)}});
function al(a){z.call(this,"Mouse",a,al);if(this.Ki=a.serial)this.Qj="SerialPort";this.setActive(!1);this.ph=!1;this.Ta()}A(z,al);k=al.prototype;k.oc=function(a,b,c,d){this.Ka=a;this.ra=b;this.T=c;this.fa=d;this.Xh=eb(this.Ka,"Video")};k.setActive=function(a){this.Yc=a};
k.Zb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Qj&&!this.Zf){for(var c=null;(c=eb(this.Ka,this.Qj,c))&&(!c.hk||!(this.Zf=c.hk(this.Ki,this))););this.Zf?this.Xh&&(c=this.Xh,c.me=this,this.bb=c.bb):x(this.id+": "+this.Qj+" "+this.Ki+" unavailable")}this.Yc?Yk(this,this.bb):Zk(this.bb)}return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le()};k.save=function(){var a=new gd(this);a.set(0,this.Vj());return a.data()};
k.restore=function(a){return this.le(a[0])};k.le=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Lg=a[b++];this.Mg=a[b++];this.bf=a[b++];this.cf=a[b++];this.lh=a[b++];this.mh=a[b++];this.hd=a[b];return!0};k.Vj=function(){var a=0,b=[];b[a++]=this.Yc;b[a++]=this.Lg;b[a++]=this.Mg;b[a++]=this.bf;b[a++]=this.cf;b[a++]=this.lh;b[a++]=this.mh;b[a]=this.hd;return b};k.Ag=function(a){this.ph=a};
function Yk(a,b){b&&(a.zi||(b.addEventListener("mousemove",function(b){if(a.Yc&&a.T&&a.T.qa.Pb){if(0>a.Lg||0>a.Mg)a.Lg=b.clientX,a.Mg=b.clientY;a.ph?(a.bf=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.cf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.bf=b.clientX-a.Lg,a.cf=b.clientY-a.Mg);(a.bf||a.cf)&&bl(a,null,b.clientX,b.clientY);a.Lg=b.clientX;a.Mg=b.clientY}},!1),b.addEventListener("mousedown",function(b){cl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){cl(a,b.button,
!1)},!1),a.zi=!0),b.style.cursor="none")}function Zk(a){a&&(a.style.cursor="auto")}function cl(a,b,c){if(a.Yc&&a.T&&a.T.qa.Pb){var d;!(d=!1!==a.ph)&&(d=a.Xh)&&(d=a.Xh,d=d.Cm?d.uf(!0):!1);d||(a.ph=null);switch(b){case 0:a.lh!=c&&(a.lh=c,bl(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.mh!=c&&(a.mh=c,bl(a,"mouse button2 "+(c?"dn":"up")))}}}
function bl(a,b,c,d){var e=64|(a.lh?32:0)|(a.mh?16:0)|(a.cf&192)>>4|(a.bf&192)>>6,f=a.bf&63,g=a.cf&63;a.Ra((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]");Uk(a.Zf,[e,f,g]);a.bf=a.cf=0}k.Ra=function(a){this.fa&&E(this.fa,dl)&&this.fa.message(a+" @"+ea(this.T.va,this.T.xa.sa))};Ha(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new al(d);Za(d,c)}});
function el(a,b,c){z.call(this,"Disk",{id:a.Kk+".disk"+fl++},el);this.ia=a;this.Ka=a.Ka;this.fa=a.fa;this.Pa=b;this.qd=b.name;this.pf=b.pf;this.qh=this.Dd=!1;this.create(c,b.sb,b.tb,b.yb,b.jb);this.xe=[];this.Og=[];this.Rd=null;this.Ok=0;this.Fi=!1;this.Ta()}var fl=0;A(z,el);k=el.prototype;k.oc=function(a,b,c,d){this.fa=d};k.Zb=function(a,b){b||!this.qh||this.Dd||(this.Ta(!1),this.load(this.qd,this.Ve,null,this.Bm,this));return!0};k.Bm=function(){this.Ta(!0)};
k.Yb=function(a,b){if(this.Dd){var c,d=0;if(this.Fi&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=gl(this,!1);)if(d=c[0]){this.ia.Ja('Unable to save "'+this.qd+'" (error '+d+")");break}b&&this.Dd&&(c="action=close&volume="+this.Ve,c+="&machine="+this.ia.rf(),c+="&user="+this.ia.je(),sa(ta()+"/api/v1/disk?"+c,!0),this.Dd=!1);!d&&a&&this.ia.Ja(this.qd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.sb=b;this.tb=c;this.yb=d;this.jb=e;this.ab=[];if("preload"!=this.mode){a=Array(this.sb);for(b=0;b<a.length;b++){c=Array(this.tb);for(d=0;d<c.length;d++){e=Array(this.yb);for(var f=1;f<=e.length;f++)e[f-1]=hl(null,b,d,f,this.jb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.ab=a}this.kf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Ne)if(this.qd=a,this.Ve=b,this.Ne=d,this.vm=e||this.ia,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.sb=d[0];g.tb=d[1];g.yb=d[2];g.jb=512;b=g.jb>>2;var e=d=0,a=new DataView(a,0,c);g.ab=Array(g.sb);for(c=0;c<g.ab.length;c++)for(var f=g.ab[c]=Array(g.tb),y=0;y<f.length;y++)for(var B=f[y]=Array(g.yb),M=0;M<B.length;M++){for(var V=hl(null,c,y,M+1,g.jb,0),va=V.data,wa=0;wa<b;wa++,e+=4)var xb=va[wa]=a.getInt32(e,
!0),d=d+xb&4294967295;V.zc=b;B[M]=V}g.kf=d;b=g}else g.Ja("Unrecognized diskette format ("+c+" bytes)");g.Ne&&(g.Ne.call(g.ia,g.Pa,b,g.qd,g.Ve),g.Ne=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=il(this,b),this.qh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.pf?"":d)+"&format=json")),sa(f,!0,null,this,this.zm,b)};
k.zm=function(a,b,c,d){var e=null;this.qf=!1;var f=0>c&&this.Ka&&!this.Ka.qa.Ob;if(this.qh)c?this.ia.Ja('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Dd=!0,e=this);else if(c)this.ia.Ja('Unable to load disk "'+this.qd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.qf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.qf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.qd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)x(h[0]);else{this.sb=h.length;this.tb=h[0].length;this.yb=h[0][0].length;var l=h[0][0][0];this.jb=l&&l.length||512;for(b=a=0;b<this.sb;b++)for(c=0;c<this.tb;c++)for(d=0;d<this.yb;d++)if(l=h[b][c][d]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var r=l.data;if(void 0===r){var s=l.bytes;if(void 0!==s&&s.length){for(var f=
n<<2,u=s.length;u<f;u++)s[u]=q;this.fill(l,s,0)}else r=[],q=l.pattern=q|q<<8|q<<16|q<<24,l.data=r;delete l.bytes}hl(l,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.ab=h;this.kf=a;e=this}else x("Empty disk image: "+this.qd)}catch(y){x("Disk image error: "+y.message)}this.Ne&&(this.Ne.call(this.vm,this.Pa,e,this.qd,this.Ve),this.Ne=null)};function hl(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Lm=b;a.Nm=c;a.$c=a.zc=0;a.ob=!1;return a}
k.$n=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var l=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,l);l+=n.length;g++}}(d=d[5])&&d(c,a)};function il(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.sb+":"+a.tb+":"+a.yb+":"+a.jb;c+="&machine="+a.ia.rf();c+="&user="+a.ia.je();return ta()+"/api/v1/disk?"+c}
function jl(a,b,c,d,e,f){if(a.Dd){var g;g="action=read&volume="+a.Ve;g+="&chs="+a.sb+":"+a.tb+":"+a.yb+":"+a.jb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ia.rf());g+="&user="+a.ia.je();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.$n,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function kl(a,b,c){b.ob=!0;var d=a.xe.indexOf(b);0<=d&&(a.xe.splice(d,1),a.Og.splice(d,1));a.xe.push(b);a.Og.push(oa());c&&ll(a)}
function ll(a){if(a.xe.length){var b=a.Og[0]+2E3;a.Rd&&a.Ok<b&&(clearTimeout(a.Rd),a.Rd=null);if(!a.Rd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Rd=setTimeout(function(){gl(a,!0)},b);a.Ok=c+b}}else a.Rd&&(clearTimeout(a.Rd),a.Rd=null)}
function gl(a,b){b&&(a.Rd=null);var c=a.xe[0];if(c){for(var d=c.Lm,e=c.Nm,c=c.sector,f=0,g=[],h=c-1;h<a.ab[d][e].length;h++){var l=a.ab[d][e][h];if(!l.ob)break;var n=a.xe.indexOf(l);a.xe.splice(n,1);a.Og.splice(n,1);g=g.concat(ml(l));l.ob=!1;f++}a.Dd?(h={},a.Fi=!0,h.action="write",h.volume=a.Ve,h.chs=a.sb+":"+a.tb+":"+a.yb+":"+a.jb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ia.rf(),h.user=a.ia.je(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.fo,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.fo=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Fi=!1;if(0<=a&&a<this.ab.length&&0<=b&&b<this.ab[a].length)for(e-=1;0<f--&&0<=e&&e<this.ab[a][b].length;e++){var g=this.ab[a][b][e];c?kl(this,g,!1):g.ob||(g.$c=g.zc=0)}d&&ll(this)};k.info=function(){return this.ab.length?[this.ab.length,this.ab[0].length,this.ab[0][0].length,this.ab[0][0][0].length]:[0,0,0,0]};
function nl(a){a=JSON.stringify(a.ab);a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.ab[a];if(h){var l=h[b];if(!l&&g.Sf&&b<g.tb)for(l=h[b]=Array(g.ce),h=0;h<l.length;h++)l[h]=hl(null,a,b,h+1,g.eb,0);if(l){for(h=0;h<l.length;h++)if(l[h]&&l[h].sector==c){f=l[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<l.length;)null===l[h].pattern&&d++;jl(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Sf&&9==g.Xa&&(f=l[h]=hl(null,a,b,g.Xa,g.eb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function ml(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function ol(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.qf)return!1;if(b<a.length){if(c!=ol(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.zc?f<a.$c?(a.zc+=a.$c-f,a.$c=f):f>=a.$c+a.zc&&(a.zc+=f-(a.$c+a.zc)+1):(a.$c=f,a.zc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Dd&&kl(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Ve,this.kf,this.sb,this.tb,this.yb,this.jb];if(!this.Dd&&!this.qf)for(var c=this.ab,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.zc){for(var h=[],l=0,n=g.$c,q=g.$c+g.zc;n<q;)h[l++]=g.data[n++];b[a++]=[d,e,f,g.$c,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.ab.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.kf&&e[1]!=this.kf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.kf+")",b=-1));for(this.ab.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],n=g[f++];if(h>=this.ab.length||l>=this.ab[h].length||n>=this.ab[h][l].length){c="sector "+h+":"+l+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.qf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.ab[h][l][n]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.$c=e;for(h.zc=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&this.ia.Ja("unable to restore disk '"+this.qd+": "+c);return b};k.Ra=function(a){this.fa&&E(this.fa,pl)&&this.fa.message(a)};
function ql(a){z.call(this,"FDC",a,ql);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaFormat=this.wm;this.Je=null;if(a.autoMount&&(this.Je=a.autoMount,"string"==typeof this.Je))try{this.Je=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Je=null}this.tc=[]}A(z,ql);m={};aa={};
var rl={3:{zd:3,ee:0,name:aa.Vp},4:{zd:2,ee:1,name:aa.Tp},5:{zd:9,ee:7,name:aa.gq},6:{zd:9,ee:7,name:aa.Np},7:{zd:2,ee:0,name:aa.Pp},8:{zd:1,ee:2,name:aa.Up},10:{zd:2,ee:7,name:aa.Op},13:{zd:6,ee:7,name:aa.zp},15:{zd:3,ee:0,name:aa.Sp}};k=ql.prototype;
k.Fb=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.ya[c]=d,sl(this,"Local Disk","?"),sl(this,"Remote Disk","??"),d.onchange=function(){var a=e.ya.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(l){x("FDC option error: "+l.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b='<a href="'+c+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ya[c]=d,d.onchange=
function(){var a=da(d.value,10);null!=a&&tl(e,a)},!0;case "loadDrive":return this.ya[c]=d,d.onclick=function(){var a=e.ya.listDisks;a&&ul(e,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return window&&"FileReader"in window?(this.ya[c]=d,d.addEventListener("change",function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;ul(e,fa(b,!0),b,a)}return!1}):d.parentNode.removeChild(d),!0}return!1};
k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");this.Hd();tb(b,this,vl);zb(b,this,wl);this.Rf()||this.Ta()};
k.Zb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ka.Di){this.tc=[];for(var c=0;c<this.Ea.length;c++)xl(this,c,!0);this.Rf(!0)}}else if(!this.restore(a))return!1;if(c=this.ya.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Vi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Vi&&(c.value="0",tl(this,0))}}return!0};
k.Yb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Hd()};k.save=function(){var a=new gd(this);a.set(0,this.Sj());return a.data()};k.restore=function(a){return this.Hd(a[0])};
k.Hd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.hb=a[b++];b++;this.Da=a[b++];this.cc=a[b++];this.ub=a[b++];this.fb=a[b++];this.Df=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.tc=c);void 0===this.Ea&&(this.Vi=4,this.oa&&(this.Vi=Fi(this.oa)),this.Ea=Array(4));for(c=0;c<this.Ea.length;c++){var f=this.Ea[c];if(void 0===f){var f=this.Ea[c]={},g;if(this.oa)a:{g=this.oa;if(c<Fi(g)){if(!g.Vd){g=360;break a}if(c<g.Vd.length){g=g.Vd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.tb=
1;default:f.sb=40;f.yb=9;break;case 720:f.sb=80;f.yb=9;break;case 1200:f.sb=80;f.yb=15;break;case 1440:f.sb=80,f.yb=18}}this.Li(f,c,e[c])||(d=!1)}this.te=a[b++]||0;this.Zl=a[b]||0;return d};k.Sj=function(){var a=0,b=[];b[a++]=this.hb;b[a++]=0;b[a++]=this.Da;b[a++]=this.cc;b[a++]=this.ub;b[a++]=this.fb;b[a++]=this.Df;b[a++]=this.Uj();for(var c=a++,d=0;d<this.Ea.length;d++){var e=this.Ea[d];e.za&&yl(this,e.We,e.za)}b[c]=this.tc;b[a++]=this.te;b[a]=this.Zl;return b};
k.Li=function(a,b,c){var d=0,e=!0;a.hb=b;a.Bc=a.of=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.sb||40,a.tb||c[3],a.yb||9,a.jb||512,c[1],a.Gh,a.rg,a.sg]);a.Za=c[d++];var f=c[d++];a.name=f[0];a.sb=f[1];a.tb=f[2];a.yb=f[3];a.jb=f[4];a.pf=f[5];(a.Gh=f[6])?(a.rg=f[7],a.sg=f[8]):(a.Gh=a.sb,a.rg=a.tb,a.sg=a.yb);a.Na=c[d++];a.ae=c[d++];a.nb=c[d++];a.ae=100<=a.ae?a.ae-100:a.ae-a.nb;a.Xa=c[d++];a.ce=c[d++];a.eb=c[d++];a.cb=c[d++];a.Sa=null;a.za||(a.We="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Ea[b],xl(this,b,!0,!0),d.of=!0,b=new el(this,d,"preload"),this.vk(d,b,f,c,!0)):zl(this,b,f,c,!0)?a.za&&c&&Al(this,f,c,a.za):this.Ta(!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.cb&&(a.Sa=a.za.seek(a.nb,a.Na,a.Xa));return e};k.Uj=function(){for(var a=0,b=[],c=0;c<this.Ea.length;c++)b[a++]=this.Tj(this.Ea[c]);return b};
k.Tj=function(a){var b=0,c=[];c[b++]=a.Za;c[b++]=[a.name,a.sb,a.tb,a.yb,a.jb,a.pf,a.Gh,a.rg,a.sg];c[b++]=a.Na;c[b++]=a.ae+100;c[b++]=a.nb;c[b++]=a.Xa;c[b++]=a.ce;c[b++]=a.eb;c[b++]=a.cb;c[b++]=a.of;c[b++]=a.dm;c[b]=a.We;return c};k.sk=function(a){var b;a=this.Ea[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.gm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.nb=Math.floor(b/f),b%=f,a.Na=Math.floor(b/e),a.Xa=b%e+1,a.eb=c*d[3],a.Za=0,!0}return!1};
k.Rf=function(a){a||(this.Fe=0);if(this.Je)for(var b in this.Je){var c=this.Je[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Ea.length){!zl(this,d,c.name,c.path,!0)&&a&&this.Ta(!1);continue}}this.Ja("Unrecognized auto-mount specification for drive "+b)}return!!this.Fe};
function ul(a,b,c,d){var e,f=a.ya.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Ea.length)if(c)if("?"==c)a.Ja("Use 'Load' to load local disks");else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c);a.da("Attempting to load "+c+' as "'+b+'"')}for(a.da("loading disk "+c+"...");zl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.tc.length;h++)if(f.tc[h][1]==
g){f.tc.splice(h,1);break}xl(a,e,!1,!0)}}else xl(a,e);else a.Ja("Nothing to load")}function zl(a,b,c,d,e,f){var g=a.Ea[b];if(d&&g.We!=d){xl(a,b,e,!0);if(g.Bc)return a.Ja("Drive "+b+" busy"),!0;g.Bc=!0;e&&(g.Me=!0,a.Fe++,a.Ra("loading diskette '"+c+"'"));g.of=!!f;(new el(a,g,"preload")).load(c,d,f,a.vk);return!1}return!0}
k.vk=function(a,b,c,d,e){var f;a.Bc=!1;b&&(f=b.info(),b&&f[0]>a.sb||f[1]>a.tb)&&(this.Ja('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.dm=c,a.We=d,Al(this,c,d,b),f=b.info(),this.te|=128,this.Ja('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Me||e),a.Gh=f[0],a.rg=f[1],a.sg=f[2]):a.of=!1;a.Me&&(a.Me=!1,--this.Fe||this.Ta());tl(this,a.hb)};
function sl(a,b,c){if(a=a.ya.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.innerHTML=b;a.appendChild(d)}}function tl(a,b){if(0<=b&&b<a.Ea.length){var c=a.Ea[b],d=a.ya.listDisks,e=a.ya.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.of?"?":c.We,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function xl(a,b,c,d){var e=a.Ea[b];e.za&&(yl(a,e.We,e.za),e.dm="",e.We="",e.za=null,e.of=!1,a.te|=128,d||a.Ja("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tl(a,b))}function Al(a,b,c,d){var e;for(e=0;e<a.tc.length;e++)if(a.tc[e][1]==c){d.restore(a.tc[e][2]);return}a.tc[e]=[b,c,[]]}function yl(a,b,c){var d;for(d=0;d<a.tc.length;d++)if(a.tc[d][1]==b){a.tc[d][2]=c.save();break}}k.Bo=function(a,b,c){this.ea(a,b,c,"OUTPUT");b&4?this.Df&4||this.Df&8&&this.oa&&aj(this.oa,6):this.Hd();this.Df=b};
k.jn=function(a,b){this.ea(a,null,b,"STATUS",this.Da);return this.Da};k.gn=function(a,b){var c=0;this.ub<this.fb&&(c=this.cc[this.ub]);this.Df&8&&this.oa&&bj(this.oa,6);this.ea(a,null,b,"DATA["+this.ub+"]",c);++this.ub>=this.fb&&(this.Da&=-81,this.ub=this.fb=0);return c};
k.Ao=function(a,b,c){this.ea(a,b,c,"DATA["+this.fb+"]");this.fb<this.cc.length&&(this.cc[this.fb++]=b);a=this.cc[0]&31;if(void 0!==rl[a]&&this.fb>=rl[a].zd){c=!1;this.ub=0;a=this.Qa();var d,e,f,g,h;b=a&31;switch(b){case 3:this.Qa(m.Wp);this.Qa(m.Cp);this.Tb();break;case 4:e=this.Qa(m.Hf);this.hb=e&3;d=this.Ea[this.hb];this.Tb();this.bc((d.Za&4278190080)>>>24,m.Zp);break;case 5:case 6:e=this.Qa(m.Hf);c=e>>2&1;this.hb=e&3;d=this.Ea[this.hb];d.Na=c;e=d.nb=this.Qa(m.$j);f=this.Qa(m.ak);g=d.Xa=this.Qa(m.ck);
h=this.Qa(m.Zh);d.eb=128<<h;d.ce=this.Qa(m.xp);this.Qa(m.pm);this.Qa(m.wp);6==b?this.vi(d):this.wi(d);Bl(this,d,a,c,e,f,g,h);c=!0;break;case 7:e=this.Qa(m.Hf);this.hb=e&3;d=this.Ea[this.hb];d.nb=d.ae=0;d.Za=268435488;this.Tb();c=!0;break;case 8:d=this.Ea[this.hb];d.Na=0;this.Tb();this.bc(d.hb|d.Na<<2|d.Za&255,m.rm);this.bc(d.nb,m.Lp);this.hb=this.hb+1&3;break;case 10:e=this.Qa(m.Hf);c=e>>2&1;this.hb=e&3;d=this.Ea[this.hb];e=d.nb;f=d.Na=c;g=d.Xa=1;h=0;d.Za=0;d.za&&(d.Sa=d.za.seek(d.nb,d.Na,d.Xa))?
h=d.Sa.length:d.Za=72;Bl(this,d,a,c,e,f,g,h);c=!0;break;case 13:e=this.Qa(m.Hf);c=e>>2&1;this.hb=e&3;d=this.Ea[this.hb];e=d.nb;f=d.Na=c;g=1;h=this.Qa(m.Zh);d.eb=128<<h;d.ce=this.Qa(m.Rp);this.Qa(m.pm);d.ik=this.Qa(m.om);this.uk(d);Bl(this,d,a,c,e,f,g,h);c=!0;break;case 15:e=this.Qa(m.Hf),this.hb=e&3,d=this.Ea[this.hb],d.Na=e>>2&1,e=this.Qa(m.Ip),d.nb+=e-d.ae,0>d.nb&&(d.nb=0),d.nb>=d.sb&&(d.nb=d.sb-1),d.ae=e,d.Za=32,0==d.nb&&(d.Za|=268435456),this.Tb(),c=!0}0<this.fb&&(this.Da|=80);this.Df&8&&(!d||
d.Za&8||!c||this.oa&&aj(this.oa,6))}};k.hn=function(a,b){var c=this.te;this.te&=-129;this.ea(a,null,b,"INPUT",c);return c};k.zo=function(a,b,c){this.ea(a,b,c,"CONTROL");this.Zl=b};function Bl(a,b,c,d,e,f,g,h){a.Tb();a.bc(b.hb|b.Na<<2|b.Za&255,m.rm);a.bc((b.Za&65280)>>>8,m.Xp);a.bc((b.Za&16711680)>>>16,m.Yp);var l=0;if(e!=b.nb||f!=b.Na)l=g=1;c&128&&(f^=l,d||(l=0));a.bc(e+l,m.$j);a.bc(f,m.ak);a.bc(g,m.ck);a.bc(h,m.Zh)}k.Qa=function(){var a=this.cc[this.ub];this.ub++;return a};
k.Tb=function(){this.ub=this.fb=0};k.bc=function(a){this.cc[this.fb++]=a};k.ti=function(a,b,c){void 0===b||0>b?this.rc(a,c):c(-1,!1)};k.ui=function(a,b){return void 0!==b&&0<=b?this.Ec(a,b):-1};k.wm=function(a,b){return void 0!==b&&0<=b?this.Wj(a,b):-1};k.vi=function(a){a.Za=72;a.za&&(a.Sa=null,a.Za=0,this.oa&&(Ui(this.oa,2,this,"dmaRead",a),Oi(this.oa,2)))};k.wi=function(a){a.Za=72;a.za&&(a.za.qf?a.Za=576:(a.Sa=null,a.Za=0,this.oa&&(Ui(this.oa,2,this,"dmaWrite",a),Oi(this.oa,2))))};
k.uk=function(a){a.Za=72;a.za&&(a.Sa=null,a.Za=0,this.oa&&(a.Ie=0,a.vc=Array(4),a.Sf=!0,a.Yf=0,Ui(this.oa,2,this,"dmaFormat",a),Oi(this.oa,2),a.Sf=!1))};k.rc=function(a,b){var c=-1;if(!a.Za&&a.za){do{if(a.Sa&&0<=(c=ol(a.Sa,a.cb++)))break;a.Sa=a.za.seek(a.nb,a.Na,a.Xa);if(!a.Sa){a.Za=1088;break}a.cb=0;this.Pf(a)}while(1)}b(c,!1)};
k.Ec=function(a,b){if(a.Za||!a.za)return-1;do{if(a.Sa&&a.za.write(a.Sa,a.cb++,b))break;a.Sa=a.za.seek(a.nb,a.Na,a.Xa);if(!a.Sa){a.Za=8256;b=-1;break}a.cb=0;this.Pf(a)}while(1);return b};k.Pf=function(a){a.Xa++;a.Xa>=a.sg+1&&(a.Xa=1,a.Na++,a.Na>=a.rg&&(a.Na=0,a.nb++))};k.Wj=function(a,b){if(a.Za)return-1;a.vc[a.Ie++]=b;if(a.Ie==a.vc.length){a.nb=a.vc[0];a.Na=a.vc[1];a.Xa=a.vc[2];a.eb=128<<a.vc[3];for(var c=a.Ie=0;c<a.eb;c++)if(0>this.Ec(a,a.ik))return-1;a.Yf++}a.Yf>=a.ce&&(b=-1);return b};
k.Ra=function(a,b){this.fa&&(null==b&&(b=vj),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,vj,e)};var vl={1012:ql.prototype.jn,1013:ql.prototype.gn,1015:ql.prototype.hn},wl={1010:ql.prototype.Bo,1013:ql.prototype.Ao,1015:ql.prototype.zo};Ha(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new ql(d);Za(d,c)}});
function Y(a){z.call(this,"HDC",a,Y);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaWriteBuffer=this.xm;this.dmaWriteFormat=this.ym;this.ai=[];if(a.drives)try{this.ai=eval("("+a.drives+")")}catch(b){x("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.hg=(this.Le="at"==a.type)?1:0;this.Mm=this.Le?2:3}A(z,Y);
var Cl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=Y.prototype;k.Fb=function(){return!1};k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");tb(b,this,this.Le?Dl:El);zb(b,this,this.Le?Fl:Gl);Xc(c,19,this,this.Mn);Xc(c,64,this,this.Nn);this.reset();this.Rf()||this.Ta()};
k.Zb=function(a,b){if(!b)if(!a||!this.restore)this.Hd(),this.Ka.Di&&this.Rf(!0);else if(!this.restore(a))return!1;return!0};k.Yb=function(a){return a&&this.save?this.save():!0};k.rf=function(){return this.Ka?this.Ka.rf():""};k.je=function(){return this.Ka?this.Ka.je():""};k.reset=function(){this.Hd(null,!0)};k.save=function(){var a=new gd(this);a.set(0,this.Sj());return a.data()};k.restore=function(a){return this.Hd(a[0])};
k.Hd=function(a,b){var c=0,d=!0;if(this.Le)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Nd=a[c++],this.cm=a[c++],this.ue=a[c++],this.Rh=a[c++],this.Ph=a[c++],this.Oh=a[c++],this.Cf=a[c++],this.Da=a[c++],this.Pj=a[c++],this.Qh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Bf=a[c++];this.Da=a[c++];this.cc=a[c++];this.ub=a[c++];this.fb=a[c++];this.bm=a[c++];this.am=a[c++];this.$l=a[c++];var e=a[c++];void 0!==e?this.sf=e:void 0===this.sf&&(this.sf=-1)}void 0===this.Ea&&(this.Ea=Array(this.ai.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Ea.length;e++){void 0===this.Ea[e]&&(this.Ea[e]={});var f=this.Ea[e];this.Li(e,f,this.ai[e],c[e],b)||(d=!1);null!=this.Bf&&1>=e&&(this.Bf|=(f.type&3)<<(1-e<<1))}return d};
k.Sj=function(){var a=0,b=[];this.Le?(b[a++]=this.Nd,b[a++]=this.cm,b[a++]=this.ue,b[a++]=this.Rh,b[a++]=this.Ph,b[a++]=this.Oh,b[a++]=this.Cf,b[a++]=this.Da,b[a++]=this.Pj,b[a++]=this.Qh):(b[a++]=this.Bf,b[a++]=this.Da,b[a++]=this.cc,b[a++]=this.ub,b[a++]=this.fb,b[a++]=this.bm,b[a++]=this.am,b[a++]=this.$l,b[a++]=this.sf);b[a]=this.Uj();return b};
k.Li=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.hb=a;b.errorCode=d[f++];b.im=d[f++];b.pf=d[f++];b.ef=d[f++];b.ff=d[f++];b.Na=d[f++];b.tb=d[f++];b.Sd=d[f++];b.Xa=d[f++];b.ce=d[f++];b.eb=d[f++];b.bh=this.Le?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.je()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Cl[this.hg][b.type])b.type=this.Mm;c=Cl[this.hg][b.type];
b.yb=c[2]||17;b.jb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ta)){var h=e.ta[18],h=a?h&240|c:h&15|c<<4;e.ta&&(e.ta[18]=h,Ci(e))}void 0===b.za&&(b.za=null,this.Ja("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Hl(this,b);b.cb=d[f++];b.Sa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.cb&&(b.Sa=b.za.seek(b.Sd,b.Na,b.Xa+b.bh)));return g};k.Uj=function(){for(var a=0,b=[],c=0;c<this.Ea.length;c++)b[a++]=this.Tj(this.Ea[c]);return b};
k.Tj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.im;c[b++]=a.pf;c[b++]=a.ef;c[b++]=a.ff;c[b++]=a.Na;c[b++]=a.tb;c[b++]=a.Sd;c[b++]=a.Xa;c[b++]=a.ce;c[b++]=a.eb;c[b++]=a.cb;c[b]=a.za?a.za.save():null;return c};k.sk=function(a){var b;a=this.Ea[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Hl(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ef[2])?e=b.ef[0]<<8|b.ef[1]:c=b.type);null==c||d||(d=Cl[a.hg][c][1],e=Cl[a.hg][c][0]);d&&((c=Cl[a.hg][b.type])&&e!=c[0]&&d!=c[1]&&a.Ja("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.sb=e,b.tb=d,null==b.za&&(b.za=new el(a,b,b.mode)))}}
k.gm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Sd=Math.floor(b/g),b%=g,a.Na=Math.floor(b/f),a.Xa=b%f,a.eb=c*d[3],a.errorCode=0,!0}}return!1};
k.Rf=function(a){a||(this.Fe=0);for(var b=0;b<this.Ea.length;b++){var c=this.Ea[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.qh)){var d;d=c.name;var c=c.path,e=this.Ea[b];e.Bc?(this.Ja("Drive "+b+" busy"),d=!0):(e.Bc=!0,e.Me=!0,this.Fe++,this.Ra("loading "+d),(e.za||new el(this,e,e.mode)).load(d,c,null,this.Am),d=!1);!d&&a&&this.Ta(!1)}}else a&&void 0!==c.type&&(c.za=null,Hl(this,c,c.type))}return!!this.Fe};
k.Am=function(a,b,c){a.Bc=!1;(a.za=b)&&this.Ja('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.hb),a.Me);a.Me&&(a.Me=!1,--this.Fe||this.Ta())};k.Jn=function(a,b){var c=0;this.ub<this.fb&&(c=this.cc[this.ub]);this.oa&&bj(this.oa,5);this.Da&=-33;this.ea(a,null,b,"DATA["+this.ub+"]",c);++this.ub>=this.fb&&(this.ub=this.fb=0,this.Da&=-15);return c};
k.Xo=function(a,b,c){this.ea(a,b,c,"DATA["+this.fb+"]");this.fb<this.cc.length&&(this.cc[this.fb++]=b);a=12!=this.cc[0]?6:this.cc.length;6==this.fb&&(this.Da&=-2);this.fb>=a&&(this.Da|=2,this.Da&=-2,Il(this))};k.Kn=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);this.ub<this.fb&&(this.Da|=1);return c};k.$o=function(a,b,c){this.ea(a,b,c,"RESET");this.bm=b;this.oa&&bj(this.oa,5);this.Hd()};k.In=function(a,b){this.ea(a,null,b,"CONFIG",this.Bf);return this.Bf};
k.Zo=function(a,b,c){this.ea(a,b,c,"PULSE");this.am=b;this.Da=13};k.Yo=function(a,b,c){this.ea(a,b,c,"PATTERN");this.$l=b};k.Kj=function(a,b,c){this.ea(a,b,c,"NOISE")};k.Um=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.cb,c=this.rc(this.Pa),this.Pa.cb==this.Pa.jb))if(this.Pa.eb-=this.Pa.jb,this.ue=this.ue-1&255,this.Pa.eb>=this.Pa.jb){var e=this;this.rc(this.Pa,function(a){0<=a?Jl(e):(e.Da=1,e.Nd=16)},!1)}else this.Da=80;d||this.ea(a,null,b,"DATA",c);return c};
k.no=function(a,b,c){this.Pa&&0!=this.Pa.cb||this.ea(a,b,c,"DATA");this.Pa&&this.Pa.eb>=this.Pa.jb&&(0>this.Ec(this.Pa,b)?(this.Da=1,this.Nd=16):this.Pa.cb==this.Pa.jb&&(this.Pa.eb-=this.Pa.jb,this.ue=this.ue-1&255,Jl(this),this.Pa.eb>=this.Pa.jb||(this.Da=80)))};k.Wm=function(a,b){var c=this.Nd;this.ea(a,null,b,"ERROR",c);return c};k.so=function(a,b,c){this.ea(a,b,c,"WPREC");this.cm=b};k.Xm=function(a,b){var c=this.ue;this.ea(a,null,b,"SECCNT",c);return c};
k.qo=function(a,b,c){this.ea(a,b,c,"SECCNT");this.ue=b};k.Ym=function(a,b){var c=this.Rh;this.ea(a,null,b,"SECNUM",c);return c};k.ro=function(a,b,c){this.ea(a,b,c,"SECNUM");this.Rh=b};k.Tm=function(a,b){var c=this.Ph;this.ea(a,null,b,"CYLLO",c);return c};k.mo=function(a,b,c){this.ea(a,b,c,"CYLLO");this.Ph=b};k.Sm=function(a,b){var c=this.Oh;this.ea(a,null,b,"CYLHI",c);return c};k.lo=function(a,b,c){this.ea(a,b,c,"CYLHI");this.Oh=b};k.Vm=function(a,b){var c=this.Cf;this.ea(a,null,b,"DRVHD",c);return c};
k.oo=function(a,b,c){this.ea(a,b,c,"DRVHD");this.Cf=b;this.Da=this.Ea[this.Cf&16?1:0]?this.Da|64:this.Da&-65};k.Zm=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);return c};k.ko=function(a,b,c){this.ea(a,b,c,"COMMAND");this.Pj=b;this.oa&&bj(this.oa,14);Kl(this)};k.po=function(a,b,c){this.ea(a,b,c,"FDR");this.Qh&4&&!(b&4)&&(this.Nd=1);this.Qh=b};
function Kl(a){var b=!1,c=a.Pj,d=a.Cf&16?1:0,e=a.Cf&15,f=a.Ph|(a.Oh&3)<<8,g=a.Rh,h=a.ue||256;a.Pa=null;a.Nd=0;a.Da=80;(d=a.Ea[d])?(d.Sd=f,d.Na=e,d.Xa=g,d.eb=h*d.jb,c=144<=c?c:c&240,d.Sa=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.rc(d,function(b){0<=b&&a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=16)},!1);break;case 48:a.oa?(Jl(a),a.Da=136):(a.Da=1,a.Nd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Nd=1;b=!0;break;case 145:d.tb=e+1,d.yb=h,b=!0}b&&Jl(a)}
function Jl(a){!a.oa||a.Qh&2||aj(a.oa,14)}
function Il(a){a.ub=0;var b=a.Qa(),c=a.Qa(),d=c&32,e=d>>5,f=c&31,g=a.Qa(),h=a.Qa(),l=g<<2&768|h,n=g&63,q=a.Qa(),r=a.Qa(),s=a.Ea[e];s&&(s.Sd=l,s.Na=f,s.Xa=n,s.eb=q*s.jb);switch(b){case 3:a.Tb(s?s.errorCode:4);a.bc(c);a.bc(g);a.bc(h);a.bc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Qa());)s&&c<s.ef.length&&(s.ef[c++]=b);s&&Hl(a,s);b=0;s||a.sf!=e||(a.sf=-1,b=2);a.Tb(b|d);b=-1;break;case 224:case 228:a.Tb(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.im=0),b){case 0:a.Tb(0|d);break;case 1:s.mq=
r;a.Tb(0|d);break;case 5:a.Tb(0|d);break;case 8:a.vi(s,function(b){a.Tb(b|d)});break;case 10:a.wi(s,function(b){a.Tb(b|d)});break;case 15:Ll(a,s,function(b){a.Tb(b|d)});break;default:a.Tb(2|d)}}k.Qa=function(){var a=-1;this.ub<this.fb&&(a=this.cc[this.ub++]);return a};k.Tb=function(a){this.ub=this.fb=0;void 0!==a&&this.bc(a);this.oa&&aj(this.oa,5);this.Da|=32};k.bc=function(a){this.cc[this.fb++]=a};k.ti=function(a,b,c){void 0===b||0>b?this.rc(a,c):c(-1,!1)};
k.ui=function(a,b){return void 0!==b&&0<=b?this.Ec(a,b):-1};k.xm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.cb<a.ff.length?a.ff[a.cb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.ym=function(a,b){return void 0!==b&&0<=b?this.Wj(a,b):-1};k.vi=function(a,b){a.errorCode=4;if(a.za&&(a.Sa=null,this.oa)){a.errorCode=0;Ui(this.oa,3,this,"dmaRead",a);Oi(this.oa,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.wi=function(a,b){a.errorCode=4;if(a.za&&(a.Sa=null,this.oa)){a.errorCode=0;Ui(this.oa,3,this,"dmaWrite",a);Oi(this.oa,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Ll(a,b,c){b.errorCode=4;b.ff&&b.ff.length==b.eb||(b.ff=Array(b.eb));b.cb=0;a.oa?(b.errorCode=0,Ui(a.oa,3,a,"dmaWriteBuffer",b),Oi(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.uk=function(a,b){a.errorCode=4;if(a.za&&(a.Sa=null,this.oa)){a.Ie=0;a.vc=Array(4);a.Sf=!0;a.Yf=0;a.errorCode=0;Ui(this.oa,3,this,"dmaWriteFormat",a);Oi(this.oa,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Sf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.rc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Sa&&(d=ol(a.Sa,a.cb),a.cb+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Sd,a.Na,a.Xa+a.bh,!1,function(c,h){(a.Sa=c)?(a.cb=0,f.Pf(a),d=ol(a.Sa,a.cb),a.cb+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Ec=function(a,b){if(a.errorCode)return-1;do{if(a.Sa&&a.za.write(a.Sa,a.cb++,b))break;a.za&&a.za.seek(a.Sd,a.Na,a.Xa+a.bh,!0,function(b){a.Sa=b});if(!a.Sa){a.errorCode=20;b=-1;break}a.cb=0;this.Pf(a)}while(1);return b};k.Pf=function(a){a.Xa++;var b=1-a.bh;a.Xa>=a.yb+b&&(a.Xa=b,a.Na++,a.Na>=a.tb&&(a.Na=0,a.Sd++))};
k.Wj=function(a,b){if(a.errorCode)return-1;a.vc[a.Ie++]=b;if(a.Ie==a.vc.length){a.Sd=a.vc[0];a.Na=a.vc[1];a.Xa=a.vc[2];a.eb=128<<a.vc[3];for(var c=a.Ie=0;c<a.eb;c++)if(0>this.Ec(a,a.ik))return-1;a.Yf++}a.Yf>=a.ce&&(b=-1);return b};k.Mn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.sf=a-128);return!0};k.Nn=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Ab[0].yd&64));return a?!0:!1};k.Ra=function(a,b){this.fa&&(null==b&&(b=Ml),E(this.fa,b)&&this.fa.message(a))};
k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,Ml,e)};
var El={800:Y.prototype.Jn,801:Y.prototype.Kn,802:Y.prototype.In},Dl={496:Y.prototype.Um,497:Y.prototype.Wm,498:Y.prototype.Xm,499:Y.prototype.Ym,500:Y.prototype.Tm,501:Y.prototype.Sm,502:Y.prototype.Vm,503:Y.prototype.Zm},Gl={800:Y.prototype.Xo,801:Y.prototype.$o,802:Y.prototype.Zo,803:Y.prototype.Yo,807:Y.prototype.Kj,811:Y.prototype.Kj,815:Y.prototype.Kj},Fl={496:Y.prototype.no,497:Y.prototype.so,498:Y.prototype.qo,499:Y.prototype.ro,500:Y.prototype.mo,501:Y.prototype.lo,502:Y.prototype.oo,503:Y.prototype.ko,
1014:Y.prototype.po};Ha(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Y(d);Za(d,c)}});
function Nl(a){z.call(this,"Debugger",a,Nl);this.eh=this.ad=-1;this.Fc=[0,0];this.dk=[0,0];this.Mh=null;this.lf=!1;this.we=[0,0];this.uc=[];Ol(this);Pl(this);var b=a.messages;this.ei=[];this.jc=0;b=Ql(this,b);if(b.length)for(var c in Rl)0<=b.indexOf(c)&&(this.jc|=Rl[c],this.da(c+" messages enabled"));this.lb={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Rj=a.commands}
var Db=1,Jj=2,P=4,Fd=8,pi=16,ri=32,sj=64,kj=128,hj=256,uj=512,wk=2048,vj=4096,Ml=8192,pl=16384,$k=32768,tj=65536,dl=262144,Kd=1048576,Zc=4194304,pj=16777216;A(z,Nl);
var ti=26,Sl={16:wk,22:uj,28:pi,33:2097152,51:dl},Tl={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},Ul="DB AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
Z="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),Vl="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Rl={mem:Db,port:Jj,dma:P,pic:Fd,timer:pi,cmos:ri,rtc:sj,8042:kj,chipset:hj,kbd:uj,keys:1024,video:wk,fdc:vj,hdc:Ml,disk:pl,serial:$k,speaker:tj,state:131072,mouse:dl,computer:524288,cpu:Kd,dos:2097152,"int":Zc,log:pj,halt:268435456},$=[0,0],Wl=[205,12291],Xl=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],
function Zk(a){this.Jk=a.adapter;switch(this.Jk){case 1:this.Oj=1016;this.rg=4;break;case 2:this.Oj=760;this.rg=3;break;default:x("Unrecognized serial adapter #"+this.Jk);return}this.fe=null;z.call(this,"SerialPort",a,Zk);var b=a.binding,c;a=$k;b&&(void 0===c&&(c="Panel"),(c=Xa(c,this.id))&&(b=c.wa[b])&&this.Db(null,null,a,b))}A(z,Zk);var $k="buffer";k=Zk.prototype;k.hk=function(a,b){return a==this.yh?(this.me=b,this):null};
k.Db=function(a,b,c,d){var e=this;switch(c){case $k:return this.wa[c]=this.fe=d,d.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),al(e,[b]))},d.onkeypress=function(a){a=a||window.event;al(e,[a.which||a.keyCode])},!0}return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.oa=eb(a,"ChipSet");tb(b,this,bl,this.Oj);zb(b,this,cl,this.Oj);this.Ua()};
k.$b=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Zb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le()};k.save=function(){var a=new gd(this),b=0,c=[];c[b++]=this.mi;c[b++]=this.lk;c[b++]=this.bf;c[b++]=this.Wg;c[b++]=this.be;c[b++]=this.Wc;c[b++]=this.kd;c[b++]=this.Lc;c[b++]=this.jk;c[b]=this.Of;a.set(0,c);return a.data()};k.restore=function(a){return this.le(a[0])};
k.le=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.mi=a[b++];this.lk=a[b++];this.bf=a[b++];this.Wg=a[b++];this.be=a[b++];this.Wc=a[b++];this.kd=a[b++];this.Lc=a[b++];this.jk=a[b++];this.Of=a[b];return!0};function al(a,b){a.Of=a.Of.concat(b);dl(a)}function dl(a){0<a.Of.length&&!(a.Lc&1)&&(a.mi=a.Of.shift(),a.Lc|=1);var b=-1;a.Lc&1&&a.Wg&1&&(b=4);0<=b?(a.be&=-8,a.be|=b,a.oa&&a.rg&&ej(a.oa,a.rg)):(a.be|=1,a.oa&&a.rg&&fj(a.oa,a.rg))}
k.En=function(a,b){var c=this.Wc&128?this.bf&255:this.mi;this.ea(a,null,b,this.Wc&128?"DLL":"RBR",c);this.Lc&=-2;dl(this);return c};k.pn=function(a,b){var c=this.Wc&128?this.bf>>8:this.Wg;this.ea(a,null,b,this.Wc&128?"DLM":"IER",c);return c};k.qn=function(a,b){var c=this.be;this.ea(a,null,b,"IIR",c);return c};k.rn=function(a,b){var c=this.Wc;this.ea(a,null,b,"LCR",c);return c};k.tn=function(a,b){var c=this.kd;this.ea(a,null,b,"MCR",c);return c};
k.sn=function(a,b){var c=this.Lc;this.ea(a,null,b,"LSR",c);return c};k.zn=function(a,b){var c=this.jk;this.ea(a,null,b,"MSR",c);return c};k.Wo=function(a,b,c){this.ea(a,b,c,this.Wc&128?"DLL":"THR");this.Wc&128?this.bf=this.bf&-256|b:(this.lk=b,this.Lc&=-97,this.fe?(13!=b&&(8==b?this.fe.value=this.fe.value.slice(0,-1):(this.fe.value+=String.fromCharCode(b),this.fe.scrollTop=this.fe.scrollHeight)),a=!0):a=!1,a&&(this.Lc|=96))};
k.Ho=function(a,b,c){this.ea(a,b,c,this.Wc&128?"DLM":"IER");this.Wc&128?this.bf=this.bf&255|b<<8:this.Wg=b};k.Io=function(a,b,c){this.ea(a,b,c,"LCR");this.Wc=b};
k.Jo=function(a,b,c){var d=this.kd;this.ea(a,b,c,"MCR");this.kd=b;this.me&&(d^b)&3&&(a=this.me,b=this.kd,(c=3==(b&3))?a.$c||(d=!1,a.kd&2||(a.reset(),a.Sa("serial mouse reset"),d=!0),a.kd&1||(a.Sa("serial mouse ID requested"),d=!0),d&&(al(a.Yf,[77,77]),a.Sa("serial mouse ID sent")),el(a,a.fb),a.setActive(c)):a.$c&&(a.Sa("serial mouse inactive"),fl(a.fb),a.setActive(c)),a.kd=b)};k.Sa=function(a){this.fa&&E(this.fa,gl)&&this.fa.message(a)};
k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,gl,e)};var bl={0:Zk.prototype.En,1:Zk.prototype.pn,2:Zk.prototype.qn,3:Zk.prototype.rn,4:Zk.prototype.tn,5:Zk.prototype.sn,6:Zk.prototype.zn},cl={0:Zk.prototype.Wo,1:Zk.prototype.Ho,3:Zk.prototype.Io,4:Zk.prototype.Jo};Ha(function(){for(var a=D(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Zk(d);Za(d,c)}});
function hl(a){z.call(this,"Mouse",a,hl);if(this.Li=a.serial)this.Rj="SerialPort";this.setActive(!1);this.qh=!1;this.Ua()}A(z,hl);k=hl.prototype;k.pc=function(a,b,c,d){this.Ka=a;this.ra=b;this.T=c;this.fa=d;this.Yh=eb(this.Ka,"Video")};k.setActive=function(a){this.$c=a};
k.$b=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Rj&&!this.Yf){for(var c=null;(c=eb(this.Ka,this.Rj,c))&&(!c.hk||!(this.Yf=c.hk(this.Li,this))););this.Yf?this.Yh&&(c=this.Yh,c.me=this,this.fb=c.fb):x(this.id+": "+this.Rj+" "+this.Li+" unavailable")}this.$c?el(this,this.fb):fl(this.fb)}return!0};k.Zb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.le()};k.save=function(){var a=new gd(this);a.set(0,this.Wj());return a.data()};
k.restore=function(a){return this.le(a[0])};k.le=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Jg=a[b++];this.Kg=a[b++];this.cf=a[b++];this.df=a[b++];this.mh=a[b++];this.nh=a[b++];this.kd=a[b];return!0};k.Wj=function(){var a=0,b=[];b[a++]=this.$c;b[a++]=this.Jg;b[a++]=this.Kg;b[a++]=this.cf;b[a++]=this.df;b[a++]=this.mh;b[a++]=this.nh;b[a]=this.kd;return b};k.yg=function(a){this.qh=a};
function el(a,b){b&&(a.Ai||(b.addEventListener("mousemove",function(b){if(a.$c&&a.T&&a.T.qa.Rb){if(0>a.Jg||0>a.Kg)a.Jg=b.clientX,a.Kg=b.clientY;a.qh?(a.cf=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.df=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.cf=b.clientX-a.Jg,a.df=b.clientY-a.Kg);(a.cf||a.df)&&il(a,null,b.clientX,b.clientY);a.Jg=b.clientX;a.Kg=b.clientY}},!1),b.addEventListener("mousedown",function(b){jl(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){jl(a,b.button,
!1)},!1),a.Ai=!0),b.style.cursor="none")}function fl(a){a&&(a.style.cursor="auto")}function jl(a,b,c){if(a.$c&&a.T&&a.T.qa.Rb){var d;!(d=!1!==a.qh)&&(d=a.Yh)&&(d=a.Yh,d=d.Dm?d.vf(!0):!1);d||(a.qh=null);switch(b){case 0:a.mh!=c&&(a.mh=c,il(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.nh!=c&&(a.nh=c,il(a,"mouse button2 "+(c?"dn":"up")))}}}
function il(a,b,c,d){var e=64|(a.mh?32:0)|(a.nh?16:0)|(a.df&192)>>4|(a.cf&192)>>6,f=a.cf&63,g=a.df&63;a.Sa((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]");al(a.Yf,[e,f,g]);a.cf=a.df=0}k.Sa=function(a){this.fa&&E(this.fa,kl)&&this.fa.message(a+" @"+ea(this.T.va,this.T.ya.sa))};Ha(function(){for(var a=D(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new hl(d);Za(d,c)}});
function ll(a,b,c){z.call(this,"Disk",{id:a.Lk+".disk"+ml++},ll);this.ia=a;this.Ka=a.Ka;this.fa=a.fa;this.Pa=b;this.sd=b.name;this.qf=b.qf;this.rh=this.Ed=!1;this.create(c,b.wb,b.xb,b.Bb,b.nb);this.xe=[];this.Mg=[];this.Rd=null;this.Pk=0;this.Gi=!1;this.Ua()}var ml=0;A(z,ll);k=ll.prototype;k.pc=function(a,b,c,d){this.fa=d};k.$b=function(a,b){b||!this.rh||this.Ed||(this.Ua(!1),this.load(this.sd,this.We,null,this.Cm,this));return!0};k.Cm=function(){this.Ua(!0)};
k.Zb=function(a,b){if(this.Ed){var c,d=0;if(this.Gi&&!ua("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=nl(this,!1);)if(d=c[0]){this.ia.Ja('Unable to save "'+this.sd+'" (error '+d+")");break}b&&this.Ed&&(c="action=close&volume="+this.We,c+="&machine="+this.ia.sf(),c+="&user="+this.ia.je(),sa(ta()+"/api/v1/disk?"+c,!0),this.Ed=!1);!d&&a&&this.ia.Ja(this.sd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.wb=b;this.xb=c;this.Bb=d;this.nb=e;this.cb=[];if("preload"!=this.mode){a=Array(this.wb);for(b=0;b<a.length;b++){c=Array(this.xb);for(d=0;d<c.length;d++){e=Array(this.Bb);for(var f=1;f<=e.length;f++)e[f-1]=ol(null,b,d,f,this.nb,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.cb=a}this.lf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Oe)if(this.sd=a,this.We=b,this.Oe=d,this.wm=e||this.ia,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ba[c];if(d){g.wb=d[0];g.xb=d[1];g.Bb=d[2];g.nb=512;b=g.nb>>2;var e=d=0,a=new DataView(a,0,c);g.cb=Array(g.wb);for(c=0;c<g.cb.length;c++)for(var f=g.cb[c]=Array(g.xb),y=0;y<f.length;y++)for(var B=f[y]=Array(g.Bb),M=0;M<B.length;M++){for(var V=ol(null,c,y,M+1,g.nb,0),va=V.data,wa=0;wa<b;wa++,e+=4)var xb=va[wa]=a.getInt32(e,
!0),d=d+xb&4294967295;V.Bc=b;B[M]=V}g.lf=d;b=g}else g.Ja("Unrecognized diskette format ("+c+" bytes)");g.Oe&&(g.Oe.call(g.ia,g.Pa,b,g.sd,g.We),g.Oe=null)};h.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ha(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=pl(this,b),this.rh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
ta()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.qf?"":d)+"&format=json")),sa(f,!0,null,this,this.Am,b)};
k.Am=function(a,b,c,d){var e=null;this.rf=!1;var f=0>c&&this.Ka&&!this.Ka.qa.Qb;if(this.rh)c?this.ia.Ja('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ed=!0,e=this);else if(c)this.ia.Ja('Unable to load disk "'+this.sd+'" (error '+c+")",f);else try{if(0<fa(a,!0).toLowerCase().indexOf("-readonly"))this.rf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.rf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.sd]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)x(h[0]);else{this.wb=h.length;this.xb=h[0].length;this.Bb=h[0][0].length;var l=h[0][0][0];this.nb=l&&l.length||512;for(b=a=0;b<this.wb;b++)for(c=0;c<this.xb;c++)for(d=0;d<this.Bb;d++)if(l=h[b][c][d]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var r=l.data;if(void 0===r){var s=l.bytes;if(void 0!==s&&s.length){for(var f=
n<<2,u=s.length;u<f;u++)s[u]=q;this.fill(l,s,0)}else r=[],q=l.pattern=q|q<<8|q<<16|q<<24,l.data=r;delete l.bytes}ol(l,b,c);for(f=0;f<r.length;f++)a=a+r[f]&4294967295}this.cb=h;this.lf=a;e=this}else x("Empty disk image: "+this.sd)}catch(y){x("Disk image error: "+y.message)}this.Oe&&(this.Oe.call(this.wm,this.Pa,e,this.sd,this.We),this.Oe=null)};function ol(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Mm=b;a.Om=c;a.bd=a.Bc=0;a.sb=!1;return a}
k.ao=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],g=d[2],h=d[3];a=d[4];b=JSON.parse(b);for(var l=0;h--;){var n=this.seek(e,f,g,!0);if(!n)break;this.fill(n,b,l);l+=n.length;g++}}(d=d[5])&&d(c,a)};function pl(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.wb+":"+a.xb+":"+a.Bb+":"+a.nb;c+="&machine="+a.ia.sf();c+="&user="+a.ia.je();return ta()+"/api/v1/disk?"+c}
function ql(a,b,c,d,e,f){if(a.Ed){var g;g="action=read&volume="+a.We;g+="&chs="+a.wb+":"+a.xb+":"+a.Bb+":"+a.nb;g=g+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ia.sf());g+="&user="+a.ia.je();sa(ta()+"/api/v1/disk?"+g,!0,null,a,a.ao,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function rl(a,b,c){b.sb=!0;var d=a.xe.indexOf(b);0<=d&&(a.xe.splice(d,1),a.Mg.splice(d,1));a.xe.push(b);a.Mg.push(oa());c&&sl(a)}
function sl(a){if(a.xe.length){var b=a.Mg[0]+2E3;a.Rd&&a.Pk<b&&(clearTimeout(a.Rd),a.Rd=null);if(!a.Rd){var c=oa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Rd=setTimeout(function(){nl(a,!0)},b);a.Pk=c+b}}else a.Rd&&(clearTimeout(a.Rd),a.Rd=null)}
function nl(a,b){b&&(a.Rd=null);var c=a.xe[0];if(c){for(var d=c.Mm,e=c.Om,c=c.sector,f=0,g=[],h=c-1;h<a.cb[d][e].length;h++){var l=a.cb[d][e][h];if(!l.sb)break;var n=a.xe.indexOf(l);a.xe.splice(n,1);a.Mg.splice(n,1);g=g.concat(tl(l));l.sb=!1;f++}a.Ed?(h={},a.Gi=!0,h.action="write",h.volume=a.We,h.chs=a.wb+":"+a.xb+":"+a.Bb+":"+a.nb,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.ia.sf(),h.user=a.ia.je(),h.data=JSON.stringify(g),d=sa(ta()+"/api/v1/disk",b,h,a,a.ho,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.ho=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Gi=!1;if(0<=a&&a<this.cb.length&&0<=b&&b<this.cb[a].length)for(e-=1;0<f--&&0<=e&&e<this.cb[a][b].length;e++){var g=this.cb[a][b][e];c?rl(this,g,!1):g.sb||(g.bd=g.Bc=0)}d&&sl(this)};k.info=function(){return this.cb.length?[this.cb.length,this.cb[0].length,this.cb[0][0].length,this.cb[0][0][0].length]:[0,0,0,0]};
function ul(a){a=JSON.stringify(a.cb);a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.cb[a];if(h){var l=h[b];if(!l&&g.Tf&&b<g.xb)for(l=h[b]=Array(g.ce),h=0;h<l.length;h++)l[h]=ol(null,a,b,h+1,g.hb,0);if(l){for(h=0;h<l.length;h++)if(l[h]&&l[h].sector==c){f=l[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<l.length;)null===l[h].pattern&&d++;ql(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Tf&&9==g.Xa&&(f=l[h]=ol(null,a,b,g.Xa,g.hb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function tl(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function vl(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.rf)return!1;if(b<a.length){if(c!=vl(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Bc?f<a.bd?(a.Bc+=a.bd-f,a.bd=f):f>=a.bd+a.Bc&&(a.Bc+=f-(a.bd+a.Bc)+1):(a.bd=f,a.Bc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ed&&rl(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.We,this.lf,this.wb,this.xb,this.Bb,this.nb];if(!this.Ed&&!this.rf)for(var c=this.cb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Bc){for(var h=[],l=0,n=g.bd,q=g.bd+g.Bc;n<q;)h[l++]=g.data[n++];b[a++]=[d,e,f,g.bd,h]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.cb.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.lf&&e[1]!=this.lf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.lf+")",b=-1));for(this.cb.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],n=g[f++];if(h>=this.cb.length||l>=this.cb[h].length||n>=this.cb[h][l].length){c="sector "+h+":"+l+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.rf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.cb[h][l][n]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.bd=e;for(h.Bc=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&this.ia.Ja("unable to restore disk '"+this.sd+": "+c);return b};k.Sa=function(a){this.fa&&E(this.fa,wl)&&this.fa.message(a)};
function xl(a){z.call(this,"FDC",a,xl);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaFormat=this.xm;this.Je=null;if(a.autoMount&&(this.Je=a.autoMount,"string"==typeof this.Je))try{this.Je=eval("("+a.autoMount+")")}catch(b){x("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Je=null}this.uc=[];this.Ck=!1}A(z,xl);m={};aa={};
var yl={3:{Ad:3,ee:0,name:aa.Xp},4:{Ad:2,ee:1,name:aa.Vp},5:{Ad:9,ee:7,name:aa.iq},6:{Ad:9,ee:7,name:aa.Pp},7:{Ad:2,ee:0,name:aa.Rp},8:{Ad:1,ee:2,name:aa.Wp},10:{Ad:2,ee:7,name:aa.Qp},13:{Ad:6,ee:7,name:aa.Bp},15:{Ad:3,ee:0,name:aa.Up}};k=xl.prototype;
k.Db=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.wa[c]=d,d.onchange=function(){var a=e.wa.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(l){x("FDC option error: "+l.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b='<a href="'+c+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.wa[c]=d,d.onchange=function(){var a=da(d.value,10);null!=a&&zl(e,a)},
!0;case "loadDrive":return this.wa[c]=d,d.onclick=function(){var a=e.wa.listDisks;a&&Al(e,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return window&&"FileReader"in window?(this.Ck=!0,this.wa[c]=d,d.addEventListener("change",function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Al(e,fa(b,!0),b,a)}return!1}):d.parentNode.removeChild(d),!0}return!1};
k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");this.Id();tb(b,this,Bl);zb(b,this,Cl);this.Ck&&Dl(this,"Local Disk","?");Dl(this,"Remote Disk","??");this.Sf()||this.Ua()};
k.$b=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ka.Ei){this.uc=[];for(var c=0;c<this.Ea.length;c++)El(this,c,!0);this.Sf(!0)}}else if(!this.restore(a))return!1;if(c=this.wa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.Wi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Wi&&(c.value="0",zl(this,0))}}return!0};
k.Zb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Id()};k.save=function(){var a=new gd(this);a.set(0,this.Tj());return a.data()};k.restore=function(a){return this.Id(a[0])};
k.Id=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.kb=a[b++];b++;this.Da=a[b++];this.dc=a[b++];this.yb=a[b++];this.ib=a[b++];this.Ef=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.uc=c);void 0===this.Ea&&(this.Wi=4,this.oa&&(this.Wi=Ji(this.oa)),this.Ea=Array(4));for(c=0;c<this.Ea.length;c++){var f=this.Ea[c];if(void 0===f){var f=this.Ea[c]={},g;if(this.oa)a:{g=this.oa;if(c<Ji(g)){if(!g.Vd){g=360;break a}if(c<g.Vd.length){g=g.Vd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.xb=
1;default:f.wb=40;f.Bb=9;break;case 720:f.wb=80;f.Bb=9;break;case 1200:f.wb=80;f.Bb=15;break;case 1440:f.wb=80,f.Bb=18}}this.Mi(f,c,e[c])||(d=!1)}this.te=a[b++]||0;this.$l=a[b]||0;return d};k.Tj=function(){var a=0,b=[];b[a++]=this.kb;b[a++]=0;b[a++]=this.Da;b[a++]=this.dc;b[a++]=this.yb;b[a++]=this.ib;b[a++]=this.Ef;b[a++]=this.Vj();for(var c=a++,d=0;d<this.Ea.length;d++){var e=this.Ea[d];e.za&&Fl(this,e.Xe,e.za)}b[c]=this.uc;b[a++]=this.te;b[a]=this.$l;return b};
k.Mi=function(a,b,c){var d=0,e=!0;a.kb=b;a.Ec=a.pf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.wb||40,a.xb||c[3],a.Bb||9,a.nb||512,c[1],a.Hh,a.pg,a.qg]);a.$a=c[d++];var f=c[d++];a.name=f[0];a.wb=f[1];a.xb=f[2];a.Bb=f[3];a.nb=f[4];a.qf=f[5];(a.Hh=f[6])?(a.pg=f[7],a.qg=f[8]):(a.Hh=a.wb,a.pg=a.xb,a.qg=a.Bb);a.Na=c[d++];a.ae=c[d++];a.rb=c[d++];a.ae=100<=a.ae?a.ae-100:a.ae-a.rb;a.Xa=c[d++];a.ce=c[d++];a.hb=c[d++];a.gb=c[d++];a.Ta=null;a.za||(a.Xe="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.Ea[b],El(this,b,!0,!0),d.pf=!0,b=new ll(this,d,"preload"),this.vk(d,b,f,c,!0)):Gl(this,b,f,c,!0)?a.za&&c&&Hl(this,f,c,a.za):this.Ua(!1)):void 0!==g&&a.za&&0>a.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.gb&&(a.Ta=a.za.seek(a.rb,a.Na,a.Xa));return e};k.Vj=function(){for(var a=0,b=[],c=0;c<this.Ea.length;c++)b[a++]=this.Uj(this.Ea[c]);return b};
k.Uj=function(a){var b=0,c=[];c[b++]=a.$a;c[b++]=[a.name,a.wb,a.xb,a.Bb,a.nb,a.qf,a.Hh,a.pg,a.qg];c[b++]=a.Na;c[b++]=a.ae+100;c[b++]=a.rb;c[b++]=a.Xa;c[b++]=a.ce;c[b++]=a.hb;c[b++]=a.gb;c[b++]=a.pf;c[b++]=a.em;c[b]=a.Xe;return c};k.sk=function(a){var b;a=this.Ea[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};k.hm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.rb=Math.floor(b/f),b%=f,a.Na=Math.floor(b/e),a.Xa=b%e+1,a.hb=c*d[3],a.$a=0,!0}return!1};
k.Sf=function(a){a||(this.Fe=0);if(this.Je)for(var b in this.Je){var c=this.Je[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.Ea.length){!Gl(this,d,c.name,c.path,!0)&&a&&this.Ua(!1);continue}}this.Ja("Unrecognized auto-mount specification for drive "+b)}return!!this.Fe};
function Al(a,b,c,d){var e,f=a.wa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.Ea.length)if(c)if("?"==c)a.Ja('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=fa(c);a.da("Attempting to load "+c+' as "'+b+'"')}for(a.da("loading disk "+c+"...");Gl(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,g=c,h=void 0,h=0;h<f.uc.length;h++)if(f.uc[h][1]==g){f.uc.splice(h,1);break}El(a,e,!1,!0)}}else El(a,e);else a.Ja("Nothing to load")}function Gl(a,b,c,d,e,f){var g=a.Ea[b];if(d&&g.Xe!=d){El(a,b,e,!0);if(g.Ec)return a.Ja("Drive "+b+" busy"),!0;g.Ec=!0;e&&(g.Ne=!0,a.Fe++,a.Sa("loading diskette '"+c+"'"));g.pf=!!f;(new ll(a,g,"preload")).load(c,d,f,a.vk);return!1}return!0}
k.vk=function(a,b,c,d,e){var f;a.Ec=!1;b&&(f=b.info(),b&&f[0]>a.wb||f[1]>a.xb)&&(this.Ja('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.za=b,a.em=c,a.Xe=d,Hl(this,c,d,b),f=b.info(),this.te|=128,this.Ja('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.Ne||e),a.Hh=f[0],a.pg=f[1],a.qg=f[2]):a.pf=!1;a.Ne&&(a.Ne=!1,--this.Fe||this.Ua());zl(this,a.kb)};
function Dl(a,b,c){if(a=a.wa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.innerHTML=b;a.appendChild(d)}}function zl(a,b){if(0<=b&&b<a.Ea.length){var c=a.Ea[b],d=a.wa.listDisks,e=a.wa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.pf?"?":c.Xe,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function El(a,b,c,d){var e=a.Ea[b];e.za&&(Fl(a,e.Xe,e.za),e.em="",e.Xe="",e.za=null,e.pf=!1,a.te|=128,d||a.Ja("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||zl(a,b))}function Hl(a,b,c,d){var e;for(e=0;e<a.uc.length;e++)if(a.uc[e][1]==c){d.restore(a.uc[e][2]);return}a.uc[e]=[b,c,[]]}function Fl(a,b,c){var d;for(d=0;d<a.uc.length;d++)if(a.uc[d][1]==b){a.uc[d][2]=c.save();break}}k.Co=function(a,b,c){this.ea(a,b,c,"OUTPUT");b&4?this.Ef&4||this.Ef&8&&this.oa&&ej(this.oa,6):this.Id();this.Ef=b};
k.kn=function(a,b){this.ea(a,null,b,"STATUS",this.Da);return this.Da};k.hn=function(a,b){var c=0;this.yb<this.ib&&(c=this.dc[this.yb]);this.Ef&8&&this.oa&&fj(this.oa,6);this.ea(a,null,b,"DATA["+this.yb+"]",c);++this.yb>=this.ib&&(this.Da&=-81,this.yb=this.ib=0);return c};
k.Bo=function(a,b,c){this.ea(a,b,c,"DATA["+this.ib+"]");this.ib<this.dc.length&&(this.dc[this.ib++]=b);a=this.dc[0]&31;if(void 0!==yl[a]&&this.ib>=yl[a].Ad){c=!1;this.yb=0;a=this.Qa();var d,e,f,g,h;b=a&31;switch(b){case 3:this.Qa(m.Yp);this.Qa(m.Ep);this.Ub();break;case 4:e=this.Qa(m.If);this.kb=e&3;d=this.Ea[this.kb];this.Ub();this.cc((d.$a&4278190080)>>>24,m.aq);break;case 5:case 6:e=this.Qa(m.If);c=e>>2&1;this.kb=e&3;d=this.Ea[this.kb];d.Na=c;e=d.rb=this.Qa(m.ak);f=this.Qa(m.bk);g=d.Xa=this.Qa(m.dk);
h=this.Qa(m.$h);d.hb=128<<h;d.ce=this.Qa(m.zp);this.Qa(m.qm);this.Qa(m.yp);6==b?this.wi(d):this.xi(d);Il(this,d,a,c,e,f,g,h);c=!0;break;case 7:e=this.Qa(m.If);this.kb=e&3;d=this.Ea[this.kb];d.rb=d.ae=0;d.$a=268435488;this.Ub();c=!0;break;case 8:d=this.Ea[this.kb];d.Na=0;this.Ub();this.cc(d.kb|d.Na<<2|d.$a&255,m.sm);this.cc(d.rb,m.Np);this.kb=this.kb+1&3;break;case 10:e=this.Qa(m.If);c=e>>2&1;this.kb=e&3;d=this.Ea[this.kb];e=d.rb;f=d.Na=c;g=d.Xa=1;h=0;d.$a=0;d.za&&(d.Ta=d.za.seek(d.rb,d.Na,d.Xa))?
h=d.Ta.length:d.$a=72;Il(this,d,a,c,e,f,g,h);c=!0;break;case 13:e=this.Qa(m.If);c=e>>2&1;this.kb=e&3;d=this.Ea[this.kb];e=d.rb;f=d.Na=c;g=1;h=this.Qa(m.$h);d.hb=128<<h;d.ce=this.Qa(m.Tp);this.Qa(m.qm);d.ik=this.Qa(m.pm);this.uk(d);Il(this,d,a,c,e,f,g,h);c=!0;break;case 15:e=this.Qa(m.If),this.kb=e&3,d=this.Ea[this.kb],d.Na=e>>2&1,e=this.Qa(m.Kp),d.rb+=e-d.ae,0>d.rb&&(d.rb=0),d.rb>=d.wb&&(d.rb=d.wb-1),d.ae=e,d.$a=32,0==d.rb&&(d.$a|=268435456),this.Ub(),c=!0}0<this.ib&&(this.Da|=80);this.Ef&8&&(!d||
d.$a&8||!c||this.oa&&ej(this.oa,6))}};k.jn=function(a,b){var c=this.te;this.te&=-129;this.ea(a,null,b,"INPUT",c);return c};k.Ao=function(a,b,c){this.ea(a,b,c,"CONTROL");this.$l=b};function Il(a,b,c,d,e,f,g,h){a.Ub();a.cc(b.kb|b.Na<<2|b.$a&255,m.sm);a.cc((b.$a&65280)>>>8,m.Zp);a.cc((b.$a&16711680)>>>16,m.$p);var l=0;if(e!=b.rb||f!=b.Na)l=g=1;c&128&&(f^=l,d||(l=0));a.cc(e+l,m.ak);a.cc(f,m.bk);a.cc(g,m.dk);a.cc(h,m.$h)}k.Qa=function(){var a=this.dc[this.yb];this.yb++;return a};
k.Ub=function(){this.yb=this.ib=0};k.cc=function(a){this.dc[this.ib++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Hc(a,b):-1};k.xm=function(a,b){return void 0!==b&&0<=b?this.Xj(a,b):-1};k.wi=function(a){a.$a=72;a.za&&(a.Ta=null,a.$a=0,this.oa&&(Yi(this.oa,2,this,"dmaRead",a),Si(this.oa,2)))};k.xi=function(a){a.$a=72;a.za&&(a.za.rf?a.$a=576:(a.Ta=null,a.$a=0,this.oa&&(Yi(this.oa,2,this,"dmaWrite",a),Si(this.oa,2))))};
k.uk=function(a){a.$a=72;a.za&&(a.Ta=null,a.$a=0,this.oa&&(a.Ie=0,a.xc=Array(4),a.Tf=!0,a.Xf=0,Yi(this.oa,2,this,"dmaFormat",a),Si(this.oa,2),a.Tf=!1))};k.sc=function(a,b){var c=-1;if(!a.$a&&a.za){do{if(a.Ta&&0<=(c=vl(a.Ta,a.gb++)))break;a.Ta=a.za.seek(a.rb,a.Na,a.Xa);if(!a.Ta){a.$a=1088;break}a.gb=0;this.Qf(a)}while(1)}b(c,!1)};
k.Hc=function(a,b){if(a.$a||!a.za)return-1;do{if(a.Ta&&a.za.write(a.Ta,a.gb++,b))break;a.Ta=a.za.seek(a.rb,a.Na,a.Xa);if(!a.Ta){a.$a=8256;b=-1;break}a.gb=0;this.Qf(a)}while(1);return b};k.Qf=function(a){a.Xa++;a.Xa>=a.qg+1&&(a.Xa=1,a.Na++,a.Na>=a.pg&&(a.Na=0,a.rb++))};k.Xj=function(a,b){if(a.$a)return-1;a.xc[a.Ie++]=b;if(a.Ie==a.xc.length){a.rb=a.xc[0];a.Na=a.xc[1];a.Xa=a.xc[2];a.hb=128<<a.xc[3];for(var c=a.Ie=0;c<a.hb;c++)if(0>this.Hc(a,a.ik))return-1;a.Xf++}a.Xf>=a.ce&&(b=-1);return b};
k.Sa=function(a,b){this.fa&&(null==b&&(b=zj),E(this.fa,b)&&this.fa.message(a))};k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,zj,e)};var Bl={1012:xl.prototype.kn,1013:xl.prototype.hn,1015:xl.prototype.jn},Cl={1010:xl.prototype.Co,1013:xl.prototype.Bo,1015:xl.prototype.Ao};Ha(function(){for(var a=D(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new xl(d);Za(d,c)}});
function Y(a){z.call(this,"HDC",a,Y);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaWriteBuffer=this.ym;this.dmaWriteFormat=this.zm;this.bi=[];if(a.drives)try{this.bi=eval("("+a.drives+")")}catch(b){x("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.fg=(this.Me="at"==a.type)?1:0;this.Nm=this.Me?2:3}A(z,Y);
var Jl=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=Y.prototype;k.Db=function(){return!1};k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.fa=d;this.Ka=a;this.oa=eb(a,"ChipSet");tb(b,this,this.Me?Kl:Ll);zb(b,this,this.Me?Ml:Nl);Xc(c,19,this,this.Nn);Xc(c,64,this,this.On);this.reset();this.Sf()||this.Ua()};
k.$b=function(a,b){if(!b)if(!a||!this.restore)this.Id(),this.Ka.Ei&&this.Sf(!0);else if(!this.restore(a))return!1;return!0};k.Zb=function(a){return a&&this.save?this.save():!0};k.sf=function(){return this.Ka?this.Ka.sf():""};k.je=function(){return this.Ka?this.Ka.je():""};k.reset=function(){this.Id(null,!0)};k.save=function(){var a=new gd(this);a.set(0,this.Tj());return a.data()};k.restore=function(a){return this.Id(a[0])};
k.Id=function(a,b){var c=0,d=!0;if(this.Me)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.Od=a[c++],this.dm=a[c++],this.ue=a[c++],this.Sh=a[c++],this.Qh=a[c++],this.Ph=a[c++],this.Df=a[c++],this.Da=a[c++],this.Qj=a[c++],this.Rh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Cf=a[c++];this.Da=a[c++];this.dc=a[c++];this.yb=a[c++];this.ib=a[c++];this.cm=a[c++];this.bm=a[c++];this.am=a[c++];var e=a[c++];void 0!==e?this.tf=e:void 0===this.tf&&(this.tf=-1)}void 0===this.Ea&&(this.Ea=Array(this.bi.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.Ea.length;e++){void 0===this.Ea[e]&&(this.Ea[e]={});var f=this.Ea[e];this.Mi(e,f,this.bi[e],c[e],b)||(d=!1);null!=this.Cf&&1>=e&&(this.Cf|=(f.type&3)<<(1-e<<1))}return d};
k.Tj=function(){var a=0,b=[];this.Me?(b[a++]=this.Od,b[a++]=this.dm,b[a++]=this.ue,b[a++]=this.Sh,b[a++]=this.Qh,b[a++]=this.Ph,b[a++]=this.Df,b[a++]=this.Da,b[a++]=this.Qj,b[a++]=this.Rh):(b[a++]=this.Cf,b[a++]=this.Da,b[a++]=this.dc,b[a++]=this.yb,b[a++]=this.ib,b[a++]=this.cm,b[a++]=this.bm,b[a++]=this.am,b[a++]=this.tf);b[a]=this.Vj();return b};
k.Mi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.jm=d[f++];b.qf=d[f++];b.ff=d[f++];b.gf=d[f++];b.Na=d[f++];b.xb=d[f++];b.Sd=d[f++];b.Xa=d[f++];b.ce=d[f++];b.hb=d[f++];b.ah=this.Me?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.je()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Jl[this.fg][b.type])b.type=this.Nm;c=Jl[this.fg][b.type];
b.Bb=c[2]||17;b.nb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.ta)){var h=e.ta[18],h=a?h&240|c:h&15|c<<4;e.ta&&(e.ta[18]=h,Ci(e))}void 0===b.za&&(b.za=null,this.Ja("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Ol(this,b);b.gb=d[f++];b.Ta=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.gb&&(b.Ta=b.za.seek(b.Sd,b.Na,b.Xa+b.ah)));return g};k.Vj=function(){for(var a=0,b=[],c=0;c<this.Ea.length;c++)b[a++]=this.Uj(this.Ea[c]);return b};
k.Uj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.jm;c[b++]=a.qf;c[b++]=a.ff;c[b++]=a.gf;c[b++]=a.Na;c[b++]=a.xb;c[b++]=a.Sd;c[b++]=a.Xa;c[b++]=a.ce;c[b++]=a.hb;c[b++]=a.gb;c[b]=a.za?a.za.save():null;return c};k.sk=function(a){var b;a=this.Ea[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};
function Ol(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ff[2])?e=b.ff[0]<<8|b.ff[1]:c=b.type);null==c||d||(d=Jl[a.fg][c][1],e=Jl[a.fg][c][0]);d&&((c=Jl[a.fg][b.type])&&e!=c[0]&&d!=c[1]&&a.Ja("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.wb=e,b.xb=d,null==b.za&&(b.za=new ll(a,b,b.mode)))}}
k.hm=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Sd=Math.floor(b/g),b%=g,a.Na=Math.floor(b/f),a.Xa=b%f,a.hb=c*d[3],a.errorCode=0,!0}}return!1};
k.Sf=function(a){a||(this.Fe=0);for(var b=0;b<this.Ea.length;b++){var c=this.Ea[b];if(c.name&&c.path){if(!(a&&c.za&&c.za.rh)){var d;d=c.name;var c=c.path,e=this.Ea[b];e.Ec?(this.Ja("Drive "+b+" busy"),d=!0):(e.Ec=!0,e.Ne=!0,this.Fe++,this.Sa("loading "+d),(e.za||new ll(this,e,e.mode)).load(d,c,null,this.Bm),d=!1);!d&&a&&this.Ua(!1)}}else a&&void 0!==c.type&&(c.za=null,Ol(this,c,c.type))}return!!this.Fe};
k.Bm=function(a,b,c){a.Ec=!1;(a.za=b)&&this.Ja('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.kb),a.Ne);a.Ne&&(a.Ne=!1,--this.Fe||this.Ua())};k.Kn=function(a,b){var c=0;this.yb<this.ib&&(c=this.dc[this.yb]);this.oa&&fj(this.oa,5);this.Da&=-33;this.ea(a,null,b,"DATA["+this.yb+"]",c);++this.yb>=this.ib&&(this.yb=this.ib=0,this.Da&=-15);return c};
k.Yo=function(a,b,c){this.ea(a,b,c,"DATA["+this.ib+"]");this.ib<this.dc.length&&(this.dc[this.ib++]=b);a=12!=this.dc[0]?6:this.dc.length;6==this.ib&&(this.Da&=-2);this.ib>=a&&(this.Da|=2,this.Da&=-2,Pl(this))};k.Ln=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);this.yb<this.ib&&(this.Da|=1);return c};k.ap=function(a,b,c){this.ea(a,b,c,"RESET");this.cm=b;this.oa&&fj(this.oa,5);this.Id()};k.Jn=function(a,b){this.ea(a,null,b,"CONFIG",this.Cf);return this.Cf};
k.$o=function(a,b,c){this.ea(a,b,c,"PULSE");this.bm=b;this.Da=13};k.Zo=function(a,b,c){this.ea(a,b,c,"PATTERN");this.am=b};k.Lj=function(a,b,c){this.ea(a,b,c,"NOISE")};k.Vm=function(a,b){var c=-1,d=!1;if(this.Pa&&(d=0<this.Pa.gb,c=this.sc(this.Pa),this.Pa.gb==this.Pa.nb))if(this.Pa.hb-=this.Pa.nb,this.ue=this.ue-1&255,this.Pa.hb>=this.Pa.nb){var e=this;this.sc(this.Pa,function(a){0<=a?Ql(e):(e.Da=1,e.Od=16)},!1)}else this.Da=80;d||this.ea(a,null,b,"DATA",c);return c};
k.oo=function(a,b,c){this.Pa&&0!=this.Pa.gb||this.ea(a,b,c,"DATA");this.Pa&&this.Pa.hb>=this.Pa.nb&&(0>this.Hc(this.Pa,b)?(this.Da=1,this.Od=16):this.Pa.gb==this.Pa.nb&&(this.Pa.hb-=this.Pa.nb,this.ue=this.ue-1&255,Ql(this),this.Pa.hb>=this.Pa.nb||(this.Da=80)))};k.Xm=function(a,b){var c=this.Od;this.ea(a,null,b,"ERROR",c);return c};k.to=function(a,b,c){this.ea(a,b,c,"WPREC");this.dm=b};k.Ym=function(a,b){var c=this.ue;this.ea(a,null,b,"SECCNT",c);return c};
k.ro=function(a,b,c){this.ea(a,b,c,"SECCNT");this.ue=b};k.Zm=function(a,b){var c=this.Sh;this.ea(a,null,b,"SECNUM",c);return c};k.so=function(a,b,c){this.ea(a,b,c,"SECNUM");this.Sh=b};k.Um=function(a,b){var c=this.Qh;this.ea(a,null,b,"CYLLO",c);return c};k.no=function(a,b,c){this.ea(a,b,c,"CYLLO");this.Qh=b};k.Tm=function(a,b){var c=this.Ph;this.ea(a,null,b,"CYLHI",c);return c};k.mo=function(a,b,c){this.ea(a,b,c,"CYLHI");this.Ph=b};k.Wm=function(a,b){var c=this.Df;this.ea(a,null,b,"DRVHD",c);return c};
k.po=function(a,b,c){this.ea(a,b,c,"DRVHD");this.Df=b;this.Da=this.Ea[this.Df&16?1:0]?this.Da|64:this.Da&-65};k.$m=function(a,b){var c=this.Da;this.ea(a,null,b,"STATUS",c);return c};k.lo=function(a,b,c){this.ea(a,b,c,"COMMAND");this.Qj=b;this.oa&&fj(this.oa,14);Rl(this)};k.qo=function(a,b,c){this.ea(a,b,c,"FDR");this.Rh&4&&!(b&4)&&(this.Od=1);this.Rh=b};
function Rl(a){var b=!1,c=a.Qj,d=a.Df&16?1:0,e=a.Df&15,f=a.Qh|(a.Ph&3)<<8,g=a.Sh,h=a.ue||256;a.Pa=null;a.Od=0;a.Da=80;(d=a.Ea[d])?(d.Sd=f,d.Na=e,d.Xa=g,d.hb=h*d.nb,c=144<=c?c:c&240,d.Ta=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.sc(d,function(b){0<=b&&a.oa?(Ql(a),a.Da=136):(a.Da=1,a.Od=16)},!1);break;case 48:a.oa?(Ql(a),a.Da=136):(a.Da=1,a.Od=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Od=1;b=!0;break;case 145:d.xb=e+1,d.Bb=h,b=!0}b&&Ql(a)}
function Ql(a){!a.oa||a.Rh&2||ej(a.oa,14)}
function Pl(a){a.yb=0;var b=a.Qa(),c=a.Qa(),d=c&32,e=d>>5,f=c&31,g=a.Qa(),h=a.Qa(),l=g<<2&768|h,n=g&63,q=a.Qa(),r=a.Qa(),s=a.Ea[e];s&&(s.Sd=l,s.Na=f,s.Xa=n,s.hb=q*s.nb);switch(b){case 3:a.Ub(s?s.errorCode:4);a.cc(c);a.cc(g);a.cc(h);a.cc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Qa());)s&&c<s.ff.length&&(s.ff[c++]=b);s&&Ol(a,s);b=0;s||a.tf!=e||(a.tf=-1,b=2);a.Ub(b|d);b=-1;break;case 224:case 228:a.Ub(0|d),b=-1}if(0<=b)switch(void 0===s?b=-1:(s.errorCode=0,s.jm=0),b){case 0:a.Ub(0|d);break;case 1:s.oq=
r;a.Ub(0|d);break;case 5:a.Ub(0|d);break;case 8:a.wi(s,function(b){a.Ub(b|d)});break;case 10:a.xi(s,function(b){a.Ub(b|d)});break;case 15:Sl(a,s,function(b){a.Ub(b|d)});break;default:a.Ub(2|d)}}k.Qa=function(){var a=-1;this.yb<this.ib&&(a=this.dc[this.yb++]);return a};k.Ub=function(a){this.yb=this.ib=0;void 0!==a&&this.cc(a);this.oa&&ej(this.oa,5);this.Da|=32};k.cc=function(a){this.dc[this.ib++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.sc(a,c):c(-1,!1)};
k.vi=function(a,b){return void 0!==b&&0<=b?this.Hc(a,b):-1};k.ym=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.gb<a.gf.length?a.gf[a.gb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.zm=function(a,b){return void 0!==b&&0<=b?this.Xj(a,b):-1};k.wi=function(a,b){a.errorCode=4;if(a.za&&(a.Ta=null,this.oa)){a.errorCode=0;Yi(this.oa,3,this,"dmaRead",a);Si(this.oa,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.xi=function(a,b){a.errorCode=4;if(a.za&&(a.Ta=null,this.oa)){a.errorCode=0;Yi(this.oa,3,this,"dmaWrite",a);Si(this.oa,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function Sl(a,b,c){b.errorCode=4;b.gf&&b.gf.length==b.hb||(b.gf=Array(b.hb));b.gb=0;a.oa?(b.errorCode=0,Yi(a.oa,3,a,"dmaWriteBuffer",b),Si(a.oa,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.uk=function(a,b){a.errorCode=4;if(a.za&&(a.Ta=null,this.oa)){a.Ie=0;a.xc=Array(4);a.Tf=!0;a.Xf=0;a.errorCode=0;Yi(this.oa,3,this,"dmaWriteFormat",a);Si(this.oa,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.Tf=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.sc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ta&&(d=vl(a.Ta,a.gb),a.gb+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.za)return a.za.seek(a.Sd,a.Na,a.Xa+a.ah,!1,function(c,h){(a.Ta=c)?(a.gb=0,f.Qf(a),d=vl(a.Ta,a.gb),a.gb+=e):a.errorCode=20;b(d,h)}),d;a.errorCode=20;b(d,!1)}return d};
k.Hc=function(a,b){if(a.errorCode)return-1;do{if(a.Ta&&a.za.write(a.Ta,a.gb++,b))break;a.za&&a.za.seek(a.Sd,a.Na,a.Xa+a.ah,!0,function(b){a.Ta=b});if(!a.Ta){a.errorCode=20;b=-1;break}a.gb=0;this.Qf(a)}while(1);return b};k.Qf=function(a){a.Xa++;var b=1-a.ah;a.Xa>=a.Bb+b&&(a.Xa=b,a.Na++,a.Na>=a.xb&&(a.Na=0,a.Sd++))};
k.Xj=function(a,b){if(a.errorCode)return-1;a.xc[a.Ie++]=b;if(a.Ie==a.xc.length){a.Sd=a.xc[0];a.Na=a.xc[1];a.Xa=a.xc[2];a.hb=128<<a.xc[3];for(var c=a.Ie=0;c<a.hb;c++)if(0>this.Hc(a,a.ik))return-1;a.Xf++}a.Xf>=a.ce&&(b=-1);return b};k.Nn=function(){var a=this.T.K&255;!(this.T.H>>8)&&128<a&&(this.tf=a-128);return!0};k.On=function(){var a;(a=this.T.H>>8)||(a=!this.oa)||(a=!(this.oa.Eb[0].zd&64));return a?!0:!1};k.Sa=function(a,b){this.fa&&(null==b&&(b=Tl),E(this.fa,b)&&this.fa.message(a))};
k.ea=function(a,b,c,d,e){this.fa&&this.fa.ea(this,a,b,c,d,Tl,e)};
var Ll={800:Y.prototype.Kn,801:Y.prototype.Ln,802:Y.prototype.Jn},Kl={496:Y.prototype.Vm,497:Y.prototype.Xm,498:Y.prototype.Ym,499:Y.prototype.Zm,500:Y.prototype.Um,501:Y.prototype.Tm,502:Y.prototype.Wm,503:Y.prototype.$m},Nl={800:Y.prototype.Yo,801:Y.prototype.ap,802:Y.prototype.$o,803:Y.prototype.Zo,807:Y.prototype.Lj,811:Y.prototype.Lj,815:Y.prototype.Lj},Ml={496:Y.prototype.oo,497:Y.prototype.to,498:Y.prototype.ro,499:Y.prototype.so,500:Y.prototype.no,501:Y.prototype.mo,502:Y.prototype.po,503:Y.prototype.lo,
1014:Y.prototype.qo};Ha(function(){for(var a=D(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Y(d);Za(d,c)}});
function Ul(a){z.call(this,"Debugger",a,Ul);this.eh=this.cd=-1;this.Ic=[0,0];this.ek=[0,0];this.Nh=null;this.mf=!1;this.we=[0,0];this.wc=[];Vl(this);Wl(this);var b=a.messages;this.fi=[];this.kc=0;b=Xl(this,b);if(b.length)for(var c in Yl)0<=b.indexOf(c)&&(this.kc|=Yl[c],this.da(c+" messages enabled"));this.pb={AL:0,CL:0,DL:0,BL:0,AH:0,CH:0,DH:0,BH:0,AX:0,CX:0,DX:0,BX:0,SP:0,BP:0,SI:0,DI:0,ES:0,CS:0,SS:0,DS:0,IP:0};this.Sj=a.commands}
var Db=1,Pj=2,P=4,Fd=8,pi=16,ri=32,wj=64,oj=128,lj=256,yj=512,Dk=2048,zj=4096,Tl=8192,wl=16384,gl=32768,xj=65536,kl=262144,Kd=1048576,Zc=4194304,tj=16777216;A(z,Ul);
var ti=26,Zl={16:Dk,22:yj,28:pi,33:2097152,51:kl},$l={"?":"help","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]","h [#]":"halt/history","i [#]":"input port #",l:"load sector(s)",m:"messages","o [#]":"output port #",p:"step over",r:"dump/edit registers","t [#]":"step instruction(s)","u [#]":"unassemble",x:"execution options",reset:"reset computer",ver:"display version"},am="DB AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FADD FBLD FBSTP FCOM FCOMP FDIV FDIVR FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FIST FISTP FISUB FISUBR FLD FLDCW FLDENV FMUL FNSAVE FNSTCW FNSTENV FNSTSW FRSTOR FS: FST FSTP FSUB FSUBR GBP GS: HLT IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JNBE JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSH PUSHA PUSHF RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR".split(" "),
Z="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),bm="BX+SI BX+DI BP+SI BP+DI SI DI BP BX".split(" "),Yl={mem:Db,port:Pj,dma:P,pic:Fd,timer:pi,cmos:ri,rtc:wj,8042:oj,chipset:lj,kbd:yj,keys:1024,video:Dk,fdc:zj,hdc:Tl,disk:wl,serial:gl,speaker:xj,state:131072,mouse:kl,computer:524288,cpu:Kd,dos:2097152,"int":Zc,log:tj,halt:268435456},$=[0,0],cm=[205,12291],dm=[[6,12417,4257],[6,12420,4260],[6,12449,4225],[6,12452,4228],[6,12385,4097],[6,14435,4100],[137,4211],[134,8307],
[130,12417,4257],[130,12420,4260],[130,12449,4225],[130,12452,4228],[130,12385,4097],[130,14435,4100],[137,4467],[134,8563],[5,12417,4257],[5,12420,4260],[5,12449,4225],[5,12452,4228],[5,12385,4097],[5,14435,4100],[137,4723],[134,8819],[150,12417,4257],[150,12420,4260],[150,12449,4225],[150,12452,4228],[150,12385,4097],[150,14435,4100],[137,4979],[134,9075],[7,12417,4257],[7,12420,4260],[7,12449,4225],[7,12452,4228],[7,12385,4097],[7,14435,4100],[35,15],[29],[184,12417,4257],[184,12420,4260],[184,
12449,4225],[184,12452,4228],[184,12385,4097],[184,14435,4100],[27,15],[30],[191,12417,4257],[191,12420,4260],[191,12449,4225],[191,12452,4228],[191,12385,4097],[191,14435,4100],[177,15],[1],[24,4225,4257],[24,4228,4260],[24,4257,4225],[24,4260,4228],[24,4193,4097],[24,6243,4100],[33,15],[4],[75,14435],[75,14691],[75,14947],[75,15203],[75,15459],[75,15715],[75,15971],[75,16227],[31,14435],[31,14691],[31,14947],[31,15203],[31,15459],[31,15715],[31,15971],[31,16227],[137,6243],[137,6499],[137,6755],
[137,7011],[137,7267],[137,7523],[137,7779],[137,8035],[134,10339],[134,10595],[134,10851],[134,11107],[134,11363],[134,11619],[134,11875],[134,12131],[138,32768],[135,32768],[10,37028,4247],[8,8323,4259],[64,49152],[70,49152],[131,49152],[9,49152],[137,36868],[73,45219,4234],[137,36866],[73,45219,4233],[76,41041,6755],[76,41044,6755],[133,39523,4161],[133,39523,4164],[95,4145],[91,4145],[82,4145],[90,4145],[98,4145],[94,4145],[81,4145],[89,4145],[97,4145],[93,4145],[96,4145],[92,4145],[86,4145],
[85,4145],[87,4145],[84,4145],[192,12417,4097],[193,12420,4100],[192,12417,4097],[194,12420,4097],[185,4225,4257],[185,4228,4260],[189,12449,12417],[189,12452,12420],[121,8321,4257],[121,8324,4260],[121,8353,4225],[121,8356,4228],[121,8323,4275],[102,8356,148],[121,8371,4227],[134,8324],[128],[189,14435,14691],[189,14435,14947],[189,14435,15203],[189,14435,15459],[189,14435,15715],[189,14435,15971],[189,14435,16227],[18],[28],[17,4102],[188],[139],[136],[148],[99],[121,8289,4129],[121,10339,4132],
[121,8225,4193],[121,8228,6243],[122,8273,4161],[123,8276,4164],[25,4177,4161],[26,4180,4164],[185,4193,4097],[185,6243,4100],[181,8273,4193],[182,8276,6243],[113,8289,4161],[114,10339,4164],[151,4193,4177],[152,6243,4180],[121,8289,4097],[121,8545,4097],[121,8801,4097],[121,9057,4097],[121,9313,4097],[121,9569,4097],[121,9825,4097],[121,10081,4097],[121,10339,4100],[121,10595,4100],[121,10851,4100],[121,11107,4100],[121,11363,4100],[121,11619,4100],[121,11875,4100],[121,12131,4100],[195,28801,4097],
[196,28804,4097],[144,4099],[144],[104,8356,4246],[101,8356,4246],[121,8321,4097],[121,8324,4100],[34,36867,4097],[103,32768],[145,4099],[145],[78],[77,4097],[79],[80],[197,12417,4113],[198,12420,4113],[199,12417,4449],[200,12420,4449],[3,1],[2,1],[69],[190],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[36,4228],[116,4145],[117,4145],[115,4145],[83,4145],[74,8289,4097],[74,10339,4097],[132,4097,4193],[132,4097,6243],[17,4148],[88,4148],[88,4102],[88,4145],[74,8289,6755],[74,
10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],Yl={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768]},Zl=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,
10339,6755],[132,6755,4193],[132,6755,6243],[112,15],[0],[142,15],[143,15],[71],[23],[201,12417],[202,12420],[19],[178],[21],[180],[20],[179],[203,12417],[204,12420]],em={0:[206,12419],1:[207,12419],2:[100,37027,4243],3:[118,37027,4243],5:[111,32768]},fm=[[[6,12417,4097],[130,12417,4097],[5,12417,4097],[150,12417,4097],[7,12417,4097],[184,12417,4097],[191,12417,4097],[24,4225,4097]],[[6,12420,4100],[130,12420,4100],[5,12420,4100],[150,12420,4100],[7,12420,4100],[184,12420,4100],[191,12420,4100],[24,
4228,4100]],[[6,12420,4098],[130,12420,4098],[5,12420,4098],[150,12420,4098],[7,12420,4098],[184,12420,4098],[191,12420,4098],[24,4228,4098]],[[146,45185,4097],[147,45185,4097],[140,45185,4097],[141,45185,4097],[170,45185,4097],[172,45185,4097],$,[149,45185,4097]],[[146,45188,4097],[147,45188,4097],[140,45188,4097],[141,45188,4097],[170,45188,4097],[172,45188,4097],$,[149,45188,4097]],[[146,12417,4113],[147,12417,4113],[140,12417,4113],[141,12417,4113],[170,12417,4113],[172,12417,4113],$,[149,12417,
4113]],[[146,12420,4113],[147,12420,4113],[140,12420,4113],[141,12420,4113],[170,12420,4113],[172,12420,4113],$,[149,12420,4113]],[[146,12417,4449],[147,12417,4449],[140,12417,4449],[141,12417,4449],[170,12417,4449],[172,12417,4449],$,[149,12417,4449]],[[146,12420,4449],[147,12420,4449],[140,12420,4449],[141,12420,4449],[170,12420,4449],[172,12420,4449],$,[149,12420,4449]],[[185,4225,4097],$,[129,12417],[127,12417],[126,4225],[73,12417],[32,4225],[72,12417]],[[185,4228,4100],$,[129,12420],[127,12420],
[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],$,$,$,$,$,$],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],$],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],$,$],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],$,[110,4227],$]],$l={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",
[126,4228],[73,12420],[32,4228],[72,12420]],[[75,12417],[31,12417],$,$,$,$,$,$],[[75,12420],[31,12420],[17,4228],[17,4230],[88,4228],[88,4230],[137,4228],$],[],[[175,8323],[183,8323],[109,4227],[120,4227],[186,4227],[187,4227],$,$],[[169,8323],[174,8323],[106,4227],[108,4227],[176,8323],$,[110,4227],$]],gm={19:{0:"disk reset",1:"get status",2:"read drive DL (CH:DH:CL:AL) into ES:BX",3:"write drive DL (CH:DH:CL:AL) from ES:BX",4:"verify drive DL (CH:DH:CL:AL)",5:"format drive DL using ES:BX",8:"read drive DL parameters into ES:DI",
21:"get drive DL DASD type",22:"get drive DL change line status",23:"set drive DL DASD type",24:"set drive DL media type"},21:{128:"open device",129:"close device",130:"program termination",131:"wait CX:DXus for event",132:"joystick support",133:"SYSREQ pressed",134:"wait CX:DXus",135:"move block (CX words)",136:"get extended memory size",137:"processor to virtual mode",144:"device busy loop",145:"interrupt complete flag set"},33:{0:"terminate program",1:"read character (al) from stdin with echo",
2:"write character DL to stdout",3:"read character (al) from stdaux",4:"write character DL to stdaux",5:"write character DL to stdprn",6:"direct console output (input if DL=FF)",7:"direct console input without echo",8:"read character (al) from stdin without echo",9:"write $-terminated string DS:DX to stdout",10:"buffered input (ds:dx)",11:"get stdin status",12:"flush buffer and read stdin",13:"disk reset",14:"select default drive DL",15:"open file using fcb DS:DX",16:"close file using fcb DS:DX",
17:"find first matching file using fcb DS:DX",18:"find next matching file using fcb DS:DX",19:"delete file using fcb DS:DX",20:"sequential read from file using fcb DS:DX",21:"sequential write to file using fcb DS:DX",22:"create or truncate file using fcb DS:DX",23:"rename file using fcb DS:DX",25:"get current default drive (al)",26:"set disk transfer area (dta) DS:DX",27:"get allocation information for default drive",28:"get allocation information for specific drive DL",31:"get drive parameter block for default drive",
@ -675,89 +680,89 @@ Z="AL CL DL BL AH CH DH BH AX CX DX BX SP BP SI DI ES CS SS DS IP".split(" "),Vl
44:"get system time (hour=ch, min=cl, sec=dh, 100ths=dl)",45:"set system time (hour=CH, min=CL, sec=DH, 100ths=DL)",46:"set verify flag AL",47:"get disk transfer area address (es:bx)",48:"get DOS version (al=major, ah=minor)",49:"terminate and stay resident",50:"get drive parameter block (dpb=ds:bx) for drive DL",51:"extended break check",52:"get address (es:bx) of InDOS flag",53:"get address (es:bx) of interrupt vector AL",54:"get free disk space of drive DL",55:"get(0)/set(1) switch character DL (AL)",
56:"get country-specific information",57:"create subdirectory DS:DX",58:"remove subdirectory DS:DX",59:"set current directory DS:DX",60:"create or truncate file DS:DX with attributes CX",61:"open existing file DS:DX with mode AL",62:"close file BX",63:"read CX bytes from file BX into buffer DS:DX",64:"write CX bytes to file BX from buffer DS:DX",65:"delete file DS:DX",66:"set position CX:DX of file BX relative to AL",67:"get(0)/set(1) attributes CX of file DS:DX (AL)",68:"get device information (IOCTL)",
69:"duplicate file handle BX",70:"force file handle CX to duplicate file handle BX",71:"get current directory (ds:si) for drive DL",72:"allocate memory segment with BX paragraphs",73:"free memory segment ES",74:"resize memory segment ES to BX paragraphs",75:"load program DS:DX using parameter block ES:BX",76:"terminate with return code AL",77:"get return code (al)",78:"find first matching file DS:DX with attributes CX",79:"find next matching file",80:"set current psp BX",81:"get current psp (bx)",
82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Nl.prototype;
k.oc=function(a,b,c,d){this.ra=b;this.T=c;this.Ka=a;this.Im=eb(a,"FDC");this.Hk=eb(a,"HDC");this.Mf=Xl;80186<=this.T.Ia&&(this.Mf=Xl.slice(),this.Mf[15]=$,80286<=this.T.Ia&&(this.Mf[15]=Wl));oi(this,2097152,function(a){if(a)for(d.da("dumpDOS("+a+")"),a=da(a);a;){var b=[0,a,void 0],c=d.pb(b,1),e=d.ua(b,2),n=d.ua(b,5);if(77!=c&&90!=c)break;d.da(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(n)+' "'+am(d,b)+'"');a+=1+n}});this.Ta();if(this.Rj){a=Ql(this,this.Rj);delete this.Rj;for(var e in a)bm(this,
82:"get system variables (es:bx)",83:"translate bpb DS:SI to dpb (es:bp)",84:"get verify flag (al)",85:"create child psp at segment DX",86:"rename file DS:DX to name ES:DI",87:"get(0)/set(1) file date DX and time CX (AL)",88:"get(0)/set(1) memory allocation strategy (AL)",89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Ul.prototype;
k.pc=function(a,b,c,d){this.ra=b;this.T=c;this.Ka=a;this.Jm=eb(a,"FDC");this.Ik=eb(a,"HDC");this.Nf=dm;80186<=this.T.Ia&&(this.Nf=dm.slice(),this.Nf[15]=$,80286<=this.T.Ia&&(this.Nf[15]=cm));oi(this,2097152,function(a){if(a)for(d.da("dumpDOS("+a+")"),a=da(a);a;){var b=[0,a,void 0],c=d.tb(b,1),e=d.ua(b,2),n=d.ua(b,5);if(77!=c&&90!=c)break;d.da(ea(0,a)+": '"+String.fromCharCode(c)+"' PID="+v(e)+" LEN="+v(n)+' "'+hm(d,b)+'"');a+=1+n}});this.Ua();if(this.Sj){a=Xl(this,this.Sj);delete this.Sj;for(var e in a)im(this,
a[e])}};
k.Fb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.$f=this.ya[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=Ql(e,b,!0);for(b in c)bm(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.ya[c]=d,Ca(d,function(){if(e.$f){var a=e.$f.value;e.$f.value="";var b=Ql(e,a,!0);for(a in b)bm(e,b[a]);return!0}return!1}),!0;case "step":return this.ya[c]=d,Ca(d,function(a){var b=!1;ab(e,!0)||($a(e,!0),b=e.Ff(a?1:0),$a(e,!1));return b}),
!0}return!1};k.Pd=function(){this.$f&&this.$f.focus()};function am(a,b){var c,d="";for(c=8;d.length<c;){var e=a.pb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}function oi(a,b,c){for(var d in Rl)if(b==Rl[d]){a.ei[d]=c;break}}function E(a,b){return(a.jc&b)===b}
function $c(a,b,c){var d=Sl[b],e=d&&E(a,d);if(e){var f=a.T.H>>8,g=a.T.K&255;if(33==b&&11==f||d==vj&&128<=g||d==Ml&&128>g)e=!1}if(e){if(d=(d=$l[b])&&d[f]||"")g=a.T,a.lb[Z[0]]=t(g.H&255),a.lb[Z[1]]=t(g.J&255),a.lb[Z[2]]=t(g.K&255),a.lb[Z[3]]=t(g.C&255),a.lb[Z[4]]=t(g.H>>8),a.lb[Z[5]]=t(g.J>>8),a.lb[Z[6]]=t(g.K>>8),a.lb[Z[7]]=t(g.C>>8),a.lb[Z[8]]=v(g.H),a.lb[Z[9]]=v(g.J),a.lb[Z[10]]=v(g.K),a.lb[Z[11]]=v(g.C),a.lb[Z[12]]=v(g.Y),a.lb[Z[13]]=v(g.I),a.lb[Z[14]]=v(g.G),a.lb[Z[15]]=v(g.F),a.lb[Z[16]]=v(g.$a.sa),
a.lb[Z[17]]=v(g.xa.sa),a.lb[Z[18]]=v(g.zb.sa),a.lb[Z[19]]=v(g.Eb.sa),a.lb[Z[20]]=v(g.va),d=" "+ka(a.lb,d);a.message("INT 0x"+t(b)+": AH="+t(f)+" at "+ea(c-a.T.xa.Ya,a.T.xa.sa)+d)}return e}function bd(a,b,c,d,e){a.message("INT 0x"+t(b)+": C="+(od(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
k.ea=function(a,b,c,d,e,f,g){f||(f=0);f|=Jj;if(null==d||(this.jc&f)==f)f=null,null!=d&&(f=this.T.xa.sa,d-=this.T.xa.Ya),this.message(a.xh+"."+(null!=c?"outPort":"inPort")+"(0x"+v(b)+","+(e?e:"unknown")+(null!=c?",0x"+t(c):"")+")"+(null!=g?": 0x"+t(g):"")+(null!=d?" at "+ea(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.jc&268435456&&this.T.Cb(),a=this.T,a.ca.zf=0,a.Oc-=a.A,a.A=0,a.ih())};k.Ln=function(){this.da("Type ? for list of debugger commands")};
function Pl(a){var b;if(Ed(a)){if(!a.Xd||!a.Xd.length){a.Xd=Array(1E4);for(b=0;b<a.Xd.length;b++)a.Xd[b]=[0,null,0];a.tf=0}if(!a.Sc||!a.Sc.length)for(a.Sc=Array(256),b=0;b<a.Sc.length;b++)a.Sc[b]=[b,0]}else a.tf=0,a.Xd=[],a.Sc=[]}k.Ue=function(a){if(!cm(this))return!1;this.T.Ue(a);return!0};
k.Ff=function(a,b,c){if(!cm(this))return!1;this.ad=0;do{a||Ed(this)&&Jd(this,this.T.Ga,!0);try{var d=this.T.Ff(a);0<d&&(this.ad+=d,Xb(this.T,d,!0),Tb(this.T,d),this.eh++)}catch(e){this.ad=0,cb(this.T,e.message||e)}}while(this.T.aa&240);!1!==c&&Sb(this.T);Rb(this,b||!1,!1);return 0<this.ad};k.Cb=function(){this.T.Cb()};function Rb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Fc=[a.T.va,a.T.xa.sa,void 0];b&&1!=a.mc?dm(a,null,c):em(a)}
function cm(a){var b;if(b=a.T&&bb(a.T))b=a.T,b.qa.Ob?b=!0:(b.da(b.toString()+" not powered"),b=!1);b&&!ab(a.T)?(a=a.T,a.qa.Zc?(a.da(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.Zb=function(a,b){return!b&&(this.reset(!0),this.da(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Yb=function(a,b){b&&this.da(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){Pl(this);this.ad=this.eh=0;this.Fc=[this.T.va,this.T.xa.sa,void 0];void 0===this.qa.Pb||a||this.da("reset");this.qa.Pb=!1;fm(this);a||Rb(this)};k.save=function(){var a=new gd(this);a.set(0,this.Fc);a.set(1,this.we);a.set(2,[this.Mh,this.lf,this.jc]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Fc=a[b++],this.we=a[b++],this.Mh=a[b][0],this.lf=a[b][1],this.jc||(this.jc=a[b][2]));return!0};
k.start=function(a,b){this.mc||this.da("running");this.qa.Pb=!0;this.Un=a;this.Yn=b};k.stop=function(a,b){if(this.qa.Pb){this.qa.Pb=!1;this.ad=b-this.Yn;if(!this.mc){var c="stopped";if(this.ad){var d=a-this.Un,e=0<d?Math.round(1E3*this.ad/d):0,c=c+" (";Ed(this)&&(c+=this.eh+" ops, ");c+=this.ad+" cycles, "+d+" ms, "+e+" hz)"}this.da(c)}Rb(this,!0,2!=this.mc);this.Pd();fm(this,this.T.Ga)}};function Ed(a){return 1<a.sc.length||E(a,Zc)}
function Jd(a,b,c){if(!c&&gm(a,b,a.sc))return!0;a.Sc.length&&(a.eh++,c=nb(a.ra,b),a.Sc[c][1]++,c=a.Xd[a.tf],c[0]=a.T.va,c[1]=a.T.xa.sa,c[2]=b,++a.tf==a.Xd.length&&(a.tf=0));return!1}function Eb(a,b){return gm(a,b,a.Ud)?(a.T.Cb(!0),!0):!1}function Fb(a,b){return gm(a,b,a.Rc)?(a.T.Cb(!0),!0):!1}function vb(a,b,c){a.da("break on input from port "+v(b)+": "+t(c));a.T.Cb(!0)}function Bb(a,b,c){a.da("break on output to port "+v(b)+": "+t(c));a.T.Cb(!0)}
function hm(a,b){if(b==a.T.xa.sa)return a.T.xa;if(b==a.T.Eb.sa)return a.T.Eb;if(b==a.T.$a.sa)return a.T.$a;if(b==a.T.zb.sa)return a.T.zb;var c=new bc(a.T);c.load(b,!0);return c}function im(a,b,c,d){var e=b[2];null==e&&(a=hm(a,b[1]),e=c?a.gc(b[0],d||0,!0):a.jd(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.pb=function(a,b){var c=255,d=im(this,a,!1,0);0<=d&&(c=nb(this.ra,d),void 0!==b&&jm(a,b));return c};
k.ua=function(a,b){var c=65535,d=im(this,a,!1,1);0<=d&&(c=ob(this.ra,d),void 0!==b&&jm(a,b));return c};k.Od=function(a,b,c){var d=im(this,a,!0,0);0<=d&&(pb(this.ra,d,b),void 0!==c&&jm(a,c),Sb(this.T))};k.cd=function(a,b,c){var d=im(this,a,!0,1);0<=d&&(qb(this.ra,d,b),void 0!==c&&jm(a,c),Sb(this.T))};function km(a){return null==a[1]?"%"+p(a[2]):ea(a[0],a[1])}function jm(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function Ol(a){var b;a.sc=["exec"];if(void 0!==a.Ud)for(b=1;b<a.Ud.length;b++){var c=a.ra,d=im(a,a.Ud[b]);Jb(c.Fa[d>>c.wb],!1)}a.Ud=["read"];if(void 0!==a.Rc)for(b=1;b<a.Rc.length;b++)c=a.ra,d=im(a,a.Rc[b]),Jb(c.Fa[d>>c.wb],!0);a.Rc=["write"]}k.Yd=function(a,b,c){if(!lm(this,a,b)){b[2]=im(this,b);b[3]=c;a.push(b);if(a!=this.sc){var d=this.ra,e=im(this,b);d.Fa[e>>d.wb].Yd(e&d.ib,a==this.Rc)}c||this.da("breakpoint enabled: "+km(b)+" ("+a[0]+")");Pl(this);return!0}return!1};
function lm(a,b,c,d){var e=!1;c=im(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==im(a,g)){e=!0;if(d){b.splice(f,1);b!=a.sc&&(d=a.ra,Jb(d.Fa[c>>d.wb],b==a.Rc));g[3]||a.da("breakpoint cleared: "+km(g)+" ("+b[0]+")");Pl(a);break}a.da("breakpoint exists: "+km(g)+" ("+b[0]+")");break}}return e}function mm(a,b){for(var c=1;c<b.length;c++)a.da("breakpoint enabled: "+km(b[c])+" ("+b[0]+")");return b.length-1}
function Kb(a,b,c,d){if(void 0===d)Kb(a,b,c,a.Ud),Kb(a,b,c,a.Rc);else for(var e=1;e<d.length;e++){var f=im(a,d[e]);if(f>=b&&f<b+c){var g=a.ra;g.Fa[f>>g.wb].Yd(f&g.ib,d==a.Rc)}}}function fm(a,b){if(void 0!==b)gm(a,b,a.sc,!0),a.mc=0;else for(var c=1;c<a.sc.length;c++){var d=a.sc[c];if(d[3]){if(!lm(a,a.sc,d,!0))break;c=0}}}
function gm(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==im(a,g)){g[3]?lm(a,c,g,!0):d||a.da("breakpoint hit: "+km(g)+" ("+c[0]+")");e=!0;break}}return e}
function nm(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.pb(b,1),g=a.Mf[f],h=g[0],l=-1;205==h&&(h=a.pb(b,1),g=Yl[h]||$,f|=h<<8,h=g[0]);h>=Ul.length&&(l=a.pb(b,1),g=Zl[h-Ul.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",r=g[f];if(void 0!==r){var s=r&15;if(0!=s&&15!=s){var u=r&240;if(128<=u)if(0>l&&(l=a.pb(b,1)),160<=u)q=l>>3&7,176==(r&240)?q+=16:3<=(r&15)&&(q+=8),q=Z[q];else{if(128<=u){var q=a,y=r,s=b,B="",u=l>>6,B=l&7;3>u?(y=void 0,u||6!=B?(B=Vl[B],1==u?(y=q.pb(s,
1),y&128?(y=y<<24>>24,B+="-"+t(-y)):B+="+"+t(y)):2==u&&(y=q.ua(s,2),B+="+"+v(y))):(y=q.ua(s,2),B=v(y)),B="["+B+"]"):B=Z[B+(1==(y&15)?0:8)];q=B}}else if(16==u)q="1";else if(0==u){q=a;u=r;s=b;y=" ";switch(u&15){case 1:u&12288&&(y=t(q.pb(s,1)));break;case 2:y=v(q.pb(s,1)<<24>>24);break;case 3:case 4:y=v(q.ua(s,2));break;case 6:u=q.ua(s,2);q=q.ua(s,2);y=km([u,q,void 0]);break;default:y="imm("+v(u)+")"}q=y}else 32==u?q="["+v(a.ua(b,2))+"]":48==u?(1==s?(q=a.pb(b,1),q=q<<24>>24):q=a.ua(b,2),q=b[0]+q&65535,
q=om(a,[q,b[1],void 0])[0]||v(q)):96==u?q=Z[(r&3840)>>8]:112==u?q=Z[((r&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+v(r)+")");0<h.length&&(h+=",");h+=q}}}l=km(e)+" ";n="";do n+=t(a.pb(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(Ul[g[0]]+" ").substr(0,8);h&&(l+=" "+h);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.qa.mf?l+("cycles="+Ub(a.T).toString()+" cs="+p(a.T.ca.kg)):l+(c+(null!=d?"="+d.toString():"")));return l}
function pm(a,b){var c;switch(b){case "V":c=td(a.T);break;case "D":c=a.T.Ca&1024;break;case "I":c=a.T.Ca&512;break;case "T":c=a.T.Ca&256;break;case "S":c=sd(a.T);break;case "Z":c=rd(a.T);break;case "A":c=qd(a.T);break;case "P":c=pd(a.T);break;case "C":c=od(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function qm(a,b){return a.Hg+"="+v(a.sa)+(b?"["+p(a.Ya,6)+","+v(a.Nc)+"]":"")}function rm(a,b,c,d){return a+"="+(null!=b?v(b):"")+"["+p(c,6)+","+v(d-c)+"]"}
function sm(a,b,c){var d=2==c?a.dk:a.Fc;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.uc.length;h++){var f=a.uc[h][0],l=a.uc[h][2][g];if(void 0!==l){g=l.o;void 0!==g&&(h=l.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=tm(a,b),d=null):d=tm(a,b):(e=tm(a,b.substring(0,d)),c=tm(a,b.substring(d+1)),d=
k.Db=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Zf=this.wa[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=Xl(e,b,!0);for(b in c)im(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.wa[c]=d,Ca(d,function(){if(e.Zf){var a=e.Zf.value;e.Zf.value="";var b=Xl(e,a,!0);for(a in b)im(e,b[a]);return!0}return!1}),!0;case "step":return this.wa[c]=d,Ca(d,function(a){var b=!1;ab(e,!0)||($a(e,!0),b=e.Gf(a?1:0),$a(e,!1));return b}),
!0}return!1};k.Tc=function(){this.Zf&&this.Zf.focus()};function hm(a,b){var c,d="";for(c=8;d.length<c;){var e=a.tb(b,1);if(!e)break;d+=32<=e&&128>e?String.fromCharCode(e):"."}return d}function oi(a,b,c){for(var d in Yl)if(b==Yl[d]){a.fi[d]=c;break}}function E(a,b){return(a.kc&b)===b}
function $c(a,b,c){var d=Zl[b],e=d&&E(a,d);if(e){var f=a.T.H>>8,g=a.T.K&255;if(33==b&&11==f||d==zj&&128<=g||d==Tl&&128>g)e=!1}if(e){if(d=(d=gm[b])&&d[f]||"")g=a.T,a.pb[Z[0]]=t(g.H&255),a.pb[Z[1]]=t(g.J&255),a.pb[Z[2]]=t(g.K&255),a.pb[Z[3]]=t(g.C&255),a.pb[Z[4]]=t(g.H>>8),a.pb[Z[5]]=t(g.J>>8),a.pb[Z[6]]=t(g.K>>8),a.pb[Z[7]]=t(g.C>>8),a.pb[Z[8]]=v(g.H),a.pb[Z[9]]=v(g.J),a.pb[Z[10]]=v(g.K),a.pb[Z[11]]=v(g.C),a.pb[Z[12]]=v(g.Y),a.pb[Z[13]]=v(g.I),a.pb[Z[14]]=v(g.G),a.pb[Z[15]]=v(g.F),a.pb[Z[16]]=v(g.ab.sa),
a.pb[Z[17]]=v(g.ya.sa),a.pb[Z[18]]=v(g.Cb.sa),a.pb[Z[19]]=v(g.Hb.sa),a.pb[Z[20]]=v(g.va),d=" "+ka(a.pb,d);a.message("INT 0x"+t(b)+": AH="+t(f)+" at "+ea(c-a.T.ya.Ya,a.T.ya.sa)+d)}return e}function bd(a,b,c,d,e){a.message("INT 0x"+t(b)+": C="+(od(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")}
k.ea=function(a,b,c,d,e,f,g){f||(f=0);f|=Pj;if(null==d||(this.kc&f)==f)f=null,null!=d&&(f=this.T.ya.sa,d-=this.T.ya.Ya),this.message(a.yh+"."+(null!=c?"outPort":"inPort")+"(0x"+v(b)+","+(e?e:"unknown")+(null!=c?",0x"+t(c):"")+")"+(null!=g?": 0x"+t(g):"")+(null!=d?" at "+ea(d,f):""))};k.message=function(a){this.da(a);this.T&&(this.kc&268435456&&this.T.Fb(),a=this.T,a.ca.Af=0,a.Qc-=a.A,a.A=0,a.jh())};k.Mn=function(){this.da("Type ? for list of debugger commands")};
function Wl(a){var b;if(Ed(a)){if(!a.Xd||!a.Xd.length){a.Xd=Array(1E4);for(b=0;b<a.Xd.length;b++)a.Xd[b]=[0,null,0];a.uf=0}if(!a.Vc||!a.Vc.length)for(a.Vc=Array(256),b=0;b<a.Vc.length;b++)a.Vc[b]=[b,0]}else a.uf=0,a.Xd=[],a.Vc=[]}k.Ve=function(a){if(!jm(this))return!1;this.T.Ve(a);return!0};
k.Gf=function(a,b,c){if(!jm(this))return!1;this.cd=0;do{a||Ed(this)&&Jd(this,this.T.Ga,!0);try{var d=this.T.Gf(a);0<d&&(this.cd+=d,Xb(this.T,d,!0),Tb(this.T,d),this.eh++)}catch(e){this.cd=0,cb(this.T,e.message||e)}}while(this.T.aa&240);!1!==c&&Sb(this.T);Rb(this,b||!1,!1);return 0<this.cd};k.Fb=function(){this.T.Fb()};function Rb(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Ic=[a.T.va,a.T.ya.sa,void 0];b&&1!=a.nc?km(a,null,c):lm(a)}
function jm(a){var b;if(b=a.T&&bb(a.T))b=a.T,b.qa.Qb?b=!0:(b.da(b.toString()+" not powered"),b=!1);b&&!ab(a.T)?(a=a.T,a.qa.ad?(a.da(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.$b=function(a,b){return!b&&(this.reset(!0),this.da(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Zb=function(a,b){b&&this.da(a?"suspending":"shutting down");return a&&this.save?this.save():!0};
k.reset=function(a){Wl(this);this.cd=this.eh=0;this.Ic=[this.T.va,this.T.ya.sa,void 0];void 0===this.qa.Rb||a||this.da("reset");this.qa.Rb=!1;mm(this);a||Rb(this)};k.save=function(){var a=new gd(this);a.set(0,this.Ic);a.set(1,this.we);a.set(2,[this.Nh,this.mf,this.kc]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Ic=a[b++],this.we=a[b++],this.Nh=a[b][0],this.mf=a[b][1],this.kc||(this.kc=a[b][2]));return!0};
k.start=function(a,b){this.nc||this.da("running");this.qa.Rb=!0;this.Vn=a;this.Zn=b};k.stop=function(a,b){if(this.qa.Rb){this.qa.Rb=!1;this.cd=b-this.Zn;if(!this.nc){var c="stopped";if(this.cd){var d=a-this.Vn,e=0<d?Math.round(1E3*this.cd/d):0,c=c+" (";Ed(this)&&(c+=this.eh+" ops, ");c+=this.cd+" cycles, "+d+" ms, "+e+" hz)"}this.da(c)}Rb(this,!0,2!=this.nc);this.Tc();mm(this,this.T.Ga)}};function Ed(a){return 1<a.tc.length||E(a,Zc)}
function Jd(a,b,c){if(!c&&nm(a,b,a.tc))return!0;a.Vc.length&&(a.eh++,c=nb(a.ra,b),a.Vc[c][1]++,c=a.Xd[a.uf],c[0]=a.T.va,c[1]=a.T.ya.sa,c[2]=b,++a.uf==a.Xd.length&&(a.uf=0));return!1}function Eb(a,b){return nm(a,b,a.Ud)?(a.T.Fb(!0),!0):!1}function Fb(a,b){return nm(a,b,a.Uc)?(a.T.Fb(!0),!0):!1}function vb(a,b,c){a.da("break on input from port "+v(b)+": "+t(c));a.T.Fb(!0)}function Bb(a,b,c){a.da("break on output to port "+v(b)+": "+t(c));a.T.Fb(!0)}
function om(a,b){if(b==a.T.ya.sa)return a.T.ya;if(b==a.T.Hb.sa)return a.T.Hb;if(b==a.T.ab.sa)return a.T.ab;if(b==a.T.Cb.sa)return a.T.Cb;var c=new bc(a.T);c.load(b,!0);return c}function pm(a,b,c,d){var e=b[2];null==e&&(a=om(a,b[1]),e=c?a.hc(b[0],d||0,!0):a.ld(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.tb=function(a,b){var c=255,d=pm(this,a,!1,0);0<=d&&(c=nb(this.ra,d),void 0!==b&&qm(a,b));return c};
k.ua=function(a,b){var c=65535,d=pm(this,a,!1,1);0<=d&&(c=ob(this.ra,d),void 0!==b&&qm(a,b));return c};k.Pd=function(a,b,c){var d=pm(this,a,!0,0);0<=d&&(pb(this.ra,d,b),void 0!==c&&qm(a,c),Sb(this.T))};k.ed=function(a,b,c){var d=pm(this,a,!0,1);0<=d&&(qb(this.ra,d,b),void 0!==c&&qm(a,c),Sb(this.T))};function rm(a){return null==a[1]?"%"+p(a[2]):ea(a[0],a[1])}function qm(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
function Vl(a){var b;a.tc=["exec"];if(void 0!==a.Ud)for(b=1;b<a.Ud.length;b++){var c=a.ra,d=pm(a,a.Ud[b]);Jb(c.Fa[d>>c.zb],!1)}a.Ud=["read"];if(void 0!==a.Uc)for(b=1;b<a.Uc.length;b++)c=a.ra,d=pm(a,a.Uc[b]),Jb(c.Fa[d>>c.zb],!0);a.Uc=["write"]}k.Yd=function(a,b,c){if(!sm(this,a,b)){b[2]=pm(this,b);b[3]=c;a.push(b);if(a!=this.tc){var d=this.ra,e=pm(this,b);d.Fa[e>>d.zb].Yd(e&d.mb,a==this.Uc)}c||this.da("breakpoint enabled: "+rm(b)+" ("+a[0]+")");Wl(this);return!0}return!1};
function sm(a,b,c,d){var e=!1;c=pm(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==pm(a,g)){e=!0;if(d){b.splice(f,1);b!=a.tc&&(d=a.ra,Jb(d.Fa[c>>d.zb],b==a.Uc));g[3]||a.da("breakpoint cleared: "+rm(g)+" ("+b[0]+")");Wl(a);break}a.da("breakpoint exists: "+rm(g)+" ("+b[0]+")");break}}return e}function tm(a,b){for(var c=1;c<b.length;c++)a.da("breakpoint enabled: "+rm(b[c])+" ("+b[0]+")");return b.length-1}
function Kb(a,b,c,d){if(void 0===d)Kb(a,b,c,a.Ud),Kb(a,b,c,a.Uc);else for(var e=1;e<d.length;e++){var f=pm(a,d[e]);if(f>=b&&f<b+c){var g=a.ra;g.Fa[f>>g.zb].Yd(f&g.mb,d==a.Uc)}}}function mm(a,b){if(void 0!==b)nm(a,b,a.tc,!0),a.nc=0;else for(var c=1;c<a.tc.length;c++){var d=a.tc[c];if(d[3]){if(!sm(a,a.tc,d,!0))break;c=0}}}
function nm(a,b,c,d){var e=!1;16711680==(b&16711680)&&(b&=1048575);for(var f=1;f<c.length;f++){var g=c[f];if(b==pm(a,g)){g[3]?sm(a,c,g,!0):d||a.da("breakpoint hit: "+rm(g)+" ("+c[0]+")");e=!0;break}}return e}
function um(a,b,c,d){var e=[b[0],b[1],b[2]],f=a.tb(b,1),g=a.Nf[f],h=g[0],l=-1;205==h&&(h=a.tb(b,1),g=em[h]||$,f|=h<<8,h=g[0]);h>=am.length&&(l=a.tb(b,1),g=fm[h-am.length][l>>3&7]);var n=2,h="";if(164<=f&&167>=f||170<=f&&175>=f)n=0;for(f=1;f<=n;f++){var q="",r=g[f];if(void 0!==r){var s=r&15;if(0!=s&&15!=s){var u=r&240;if(128<=u)if(0>l&&(l=a.tb(b,1)),160<=u)q=l>>3&7,176==(r&240)?q+=16:3<=(r&15)&&(q+=8),q=Z[q];else{if(128<=u){var q=a,y=r,s=b,B="",u=l>>6,B=l&7;3>u?(y=void 0,u||6!=B?(B=bm[B],1==u?(y=q.tb(s,
1),y&128?(y=y<<24>>24,B+="-"+t(-y)):B+="+"+t(y)):2==u&&(y=q.ua(s,2),B+="+"+v(y))):(y=q.ua(s,2),B=v(y)),B="["+B+"]"):B=Z[B+(1==(y&15)?0:8)];q=B}}else if(16==u)q="1";else if(0==u){q=a;u=r;s=b;y=" ";switch(u&15){case 1:u&12288&&(y=t(q.tb(s,1)));break;case 2:y=v(q.tb(s,1)<<24>>24);break;case 3:case 4:y=v(q.ua(s,2));break;case 6:u=q.ua(s,2);q=q.ua(s,2);y=rm([u,q,void 0]);break;default:y="imm("+v(u)+")"}q=y}else 32==u?q="["+v(a.ua(b,2))+"]":48==u?(1==s?(q=a.tb(b,1),q=q<<24>>24):q=a.ua(b,2),q=b[0]+q&65535,
q=vm(a,[q,b[1],void 0])[0]||v(q)):96==u?q=Z[(r&3840)>>8]:112==u?q=Z[((r&3840)>>8)+16]:64==u?q="DS:[SI]":80==u&&(q="ES:[DI]");q.length||(q="type("+v(r)+")");0<h.length&&(h+=",");h+=q}}}l=rm(e)+" ";n="";do n+=t(a.tb(e,1));while(e[0]!=b[0]);l+=(n+" ").substr(0,14);l+=(am[g[0]]+" ").substr(0,8);h&&(l+=" "+h);c&&(l=(l+" ").substr(0,50),l+=";",l=a.T.qa.nf?l+("cycles="+Ub(a.T).toString()+" cs="+p(a.T.ca.ig)):l+(c+(null!=d?"="+d.toString():"")));return l}
function wm(a,b){var c;switch(b){case "V":c=td(a.T);break;case "D":c=a.T.Ca&1024;break;case "I":c=a.T.Ca&512;break;case "T":c=a.T.Ca&256;break;case "S":c=sd(a.T);break;case "Z":c=rd(a.T);break;case "A":c=qd(a.T);break;case "P":c=pd(a.T);break;case "C":c=od(a.T);break;default:c=0}return" "+b+(c?"1":"0")}function xm(a,b){return a.Fg+"="+v(a.sa)+(b?"["+p(a.Ya,6)+","+v(a.Pc)+"]":"")}function ym(a,b,c,d){return a+"="+(null!=b?v(b):"")+"["+p(c,6)+","+v(d-c)+"]"}
function zm(a,b,c){var d=2==c?a.ek:a.Ic;c=d[0];var e=d[1],d=d[2];if(void 0!==b){"%"==b.charAt(0)&&(b=b.substr(1),e=null);var f=b,d=null;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var d=[],g=f.toUpperCase(),h=0;h<a.wc.length;h++){var f=a.wc[h][0],l=a.wc[h][2][g];if(void 0!==l){g=l.o;void 0!==g&&(h=l.s,void 0===h&&(h=f>>>4),d[0]=g,d[1]=h,void 0!==l.p&&(d[2]=l.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Am(a,b),d=null):d=Am(a,b):(e=Am(a,b.substring(0,d)),c=Am(a,b.substring(d+1)),d=
null)}return[c,e,d]}
function tm(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.xa.sa;break;case "DS":d=a.T.Eb.sa;break;case "ES":d=a.T.$a.sa;break;case "SS":d=a.T.zb.sa;break;case "IP":d=a.T.va;break;default:d=da(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function yj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var l=d[h];"number"==typeof l&&(d[h]=l={o:l});var n=l.o,q=l.s,r=l.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,l.p=im(a,f)),na(g,[n,h],e));r&&(l.a=r.replace(/''/g,'"'))}a.uc.push([b,c,d,g])}
function om(a,b,c){for(var d=[],e=im(a,b),f=0;f<a.uc.length;f++){var g=a.uc[f][0],h=a.uc[f][1];if(e>=g&&e<g+h){b=ma(a.uc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?um(a,f,b,d):c&&(b=~b,um(a,f,b-1,d),um(a,f,b,d));break}}return d}function um(a,b,c,d){var e={},f=a.uc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.uc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function vm(a,b){if("?"==b)a.da("\nfrequency commands:"),a.da("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Sc)if("clear"==b){for(c=0;c<a.Sc.length;c++)a.Sc[c]=[c,0];a.da("frequency data cleared");d++}else if(void 0!==b)a.da("unknown frequency command: "+b),d++;else{var e=a.Sc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.da((Ul[a.Mf[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.da("no frequency data available")}}
function wm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=sm(a,b[1],d?1:2),d){e=om(a,c,!0);e.length?(e[0]&&(g="",(f=c[0]-e[1])&&(g=" + "+v(f)),a.da(e[0]+" ("+ea(e[1],c[1])+")"+g)),4<e.length&&e[4]&&(g="",(f=e[5]-c[0])&&(g=" - "+v(f)),a.da(e[4]+" ("+ea(e[5],c[1])+")"+g))):a.da("no symbols");
return}d=tm(a,b[2],"drive #");if(void 0!==d){if(!g){e=tm(a,b[3],"sector #");if(void 0===e)return;f=tm(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Im;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var l=h.sk(d);if(l)if(l.za)if(g)a.da(nl(l.za));else if(h.gm(l,e,f)){for(var n=0,q=!1,e=km(c);!q&&0<l.eb--;)(function(a,b){h.rc(l,function(c){0>c?(a.da("out of data at address "+km(b)),q=!0):(a.Od(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");
function Am(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.ya.sa;break;case "DS":d=a.T.Hb.sa;break;case "ES":d=a.T.ab.sa;break;case "SS":d=a.T.Cb.sa;break;case "IP":d=a.T.va;break;default:d=da(b),void 0===d&&a.da("invalid "+(c?c:"value")+": "+b)}else a.da("missing "+(c?c:"value"));return d}
function Cj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],g=[],h;for(h in d){var l=d[h];"number"==typeof l&&(d[h]=l={o:l});var n=l.o,q=l.s,r=l.a;void 0!==n&&(void 0!==q&&(f[0]=n,f[1]=q,l.p=pm(a,f)),na(g,[n,h],e));r&&(l.a=r.replace(/''/g,'"'))}a.wc.push([b,c,d,g])}
function vm(a,b,c){for(var d=[],e=pm(a,b),f=0;f<a.wc.length;f++){var g=a.wc[f][0],h=a.wc[f][1];if(e>=g&&e<g+h){b=ma(a.wc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?Bm(a,f,b,d):c&&(b=~b,Bm(a,f,b-1,d),Bm(a,f,b,d));break}}return d}function Bm(a,b,c,d){var e={},f=a.wc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.wc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Cm(a,b){if("?"==b)a.da("\nfrequency commands:"),a.da("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Vc)if("clear"==b){for(c=0;c<a.Vc.length;c++)a.Vc[c]=[c,0];a.da("frequency data cleared");d++}else if(void 0!==b)a.da("unknown frequency command: "+b),d++;else{var e=a.Vc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.da((am[a.Nf[f][0]]+" ").substr(0,5)+" ("+t(f)+"): "+g+" times"),d++)}}d||a.da("no frequency data available")}}
function Dm(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.da("\nlist/load commands:"),a.da("\tl [address] [drive #] [sector #] [# sectors]"),a.da("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=zm(a,b[1],d?1:2),d){e=vm(a,c,!0);e.length?(e[0]&&(g="",(f=c[0]-e[1])&&(g=" + "+v(f)),a.da(e[0]+" ("+ea(e[1],c[1])+")"+g)),4<e.length&&e[4]&&(g="",(f=e[5]-c[0])&&(g=" - "+v(f)),a.da(e[4]+" ("+ea(e[5],c[1])+")"+g))):a.da("no symbols");
return}d=Am(a,b[2],"drive #");if(void 0!==d){if(!g){e=Am(a,b[3],"sector #");if(void 0===e)return;f=Am(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Jm;2<=d&&a.Ik&&(d-=2,h=a.Ik);if(h){var l=h.sk(d);if(l)if(l.za)if(g)a.da(ul(l.za));else if(h.hm(l,e,f)){for(var n=0,q=!1,e=rm(c);!q&&0<l.hb--;)(function(a,b){h.sc(l,function(c){0>c?(a.da("out of data at address "+rm(b)),q=!0):(a.Pd(b,c,1),n++)})})(a,c);a.da(n+" bytes read at "+e)}else a.da("sector "+e+" request out of range");else a.da("drive "+d+" not loaded");
else a.da("invalid drive: "+d)}else a.da("disk controller not present")}}}
function dm(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.T.xc;else{d=!1;c=null;var g=f.indexOf("=");if(0<g)c=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)c=b[2];else{a.da("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.da("invalid value: "+
function km(a,b,c){if(b&&"?"==b[1])a.da("\nregister commands:"),a.da("\tr\t\tdisplay all registers"),a.da("\tr [target=#]\tmodify target register"),a.da("supported targets:"),a.da("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.T.zc;else{d=!1;c=null;var g=f.indexOf("=");if(0<g)c=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)c=b[2];else{a.da("missing value for "+b[1]);return}b=parseInt(c,16);if(isNaN(b)){a.da("invalid value: "+
c);return}f=f.toUpperCase();switch(f){case "AL":a.T.H=a.T.H&65280|b&255;break;case "AH":a.T.H=a.T.H&255|b<<8&255;break;case "AX":a.T.H=b&65535;break;case "BL":a.T.C=a.T.C&65280|b&255;break;case "BH":a.T.C=a.T.C&255|b<<8&255;break;case "BX":a.T.C=b&65535;break;case "CL":a.T.J=a.T.J&65280|b&255;break;case "CH":a.T.J=a.T.J&255|b<<8&255;break;case "CX":a.T.J=b&65535;break;case "DL":a.T.K=a.T.K&65280|b&255;break;case "DH":a.T.K=a.T.K&255|b<<8&255;break;case "DX":a.T.K=b&65535;break;case "SP":a.T.Y=b&65535;
break;case "BP":a.T.I=b&65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":kd(a.T,b);break;case "ES":md(a.T,b);break;case "SS":ld(a.T,b);break;case "CS":d=!0;jd(a.T,b);a.Fc=[a.T.va,a.T.xa.sa,void 0];break;case "IP":d=!0;G(a.T,b);a.Fc=[a.T.va,a.T.xa.sa,void 0];break;case "PC":Uc(a.T,b);break;case "C":b?zd(a.T):ud(a.T);break;case "P":b?(f=a.T,pd(f)||(f.ma^=1)):(f=a.T,pd(f)&&(f.ma^=1));break;case "A":b?Ad(a.T):vd(a.T);break;case "Z":b?Bd(a.T):wd(a.T);break;case "S":b?Cd(a.T):
xd(a.T);break;case "I":b?(f=a.T,f.Ca|=512):(f=a.T,f.Ca&=-513);break;case "D":b?(f=a.T,f.Ca|=1024):(f=a.T,f.Ca&=-1025);break;case "V":b?Dd(a.T):yd(a.T);break;default:c=!0;if(80286<=a.T.Ia)switch(c=!1,f){case "MS":$e.call(a.T,b);break;case "TR":a.T.Xe.load(b);break;default:c=!0}if(c){a.da("unknown register: "+f);return}}Sb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.Dc&1));e="AX="+v(a.T.H)+" BX="+v(a.T.C)+" CX="+v(a.T.J)+" DX="+v(a.T.K)+" SP="+v(a.T.Y)+" BP="+v(a.T.I)+" SI="+v(a.T.G)+
" DI="+v(a.T.F)+"\n";e+=qm(a.T.Eb,f)+" "+qm(a.T.$a,f)+" "+qm(a.T.zb,f);e=e+(f?"\n":" ")+(qm(a.T.xa,f)+" IP="+v(a.T.va)+pm(a,"V")+pm(a,"D")+pm(a,"I")+pm(a,"T")+pm(a,"S")+pm(a,"Z")+pm(a,"A")+pm(a,"P")+pm(a,"C"));f&&(f=a.ra,e+=" MS="+v(a.T.Dc)+"\n"+rm("LD",a.T.bd.sa,a.T.bd.Ya,a.T.bd.Ya+a.T.bd.Nc)+" "+rm("GD",null,a.T.xc,a.T.ze)+" "+rm("ID",null,a.T.Gc,a.T.$d)+" TR="+v(a.T.Xe.sa)+" A20="+(f.Of==f.ed?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Fc=[a.T.va,a.T.xa.sa,void 0],em(a,km(a.Fc)))}}
function xm(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Ba(b,function(){return $a(a,!0)&&a.Ff(e,d,!1)},function(){Sb(a.T);$a(a,!1)})}
function em(a,b,c,d){b=sm(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.ra.Of];if(void 0!==c){e=sm(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.da("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Fc[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.pb(b),g=ab(a,!1)||a.mc?a.ad:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=om(a,b);if(h[0]){var l=h[0]+":";c=!1;h[2]&&(l+=" "+h[2]);a.da(l)}c&&a.da();h[3]&&(f=h[3],
g=null);c=nm(a,b,f,g);a.da(c);a.Fc=b;c=!1}d&&a.da("end of memory")}}function Ql(a,b,c){c&&(b?a.Mh=b:b=a.Mh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
function bm(a,b){try{if(!b.length&&a.lf&&(a.da("ended assemble @"+km(a.we)),a.Fc=a.we,a.lf=!1),b=b.toLowerCase(),bb(a)&&!ab(a,!0)&&0<b.length){if(a.lf)b="a "+km(a.we)+" "+b;else{var c,d,e;switch(b){case "reset":a.Ka&&a.Ka.reset();return;case "ver":a.da("PCjs version 1.16.0 (release,noprefetch,eatests,dwordarrays)");return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}var f=b.split(" ");switch(f[0].charAt(0)){case "a":var g=
sm(a,f[1],1);if(null!=g[0])if(a.we=g,void 0===f[2])a.da("begin assemble @"+km(g)),a.lf=!0,Sb(a.T);else{var h;a.da("not supported yet");h=[];if(h.length){for(var l=0;l<h.length;l++)a.Od(g,h[l],1);a.da(nm(a,a.we))}}break;case "b":a:{var n=f[1],q=f[0].charAt(1);if(q&&"?"!=q)if("l"==q)l=0,l+=mm(a,a.sc),l+=mm(a,a.Ud),(l+=mm(a,a.Rc))||a.da("no breakpoints");else if(void 0===n)a.da("missing breakpoint address");else{l=[];if("*"!=n&&(l=sm(a,n,1),null==l[0]))break a;n=null==l[0]?n:v(l[0]);"c"==q?null==l[0]?
(Ol(a),a.da("all breakpoints cleared")):lm(a,a.sc,l,!0)||lm(a,a.Ud,l,!0)||lm(a,a.Rc,l,!0)||a.da("breakpoint missing: "+km(l)):"i"==q?a.da("breakpoint "+(sb(a.ra,l[0])?"enabled":"cleared")+": port "+n+" (input)"):"o"==q?a.da("breakpoint "+(wb(a.ra,l[0])?"enabled":"cleared")+": port "+n+" (output)"):null!=l[0]&&("p"==q?a.Yd(a.sc,l):"r"==q?a.Yd(a.Ud,l):"w"==q?a.Yd(a.Rc,l):a.da("unknown breakpoint command: "+q))}else a.da("\nbreakpoint commands:"),a.da("\tbi [p]\ttoggle break on input port [p]"),a.da("\tbo [p]\ttoggle break on output port [p]"),
a.da("\tbp [a]\tset exec breakpoint at addr [a]"),a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints")}break;case "c":a.ag&&(a.ag.value="");break;case "d":a:{var l=f[0],r=f[1],s=f[2],u;if("?"==r){l="symbols";for(u in Rl)a.ei[u]&&(l.length&&(l+=","),l+=u);l+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");
a.da("\tds [s] dump descriptor for selector s");l.length&&a.da("dumps are also available for: "+l)}else if("state"==r)a.da(ym(a.Ka,!0));else if("symbols"==r)for(l=0;l<a.uc.length;l++){var y=a.uc[l][0],B=a.uc[l][2],M;for(M in B)if("."!=M.charAt(0)){var V=B[M],va=V.o;if(void 0!==va){var wa=V.s;void 0===wa&&(wa=y>>>4);var xb=B[M].l;xb&&(M=xb);a.da(ea(va,wa)+" "+M)}}}else{for(u in Rl)if(r==u){var Qb=a.ei[u];Qb?Qb(s):a.da("no dump registered for "+r);break a}var W=sm(a,r,2);if(null!=W[0])if("ds"==
l){var K=hm(a,W[0]);if(null!=K.sa){var w="selector="+v(W[0])+" limit="+v(K.Nc)+" base="+p(K.Ya);if(K.Oa){w+=" access="+v(K.Oa);if(K.Oa&4096)K.Oa&2048?(w+="code:",w+=K.Oa&512?"readable,":"execonly,",w+=K.Oa&1024?"conforming,":"nonconforming,"):(w+="data:",w+=K.Oa&512?"writeable,":"readonly,",w+=K.Oa&1024?"expand down,":"expand up,"),w+=K.Oa&256?"accessed":"not accessed";else switch(w+="type:",K.Oa&7936){case 256:w+="tss";break;case 512:w+="ldt";break;case 768:w+="tss(busy)";break;case 1024:w+="call";
break;case 1280:w+="task";break;case 1536:w+="int";break;case 1792:w+="trap";break;default:w+="unknown"}w+=",dpl"+(K.Oa>>13&24576);w+=K.Oa&32768?",present":",not present"}a.da(w)}else a.da("invalid selector: "+v(W[0]))}else{var R=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),R=parseInt(s,10));var I="";R||(R=8);for(var yb=0;yb<R;yb++){for(var La=f="",r=km(W),ga=0,X=0;16>X;X++){var Xa=a.pb(W,1);"dw"==l?X&1&&(f+=v(ga|Xa<<8)+(7==X?" - ":" ")):f+=t(Xa)+(7==X?"-":" ");La+=32<=Xa&&128>Xa?String.fromCharCode(Xa):
".";ga=Xa}I&&(I+="\n");I+=r+" "+f+" "+La}I&&a.da(I);a.dk=W}}}break;case "e":var Hc=f[1];if(void 0===Hc)a.da("missing address");else{var jc=sm(a,Hc,2);if(null!=jc[0])for(l=2;l<f.length;l++){var jk=parseInt(f[l],16);a.da("setting "+km(jc)+" to "+t(jk));a.Od(jc,jk,1)}}break;case "f":vm(a,f[1]);break;case "g":a:{var kk=f[1];if(void 0!==kk){var lk=sm(a,kk,1);if(null==lk[0])break a;a.Yd(a.sc,lk,!0)}a.Ue(!0)||a.da('cpu not available, "g" command ignored')}break;case "h":La=f[1];if(a.qa.Pb&&void 0===La)a.Cb();
else{l="";r=10;ga=a.tf;X=a.Xd;if(X.length){var Pa=void 0===La?a.Ul:parseInt(La,10);isNaN(Pa)?Pa=r:l="more ";Pa>X.length&&(a.da("note: only "+X.length+" available"),Pa=X.length);ga-=Pa;0>ga&&(null!=X[X.length-1][1]?ga+=X.length:(Pa=ga+Pa,ga=0));for(void 0!==La&&a.da(Pa+" instructions earlier:");r&&ga!=a.tf;){var lc=X[ga];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.da(nm(a,lc,"history",-Pa));++ga==X.length&&(ga=0);a.Ul=--Pa;r--}}10==r&&(a.da("no "+l+"history available"),a.Ul=void 0)}break;case "i":var Ue=
f[1];if(Ue&&"?"!=Ue){var Ve=tm(a,Ue);if(void 0!==Ve){var Om=ub(a.ra,Ve);a.da(v(Ve)+": "+t(Om))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":wm(a,f);break;case "m":a:{l=null;I=f[1];"?"==I&&(I=void 0);if(void 0!==I){r=0;if("all"==I)r=4294967295,I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{for(R in Rl)if(I==R){r=Rl[R];l=!!(a.jc&r);break}if(!r){a.da("unknown message category: "+I);break a}}r&&
("on"==f[2]?(a.jc|=r,l=!0):"off"==f[2]&&(a.jc&=~r,l=!1))}r=0;W="";for(R in Rl)if(!I||I==R)if(yb=!!(a.jc&Rl[R]),null===l||l==yb)W&&(W+=","),++r%10||(W+="\n\t"),W+=R;void 0===I&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.da((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(W||"none"))}break;case "o":var We=f[1],Pm=f[2];if(We&&"?"!=We){var mk=tm(a,We,"port #"),nk=tm(a,Pm);void 0!==mk&&void 0!==nk&&Ab(a.ra,mk,nk)}else a.da("\noutput commands:"),
a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state");break;case "p":case "pr":var ok="pr"==f[0]?1:0,l=1+ok;if(a.mc)a.da("step in progress");else{var Ld,r=!1,Qa=[a.T.va,a.T.xa.sa,void 0];do switch(Ld=!1,a.pb(Qa)){case 38:case 46:case 54:case 62:case 240:jm(Qa,1);Ld=!0;break;case 204:case 206:a.mc=l;jm(Qa,1);break;case 205:case 224:case 225:case 226:a.mc=l;jm(Qa,2);break;case 232:a.mc=l;jm(Qa,3);break;case 154:a.mc=l;jm(Qa,5);break;case 255:a.mc=0<=
nm(a,Qa).indexOf("CALL")?l:0;break;case 243:case 242:jm(Qa,1);r=Ld=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:r&&(a.mc=l,jm(Qa,1))}while(Ld);a.mc?(a.Yd(a.sc,Qa,!0),a.Ue()||(a.T.Pd(),a.mc=0)):xm(a,ok?"tr":"t")}break;case "r":dm(a,f);break;case "t":case "tr":xm(a,f[0],f[1]);break;case "u":em(a,f[1],f[2],8);break;case "x":a:if(void 0===f[1]||"?"==f[1])a.da("\nexecution options:"),a.da("\tcs int #\tset checksum cycle interval to #"),a.da("\tcs start #\tset checksum cycle start count to #"),
a.da("\tcs stop #\tset checksum cycle stop count to #"),a.da("\tsp #\t\tset speed multiplier to #");else switch(f[1]){case "cs":var Mc;void 0!==f[3]&&(Mc=parseInt(f[3],10));switch(f[2]){case "int":a.T.ca.wf=Mc;break;case "start":a.T.ca.mg=Mc;break;case "stop":a.T.ca.yf=Mc;break;default:a.da("unknown cs option");break a}void 0!==Mc&&Ob(a.T);a.da("checksums "+(a.T.qa.mf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Wb(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.ca.Oe.toFixed(2)+"Mhz")+
" ("+a.T.ca.Jd+"x)");break;default:a.da("unknown option: "+f[1])}break;case "?":var l="commands:",Md;for(Md in Tl)l+="\n"+Md+" ".substr(0,7-Md.length)+Tl[Md];Ed(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.da(l);break;default:a.da("unknown command: "+b)}}}catch(Qm){a.da("debugger sad: "+Qm.message)}}Ha(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Nl(d);Za(d,c)}});
function gd(a,b,c){this.id=a.id;this.key=zm(a,b,c);this.fa=a.fa;Am(this,a.ap)}function zm(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}
gd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Ci=!0):this.Ci?!0:xa()&&(a=ya(this.key))?(this[this.id]=a,this.Ci=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){x(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Am(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(f){}b.splice(c,1);c=0}},Ra:function(a){this.fa&&E(this.fa,131072)&&this.fa.message(a)}};function Am(a,b){a[a.id]={};b&&a.set("parms",b);a.Ci=!1}
function Bm(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Cm(a,b,c){z.call(this,"Computer",a,Cm);this.qa.Ob=!1;this.jg=a.buswidth;this.Pc=Dm;this.Ig=null;this.uh=!1;this.url=b?b.url:null;this.ip=(Math.random()+0.1).toString(36).substr(2,12);this.Qc=Em(this);if(this.T=Ya("CPU",this.id)){this.fa=Ya("Debugger",this.id);this.ra=new gb({id:this.Kk+".bus",buswidth:this.jg},this.T,this.fa);var d,e=Va(this.id);if((this.Cg=Ya("Panel",this.id))&&this.Cg.ag)for(b=0;b<e.length;b++)d=e[b],d.Ja=this.Cg.Ja,d.da=this.Cg.da,d.ag=this.Cg.ag;for(b=0;b<e.length;b++)d=
e[b],d.oc&&d.oc(this,this.ra,this.T,this.fa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Sh=d:this.Pc=parseInt(d,10));var f;if(a=Oa&&Oa.state||(f=!0,a.state))b=this.fm=a,f||(this.uh=!0,this.Pc=Dm),this.Pc&&(this.Vh=new gd(this,"1.16.0"),this.Vh.load()?b=null:delete this.Vh);!b&&this.Pc&&(f=null,this.Qc&&(f=ta()+"/api/v1/user?req=load&user="+this.Qc+"&state="+zm(this,"1.16.0")),b=f)&&(this.uh=!0);b?sa(b,!0,null,this,this.co):this.Ta();c||Fm(this,this.Lh)}else x("Unable to find CPU component")}
A(z,Cm);var Dm=0;k=Cm.prototype;k.rf=function(){return this.ip};k.je=function(){return this.Qc?this.Qc:""};k.co=function(a,b,c){c?(this.Sh=null,this.uh=!1,this.Ja("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Ig=b;this.Ta()};function Fm(a,b,c){for(var d=Va(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!bb(f)){bb(f,function(){Fm(a,b,c)});return}}b.call(a,c)}
function Gm(a,b){var c=new gd(a,"1.16.0","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Lh=function(a){void 0===a&&(a=this.Pc||(this.Ig?1:Dm));var b=!1,c=!1;this.Dk=!1;var d=this.Vh||new gd(this,"1.16.0");if(-1==a)b=!0;else if(a>Dm){if(d.load(this.Ig)){this.Ze=new gd(this,"1.16.0","failsafe");this.Ze.load()&&(Hm(this,d),a=2,Am(this.Ze));this.Ze.set("timestamp",pa());Bm(this.Ze);var e=this.Pc&&!this.uh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ja("Error: "+g),"unable to verify user"==g&&(za("user",""),this.Qc=null)):this.da(f+": "+g),Am(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Gm(this,c?d:null)}else 2==a&&d.clear()}else Gm(this);delete this.Ig;delete this.Vh}e=Va(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=Im(this,g,d,b,c));b=[d,a,c];-1!=a?Fm(this,this.wk,b):this.wk(b)};
function Im(a,b,c,d,e){if(!b.qa.Ob){b.qa.Ob=!0;if(b.Zb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Zb(f,d)&&f&&(x("Unable to restore state for "+b.type),a.fm&&!a.Ig?(c.clear(),a.Pc=Dm,window&&window.location.reload()):a.Dk=!0,b.Zb(null),e=!1)}if(!d&&b.rk)for(a=b.rk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.wk=function(a){var b=a[0],c=0>a[1];a=a[2];this.qa.Ob=!0;this.Bk||(this.da("PCjs v1.16.0\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Bk=!0);this.T&&Im(this,this.T,b,c,a);this.Dk&&(Hm(this,b),b.clear());!c&&this.Ze&&(this.Ze.clear(),delete this.Ze)};
function Hm(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.je(),d=b.toString(),e={app:"PCjs",ver:"1.16.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
function ym(a,b,c){var d,e="none",f=new gd(a,"1.16.0"),g=new gd(a,"1.16.0","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Yb&&(c&&a.T.Cb(),d=a.T.Yb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.qa.Ob=!1,!1===d&&(e=null)));for(var h=Va(a.id),l=0;l<h.length;l++){var n=h[l];n.qa.Ob&&(n.Yb&&(d=n.Yb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.qa.Ob=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Qc&&Jm(a,a.Qc,f.toString()),Bm(g)&&Bm(f)||(e=null,d=h=!0)):a.Pc&&(d=!0,h=3==a.Pc),d&&f.clear(h)):e=f.toString());c&&(a.qa.Ob=!1);return e}k.reset=function(){this.ra&&this.ra.reset&&(this.Ra("Resetting "+this.ra.type,!0),this.ra.reset());for(var a=Va(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ra&&c.reset&&(this.Ra("Resetting "+c.type,!0),c.reset())}};
break;case "BP":a.T.I=b&65535;break;case "SI":a.T.G=b&65535;break;case "DI":a.T.F=b&65535;break;case "DS":kd(a.T,b);break;case "ES":md(a.T,b);break;case "SS":ld(a.T,b);break;case "CS":d=!0;jd(a.T,b);a.Ic=[a.T.va,a.T.ya.sa,void 0];break;case "IP":d=!0;G(a.T,b);a.Ic=[a.T.va,a.T.ya.sa,void 0];break;case "PC":Uc(a.T,b);break;case "C":b?zd(a.T):ud(a.T);break;case "P":b?(f=a.T,pd(f)||(f.ma^=1)):(f=a.T,pd(f)&&(f.ma^=1));break;case "A":b?Ad(a.T):vd(a.T);break;case "Z":b?Bd(a.T):wd(a.T);break;case "S":b?Cd(a.T):
xd(a.T);break;case "I":b?(f=a.T,f.Ca|=512):(f=a.T,f.Ca&=-513);break;case "D":b?(f=a.T,f.Ca|=1024):(f=a.T,f.Ca&=-1025);break;case "V":b?Dd(a.T):yd(a.T);break;default:c=!0;if(80286<=a.T.Ia)switch(c=!1,f){case "MS":$e.call(a.T,b);break;case "TR":a.T.Ye.load(b);break;default:c=!0}if(c){a.da("unknown register: "+f);return}}Sb(a.T);a.da("\nupdated registers:");c=!0}}f=e;void 0===f&&(f=!!(a.T.Gc&1));e="AX="+v(a.T.H)+" BX="+v(a.T.C)+" CX="+v(a.T.J)+" DX="+v(a.T.K)+" SP="+v(a.T.Y)+" BP="+v(a.T.I)+" SI="+v(a.T.G)+
" DI="+v(a.T.F)+"\n";e+=xm(a.T.Hb,f)+" "+xm(a.T.ab,f)+" "+xm(a.T.Cb,f);e=e+(f?"\n":" ")+(xm(a.T.ya,f)+" IP="+v(a.T.va)+wm(a,"V")+wm(a,"D")+wm(a,"I")+wm(a,"T")+wm(a,"S")+wm(a,"Z")+wm(a,"A")+wm(a,"P")+wm(a,"C"));f&&(f=a.ra,e+=" MS="+v(a.T.Gc)+"\n"+ym("LD",a.T.dd.sa,a.T.dd.Ya,a.T.dd.Ya+a.T.dd.Pc)+" "+ym("GD",null,a.T.zc,a.T.ze)+" "+ym("ID",null,a.T.Jc,a.T.$d)+" TR="+v(a.T.Ye.sa)+" A20="+(f.Pf==f.gd?"ON":"OFF"));a.da((c?"":"\n")+e);d&&(a.Ic=[a.T.va,a.T.ya.sa,void 0],lm(a,rm(a.Ic)))}}
function Em(a,b,c){var d="tr"==b;b=null!=c?parseInt(c,10):1;var e=1==b?0:1;Ba(b,function(){return $a(a,!0)&&a.Gf(e,d,!1)},function(){Sb(a.T);$a(a,!1)})}
function lm(a,b,c,d){b=zm(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.ra.Pf];if(void 0!==c){e=zm(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.da("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Ic[0];d&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){d--;var f=a.tb(b),g=ab(a,!1)||a.nc?a.cd:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=vm(a,b);if(h[0]){var l=h[0]+":";c=!1;h[2]&&(l+=" "+h[2]);a.da(l)}c&&a.da();h[3]&&(f=h[3],
g=null);c=um(a,b,f,g);a.da(c);a.Ic=b;c=!1}d&&a.da("end of memory")}}function Xl(a,b,c){c&&(b?a.Nh=b:b=a.Nh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=la(a[d]);return a}
function im(a,b){try{if(!b.length&&a.mf&&(a.da("ended assemble @"+rm(a.we)),a.Ic=a.we,a.mf=!1),b=b.toLowerCase(),bb(a)&&!ab(a,!0)&&0<b.length){if(a.mf)b="a "+rm(a.we)+" "+b;else{var c,d,e;switch(b){case "reset":a.Ka&&a.Ka.reset();return;case "ver":a.da("PCjs version 1.16.0 (release,noprefetch,eatests,dwordarrays)");return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}var f=b.split(" ");switch(f[0].charAt(0)){case "a":var g=
zm(a,f[1],1);if(null!=g[0])if(a.we=g,void 0===f[2])a.da("begin assemble @"+rm(g)),a.mf=!0,Sb(a.T);else{var h;a.da("not supported yet");h=[];if(h.length){for(var l=0;l<h.length;l++)a.Pd(g,h[l],1);a.da(um(a,a.we))}}break;case "b":a:{var n=f[1],q=f[0].charAt(1);if(q&&"?"!=q)if("l"==q)l=0,l+=tm(a,a.tc),l+=tm(a,a.Ud),(l+=tm(a,a.Uc))||a.da("no breakpoints");else if(void 0===n)a.da("missing breakpoint address");else{l=[];if("*"!=n&&(l=zm(a,n,1),null==l[0]))break a;n=null==l[0]?n:v(l[0]);"c"==q?null==l[0]?
(Vl(a),a.da("all breakpoints cleared")):sm(a,a.tc,l,!0)||sm(a,a.Ud,l,!0)||sm(a,a.Uc,l,!0)||a.da("breakpoint missing: "+rm(l)):"i"==q?a.da("breakpoint "+(sb(a.ra,l[0])?"enabled":"cleared")+": port "+n+" (input)"):"o"==q?a.da("breakpoint "+(wb(a.ra,l[0])?"enabled":"cleared")+": port "+n+" (output)"):null!=l[0]&&("p"==q?a.Yd(a.tc,l):"r"==q?a.Yd(a.Ud,l):"w"==q?a.Yd(a.Uc,l):a.da("unknown breakpoint command: "+q))}else a.da("\nbreakpoint commands:"),a.da("\tbi [p]\ttoggle break on input port [p]"),a.da("\tbo [p]\ttoggle break on output port [p]"),
a.da("\tbp [a]\tset exec breakpoint at addr [a]"),a.da("\tbr [a]\tset read breakpoint at addr [a]"),a.da("\tbw [a]\tset write breakpoint at addr [a]"),a.da("\tbc [a]\tclear breakpoint at addr [a]"),a.da("\tbl\tlist all breakpoints")}break;case "c":a.$f&&(a.$f.value="");break;case "d":a:{var l=f[0],r=f[1],s=f[2],u;if("?"==r){l="symbols";for(u in Yl)a.fi[u]&&(l.length&&(l+=","),l+=u);l+=",state";a.da("\ndump commands:");a.da("\tdb [a] [#] dump bytes at address a");a.da("\tdw [a] [#] dump words at address a");
a.da("\tds [s] dump descriptor for selector s");l.length&&a.da("dumps are also available for: "+l)}else if("state"==r)a.da(Fm(a.Ka,!0));else if("symbols"==r)for(l=0;l<a.wc.length;l++){var y=a.wc[l][0],B=a.wc[l][2],M;for(M in B)if("."!=M.charAt(0)){var V=B[M],va=V.o;if(void 0!==va){var wa=V.s;void 0===wa&&(wa=y>>>4);var xb=B[M].l;xb&&(M=xb);a.da(ea(va,wa)+" "+M)}}}else{for(u in Yl)if(r==u){var Qb=a.fi[u];Qb?Qb(s):a.da("no dump registered for "+r);break a}var W=zm(a,r,2);if(null!=W[0])if("ds"==
l){var K=om(a,W[0]);if(null!=K.sa){var w="selector="+v(W[0])+" limit="+v(K.Pc)+" base="+p(K.Ya);if(K.Oa){w+=" access="+v(K.Oa);if(K.Oa&4096)K.Oa&2048?(w+="code:",w+=K.Oa&512?"readable,":"execonly,",w+=K.Oa&1024?"conforming,":"nonconforming,"):(w+="data:",w+=K.Oa&512?"writeable,":"readonly,",w+=K.Oa&1024?"expand down,":"expand up,"),w+=K.Oa&256?"accessed":"not accessed";else switch(w+="type:",K.Oa&7936){case 256:w+="tss";break;case 512:w+="ldt";break;case 768:w+="tss(busy)";break;case 1024:w+="call";
break;case 1280:w+="task";break;case 1536:w+="int";break;case 1792:w+="trap";break;default:w+="unknown"}w+=",dpl"+(K.Oa>>13&24576);w+=K.Oa&32768?",present":",not present"}a.da(w)}else a.da("invalid selector: "+v(W[0]))}else{var R=0;void 0!==s&&("l"==s.charAt(0)&&(s=s.substr(1)),R=parseInt(s,10));var I="";R||(R=8);for(var yb=0;yb<R;yb++){for(var Ma=f="",r=rm(W),ga=0,X=0;16>X;X++){var Ya=a.tb(W,1);"dw"==l?X&1&&(f+=v(ga|Ya<<8)+(7==X?" - ":" ")):f+=t(Ya)+(7==X?"-":" ");Ma+=32<=Ya&&128>Ya?String.fromCharCode(Ya):
".";ga=Ya}I&&(I+="\n");I+=r+" "+f+" "+Ma}I&&a.da(I);a.ek=W}}}break;case "e":var Gc=f[1];if(void 0===Gc)a.da("missing address");else{var jc=zm(a,Gc,2);if(null!=jc[0])for(l=2;l<f.length;l++){var nk=parseInt(f[l],16);a.da("setting "+rm(jc)+" to "+t(nk));a.Pd(jc,nk,1)}}break;case "f":Cm(a,f[1]);break;case "g":a:{var ok=f[1];if(void 0!==ok){var pk=zm(a,ok,1);if(null==pk[0])break a;a.Yd(a.tc,pk,!0)}a.Ve(!0)||a.da('cpu not available, "g" command ignored')}break;case "h":Ma=f[1];if(a.qa.Rb&&void 0===Ma)a.Fb();
else{l="";r=10;ga=a.uf;X=a.Xd;if(X.length){var Qa=void 0===Ma?a.Vl:parseInt(Ma,10);isNaN(Qa)?Qa=r:l="more ";Qa>X.length&&(a.da("note: only "+X.length+" available"),Qa=X.length);ga-=Qa;0>ga&&(null!=X[X.length-1][1]?ga+=X.length:(Qa=ga+Qa,ga=0));for(void 0!==Ma&&a.da(Qa+" instructions earlier:");r&&ga!=a.uf;){var lc=X[ga];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.da(um(a,lc,"history",-Qa));++ga==X.length&&(ga=0);a.Vl=--Qa;r--}}10==r&&(a.da("no "+l+"history available"),a.Vl=void 0)}break;case "i":var Ue=
f[1];if(Ue&&"?"!=Ue){var Ve=Am(a,Ue);if(void 0!==Ve){var Vm=ub(a.ra,Ve);a.da(v(Ve)+": "+t(Vm))}}else a.da("\ninput commands:"),a.da("\ti [p]\tread port [p]"),a.da("warning: port accesses can affect hardware state");break;case "l":Dm(a,f);break;case "m":a:{l=null;I=f[1];"?"==I&&(I=void 0);if(void 0!==I){r=0;if("all"==I)r=4294967295,I=null;else if("on"==I)l=!0,I=null;else if("off"==I)l=!1,I=null;else{for(R in Yl)if(I==R){r=Yl[R];l=!!(a.kc&r);break}if(!r){a.da("unknown message category: "+I);break a}}r&&
("on"==f[2]?(a.kc|=r,l=!0):"off"==f[2]&&(a.kc&=~r,l=!1))}r=0;W="";for(R in Yl)if(!I||I==R)if(yb=!!(a.kc&Yl[R]),null===l||l==yb)W&&(W+=","),++r%10||(W+="\n\t"),W+=R;void 0===I&&a.da("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.da((null!==l?l?"messages on: ":"messages off: ":"message categories:\n\t")+(W||"none"))}break;case "o":var We=f[1],Wm=f[2];if(We&&"?"!=We){var qk=Am(a,We,"port #"),rk=Am(a,Wm);void 0!==qk&&void 0!==rk&&Ab(a.ra,qk,rk)}else a.da("\noutput commands:"),
a.da("\to [p] [d]\twrite data [d] to port [p]"),a.da("warning: port accesses can affect hardware state");break;case "p":case "pr":var sk="pr"==f[0]?1:0,l=1+sk;if(a.nc)a.da("step in progress");else{var Ld,r=!1,Ra=[a.T.va,a.T.ya.sa,void 0];do switch(Ld=!1,a.tb(Ra)){case 38:case 46:case 54:case 62:case 240:qm(Ra,1);Ld=!0;break;case 204:case 206:a.nc=l;qm(Ra,1);break;case 205:case 224:case 225:case 226:a.nc=l;qm(Ra,2);break;case 232:a.nc=l;qm(Ra,3);break;case 154:a.nc=l;qm(Ra,5);break;case 255:a.nc=0<=
um(a,Ra).indexOf("CALL")?l:0;break;case 243:case 242:qm(Ra,1);r=Ld=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:r&&(a.nc=l,qm(Ra,1))}while(Ld);a.nc?(a.Yd(a.tc,Ra,!0),a.Ve()||(a.T.Tc(),a.nc=0)):Em(a,sk?"tr":"t")}break;case "r":km(a,f);break;case "t":case "tr":Em(a,f[0],f[1]);break;case "u":lm(a,f[1],f[2],8);break;case "x":a:if(void 0===f[1]||"?"==f[1])a.da("\nexecution options:"),a.da("\tcs int #\tset checksum cycle interval to #"),a.da("\tcs start #\tset checksum cycle start count to #"),
a.da("\tcs stop #\tset checksum cycle stop count to #"),a.da("\tsp #\t\tset speed multiplier to #");else switch(f[1]){case "cs":var Lc;void 0!==f[3]&&(Lc=parseInt(f[3],10));switch(f[2]){case "int":a.T.ca.xf=Lc;break;case "start":a.T.ca.kg=Lc;break;case "stop":a.T.ca.zf=Lc;break;default:a.da("unknown cs option");break a}void 0!==Lc&&Ob(a.T);a.da("checksums "+(a.T.qa.nf?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&Wb(a.T,parseInt(f[2],10));a.da("target speed: "+(a.T.ca.Pe.toFixed(2)+"Mhz")+
" ("+a.T.ca.Kd+"x)");break;default:a.da("unknown option: "+f[1])}break;case "?":var l="commands:",Md;for(Md in $l)l+="\n"+Md+" ".substr(0,7-Md.length)+$l[Md];Ed(a)||(l+="\nnote: frequency/history disabled if no exec breakpoints");a.da(l);break;default:a.da("unknown command: "+b)}}}catch(Xm){a.da("debugger sad: "+Xm.message)}}Ha(function(){for(var a=D(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=C(c),d=new Ul(d);Za(d,c)}});
function gd(a,b,c){this.id=a.id;this.key=Gm(a,b,c);this.fa=a.fa;Hm(this,a.bp)}function Gm(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}
gd.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Di=!0):this.Di?!0:xa()&&(a=ya(this.key))?(this[this.id]=a,this.Di=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){x(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){Hm(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(f){}b.splice(c,1);c=0}},Sa:function(a){this.fa&&E(this.fa,131072)&&this.fa.message(a)}};function Hm(a,b){a[a.id]={};b&&a.set("parms",b);a.Di=!1}
function Im(a){var b=!0;if(xa()){var c=JSON.stringify(a[a.id]);za(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function Jm(a,b,c){z.call(this,"Computer",a,Jm);this.qa.Qb=!1;this.hg=a.buswidth;this.Rc=Km;this.Gg=null;this.vh=!1;this.url=b?b.url:null;this.kp=(Math.random()+0.1).toString(36).substr(2,12);this.Sc=Lm(this);if(this.T=Xa("CPU",this.id)){this.fa=Xa("Debugger",this.id);this.ra=new gb({id:this.Lk+".bus",buswidth:this.hg},this.T,this.fa);var d,e=Va(this.id);if((this.Ag=Xa("Panel",this.id))&&this.Ag.$f)for(b=0;b<e.length;b++)d=e[b],d.Ja=this.Ag.Ja,d.da=this.Ag.da,d.$f=this.Ag.$f;for(b=0;b<e.length;b++)d=
e[b],d.pc&&d.pc(this,this.ra,this.T,this.fa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Th=d:this.Rc=parseInt(d,10));var f;if(a=Oa&&Oa.state||(f=!0,a.state))b=this.gm=a,f||(this.vh=!0,this.Rc=Km),this.Rc&&(this.Wh=new gd(this,"1.16.0"),this.Wh.load()?b=null:delete this.Wh);!b&&this.Rc&&(f=null,this.Sc&&(f=ta()+"/api/v1/user?req=load&user="+this.Sc+"&state="+Gm(this,"1.16.0")),b=f)&&(this.vh=!0);b?sa(b,!0,null,this,this.eo):this.Ua();c||Mm(this,this.Mh)}else x("Unable to find CPU component")}
A(z,Jm);var Km=0;k=Jm.prototype;k.sf=function(){return this.kp};k.je=function(){return this.Sc?this.Sc:""};k.eo=function(a,b,c){c?(this.Th=null,this.vh=!1,this.Ja("Unable to load machine state from server (error "+c+(b?": "+la(b):"")+")")):this.Gg=b;this.Ua()};function Mm(a,b,c){for(var d=Va(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!bb(f)){bb(f,function(){Mm(a,b,c)});return}}b.call(a,c)}
function Nm(a,b){var c=new gd(a,"1.16.0","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.Ja("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Mh=function(a){void 0===a&&(a=this.Rc||(this.Gg?1:Km));var b=!1,c=!1;this.Ek=!1;var d=this.Wh||new gd(this,"1.16.0");if(-1==a)b=!0;else if(a>Km){if(d.load(this.Gg)){this.$e=new gd(this,"1.16.0","failsafe");this.$e.load()&&(Om(this,d),a=2,Hm(this.$e));this.$e.set("timestamp",pa());Im(this.$e);var e=this.Rc&&!this.vh;if(1==a||ua("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==
f&&"no machine state"!=g?(this.Ja("Error: "+g),"unable to verify user"==g&&(za("user",""),this.Sc=null)):this.da(f+": "+g),Hm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&Nm(this,c?d:null)}else 2==a&&d.clear()}else Nm(this);delete this.Gg;delete this.Wh}e=Va(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.T&&(c=Pm(this,g,d,b,c));b=[d,a,c];-1!=a?Mm(this,this.wk,b):this.wk(b)};
function Pm(a,b,c,d,e){if(!b.qa.Qb){b.qa.Qb=!0;if(b.$b){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.$b(f,d)&&f&&(x("Unable to restore state for "+b.type),a.gm&&!a.Gg?(c.clear(),a.Rc=Km,window&&window.location.reload()):a.Ek=!0,b.$b(null),e=!1)}if(!d&&b.rk)for(a=b.rk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.wk=function(a){var b=a[0],c=0>a[1];a=a[2];this.qa.Qb=!0;this.Bk||(this.da("PCjs v1.16.0\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Bk=!0);this.T&&Pm(this,this.T,b,c,a);this.Ek&&(Om(this,b),b.clear());!c&&this.$e&&(this.$e.clear(),delete this.$e)};
function Om(a,b){if(ua("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.je(),d=b.toString(),e={app:"PCjs",ver:"1.16.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;sa("http://www.pcjs.org/api/v1/report",!0,e)}}
function Fm(a,b,c){var d,e="none",f=new gd(a,"1.16.0"),g=new gd(a,"1.16.0","validate"),h=pa();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.Zb&&(c&&a.T.Fb(),d=a.T.Zb(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.qa.Qb=!1,!1===d&&(e=null)));for(var h=Va(a.id),l=0;l<h.length;l++){var n=h[l];n.qa.Qb&&(n.Zb&&(d=n.Zb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.qa.Qb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Sc&&Qm(a,a.Sc,f.toString()),Im(g)&&Im(f)||(e=null,d=h=!0)):a.Rc&&(d=!0,h=3==a.Rc),d&&f.clear(h)):e=f.toString());c&&(a.qa.Qb=!1);return e}k.reset=function(){this.ra&&this.ra.reset&&(this.Sa("Resetting "+this.ra.type,!0),this.ra.reset());for(var a=Va(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ra&&c.reset&&(this.Sa("Resetting "+c.type,!0),c.reset())}};
k.start=function(a,b){for(var c=Va(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};k.stop=function(a,b){for(var c=Va(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Fb=function(a,b,c,d){var e=this;switch(c){case "save":return this.ya[c]=d,d.onclick=function(){var a=Em(e,!0);if(a){var b=!(!e.Pc||e.Sh),c=ym(e,b);b?Jm(e,a,c):e.Ja("Resume disabled, machine state not saved")}},!0;case "reset":return this.ya[c]=d,d.onclick=function(){Vb(e)},!0}return!1};
function Em(a,b){var c=a.Qc;c||(c=ya("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Km(a,c))||a.Ja("Your user ID has not been approved."))):b&&a.Ja("Browser local storage is not available"));return c}
function Km(a,b){a.Qc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(za("user",c.data),a.Qc=c.data)}catch(e){x(e.message+" ("+d+")")}return a.Qc}
function Jm(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=zm(a,"1.16.0");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ja("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.Ja(c),za("user",""),a.Qc=null)}}
function Vb(a){if(a.Pc&&!a.Sh){var b=ua("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ym(a,b,!0);!b&&a.fm?window&&window.location.reload():(b||(a.Di=!0),a.Lh(Dm),a.Di=!1)}else a.reset(),a.T&&Pb(a.T)}function eb(a,b,c){a=Va(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Ra=function(a,b){this.fa&&(b||E(this.fa,524288))&&this.fa.message(a)};
Ha(function(){for(var a=D(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=C(f),g=new Cm(g,d,!0);Za(g,f);Fm(g,g.Lh)}});Da.show.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ya("Computer",c.id))&&c.Bk&&!c.qa.Ob&&c.Lh(-1)}});
Da.exit.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Ya("Computer",c.id))&&c.qa.Ob&&ym(c,!(!c.Pc||c.Sh),!0)}});var Lm=0;function Mm(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Nm(h,a,b,c,d,e,f)})}
function Nm(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Rm(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Rm(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Rm(a,b,c)}})}else c(a,null)}
function Sm(a,b,c,d){function e(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ja(a))}function f(a){e("Error: "+a);n&&g();n=!1}function g(){0==--Lm&&Ja(!0)}var h,l,n=!0;Lm++;try{if(h=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.0/components.xsl");var q=function(a,d){if(d){var l=function(a,l){if(l)if(l)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(l);n?(h.outerHTML=n,g()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(d,window.document))?(h.parentNode.replaceChild(n,h),g()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Mm(c,null,null,!1,e,l):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Mm(b,a,d,!0,e,q):Nm(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return n}
window.embedPC=function(a,b,c,d){Ja(!1);return Sm(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ka;})();
k.Db=function(a,b,c,d){var e=this;switch(c){case "save":return this.wa[c]=d,d.onclick=function(){var a=Lm(e,!0);if(a){var b=!(!e.Rc||e.Th),c=Fm(e,b);b?Qm(e,a,c):e.Ja("Resume disabled, machine state not saved")}},!0;case "reset":return this.wa[c]=d,d.onclick=function(){Vb(e)},!0}return!1};
function Lm(a,b){var c=a.Sc;c||(c=ya("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Rm(a,c))||a.Ja("Your user ID has not been approved."))):b&&a.Ja("Browser local storage is not available"));return c}
function Rm(a,b){a.Sc=null;var c=sa(ta()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(za("user",c.data),a.Sc=c.data)}catch(e){x(e.message+" ("+d+")")}return a.Sc}
function Qm(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Gm(a,"1.16.0");d.data=c;b=sa(ta()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ja("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.Ja(c),za("user",""),a.Sc=null)}}
function Vb(a){if(a.Rc&&!a.Th){var b=ua("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Fm(a,b,!0);!b&&a.gm?window&&window.location.reload():(b||(a.Ei=!0),a.Mh(Km),a.Ei=!1)}else a.reset(),a.T&&Pb(a.T)}function eb(a,b,c){a=Va(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}k.Sa=function(a,b){this.fa&&(b||E(this.fa,524288))&&this.fa.message(a)};
Ha(function(){for(var a=D(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=C(c),c=D(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=C(f),g=new Jm(g,d,!0);Za(g,f);Mm(g,g.Mh)}});Da.show.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Xa("Computer",c.id))&&c.Bk&&!c.qa.Qb&&c.Mh(-1)}});
Da.exit.push(function(){for(var a=D(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=C(a[b]);(c=Xa("Computer",c.id))&&c.qa.Qb&&Fm(c,!(!c.Rc||c.Th),!0)}});var Sm=0;function Tm(a,b,c,d,e,f){e("Loading "+a+"...");sa(a,!0,null,null,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Um(h,a,b,c,d,e,f)})}
function Um(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){var h=b;h&&0>h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=
null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Ym(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Ym(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");sa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Ym(a,b,c)}})}else c(a,null)}
function Zm(a,b,c,d){function e(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=ja(a))}function f(a){e("Error: "+a);n&&g();n=!1}function g(){0==--Sm&&Ja(!0)}var h,l,n=!0;Sm++;try{if(h=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.0/components.xsl");var q=function(a,d){if(d){var l=function(a,l){if(l)if(l)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(l);n?(h.outerHTML=n,g()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(l),(n=n.transformToFragment(d,window.document))?(h.parentNode.replaceChild(n,h),g()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Tm(c,null,null,!1,e,l):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Tm(b,a,d,!0,e,q):Um(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return n}
window.embedPC=function(a,b,c,d){Ja(!1);return Zm(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ka;})();

View file

@ -4,90 +4,90 @@ function ia(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFul
function r(a,b,c,d,e,f){b=!!b;var h=0,g=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(g=n.responseText,200==n.status||!n.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(h=n.status||-1),e&&(d?e.call(d,m,g,h,f):e(m,g,h,f)))});if(c){var q="",w;for(w in c)c.hasOwnProperty(w)&&(q&&(q+="&"),q+=w+"="+encodeURIComponent(c[w]));q=q.replace(/%20/g,"+");n.open("POST",a,
b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(g=n.responseText,200!=n.status&&(h=n.status||-1),e&&(d?e.call(d,m,g,h,f):e(m,g,h,f)),a=[h,g]);return a}function la(){return"http://"+(window?window.location.host:"www.pcjs.org")}function s(a){window&&window.alert(a)}function ma(a){var b=!1;window&&(b=window.confirm(a));return b}
function na(){if(void 0===ka){var a;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}ka=a}return ka}function oa(a){var b;try{b=window.localStorage.getItem(a)}catch(c){}return b}function pa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function qa(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)?!0:!1}return!1}var ra={init:[],show:[],exit:[]},sa=!1,ta=!0;function wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){ra.init.push(a)}
function xa(a){if(ta)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){s("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function ya(a){!ta&&a?(ta=!0,sa&&za("init")):ta=a}function za(a){ra[a]&&xa(ra[a])}wa("onload",function(){sa=!0;xa(ra.init)});wa("onpageshow",function(){xa(ra.show)});wa(qa("Opera")||qa("iOS")?"onunload":"onbeforeunload",function(){xa(ra.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bj=b.comment;this.$n=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Rj=this.id.substr(0,b),this.Vh=this.id.substr(b+1)):this.Vh=this.id;this[a]=c;this.na={Bg:!1,tc:!1,Hh:!1,Gb:!1,Oc:!1};this.Qh=null;this.na.Oc=!1;this.ra={};this.Sa=null;x[x.length]=this}var Aa=void 0,Ba={};
function qa(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)?!0:!1}return!1}var ra={init:[],show:[],exit:[]},sa=!1,ta=!0;function ua(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function u(a){ra.init.push(a)}
function xa(a){if(ta)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){s("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function ya(a){!ta&&a?(ta=!0,sa&&za("init")):ta=a}function za(a){ra[a]&&xa(ra[a])}ua("onload",function(){sa=!0;xa(ra.init)});ua("onpageshow",function(){xa(ra.show)});ua(qa("Opera")||qa("iOS")?"onunload":"onbeforeunload",function(){xa(ra.exit)});
function v(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bj=b.comment;this.ao=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Sj=this.id.substr(0,b),this.Wh=this.id.substr(b+1)):this.Wh=this.id;this[a]=c;this.na={Cg:!1,uc:!1,Ih:!1,Hb:!1,Pc:!1};this.Rh=null;this.na.Pc=!1;this.qa={};this.Va=null;x[x.length]=this}var Aa=void 0,Ba={};
if(window){Aa||(Aa=window.location.search.substr(1));for(var Ca,Da=/\+/g,Ea=/([^&=]+)=?([^&]*)/g;Ca=Ea.exec(Aa);)Ba[decodeURIComponent(Ca[1].replace(Da," "))]=decodeURIComponent(Ca[2].replace(Da," "))}function Fa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function y(a,b){b.prototype=Fa(a.prototype)}var x=[];
function Ga(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Ha(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<x.length;c++)if(x[c].id===a)return x[c]}return null}
function Ia(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<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function z(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){s(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Ja(a,b){var c,d;d=A(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var h=f[e];if(h.nodeType===window.document.ELEMENT_NODE){var g=h.getAttribute("class");if(g){var m,n;n=g.split(" ");for(m=0;m<n.length;m++)switch(g=n[m],g){case "pcjs-input":case "pcjs-output":(n=z(h))&&n.binding&&a.zb(g,n.type,n.binding,h),n=[]}}}}}}
function Ja(a,b){for(var c=A(b.parentNode,"pcjs-control"),d=0;d<c.length;d++)for(var e=c[d].childNodes,f=0;f<e.length;f++){var h=e[f];if(h.nodeType===window.document.ELEMENT_NODE){var g=h.getAttribute("class");if(g)for(var m=g.split(" "),n=0;n<m.length;n++)switch(g=m[n],g){case "pcjs-input":case "pcjs-output":(n=z(h))&&n.binding&&a.Bb(g,n.type,n.binding,h),n=m.length}}}}
function A(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}
v.prototype={toString:function(){return this.name?this.name:this.id||this.type},zb:function(a,b,c,d){switch(c){case "clear":return this.ra[c]||(this.ra[c]=d,d.onclick=function(a){return function(){a.ra.print&&(a.ra.print.value="")}}(this)),!0;case "print":return this.ra[c]||(this.zh=this.ra[c]=d,d.value="",this.Zb=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}}(d),this.ya=
function(a,b,c){this.Zb(a,"notice",c)}),!0;default:return!1}},log:function(){},Zb:function(){},status:function(a){this.Zb(this.Vh+": "+a)},ya:function(a,b){b||s(a)},Na:function(a){this.na.Oc||(this.na.Bg=!1!==a,this.na.Bg&&(this.name&&this.log("ready"),a=this.Qh,this.Qh=null,a&&a()))},Qb:function(){return this.na.Gb=!0},Pb:function(a,b){b&&(this.na.Gb=!1);return!0}};
function Ka(a,b){if(a.na.Hh)return a.na.tc&&(a.na.tc=!1),a.na.Hh=!1;if(a.na.Oc)return a.Zb(a.toString()+" error"),!1;a.na.tc=b;return a.na.tc}function La(a,b){b&&(a.na.Bg?b():a.Qh=b);return a.na.Bg}function Ma(a,b){a.na.Oc=!0;a.ya("Fatal error: "+b)}function Na(a){v.call(this,"Panel",a,Na)}y(v,Na);Na.prototype.zb=function(a,b,c,d){return this.La&&this.La.zb(a,b,c,d)||this.la&&this.la.zb(a,b,c,d)||this.Ma&&this.Ma.zb(a,b,c,d)?!0:v.prototype.zb.call(this,a,b,c,d)};
Na.prototype.mc=function(a,b,c,d){this.La=a;this.la=c;this.Sa=d;this.Ma=C(a,"Keyboard")};Na.prototype.Qb=function(a,b){b||Oa();return!0};Na.prototype.Pb=function(){return!0};function Oa(){for(var a=!1,b=A(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ha(e.id);f||(a=!0,f=new Na(e));Ja(f,d);a&&f.Na()}}u(Oa);
function Pa(a,b,c){v.call(this,"Bus",a,Pa);this.la=b;this.Sa=c;this.uf=a.buswidth||20;this.ph=this.Yc=(1<<this.uf)-1;this.Ob=20>=this.uf?12:14;this.pc=1<<this.Ob;this.zj=this.pc>>2;this.kb=this.pc-1;this.pg=(this.ph+this.pc)/this.pc|0;this.Zd=this.pg-1;this.bg=[];this.cg=[];this.Xh();this.Na()}y(v,Pa);Pa.prototype.Xh=function(){this.Ba=Array(this.pg);for(var a=0;a<this.pg;a++)this.Ba[a]=new Qa(a*this.pc);this.la.Xh(this.Ba,this.ph,this.Ob,this.kb,this.Zd);this.la.Ud=this.Yc};
Pa.prototype.reset=function(){Ra(this,!0)};Pa.prototype.Qb=function(a,b){b||this.reset();return!0};function Sa(a,b,c,d,e){if(!(b&a.kb||!c||c&a.kb)){for(var f=b>>a.Ob;0<c&&f<a.Ba.length;){var h=a.Ba[f];if(void 0!==h&&h.size)return Ta(1,b,c);b=f*a.pc;a.Ba[f++]=new Qa(b,a.pc,d,e);c-=a.pc}return!0}return Ta(2,b,c)}function Ra(a,b){if(void 0!==b&&20<a.uf){var c=a.Yc&-1048577|(b?1048576:0);c!=a.Yc&&(a.Yc=c,a.la&&(a.la.Ud=c))}}
Pa.prototype.dh=function(a,b,c){if(!(a&this.kb||!b||b&this.kb)){for(var d=a>>this.Ob;0<b;){var e=this.Ba[d];if(!e.ea)return Ta(5,a,b);e.se(c);b-=this.pc;d++}return!0}return Ta(3,a,b)};function Wa(a,b,c){if(!(b&a.kb||!c||c&a.kb)){for(var d=b>>a.Ob;0<c;)b=d*a.pc,a.Ba[d++]=new Qa(b),c-=a.pc;return!0}return Ta(4,b,c)}function Xa(a,b){return a.Ba[(b&a.Yc)>>a.Ob].$i(b&a.kb)}function Ya(a,b){var c=b&a.kb,d=(b&a.Yc)>>a.Ob;return c!=a.kb?a.Ba[d].co(c):a.Ba[d++].$i(c)|a.Ba[d&a.Zd].$i(0)<<8}
function Za(a,b,c){a.Ba[(b&a.Yc)>>a.Ob].hj(b&a.kb,c&255)}function $a(a,b,c){var d=b&a.kb;b=(b&a.Yc)>>a.Ob;d!=a.kb?a.Ba[b].oo(d,c&65535):(a.Ba[b++].hj(d,c&255),a.Ba[b&a.Zd].hj(0,c>>8&255))}function ab(a){for(var b=0,c=[],d=0;d<a.pg;d++){var e=a.Ba[d];if(e.bb||e.Hj){c[b++]=d;var f=c,h=b++;a:if(e=e.save()){for(var g=0,m=0,n=[];g<e.length;){for(var q=e[g],w=g+1;w<e.length&&e[w]===q;)w++;n[m++]=w-g;n[m++]=q;g=w}if(n.length<e.length){e=n;break a}}f[h]=e}}c[b]=a.ph==a.Yc;return c}
function bb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.bg[n]?s("Input port "+p(n,4)+" registered by "+f.bg[n][0].id+", ignoring "+g.id):f.bg[n]=[g,m,!1,!1]}}function cb(a,b,c){var d=255;a=a.bg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function db(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.cg[n]?s("Output port "+p(n,4)+" registered by "+f.cg[n][0].id+", ignoring "+g.id):f.cg[n]=[g,m,!1,!1]}}function eb(a,b,c,d){a=a.cg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Ta(a,b,c){s("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function Qa(a,b,c,d){this.yl=b||0;this.pa=null;this.offset=0;this.Kj=c;this.ea=null;this.bb=this.Hj=!1;if(b)if(d)this.ea=d,a=[d.Vd,a-d.Qa],this.pa=a[0],this.offset=a[1],this.se(d.cf);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.se(fb)}else this.se()}
Qa.prototype={Wg:function(){return 0},hh:function(){},ao:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},eo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},mo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.bb=!0},po:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.bb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.yl==a.length<<2?(this.pa=a,this.bb=!0):!1},se:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.xc=c[0]?c[0]:this.Wg;this.bo=c[1]?c[1]:this.Wg;b&&(this.$i=c[0]?c[0]:this.Wg,this.co=c[1]?c[1]:this.Wg);c=a;this.Ac=c[2]&&!this.Kj?c[2]:this.hh;this.no=c[3]&&!this.Kj?c[3]:this.hh;b&&(this.hj=c[2]?c[2]:this.hh,this.oo=c[3]?c[3]:this.hh)}};var fb=[Qa.prototype.ao,Qa.prototype.eo,Qa.prototype.mo,Qa.prototype.po];
function gb(a,b){v.call(this,"CPU",a,gb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.kd=c;this.ba.Ed=d;this.ba.Ig=Math.round(this.ba.kd/1E4)/100;this.ba.Qe=this.ba.Ig*this.ba.Ed;this.na.Gb=!1;this.na.uc=!1;this.na.Gh=a.autoStart;c=Ba.autostart;void 0!==c&&(this.na.Gh="true"==c?!0:"false"==c?!1:null);this.na.wg=!1;this.ba.Ng=this.ba.Se=0;this.ba.Og=a.csStart;this.ba.wf=a.csInterval;this.ba.xf=a.csStop;var e=this;this.dn=function(){hb(e)};this.Na()}y(v,gb);k=gb.prototype;
k.mc=function(a,b,c,d){this.qa=b;this.Sa=d;this.La=a;var e=C(a,"Video");e&&(this.rf=function(){ib(e)},this.We=function(){e.We()});this.ja=C(a,"ChipSet");this.Na()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Qb=function(a,b){if(!b){if(a&&this.restore){jb(this);if(!this.restore(a))return!1;kb(this)}else this.reset();this.Zb("No debugger detected")}this.na.Gb=!0;!lb(this)&&this.Sa&&this.Sa.Jp();this.rf();this.qf();return!0};
k.Pb=function(a){this.na.Gb=!1;return a&&this.save?this.save():!0};function lb(a){return!0===a.na.Gh||null===a.na.Gh&&void 0===a.ra.run?(hb(a),!0):!1}k.We=function(){};k.Oj=function(){return 0};function kb(a){void 0===a.ba.Og&&(a.ba.Og=0);void 0===a.ba.wf&&(a.ba.wf=-1);void 0===a.ba.xf&&(a.ba.xf=-1);a.na.wg=0<=a.ba.Og&&0<a.ba.wf;a.na.wg&&(a.ba.Ng=0,a.ba.Se=a.ba.Og-a.ne)}
function D(a,b,c,d){void 0!==a.ra[b]&&(void 0===d&&(d=4),void 0===c&&(Ma(a,"Register "+b+" is invalid"),mb(a)),c=p(c,d),a.ra[b].innerHTML!=c&&(a.ra[b].innerHTML=c))}k.qf=function(){};k.rf=function(){};
k.zb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.ra[c]=d;d.onclick=function(){e.na.uc?mb(e,!0):hb(e,!0)};a=!0;break;case "reset":this.ra[c]=d;d.onclick=function(){e.La&&nb(e.La)};a=!0;break;case "speed":this.ra[c]=d;a=!0;break;case "setSpeed":this.ra[c]=d,d.onclick=function(){ob(e,e.ba.Ed<<1,!0)},d.innerHTML=this.ba.Qe.toFixed(2)+"Mhz",a=!0}return a};function pb(a,b,c){a.ne+=b;c&&(a.Rc=a.A=0)}
function qb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Ed&&a.ba.Qc&&(d=a.ba.Qc/a.ba.Ig);a.ba.Uj=Math.round(1E3/30);a.ba.Ym=Math.floor(a.ba.kd/c*d);a.ba.di=Math.floor(a.ba.kd/30*d);a.ba.Yj=Math.floor(a.ba.kd/60*d);a.ba.Xj=Math.floor(a.ba.kd/2*d);b||(a.ba.Af=a.ba.di,a.ba.zf=a.ba.Yj,a.ba.yf=a.ba.Xj);a.ba.ei=0}function rb(a,b){var c=a.ne+a.Jd+a.Rc-a.A;b&&1<a.ba.Ed&&a.ba.Qc>a.ba.Ig&&(c=Math.round(c/a.ba.Ed));return c}function jb(a){a.ba.Qc=0;a.Lg=1;a.ne=a.Jd=a.Rc=a.A=0;kb(a);ob(a,1)}
function ob(a,b,c){void 0!==b&&(0.8>a.ba.Qc/a.ba.Qe&&(b=1),a.ba.Ed=b,b=a.ba.Ig*a.ba.Ed,a.ba.Qe!=b&&(a.ba.Qe=b,b=a.ba.Qe.toFixed(2)+"Mhz",a.ra.setSpeed&&(a.ra.setSpeed.innerHTML=b),a.Zb("target speed: "+b)),c&&a.We());pb(a,a.Jd);a.Jd=0;a.ba.Re=ha();a.ba.ke=0;qb(a)}
function hb(a,b){if(Ka(a,!0)){a.na.uc||(ob(a),a.La&&a.La.start(a.ba.Re,rb(a)),a.na.uc=!0,a.ja&&sb(a.ja),a.ra.run&&(a.ra.run.innerHTML="Halt"),b&&a.We());a.ba.ei>=a.ba.kd&&qb(a,!0);a.ba.Bf=0;a.ba.Kg=ha();if(a.ba.ke){var c=a.ba.Kg-a.ba.ke;c>a.ba.Uj&&(a.ba.Re+=c,a.ba.Re>a.ba.Kg&&(a.ba.Re=a.ba.Kg))}try{do{a.nl(a.na.wg?1:Math.round(a.ba.Ym/a.Lg));var d=a.Rc-a.A;a.Jd+=d;a.ba.Bf+=d;pb(a,0,!0);var c=a,e=d;if(c.na.wg){var f=!1;c.ba.Ng=c.ba.Ng+c.Oj()|0;c.ba.Se-=e;0>=c.ba.Se&&(c.ba.Se+=c.ba.wf,f=!0);0<=c.ba.xf&&
c.ba.xf<=rb(c)&&(c.ba.wf=c.ba.xf=-1,kb(c),mb(c),f=!0);f&&c.Zb(rb(c)+" cycles: checksum="+p(c.ba.Ng))}a.ba.zf-=d;0>=a.ba.zf&&(a.ba.zf+=a.ba.Yj,a.rf());a.ba.yf-=d;0>=a.ba.yf&&(a.ba.yf+=a.ba.Xj,a.qf());a.ba.Af-=d;if(0>=a.ba.Af){a.ba.Af+=a.ba.di;break}}while(a.na.uc)}catch(h){mb(a);a.rf();a.qf();a.La&&a.La.stop(ha(),rb(a));Ka(a,!1);Ma(a,h.message);return}d=setTimeout;c=a.dn;a.ba.ke=ha();e=a.ba.Uj;a.ba.Bf&&(e=Math.round(e*a.ba.Bf/a.ba.di));e-=a.ba.ke-a.ba.Kg;if(f=a.ba.ke-a.ba.Re)a.ba.Qc=Math.round(a.Jd/
(10*f))/100,864E5<=f&&(a.ne=0,a.ja&&tb(a.ja,!0),ob(a));if(0>e||a.ba.Qc<a.ba.Qe)e=0;a.ba.ei+=a.ba.Bf;a.ba.ke+=e;d(c,e)}else a.rf(),a.qf(),a.La&&a.La.stop(ha(),rb(a))}function mb(a,b){a.na.tc&&(a.na.Hh=!0);a.Rc-=a.A;a.A=0;pb(a,a.Jd);a.Jd=0;a.na.uc&&(a.na.uc=!1,a.ja&&sb(a.ja),a.ra.run&&(a.ra.run.innerHTML="Run"));a.na.xg=b}k.nl=function(){return 0};
v.prototype={toString:function(){return this.name?this.name:this.id||this.type},Bb:function(a,b,c,d){switch(c){case "clear":return this.qa[c]||(this.qa[c]=d,d.onclick=function(a){return function(){a.qa.print&&(a.qa.print.value="")}}(this)),!0;case "print":return this.qa[c]||(this.Ah=this.qa[c]=d,d.value="",this.$b=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}}(d),this.ya=
function(a,b,c){this.$b(a,"notice",c)}),!0;default:return!1}},log:function(){},$b:function(){},status:function(a){this.$b(this.Wh+": "+a)},ya:function(a,b){b||s(a)},Na:function(a){this.na.Pc||(this.na.Cg=!1!==a,this.na.Cg&&(this.name&&this.log("ready"),a=this.Rh,this.Rh=null,a&&a()))},Sb:function(){return this.na.Hb=!0},Rb:function(a,b){b&&(this.na.Hb=!1);return!0}};
function Ka(a,b){if(a.na.Ih)return a.na.uc&&(a.na.uc=!1),a.na.Ih=!1;if(a.na.Pc)return a.$b(a.toString()+" error"),!1;a.na.uc=b;return a.na.uc}function La(a,b){b&&(a.na.Cg?b():a.Rh=b);return a.na.Cg}function Ma(a,b){a.na.Pc=!0;a.ya("Fatal error: "+b)}function Na(a){v.call(this,"Panel",a,Na)}y(v,Na);Na.prototype.Bb=function(a,b,c,d){return this.Ma&&this.Ma.Bb(a,b,c,d)||this.ka&&this.ka.Bb(a,b,c,d)||this.Ka&&this.Ka.Bb(a,b,c,d)?!0:v.prototype.Bb.call(this,a,b,c,d)};
Na.prototype.oc=function(a,b,c,d){this.Ma=a;this.ka=c;this.Va=d;this.Ka=B(a,"Keyboard")};Na.prototype.Sb=function(a,b){b||Oa();return!0};Na.prototype.Rb=function(){return!0};function Oa(){for(var a=!1,b=A(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=z(d),f=Ha(e.id);f||(a=!0,f=new Na(e));Ja(f,d);a&&f.Na()}}u(Oa);
function Pa(a,b,c){v.call(this,"Bus",a,Pa);this.ka=b;this.Va=c;this.sf=a.buswidth||20;this.qh=this.Zc=(1<<this.sf)-1;this.Pb=20>=this.sf?12:14;this.rc=1<<this.Pb;this.zj=this.rc>>2;this.nb=this.rc-1;this.og=(this.qh+this.rc)/this.rc|0;this.$d=this.og-1;this.$f=[];this.ag=[];this.Yh();this.Na()}y(v,Pa);Pa.prototype.Yh=function(){this.Ba=Array(this.og);for(var a=0;a<this.og;a++)this.Ba[a]=new Qa(a*this.rc);this.ka.Yh(this.Ba,this.qh,this.Pb,this.nb,this.$d);this.ka.Vd=this.Zc};
Pa.prototype.reset=function(){Ra(this,!0)};Pa.prototype.Sb=function(a,b){b||this.reset();return!0};function Sa(a,b,c,d,e){if(!(b&a.nb||!c||c&a.nb)){for(var f=b>>a.Pb;0<c&&f<a.Ba.length;){var h=a.Ba[f];if(void 0!==h&&h.size)return Ta(1,b,c);b=f*a.rc;a.Ba[f++]=new Qa(b,a.rc,d,e);c-=a.rc}return!0}return Ta(2,b,c)}function Ra(a,b){if(void 0!==b&&20<a.sf){var c=a.Zc&-1048577|(b?1048576:0);c!=a.Zc&&(a.Zc=c,a.ka&&(a.ka.Vd=c))}}
Pa.prototype.eh=function(a,b,c){if(!(a&this.nb||!b||b&this.nb)){for(var d=a>>this.Pb;0<b;){var e=this.Ba[d];if(!e.ea)return Ta(5,a,b);e.ue(c);b-=this.rc;d++}return!0}return Ta(3,a,b)};function Wa(a,b,c){if(!(b&a.nb||!c||c&a.nb)){for(var d=b>>a.Pb;0<c;)b=d*a.rc,a.Ba[d++]=new Qa(b),c-=a.rc;return!0}return Ta(4,b,c)}function Xa(a,b){return a.Ba[(b&a.Zc)>>a.Pb].aj(b&a.nb)}function Ya(a,b){var c=b&a.nb,d=(b&a.Zc)>>a.Pb;return c!=a.nb?a.Ba[d].eo(c):a.Ba[d++].aj(c)|a.Ba[d&a.$d].aj(0)<<8}
function Za(a,b,c){a.Ba[(b&a.Zc)>>a.Pb].ij(b&a.nb,c&255)}function $a(a,b,c){var d=b&a.nb;b=(b&a.Zc)>>a.Pb;d!=a.nb?a.Ba[b].qo(d,c&65535):(a.Ba[b++].ij(d,c&255),a.Ba[b&a.$d].ij(0,c>>8&255))}function ab(a){for(var b=0,c=[],d=0;d<a.og;d++){var e=a.Ba[d];if(e.fb||e.Hj){c[b++]=d;var f=c,h=b++;a:if(e=e.save()){for(var g=0,m=0,n=[];g<e.length;){for(var q=e[g],w=g+1;w<e.length&&e[w]===q;)w++;n[m++]=w-g;n[m++]=q;g=w}if(n.length<e.length){e=n;break a}}f[h]=e}}c[b]=a.qh==a.Zc;return c}
function bb(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.$f[n]?s("Input port "+p(n,4)+" registered by "+f.$f[n][0].id+", ignoring "+g.id):f.$f[n]=[g,m,!1,!1]}}function cb(a,b,c){var d=255;a=a.$f[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function db(a,b,c,d){void 0===d&&(d=0);for(var e in c){e=parseInt(e,10);var f=a,h=e+d,g=b,m=c[e];if(void 0!==m)for(var n=e+d;n<=h;n++)void 0!==f.ag[n]?s("Output port "+p(n,4)+" registered by "+f.ag[n][0].id+", ignoring "+g.id):f.ag[n]=[g,m,!1,!1]}}function eb(a,b,c,d){a=a.ag[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Ta(a,b,c){s("Memory block error ("+a+","+p(b)+","+p(c)+")");return!1}
function Qa(a,b,c,d){this.zl=b||0;this.pa=null;this.offset=0;this.Lj=c;this.ea=null;this.fb=this.Hj=!1;if(b)if(d)this.ea=d,a=[d.Wd,a-d.Ra],this.pa=a[0],this.offset=a[1],this.ue(d.df);else{this.pa=Array(b>>2);for(d=0;d<this.pa.length;d++)this.pa[d]=0;this.ue(fb)}else this.ue()}
Qa.prototype={Xg:function(){return 0},ih:function(){},bo:function(a){return this.pa[a>>2]>>>((a&3)<<3)&255},fo:function(a){var b=a>>2;a=(a&3)<<3;var c=this.pa[b]>>>a;return 24>a?c&65535:c&255|(this.pa[b+1]&255)<<8},oo:function(a,b){var c=a>>2,d=(a&3)<<3;this.pa[c]=this.pa[c]&~(255<<d)|b<<d;this.fb=!0},ro:function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.pa[c]=this.pa[c]&~(65535<<d)|b<<d:(this.pa[c]=this.pa[c]&16777215|b<<24,c++,this.pa[c]=this.pa[c]&4294967040|b>>8);this.fb=!0},save:function(){return this.ea?
null:this.pa},restore:function(a){return this.ea?null==a:a&&this.zl==a.length<<2?(this.pa=a,this.fb=!0):!1},ue:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.yc=c[0]?c[0]:this.Xg;this.co=c[1]?c[1]:this.Xg;b&&(this.aj=c[0]?c[0]:this.Xg,this.eo=c[1]?c[1]:this.Xg);c=a;this.Bc=c[2]&&!this.Lj?c[2]:this.ih;this.po=c[3]&&!this.Lj?c[3]:this.ih;b&&(this.ij=c[2]?c[2]:this.ih,this.qo=c[3]?c[3]:this.ih)}};var fb=[Qa.prototype.bo,Qa.prototype.fo,Qa.prototype.oo,Qa.prototype.ro];
function gb(a,b){v.call(this,"CPU",a,gb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.ld=c;this.ba.Gd=d;this.ba.Jg=Math.round(this.ba.ld/1E4)/100;this.ba.Se=this.ba.Jg*this.ba.Gd;this.na.Hb=!1;this.na.vc=!1;this.na.Hh=a.autoStart;c=Ba.autostart;void 0!==c&&(this.na.Hh="true"==c?!0:"false"==c?!1:null);this.na.xg=!1;this.ba.Og=this.ba.Ue=0;this.ba.Pg=a.csStart;this.ba.uf=a.csInterval;this.ba.vf=a.csStop;var e=this;this.en=function(){hb(e)};this.Na()}y(v,gb);k=gb.prototype;
k.oc=function(a,b,c,d){this.ra=b;this.Va=d;this.Ma=a;var e=B(a,"Video");e&&(this.pf=function(){ib(e)},this.od=function(){e.od()});this.ja=B(a,"ChipSet");this.Na()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Sb=function(a,b){if(!b){if(a&&this.restore){jb(this);if(!this.restore(a))return!1;kb(this)}else this.reset();this.$b("No debugger detected")}this.na.Hb=!0;!lb(this)&&this.Va&&this.Va.Lp();this.pf();this.of();return!0};
k.Rb=function(a){this.na.Hb=!1;return a&&this.save?this.save():!0};function lb(a){return!0===a.na.Hh||null===a.na.Hh&&void 0===a.qa.run?(hb(a),!0):!1}k.od=function(){};k.Pj=function(){return 0};function kb(a){void 0===a.ba.Pg&&(a.ba.Pg=0);void 0===a.ba.uf&&(a.ba.uf=-1);void 0===a.ba.vf&&(a.ba.vf=-1);a.na.xg=0<=a.ba.Pg&&0<a.ba.uf;a.na.xg&&(a.ba.Og=0,a.ba.Ue=a.ba.Pg-a.pe)}
function D(a,b,c,d){void 0!==a.qa[b]&&(void 0===d&&(d=4),void 0===c&&(Ma(a,"Register "+b+" is invalid"),mb(a)),c=p(c,d),a.qa[b].innerHTML!=c&&(a.qa[b].innerHTML=c))}k.of=function(){};k.pf=function(){};
k.Bb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.qa[c]=d;d.onclick=function(){e.na.vc?mb(e,!0):hb(e,!0)};a=!0;break;case "reset":this.qa[c]=d;d.onclick=function(){e.Ma&&nb(e.Ma)};a=!0;break;case "speed":this.qa[c]=d;a=!0;break;case "setSpeed":this.qa[c]=d,d.onclick=function(){ob(e,e.ba.Gd<<1,!0)},d.innerHTML=this.ba.Se.toFixed(2)+"Mhz",a=!0}return a};function pb(a,b,c){a.pe+=b;c&&(a.Sc=a.A=0)}
function qb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.ba.Gd&&a.ba.Rc&&(d=a.ba.Rc/a.ba.Jg);a.ba.Vj=Math.round(1E3/30);a.ba.Zm=Math.floor(a.ba.ld/c*d);a.ba.ei=Math.floor(a.ba.ld/30*d);a.ba.Zj=Math.floor(a.ba.ld/60*d);a.ba.Yj=Math.floor(a.ba.ld/2*d);b||(a.ba.yf=a.ba.ei,a.ba.xf=a.ba.Zj,a.ba.wf=a.ba.Yj);a.ba.fi=0}function rb(a,b){var c=a.pe+a.Ld+a.Sc-a.A;b&&1<a.ba.Gd&&a.ba.Rc>a.ba.Jg&&(c=Math.round(c/a.ba.Gd));return c}function jb(a){a.ba.Rc=0;a.Mg=1;a.pe=a.Ld=a.Sc=a.A=0;kb(a);ob(a,1)}
function ob(a,b,c){if(void 0!==b){0.8>a.ba.Rc/a.ba.Se&&(b=1);a.ba.Gd=b;b=a.ba.Jg*a.ba.Gd;if(a.ba.Se!=b){a.ba.Se=b;b=a.ba.Se.toFixed(2)+"Mhz";var d=a.qa.setSpeed;d&&(d.innerHTML=b);a.$b("target speed: "+b)}c&&a.od()}pb(a,a.Ld);a.Ld=0;a.ba.Te=ha();a.ba.me=0;qb(a)}
function hb(a,b){if(Ka(a,!0)){if(!a.na.vc){ob(a);a.Ma&&a.Ma.start(a.ba.Te,rb(a));a.na.vc=!0;a.ja&&sb(a.ja);var c=a.qa.run;c&&(c.innerHTML="Halt");b&&a.od()}a.ba.fi>=a.ba.ld&&qb(a,!0);a.ba.zf=0;a.ba.Lg=ha();a.ba.me&&(c=a.ba.Lg-a.ba.me,c>a.ba.Vj&&(a.ba.Te+=c,a.ba.Te>a.ba.Lg&&(a.ba.Te=a.ba.Lg)));try{do{a.ol(a.na.xg?1:Math.round(a.ba.Zm/a.Mg));var d=a.Sc-a.A;a.Ld+=d;a.ba.zf+=d;pb(a,0,!0);var c=a,e=d;if(c.na.xg){var f=!1;c.ba.Og=c.ba.Og+c.Pj()|0;c.ba.Ue-=e;0>=c.ba.Ue&&(c.ba.Ue+=c.ba.uf,f=!0);0<=c.ba.vf&&
c.ba.vf<=rb(c)&&(c.ba.uf=c.ba.vf=-1,kb(c),mb(c),f=!0);f&&c.$b(rb(c)+" cycles: checksum="+p(c.ba.Og))}a.ba.xf-=d;0>=a.ba.xf&&(a.ba.xf+=a.ba.Zj,a.pf());a.ba.wf-=d;0>=a.ba.wf&&(a.ba.wf+=a.ba.Yj,a.of());a.ba.yf-=d;if(0>=a.ba.yf){a.ba.yf+=a.ba.ei;break}}while(a.na.vc)}catch(h){mb(a);a.pf();a.of();a.Ma&&a.Ma.stop(ha(),rb(a));Ka(a,!1);Ma(a,h.message);return}d=setTimeout;c=a.en;a.ba.me=ha();e=a.ba.Vj;a.ba.zf&&(e=Math.round(e*a.ba.zf/a.ba.ei));e-=a.ba.me-a.ba.Lg;if(f=a.ba.me-a.ba.Te)a.ba.Rc=Math.round(a.Ld/
(10*f))/100,864E5<=f&&(a.pe=0,a.ja&&tb(a.ja,!0),ob(a));if(0>e||a.ba.Rc<a.ba.Se)e=0;a.ba.fi+=a.ba.zf;a.ba.me+=e;d(c,e)}else a.pf(),a.of(),a.Ma&&a.Ma.stop(ha(),rb(a))}function mb(a,b){a.na.uc&&(a.na.Ih=!0);a.Sc-=a.A;a.A=0;pb(a,a.Ld);a.Ld=0;if(a.na.vc){a.na.vc=!1;a.ja&&sb(a.ja);var c=a.qa.run;c&&(c.innerHTML="Run")}a.na.yg=b}k.ol=function(){return 0};
var ub=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
0,0,1,1,0,1,0,0,1];function vb(a,b,c){this.la=a;this.ob=this.Aa=0;this.hd=65535;this.Bb=0;this.Gj="CS"==b;this.ah=b;this.lc=this.rc=0;wb(this,c)}function yb(a){this.Aa=a;this.hd=65535;this.rc=this.lc=0;return this.ob=a<<4}
function zb(a){var b,c;a&4?(b=this.la.re.ob,c=this.la.re.hd):(b=this.la.Bc,c=this.la.Ce);b+=a&65528;if(b+7<=c){this.la.A-=15;c=E(this.la,b+0);var d=E(this.la,b+4);b=E(this.la,b+2)|(d&255)<<16;var e;d&4096||(e=d&7936)&&768>=e?(this.Aa=a,this.ob=b,this.hd=c,this.Bb=d&65280,this.type=d&7936,wb(this)):b=-1;return b}return-1}function Ab(a){return this.ob+a}function Bb(a){return this.ob+a}function Cb(a,b,c){return a+b<=this.hd?this.ob+a:Db.call(this,0,0,c)}
function Db(a,b,c){c||Eb.call(this.la,13,0);return-1}function Fb(a,b,c){return a+b<=this.hd?this.ob+a:Gb.call(this,0,0,c)}function Gb(a,b,c){c||Eb.call(this.la,13,0);return-1}function Hb(a,b,c){var d=E(a.la,c+2),e=E(a.la,c+0)|(d&255)<<16;c=E(a.la,c+4);a.Aa=b;a.ob=e;a.hd=c;a.Bb=d&65280;wb(a)}vb.prototype.save=function(){return[this.Aa,this.ob,this.hd,this.Bb,this.Gj,this.ah,this.rc,this.lc]};
vb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.Aa=a[0],this.ob=a[1],this.hd=a[2],this.Bb=a[3],this.Gj=a[4],this.ah=a[5],this.rc=a[6],this.lc=a[7])};function wb(a,b){void 0===b&&(b=!!(a.la.Kc&1));b?(a.load=zb,a.bd=Cb,a.cc=Fb,a.Bb&4096&&(6144==(a.Bb&6656)&&(a.cc=Db),a.Bb&2048||!(a.Bb&512))&&(a.cc=Gb),a.rc=a.Aa&3,a.lc=(a.Bb&24576)>>13):(a.load=yb,a.bd=Ab,a.cc=Bb,a.rc=a.lc=0)}
function Ib(a){this.Da=a.model||8088;var b=0;switch(this.Da){default:case 8088:b=4772727;break;case 80286:b=6E6}gb.call(this,a,b);this.nj=61442;this.Zf=4;this.Te=255;this.B=80286<=this.Da?Jb:Kb;this.Oa=Lb.slice();80186<=this.Da&&(this.Te=31,this.Oa[15]=F,this.Oa[96]=Mb,this.Oa[97]=Nb,this.Oa[98]=Ob,this.Oa[99]=F,this.Oa[100]=F,this.Oa[101]=F,this.Oa[102]=F,this.Oa[103]=F,this.Oa[104]=Qb,this.Oa[105]=Rb,this.Oa[106]=Sb,this.Oa[107]=Tb,this.Oa[108]=Ub,this.Oa[109]=Vb,this.Oa[110]=Wb,this.Oa[111]=Xb,
this.Oa[192]=Yb,this.Oa[193]=Zb,this.Oa[200]=$b,this.Oa[201]=ac,this.Oa[241]=bc,cc[7]=dc,ec[7]=dc,80286<=this.Da&&(this.nj=2,this.Zf=0,this.Oa[15]=fc,this.Oa[99]=gc,this.Oa[84]=hc));this.ag=[];this.pj=[];this.Rc=this.vh=0;this.na.xg=this.na.Hl=!1;this.Ba=[];this.Ud=this.Ob=this.kb=this.Zd=0;this.T=this.Ol;this.U=this.Pl;this.O=this.Sm;this.P=this.Tm;this.R=this.ko;this.S=this.lo;ic(this)}y(gb,Ib);
var Kb={Ui:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,le:4,$j:60,ak:83,Ib:3,lb:9,Xb:16,Rg:1,ek:19,gk:28,ik:16,hk:21,fk:37,ck:2,ni:9,dk:5,bk:33,pi:10,oi:8,Hf:3,Gf:15,wk:51,xk:1,yk:2,zk:4,vk:32,qi:15,Bk:15,Jb:16,Kb:4,Dk:11,Ck:18,Ak:24,vb:4,Ek:2,ri:16,Fk:17,wi:18,Gk:19,vi:5,xi:6,Lk:2,Kk:8,Ik:9,Jk:10,Hk:10,yi:10,zi:10,kk:80,mk:144,jk:86,lk:154,ok:101,qk:165,nk:107,pk:171,Nk:70,Pk:113,Mk:76,Ok:124,sk:80,uk:128,rk:86,tk:134,Jf:3,If:16,Ei:10,Di:8,Qk:51,Yb:8,Rk:17,Sk:36,fc:11,Tk:16,Kf:10,Id:2,ki:18,li:7,mi:15,si:12,
ti:7,ui:11,Ai:18,Bi:7,Ci:15,Fi:15,Gi:7,Hi:13,Li:11,Mi:7,Ni:8,Uk:8,Xk:12,Vk:18,Wk:17,Yk:15,Ji:8,Ii:20,Ki:2,Qi:3,Lf:9,Pi:5,Oi:11,Si:4,Ri:17,Zk:11},Jb={Ui:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,le:3,$j:14,ak:16,Ib:2,lb:7,Xb:7,Rg:0,ek:7,gk:13,ik:7,hk:11,fk:16,ck:3,ni:6,dk:2,bk:13,pi:5,oi:5,Hf:2,Gf:7,wk:23,xk:0,yk:1,zk:3,vk:17,qi:7,Bk:11,Jb:7,Kb:3,Dk:7,Ck:11,Ak:15,vb:2,Ek:3,ri:7,Fk:8,wi:8,Gk:8,vi:4,xi:4,Lk:2,Kk:3,Ik:5,Jk:2,Hk:3,yi:5,zi:3,kk:14,mk:22,jk:17,lk:25,ok:17,qk:25,nk:20,pk:28,Nk:13,Pk:21,Mk:16,Ok:24,
sk:13,uk:21,rk:16,tk:24,Jf:2,If:7,Ei:5,Di:5,Qk:19,Yb:5,Rk:5,Sk:17,fc:3,Tk:5,Kf:3,Id:0,ki:8,li:5,mi:9,si:5,ti:5,ui:4,Ai:5,Bi:5,Ci:4,Fi:7,Gi:5,Hi:8,Li:3,Mi:4,Ni:3,Uk:11,Xk:11,Vk:15,Wk:15,Yk:7,Ji:5,Ii:8,Ki:0,Qi:2,Lf:6,Pi:3,Oi:6,Si:3,Ri:5,Zk:5};k=Ib.prototype;k.Xh=function(a,b,c,d,e){this.Ba=a;this.Ud=b;this.Ob=c;this.kb=d;this.Zd=e};k.reset=function(){this.na.uc&&mb(this);ic(this);jb(this);this.na.Oc=!1};
function ic(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Kc=65520;a.Cc=0;a.Td=1023;a.sc={Vi:0,Aa:0,Bb:0,Hg:-1};a.Fd=0;a.za=new vb(a,"CS");a.$b=new vb(a,"DS");a.Tb=new vb(a,"SS");a.nb=new vb(a,"ES");a.ll=new vb(a,"ZERO");jc(a,0,65535);80286<=a.Da&&(a.Bc=0,a.Ce=65535,a.re=new vb(a,"LDT",!0),a.Vf=new vb(a,"TSS",!0),a.yb=new vb(a,"VER",!0),jc(a,65520,61440),a.za.ob=16711680);kc(a,0);lc(a);a.cb=0;a.wb=a.Qf=-1;a.kg=0;a.ha=a.Fa=-1;a.D=a.$b;a.N=a.Tb;a.Z=a.ua=0}
k.Oj=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.za.Aa+this.$b.Aa+this.Tb.Aa+this.nb.Aa+mc(this)|0};function nc(a,b,c,d){void 0!==d&&(void 0===a.ag[b]&&(a.ag[b]=[]),a.ag[b].push([c,d]))}function oc(a,b){var c=a.pj[b];null!=c&&(c(--a.vh),delete a.pj[b])}function lc(a,b){void 0===b&&(b=!!(a.Kc&1));pc=b?qc:rc;wb(a.za,b);wb(a.$b,b);wb(a.Tb,b);wb(a.nb,b)}
k.save=function(){var a=new G(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Fd]);a.set(1,[this.va,this.za.save(),this.$b.save(),this.Tb.save(),this.nb.save(),null!=this.Bc?[this.Kc,this.Bc,this.Ce,this.Cc,this.Td,this.re.save(),this.Vf.save(),this.Fd]:null,mc(this)]);a.set(2,[this.D.ah,this.N.ah,this.Z,this.ua,this.cb,this.ha,this.Fa]);a.set(3,[this.Lg,this.ne,this.ba.Ed]);a.set(4,ab(this.qa));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Fd=b[8]||0;b=a[1];this.za.restore(b[1]);this.$b.restore(b[2]);this.Tb.restore(b[3]);this.nb.restore(b[4]);var c=b[5];c&&c.length&&(this.Kc=c[0],this.Bc=c[1],this.Ce=c[2],this.Cc=c[3],this.Td=c[4],this.re.restore(c[5]),this.Vf.restore(c[6]),this.Fd=c[7],lc(this));kc(this,b[6]);I(this,b[0]);b=a[2];this.D=sc(this,b[0]);this.N=sc(this,b[1]);this.Z=b[2];this.ua=b[3];this.cb=
b[4];this.ha=b[5];this.Fa=b[6];b=a[3];this.Lg=b[0];this.ne=b[1];ob(this,b[2]);a:{b=this.qa;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.zj){for(var f=0,h=Array(b.zj),g=0;g<e.length-1;)for(var m=e[g++],n=e[g++];m--;)h[f++]=n;e=h}f=b.Ba[d];if(!f||!f.restore(e)){s("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ra(b,a[c]);b=!0}return b};
function sc(a,b){switch(b){case "CS":return a.za;case "DS":return a.$b;case "SS":return a.Tb;case "ES":return a.nb;case "ZERO":return a.ll;default:return[0,b,0,0,""]}}function tc(a,b){var c;if(a.Kc&1){if(c=a.Cc+(b<<3),c+7<=a.Td){a.sc.Vi=E(a,c);a.sc.Aa=E(a,c+2);a.sc.Bb=E(a,c+4);switch(a.sc.Bb&7936){case 1536:a.sc.Hg=-17153;break;case 1792:a.sc.Hg=-16641;break;default:return!1}return!0}}else if(c=a.Cc+(b<<2),c+7<=a.Td)return a.sc.Vi=E(a,c),a.sc.Aa=E(a,c+2),a.sc.Hg=-769,!0;return!1}
function uc(a,b){a.Ha=a.za.load(b)+a.va;a.Z|=a.Zf}function vc(a,b){a.$b.load(b);a.Z|=a.Zf}function wc(a,b){a.Tb.load(b);a.Z|=4}function xc(a,b){a.nb.load(b);a.Z|=a.Zf}function I(a,b){a.Ha=a.za.ob+(a.va=b&65535)}function jc(a,b,c){a.Ha=a.za.load(c)+(a.va=b)}function J(a,b){a.Ha=a.za.ob+(a.va=a.va+b&65535)}function yc(a){return a.X&a.ca?1:0}function Bc(a){return ub[a.ia&255]?4:0}function Cc(a){return(a.ia^a.ka)&16?16:0}function Dc(a){return a.X&a.ca-1?0:64}function Ec(a){return a.ia&a.ca>>1?128:0}
function Fc(a){return(a.ia^a.ka^a.ia>>1)&a.ca>>1?2048:0}function Gc(a){a.X&=~a.ca}function Hc(a){a.ka=a.ia&16|a.ka&-17}function Ic(a){a.X|=a.ca-1}function Jc(a){a.ia&=~a.ca;a.ka=a.ia&32896|a.ka&-32897}function Kc(a){a.X|=a.ca}function Lc(a){a.ka=~(a.ia&16)&16|a.ka&-17}function Mc(a){a.X&=~(a.ca-1)}function Nc(a){Ec(a)||(a.ia^=a.ca>>1|a.ca>>2,a.ka^=32896)}function Oc(a){a.ia|=a.ca;a.ka=a.ia&32896|a.ka&-32897}function mc(a){return a.Ga&-2262|yc(a)|Bc(a)|Cc(a)|Dc(a)|Ec(a)|Fc(a)}
function kc(a,b){a.ca=256;a.X=a.ia=a.ka=0;b&1&&Kc(a);b&4||(a.ia|=1);b&16&&(a.ka|=16);b&64||Ic(a);b&128&&Nc(a);b&2048&&Oc(a);a.za.rc?b=b&-12289|a.Ga&12288:(a.Fd=(b&12288)>>12,!a.Fd||a.Kc&1||(a.Fd=0));a.za.rc>a.Fd&&(b=b&-513|a.Ga&512);a.Ga=a.Ga&-1793|b&1792|a.nj;a.Ga&256&&(a.cb|=2,a.Z|=4)}
k.zb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.ra[c]=d;e=!0;break;default:e=gb.prototype.zb.call(this,a,b,c,d)}return e};function Pc(a,b){return a.Ba[(b&a.Ud)>>a.Ob].xc(b&a.kb)}
function E(a,b){var c=b&a.kb,d=(b&a.Ud)>>a.Ob;a.A-=a.B.Ui;return c!=a.kb?a.Ba[d].bo(c):a.Ba[d++].xc(c)|a.Ba[d&a.Zd].xc(0)<<8}function Qc(a,b,c){a.Ba[(b&a.Ud)>>a.Ob].Ac(b&a.kb,c&255)}function Rc(a,b,c){var d=b&a.kb;b=(b&a.Ud)>>a.Ob;a.A-=a.B.Ui;d!=a.kb?a.Ba[b].no(d,c&65535):(a.Ba[b++].Ac(d,c&255),a.Ba[b&a.Zd].Ac(0,c>>8&255))}k.Ol=function(a,b){this.Uf=a;this.ha=a.bd(this.Nf=b,0);return this.Z&1?0:Pc(this,this.ha)};k.Pl=function(a,b){this.Uf=a;this.ha=a.bd(this.Nf=b,1);return this.Z&1?0:E(this,this.ha)};
k.Sm=function(a,b){this.Uf=a;this.Fa=this.ha=a.bd(this.Nf=b,0);return this.Z&1?0:Pc(this,this.ha)};k.Tm=function(a,b){this.Uf=a;this.Fa=this.ha=a.bd(this.Nf=b,1);return this.Z&1?0:E(this,this.ha)};k.ko=function(a){this.Z&2||Qc(this,this.Uf.cc(this.Nf,1),a)};k.lo=function(a){this.Z&2||Rc(this,this.Uf.cc(this.Nf,2),a)};k.da=function(){var a=Pc(this,this.Ha);this.Ha=this.za.ob+(this.va=this.va+1&65535);return a};
k.M=function(){var a=Pc(this,this.Ha)<<24>>24;this.Ha=this.za.ob+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=E(this,this.Ha);this.Ha=this.za.ob+(this.va=this.va+2&65535);return a};k.Ea=function(){var a=this.Y;this.Y=this.Y+2&65535;return E(this,this.Tb.bd(a,1))};function L(a,b){var c=a.Y=a.Y-2&65535;Rc(a,a.Tb.cc(c,1),b)}
k.qf=function(){D(this,"AX",this.H);D(this,"BX",this.C);D(this,"CX",this.J);D(this,"DX",this.K);D(this,"SP",this.Y);D(this,"BP",this.I);D(this,"SI",this.G);D(this,"DI",this.F);D(this,"CS",this.za.Aa);D(this,"DS",this.$b.Aa);D(this,"SS",this.Tb.Aa);D(this,"ES",this.nb.Aa);D(this,"IP",this.va);var a=mc(this);D(this,"PS",a);D(this,"C",a&1?1:0,1);D(this,"P",a&4?1:0,1);D(this,"A",a&16?1:0,1);D(this,"Z",a&64?1:0,1);D(this,"S",a&128?1:0,1);D(this,"T",a&256?1:0,1);D(this,"I",a&512?1:0,1);D(this,"D",a&1024?
1:0,1);D(this,"O",a&2048?1:0,1);this.ra.speed&&(this.ra.speed.innerHTML=this.na.uc&&this.ba.Qc?this.ba.Qc.toFixed(2)+"Mhz":"Stopped")};
k.nl=function(a){this.na.xg=!0;this.na.Hl=!1;this.Rc=this.A=a;this.ja&&tb(this.ja);a||!this.Sa||this.Sa.zp(Sc)||(this.Z|=4);do{if(a=this.Z&240)this.ua|=a;else if(this.Ug=this.Ha,this.ha=this.Fa=-1,this.D=this.$b,this.N=this.Tb,this.ua=this.Z&256,this.cb){a:{if(!(this.Z&4))if(this.cb&1&&this.Ga&512){if(a=Tc(this.ja),-1<=a&&(this.cb&=-2,0<=a)){this.cb&=-5;Uc.call(this,a,null,11);break a}}else if(this.cb&2){this.cb&=-3;Uc.call(this,1,null,11);break a}if(a=this.cb&8){a=this.ja;for(var b=!1,c=0;c<a.Ua;c++)for(var d=
a.Ua[c],e=0;e<d.xb.length;e++){var f=d.xb[e];f.jd||(Vc(a,f),f.jd||(b=!0))}a=!b}a&&(this.cb&=-9)}if(this.cb&4){this.Z=this.A=0;break}}this.Z=0;this.Oa[this.da()].call(this)}while(0<this.A);return this.na.xg?this.Rc-this.A:void 0===this.na.xg?0:-1};u(function(){for(var a=A(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ib(d);Ja(d,c)}});function Wc(a,b){this.ka=a^b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=a+b)&255}
function Xc(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a|b)&255}function Yc(a,b){this.ka=a^b;this.X=this.ia=a+b+(this.X&this.ca?1:0);this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return this.X&255}function Zc(a,b){this.ka=a^b;this.X=this.ia=a-b-(this.X&this.ca?1:0);this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return this.X&255}
function $c(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a&b)&255}function ad(a,b){this.ka=a^b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=a-b)&255}function bd(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a^b)&255}
function cd(a,b){this.ka=a^b;this.ca=256;this.X=this.ia=a-b;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.ni:this.B.lb;this.Z|=2;return a}function dd(a,b){this.ka=a^b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=a+b)&65535}function ed(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a|b)&65535}
function fd(a,b){this.ka=a^b;this.X=this.ia=a+b+(this.X&this.ca?1:0);this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return this.X&65535}function gd(a,b){this.ka=a^b;this.X=this.ia=a-b-(this.X&this.ca?1:0);this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return this.X&65535}function hd(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a&b)&65535}
function id(a,b){this.ka=a^b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=a-b)&65535}function jd(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.lb:this.B.Xb;return(this.X=this.ia=this.ka=a^b)&65535}function kd(a,b){this.ka=a^b;this.ca=65536;this.X=this.ia=a-b;this.A-=0>this.Fa?0>this.ha?this.B.Ib:this.B.ni:this.B.lb;this.Z|=2;return a}function ld(a,b){this.X=this.X&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Oc(this):Jc(this)}
0,0,1,1,0,1,0,0,1];function vb(a,b,c){this.ka=a;this.rb=this.Aa=0;this.jd=65535;this.Eb=0;this.Gj="CS"==b;this.bh=b;this.nc=this.sc=0;wb(this,c)}function yb(a){this.Aa=a;this.jd=65535;this.sc=this.nc=0;return this.rb=a<<4}
function zb(a){var b,c;a&4?(b=this.ka.te.rb,c=this.ka.te.jd):(b=this.ka.Dc,c=this.ka.Ee);b+=a&65528;if(b+7<=c){this.ka.A-=15;c=E(this.ka,b+0);var d=E(this.ka,b+4);b=E(this.ka,b+2)|(d&255)<<16;var e;d&4096||(e=d&7936)&&768>=e?(this.Aa=a,this.rb=b,this.jd=c,this.Eb=d&65280,this.type=d&7936,wb(this)):b=-1;return b}return-1}function Ab(a){return this.rb+a}function Bb(a){return this.rb+a}function Cb(a,b,c){return a+b<=this.jd?this.rb+a:Db.call(this,0,0,c)}
function Db(a,b,c){c||Eb.call(this.ka,13,0);return-1}function Fb(a,b,c){return a+b<=this.jd?this.rb+a:Gb.call(this,0,0,c)}function Gb(a,b,c){c||Eb.call(this.ka,13,0);return-1}function Hb(a,b,c){var d=E(a.ka,c+2),e=E(a.ka,c+0)|(d&255)<<16;c=E(a.ka,c+4);a.Aa=b;a.rb=e;a.jd=c;a.Eb=d&65280;wb(a)}vb.prototype.save=function(){return[this.Aa,this.rb,this.jd,this.Eb,this.Gj,this.bh,this.sc,this.nc]};
vb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.Aa=a[0],this.rb=a[1],this.jd=a[2],this.Eb=a[3],this.Gj=a[4],this.bh=a[5],this.sc=a[6],this.nc=a[7])};function wb(a,b){void 0===b&&(b=!!(a.ka.Lc&1));b?(a.load=zb,a.cd=Cb,a.dc=Fb,a.Eb&4096&&(6144==(a.Eb&6656)&&(a.dc=Db),a.Eb&2048||!(a.Eb&512))&&(a.dc=Gb),a.sc=a.Aa&3,a.nc=(a.Eb&24576)>>13):(a.load=yb,a.cd=Ab,a.dc=Bb,a.sc=a.nc=0)}
function Ib(a){this.Da=a.model||8088;var b=0;switch(this.Da){default:case 8088:b=4772727;break;case 80286:b=6E6}gb.call(this,a,b);this.oj=61442;this.Xf=4;this.Ve=255;this.B=80286<=this.Da?Jb:Kb;this.Oa=Lb.slice();80186<=this.Da&&(this.Ve=31,this.Oa[15]=F,this.Oa[96]=Mb,this.Oa[97]=Nb,this.Oa[98]=Pb,this.Oa[99]=F,this.Oa[100]=F,this.Oa[101]=F,this.Oa[102]=F,this.Oa[103]=F,this.Oa[104]=Qb,this.Oa[105]=Rb,this.Oa[106]=Sb,this.Oa[107]=Tb,this.Oa[108]=Ub,this.Oa[109]=Vb,this.Oa[110]=Wb,this.Oa[111]=Xb,
this.Oa[192]=Yb,this.Oa[193]=Zb,this.Oa[200]=$b,this.Oa[201]=ac,this.Oa[241]=bc,cc[7]=dc,ec[7]=dc,80286<=this.Da&&(this.oj=2,this.Xf=0,this.Oa[15]=fc,this.Oa[99]=gc,this.Oa[84]=hc));this.Zf=[];this.qj=[];this.Sc=this.wh=0;this.na.yg=this.na.Il=!1;this.Ba=[];this.Vd=this.Pb=this.nb=this.$d=0;this.T=this.Pl;this.U=this.Ql;this.O=this.Tm;this.P=this.Um;this.R=this.mo;this.S=this.no;ic(this)}y(gb,Ib);
var Kb={Vi:4,aa:5,sa:6,fa:7,ga:8,Q:9,V:11,W:12,ne:4,ak:60,bk:83,Jb:3,ob:9,Yb:16,Sg:1,fk:19,hk:28,jk:16,ik:21,gk:37,dk:2,oi:9,ek:5,ck:33,qi:10,pi:8,Ff:3,Ef:15,xk:51,yk:1,zk:2,Ak:4,wk:32,ri:15,Ck:15,Kb:16,Lb:4,Ek:11,Dk:18,Bk:24,zb:4,Fk:2,si:16,Gk:17,xi:18,Hk:19,wi:5,yi:6,Mk:2,Lk:8,Jk:9,Kk:10,Ik:10,zi:10,Ai:10,lk:80,nk:144,kk:86,mk:154,pk:101,rk:165,ok:107,qk:171,Ok:70,Qk:113,Nk:76,Pk:124,tk:80,vk:128,sk:86,uk:134,Hf:3,Gf:16,Fi:10,Ei:8,Rk:51,Zb:8,Sk:17,Tk:36,gc:11,Uk:16,If:10,Kd:2,li:18,mi:7,ni:15,ti:12,
ui:7,vi:11,Bi:18,Ci:7,Di:15,Gi:15,Hi:7,Ii:13,Mi:11,Ni:7,Oi:8,Vk:8,Yk:12,Wk:18,Xk:17,Zk:15,Ki:8,Ji:20,Li:2,Ri:3,Jf:9,Qi:5,Pi:11,Ti:4,Si:17,$k:11},Jb={Vi:0,aa:0,sa:0,fa:0,ga:0,Q:0,V:1,W:1,ne:3,ak:14,bk:16,Jb:2,ob:7,Yb:7,Sg:0,fk:7,hk:13,jk:7,ik:11,gk:16,dk:3,oi:6,ek:2,ck:13,qi:5,pi:5,Ff:2,Ef:7,xk:23,yk:0,zk:1,Ak:3,wk:17,ri:7,Ck:11,Kb:7,Lb:3,Ek:7,Dk:11,Bk:15,zb:2,Fk:3,si:7,Gk:8,xi:8,Hk:8,wi:4,yi:4,Mk:2,Lk:3,Jk:5,Kk:2,Ik:3,zi:5,Ai:3,lk:14,nk:22,kk:17,mk:25,pk:17,rk:25,ok:20,qk:28,Ok:13,Qk:21,Nk:16,Pk:24,
tk:13,vk:21,sk:16,uk:24,Hf:2,Gf:7,Fi:5,Ei:5,Rk:19,Zb:5,Sk:5,Tk:17,gc:3,Uk:5,If:3,Kd:0,li:8,mi:5,ni:9,ti:5,ui:5,vi:4,Bi:5,Ci:5,Di:4,Gi:7,Hi:5,Ii:8,Mi:3,Ni:4,Oi:3,Vk:11,Yk:11,Wk:15,Xk:15,Zk:7,Ki:5,Ji:8,Li:0,Ri:2,Jf:6,Qi:3,Pi:6,Ti:3,Si:5,$k:5};k=Ib.prototype;k.Yh=function(a,b,c,d,e){this.Ba=a;this.Vd=b;this.Pb=c;this.nb=d;this.$d=e};k.reset=function(){this.na.vc&&mb(this);ic(this);jb(this);this.na.Pc=!1};
function ic(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.Lc=65520;a.Ec=0;a.Ud=1023;a.tc={Wi:0,Aa:0,Eb:0,Ig:-1};a.Hd=0;a.za=new vb(a,"CS");a.ac=new vb(a,"DS");a.Vb=new vb(a,"SS");a.qb=new vb(a,"ES");a.ml=new vb(a,"ZERO");jc(a,0,65535);80286<=a.Da&&(a.Dc=0,a.Ee=65535,a.te=new vb(a,"LDT",!0),a.Tf=new vb(a,"TSS",!0),a.Cb=new vb(a,"VER",!0),jc(a,65520,61440),a.za.rb=16711680);kc(a,0);lc(a);a.gb=0;a.Ab=a.Of=-1;a.jg=0;a.ha=a.Fa=-1;a.D=a.ac;a.N=a.Vb;a.Z=a.ua=0}
k.Pj=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.va+this.za.Aa+this.ac.Aa+this.Vb.Aa+this.qb.Aa+mc(this)|0};function nc(a,b,c,d){void 0!==d&&(void 0===a.Zf[b]&&(a.Zf[b]=[]),a.Zf[b].push([c,d]))}function oc(a,b){var c=a.qj[b];null!=c&&(c(--a.wh),delete a.qj[b])}function lc(a,b){void 0===b&&(b=!!(a.Lc&1));pc=b?qc:rc;wb(a.za,b);wb(a.ac,b);wb(a.Vb,b);wb(a.qb,b)}
k.save=function(){var a=new G(this);a.set(0,[this.H,this.C,this.J,this.K,this.Y,this.I,this.G,this.F,this.Hd]);a.set(1,[this.va,this.za.save(),this.ac.save(),this.Vb.save(),this.qb.save(),null!=this.Dc?[this.Lc,this.Dc,this.Ee,this.Ec,this.Ud,this.te.save(),this.Tf.save(),this.Hd]:null,mc(this)]);a.set(2,[this.D.bh,this.N.bh,this.Z,this.ua,this.gb,this.ha,this.Fa]);a.set(3,[this.Mg,this.pe,this.ba.Gd]);a.set(4,ab(this.ra));return a.data()};
k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.Y=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.Hd=b[8]||0;b=a[1];this.za.restore(b[1]);this.ac.restore(b[2]);this.Vb.restore(b[3]);this.qb.restore(b[4]);var c=b[5];c&&c.length&&(this.Lc=c[0],this.Dc=c[1],this.Ee=c[2],this.Ec=c[3],this.Ud=c[4],this.te.restore(c[5]),this.Tf.restore(c[6]),this.Hd=c[7],lc(this));kc(this,b[6]);I(this,b[0]);b=a[2];this.D=sc(this,b[0]);this.N=sc(this,b[1]);this.Z=b[2];this.ua=b[3];this.gb=
b[4];this.ha=b[5];this.Fa=b[6];b=a[3];this.Mg=b[0];this.pe=b[1];ob(this,b[2]);a:{b=this.ra;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.zj){for(var f=0,h=Array(b.zj),g=0;g<e.length-1;)for(var m=e[g++],n=e[g++];m--;)h[f++]=n;e=h}f=b.Ba[d];if(!f||!f.restore(e)){s("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ra(b,a[c]);b=!0}return b};
function sc(a,b){switch(b){case "CS":return a.za;case "DS":return a.ac;case "SS":return a.Vb;case "ES":return a.qb;case "ZERO":return a.ml;default:return[0,b,0,0,""]}}function tc(a,b){var c;if(a.Lc&1){if(c=a.Ec+(b<<3),c+7<=a.Ud){a.tc.Wi=E(a,c);a.tc.Aa=E(a,c+2);a.tc.Eb=E(a,c+4);switch(a.tc.Eb&7936){case 1536:a.tc.Ig=-17153;break;case 1792:a.tc.Ig=-16641;break;default:return!1}return!0}}else if(c=a.Ec+(b<<2),c+7<=a.Ud)return a.tc.Wi=E(a,c),a.tc.Aa=E(a,c+2),a.tc.Ig=-769,!0;return!1}
function uc(a,b){a.Ha=a.za.load(b)+a.va;a.Z|=a.Xf}function vc(a,b){a.ac.load(b);a.Z|=a.Xf}function wc(a,b){a.Vb.load(b);a.Z|=4}function xc(a,b){a.qb.load(b);a.Z|=a.Xf}function I(a,b){a.Ha=a.za.rb+(a.va=b&65535)}function jc(a,b,c){a.Ha=a.za.load(c)+(a.va=b)}function J(a,b){a.Ha=a.za.rb+(a.va=a.va+b&65535)}function yc(a){return a.X&a.ca?1:0}function Bc(a){return ub[a.ia&255]?4:0}function Cc(a){return(a.ia^a.la)&16?16:0}function Dc(a){return a.X&a.ca-1?0:64}function Ec(a){return a.ia&a.ca>>1?128:0}
function Fc(a){return(a.ia^a.la^a.ia>>1)&a.ca>>1?2048:0}function Gc(a){a.X&=~a.ca}function Hc(a){a.la=a.ia&16|a.la&-17}function Ic(a){a.X|=a.ca-1}function Jc(a){a.ia&=~a.ca;a.la=a.ia&32896|a.la&-32897}function Kc(a){a.X|=a.ca}function Lc(a){a.la=~(a.ia&16)&16|a.la&-17}function Mc(a){a.X&=~(a.ca-1)}function Nc(a){Ec(a)||(a.ia^=a.ca>>1|a.ca>>2,a.la^=32896)}function Oc(a){a.ia|=a.ca;a.la=a.ia&32896|a.la&-32897}function mc(a){return a.Ga&-2262|yc(a)|Bc(a)|Cc(a)|Dc(a)|Ec(a)|Fc(a)}
function kc(a,b){a.ca=256;a.X=a.ia=a.la=0;b&1&&Kc(a);b&4||(a.ia|=1);b&16&&(a.la|=16);b&64||Ic(a);b&128&&Nc(a);b&2048&&Oc(a);a.za.sc?b=b&-12289|a.Ga&12288:(a.Hd=(b&12288)>>12,!a.Hd||a.Lc&1||(a.Hd=0));a.za.sc>a.Hd&&(b=b&-513|a.Ga&512);a.Ga=a.Ga&-1793|b&1792|a.oj;a.Ga&256&&(a.gb|=2,a.Z|=4)}
k.Bb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.qa[c]=d;e=!0;break;default:e=gb.prototype.Bb.call(this,a,b,c,d)}return e};function Pc(a,b){return a.Ba[(b&a.Vd)>>a.Pb].yc(b&a.nb)}
function E(a,b){var c=b&a.nb,d=(b&a.Vd)>>a.Pb;a.A-=a.B.Vi;return c!=a.nb?a.Ba[d].co(c):a.Ba[d++].yc(c)|a.Ba[d&a.$d].yc(0)<<8}function Qc(a,b,c){a.Ba[(b&a.Vd)>>a.Pb].Bc(b&a.nb,c&255)}function Rc(a,b,c){var d=b&a.nb;b=(b&a.Vd)>>a.Pb;a.A-=a.B.Vi;d!=a.nb?a.Ba[b].po(d,c&65535):(a.Ba[b++].Bc(d,c&255),a.Ba[b&a.$d].Bc(0,c>>8&255))}k.Pl=function(a,b){this.Sf=a;this.ha=a.cd(this.Lf=b,0);return this.Z&1?0:Pc(this,this.ha)};k.Ql=function(a,b){this.Sf=a;this.ha=a.cd(this.Lf=b,1);return this.Z&1?0:E(this,this.ha)};
k.Tm=function(a,b){this.Sf=a;this.Fa=this.ha=a.cd(this.Lf=b,0);return this.Z&1?0:Pc(this,this.ha)};k.Um=function(a,b){this.Sf=a;this.Fa=this.ha=a.cd(this.Lf=b,1);return this.Z&1?0:E(this,this.ha)};k.mo=function(a){this.Z&2||Qc(this,this.Sf.dc(this.Lf,1),a)};k.no=function(a){this.Z&2||Rc(this,this.Sf.dc(this.Lf,2),a)};k.da=function(){var a=Pc(this,this.Ha);this.Ha=this.za.rb+(this.va=this.va+1&65535);return a};
k.M=function(){var a=Pc(this,this.Ha)<<24>>24;this.Ha=this.za.rb+(this.va=this.va+1&65535);return a&65535};k.L=function(){var a=E(this,this.Ha);this.Ha=this.za.rb+(this.va=this.va+2&65535);return a};k.Ea=function(){var a=this.Y;this.Y=this.Y+2&65535;return E(this,this.Vb.cd(a,1))};function L(a,b){var c=a.Y=a.Y-2&65535;Rc(a,a.Vb.dc(c,1),b)}
k.of=function(){D(this,"AX",this.H);D(this,"BX",this.C);D(this,"CX",this.J);D(this,"DX",this.K);D(this,"SP",this.Y);D(this,"BP",this.I);D(this,"SI",this.G);D(this,"DI",this.F);D(this,"CS",this.za.Aa);D(this,"DS",this.ac.Aa);D(this,"SS",this.Vb.Aa);D(this,"ES",this.qb.Aa);D(this,"IP",this.va);var a=mc(this);D(this,"PS",a);D(this,"C",a&1?1:0,1);D(this,"P",a&4?1:0,1);D(this,"A",a&16?1:0,1);D(this,"Z",a&64?1:0,1);D(this,"S",a&128?1:0,1);D(this,"T",a&256?1:0,1);D(this,"I",a&512?1:0,1);D(this,"D",a&1024?
1:0,1);D(this,"O",a&2048?1:0,1);if(a=this.qa.speed)a.innerHTML=this.na.vc&&this.ba.Rc?this.ba.Rc.toFixed(2)+"Mhz":"Stopped"};
k.ol=function(a){this.na.yg=!0;this.na.Il=!1;this.Sc=this.A=a;this.ja&&tb(this.ja);a||!this.Va||this.Va.Bp(Sc)||(this.Z|=4);do{if(a=this.Z&240)this.ua|=a;else if(this.Vg=this.Ha,this.ha=this.Fa=-1,this.D=this.ac,this.N=this.Vb,this.ua=this.Z&256,this.gb){a:{if(!(this.Z&4))if(this.gb&1&&this.Ga&512){if(a=Tc(this.ja),-1<=a&&(this.gb&=-2,0<=a)){this.gb&=-5;Uc.call(this,a,null,11);break a}}else if(this.gb&2){this.gb&=-3;Uc.call(this,1,null,11);break a}if(a=this.gb&8){a=this.ja;for(var b=!1,c=0;c<a.Xa;c++)for(var d=
a.Xa[c],e=0;e<d.tb.length;e++){var f=d.tb[e];f.kd||(Vc(a,f),f.kd||(b=!0))}a=!b}a&&(this.gb&=-9)}if(this.gb&4){this.Z=this.A=0;break}}this.Z=0;this.Oa[this.da()].call(this)}while(0<this.A);return this.na.yg?this.Sc-this.A:void 0===this.na.yg?0:-1};u(function(){for(var a=A(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ib(d);Ja(d,c)}});function Wc(a,b){this.la=a^b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=a+b)&255}
function Xc(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a|b)&255}function Yc(a,b){this.la=a^b;this.X=this.ia=a+b+(this.X&this.ca?1:0);this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return this.X&255}function Zc(a,b){this.la=a^b;this.X=this.ia=a-b-(this.X&this.ca?1:0);this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return this.X&255}
function $c(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a&b)&255}function ad(a,b){this.la=a^b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=a-b)&255}function bd(a,b){this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a^b)&255}
function cd(a,b){this.la=a^b;this.ca=256;this.X=this.ia=a-b;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.oi:this.B.ob;this.Z|=2;return a}function dd(a,b){this.la=a^b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=a+b)&65535}function ed(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a|b)&65535}
function fd(a,b){this.la=a^b;this.X=this.ia=a+b+(this.X&this.ca?1:0);this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return this.X&65535}function gd(a,b){this.la=a^b;this.X=this.ia=a-b-(this.X&this.ca?1:0);this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return this.X&65535}function hd(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a&b)&65535}
function id(a,b){this.la=a^b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=a-b)&65535}function jd(a,b){this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.ob:this.B.Yb;return(this.X=this.ia=this.la=a^b)&65535}function kd(a,b){this.la=a^b;this.ca=65536;this.X=this.ia=a-b;this.A-=0>this.Fa?0>this.ha?this.B.Jb:this.B.oi:this.B.ob;this.Z|=2;return a}function ld(a,b){this.X=this.X&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Oc(this):Jc(this)}
function md(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;ld.call(this,d,256)}return c}function nd(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;ld.call(this,d,65536)}return c}function od(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);ld.call(this,d,256)}return c}function pd(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);ld.call(this,d,65536)}return c}
function sd(a,b){var c=a;if(b){var d;(d=(b&this.Te)%9)?(d=a<<d|(this.X&this.ca?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.X&this.ca?1:0)<<8;ld.call(this,d,256)}return c}function td(a,b){var c=a;if(b){var d;(d=(b&this.Te)%17)?(d=a<<d|(this.X&this.ca?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.X&this.ca?1:0)<<16;ld.call(this,d,65536)}return c}function ud(a,b){var c=a;b&&(c=(b&this.Te)%9,c=a>>c|(this.X&this.ca?1:0)<<8-c|a<<9-c,ld.call(this,c,256),c&=255);return c}
function vd(a,b){var c=a;b&&(c=(b&this.Te)%17,c=a>>c|(this.X&this.ca?1:0)<<16-c|a<<17-c,ld.call(this,c,65536),c&=65535);return c}function wd(a,b){var c=a;b&&(c=8<b?this.X=this.ia=0:(this.X=this.ia=a<<b)&255,this.ka=0,this.ca=256);return c}function xd(a,b){var c=a;b&&(c=16<b?this.X=this.ia=0:(this.X=this.ia=a<<b)&65535,this.ka=0,this.ca=65536);return c}
function yd(a,b){if(b){var c=8<b?0:a>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ka=a^this.X;this.ca=256;a=this.X}return a&255}function zd(a,b){if(b){var c=16<b?0:a>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ka=a^this.X;this.ca=65536;a=this.X}return a&65535}function Ad(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|256:this.X&-257;this.ka=a^this.X;this.ca=256;a=this.X}return a&255}
function Bd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.ka=a^this.X;this.ca=65536;a=this.X}return a&65535}function Cd(){this.A-=0>this.ha?2:this.B.Yk;return 1}function Dd(){var a=this.J&this.Te;this.A-=(0>this.ha?this.B.Ji:this.B.Ii)+(a<<this.B.Ki);return a}function Ed(){var a=this.da();this.A-=(0>this.ha?this.B.Ji:this.B.Ii)+(a<<this.B.Ki);return a}function Fd(){return null}function Gd(a){Eb.call(this,13,0);return a}
function sd(a,b){var c=a;if(b){var d;(d=(b&this.Ve)%9)?(d=a<<d|(this.X&this.ca?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.X&this.ca?1:0)<<8;ld.call(this,d,256)}return c}function td(a,b){var c=a;if(b){var d;(d=(b&this.Ve)%17)?(d=a<<d|(this.X&this.ca?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.X&this.ca?1:0)<<16;ld.call(this,d,65536)}return c}function ud(a,b){var c=a;b&&(c=(b&this.Ve)%9,c=a>>c|(this.X&this.ca?1:0)<<8-c|a<<9-c,ld.call(this,c,256),c&=255);return c}
function vd(a,b){var c=a;b&&(c=(b&this.Ve)%17,c=a>>c|(this.X&this.ca?1:0)<<16-c|a<<17-c,ld.call(this,c,65536),c&=65535);return c}function wd(a,b){var c=a;b&&(c=8<b?this.X=this.ia=0:(this.X=this.ia=a<<b)&255,this.la=0,this.ca=256);return c}function xd(a,b){var c=a;b&&(c=16<b?this.X=this.ia=0:(this.X=this.ia=a<<b)&65535,this.la=0,this.ca=65536);return c}
function yd(a,b){if(b){var c=8<b?0:a>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|256:this.X&-257;this.la=a^this.X;this.ca=256;a=this.X}return a&255}function zd(a,b){if(b){var c=16<b?0:a>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.la=a^this.X;this.ca=65536;a=this.X}return a&65535}function Ad(a,b){if(b){8<b&&(b=9);var c=a<<24>>24>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|256:this.X&-257;this.la=a^this.X;this.ca=256;a=this.X}return a&255}
function Bd(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.X=this.ia=c>>1;this.X=c&1?this.X|65536:this.X&-65537;this.la=a^this.X;this.ca=65536;a=this.X}return a&65535}function Cd(){this.A-=0>this.ha?2:this.B.Zk;return 1}function Dd(){var a=this.J&this.Ve;this.A-=(0>this.ha?this.B.Ki:this.B.Ji)+(a<<this.B.Li);return a}function Ed(){var a=this.da();this.A-=(0>this.ha?this.B.Ki:this.B.Ji)+(a<<this.B.Li);return a}function Fd(){return null}function Gd(a){Eb.call(this,13,0);return a}
function dc(a){F.call(this);return a}function M(a){N.call(this);return a}
var Hd=[Wc,Xc,Yc,Zc,$c,ad,bd,cd],Id=[dd,ed,fd,gd,hd,id,jd,kd],Jd=[function(a,b){this.A-=0>this.Fa?this.B.Yb:this.B.Rk;return b},Gd,Gd,Gd,Gd,Gd,Gd,Gd],Kd=[function(a,b){this.A-=0>this.Fa?this.B.Jk:this.B.Hk;return b},M,M,M,M,M,M,M],Ld=[md,od,sd,ud,wd,yd,M,Ad],Md=[nd,pd,td,vd,xd,zd,M,Bd],Od=[function(a,b){b=this.da();this.X=this.ia=this.ka=a&b;this.ca=256;this.A-=0>this.ha?this.B.Pi:this.B.Oi;this.Z|=2;return a},M,function(a){this.A-=0>this.ha?this.B.Jf:this.B.If;return a^255},function(a,b){b=0;this.ka=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Jf:this.B.If;return(this.X=this.ia=b-a)&255},function(a){this.H=this.wb=(this.X=(this.H&255)*a)&65535;this.ka=this.ia=this.X;this.ca=256;this.H&65280?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.Nk:this.B.Mk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.wb=b&65535;this.X=this.ka=this.ia=b;this.ca=256;127<b||-128>b?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.sk:this.B.rk;this.Z|=2;return a},
function(a){if(!a)return Nd.call(this),a;var b=this.H/a;if(255<b)return Nd.call(this),a;this.wb=this.H=b&255|(this.H%a&255)<<8;this.ia=this.ka=this.X=b|256;this.ca=256;this.A-=0>this.ha?this.B.kk:this.B.jk;this.Z|=2;return a},function(a){if(!a)return Nd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Nd.call(this),a;this.wb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.ka=this.X=b|256;this.ca=256;this.A-=0>this.ha?this.B.ok:this.B.nk;this.Z|=2;return a}],
Pd=[function(a,b){b=this.L();this.X=this.ia=this.ka=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Pi:this.B.Oi;this.Z|=2;return a},M,function(a){this.A-=0>this.ha?this.B.Jf:this.B.If;return a^65535},function(a,b){b=0;this.ka=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Jf:this.B.If;return(this.X=this.ia=b-a)&65535},function(a){this.wb=this.H=(this.X=this.H*a)&65535;this.Qf=this.K=this.X>>16&65535;this.ka=this.ia=this.X;this.ca=65536;this.K?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.Pk:
this.B.Ok;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.wb=b&65535;this.K=this.Qf=b>>16&65535;this.X=this.ka=this.ia=b;this.ca=65536;32767<b||-32768>b?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.uk:this.B.tk;this.Z|=2;return a},function(a,b){if(!a)return Nd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Nd.call(this),a;this.wb=this.H=c&65535;this.Qf=this.K=b%a&65535;this.ia=this.ka=this.X=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.mk:this.B.lk;this.Z|=2;return a},function(a,b){if(!a)return Nd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Nd.call(this),a;this.wb=this.H=d&65535;this.Qf=this.K=b%c&65535;this.ia=this.ka=this.X=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.qk:this.B.pk;this.Z|=2;return a}],cc=[function(a){this.ka=a;a=(this.ia=a+1)&255;this.X=a|(this.X&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a},function(a){this.ka=
a;a=(this.ia=a-1)&255;this.X=a|(this.X&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a},M,M,M,M,M,M],ec=[function(a){this.ka=a;a=(this.ia=a+1)&65535;this.X=a|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a},function(a){this.ka=a;a=(this.ia=a-1)&65535;this.X=a|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a},function(a){L(this,this.va);I(this,a);this.A-=0>this.ha?this.B.ik:this.B.hk;this.Z|=2;return a},
function(a){if(0>this.ha)return M.call(this,a);L(this,this.za.Aa);L(this,this.va);jc(this,a,E(this,this.ha+2));this.A-=this.B.fk;this.Z|=2;return a},function(a){I(this,a);this.A-=0>this.ha?this.B.Dk:this.B.Ck;this.Z|=2;return a},function(a){if(0>this.ha)return M.call(this,a);jc(this,a,E(this,this.ha+2));this.A-=this.B.Ak;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Da&&(b=a));L(this,b);this.A-=0>this.ha?this.B.fc:this.B.Tk;this.Z|=2;return a},Gd],Qd=[md,od,sd,ud,wd,
yd,M,Ad],Rd=[nd,pd,td,vd,xd,zd,M,Bd];function Sd(a,b){this.A-=0>this.Fa?0>this.ha?this.B.Lk:this.B.Kk:this.B.Ik;return b}function Td(){return Sd.call(this,0,this.wb)}function Ud(a,b){this.X=this.ia=this.ka=a&b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Qi:this.B.Lf:this.B.Lf;this.Z|=2;return a}function Vd(a,b){this.X=this.ia=this.ka=a&b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Qi:this.B.Lf:this.B.Lf;this.Z|=2;return a}
function Wd(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.X=this.ka=this.ia=c;this.ca=256;32767<c||-32768>c?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?21:24;return c&65535}function Xd(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.X=this.ka=this.ia=c;this.ca=65536;32767<c||-32768>c?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?21:24;return c&65535}function Yd(a){return a}function Zd(a){if(0>this.ha)return N.call(this),a;this.A-=this.B.Ek;return this.ha}
function $d(a,b){if(0>this.ha)return N.call(this),a;vc(this,E(this,this.ha+2));this.A-=this.B.ri;return b}function ae(a,b){if(0>this.ha)return N.call(this),a;xc(this,E(this,this.ha+2));this.A-=this.B.ri;return b}function be(a){if(0>this.ha)return F.call(this),a;var b=a<<16>>16,c=E(this,this.ha)<<16>>16,d=E(this,this.ha+2)<<16>>16;this.A-=this.B.bk;if(b<c||b>d)I(this,this.Ug-this.za.ob),Uc.call(this,5,null,0);this.Z|=2;return a}
function ce(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Mc(this),a;Ic(this);return a}function de(a,b){this.A-=14+(0>this.ha?0:2);if(0<=this.yb.load(b,!0)&&this.yb.lc>=this.za.rc&&this.yb.lc>=(b&3))return Mc(this),this.yb.Bb&65280;Ic(this);return a}function ee(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&0<=this.yb.load(b,!0)&&(7168==(this.yb.Bb&7168)||this.yb.lc>=this.za.rc)&&this.yb.lc>=(b&3))return Mc(this),this.yb.hd;Ic(this);return a}
function fe(a,b){if(0>this.ha){switch(this.kg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Si}else this.Fa=this.ha,this.R(a),this.A-=this.B.Ri;return b}
function ge(a,b){if(0>this.ha){switch(this.kg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Si}else this.Fa=this.ha,this.S(a),this.A-=this.B.Ri;return b}function Uc(a,b,c){tc(this,a)&&(L(this,mc(this)),this.Ga&=this.sc.Hg,L(this,this.za.Aa),L(this,this.va),null!=b&&L(this,b),jc(this,this.sc.Vi,this.sc.Aa),this.A-=this.B.wk+c)}
function he(a){a|=this.Kc&1;this.Kc=this.Kc&65520|a&-65521;this.Kc&1&&lc(this,!0)}function Nd(){I(this,this.Ug-this.za.ob);Uc.call(this,0,null,2)}function Eb(a,b){80186<=this.Da&&(I(this,this.Ug-this.za.ob),Uc.call(this,a,b,0))}function F(){Eb.call(this,6);mb(this)}function N(){I(this,this.Ug-this.za.ob);var a=Xa(this.qa,this.Ha),b=this.va,c=this.za.Aa;Ma(this,"Undefined opcode 0x"+p(a,2)+" at "+(void 0!==c?p(c,4)+":"+p(b,4):p(b)));mb(this)}
var Hd=[Wc,Xc,Yc,Zc,$c,ad,bd,cd],Id=[dd,ed,fd,gd,hd,id,jd,kd],Jd=[function(a,b){this.A-=0>this.Fa?this.B.Zb:this.B.Sk;return b},Gd,Gd,Gd,Gd,Gd,Gd,Gd],Kd=[function(a,b){this.A-=0>this.Fa?this.B.Kk:this.B.Ik;return b},M,M,M,M,M,M,M],Ld=[md,od,sd,ud,wd,yd,M,Ad],Md=[nd,pd,td,vd,xd,zd,M,Bd],Od=[function(a,b){b=this.da();this.X=this.ia=this.la=a&b;this.ca=256;this.A-=0>this.ha?this.B.Qi:this.B.Pi;this.Z|=2;return a},M,function(a){this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a^255},function(a,b){b=0;this.la=
a^b;this.ca=256;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return(this.X=this.ia=b-a)&255},function(a){this.H=this.Ab=(this.X=(this.H&255)*a)&65535;this.la=this.ia=this.X;this.ca=256;this.H&65280?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.Ok:this.B.Nk;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Ab=b&65535;this.X=this.la=this.ia=b;this.ca=256;127<b||-128>b?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.tk:this.B.sk;this.Z|=2;return a},
function(a){if(!a)return Nd.call(this),a;var b=this.H/a;if(255<b)return Nd.call(this),a;this.Ab=this.H=b&255|(this.H%a&255)<<8;this.ia=this.la=this.X=b|256;this.ca=256;this.A-=0>this.ha?this.B.lk:this.B.kk;this.Z|=2;return a},function(a){if(!a)return Nd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Nd.call(this),a;this.Ab=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.la=this.X=b|256;this.ca=256;this.A-=0>this.ha?this.B.pk:this.B.ok;this.Z|=2;return a}],
Pd=[function(a,b){b=this.L();this.X=this.ia=this.la=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Qi:this.B.Pi;this.Z|=2;return a},M,function(a){this.A-=0>this.ha?this.B.Hf:this.B.Gf;return a^65535},function(a,b){b=0;this.la=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Hf:this.B.Gf;return(this.X=this.ia=b-a)&65535},function(a){this.Ab=this.H=(this.X=this.H*a)&65535;this.Of=this.K=this.X>>16&65535;this.la=this.ia=this.X;this.ca=65536;this.K?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.Qk:
this.B.Pk;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Ab=b&65535;this.K=this.Of=b>>16&65535;this.X=this.la=this.ia=b;this.ca=65536;32767<b||-32768>b?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?this.B.vk:this.B.uk;this.Z|=2;return a},function(a,b){if(!a)return Nd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Nd.call(this),a;this.Ab=this.H=c&65535;this.Of=this.K=b%a&65535;this.ia=this.la=this.X=c|65536;this.ca=65536;this.A-=
0>this.ha?this.B.nk:this.B.mk;this.Z|=2;return a},function(a,b){if(!a)return Nd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Nd.call(this),a;this.Ab=this.H=d&65535;this.Of=this.K=b%c&65535;this.ia=this.la=this.X=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.rk:this.B.qk;this.Z|=2;return a}],cc=[function(a){this.la=a;a=(this.ia=a+1)&255;this.X=a|(this.X&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Ff:this.B.Ef;return a},function(a){this.la=
a;a=(this.ia=a-1)&255;this.X=a|(this.X&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Ff:this.B.Ef;return a},M,M,M,M,M,M],ec=[function(a){this.la=a;a=(this.ia=a+1)&65535;this.X=a|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Ff:this.B.Ef;return a},function(a){this.la=a;a=(this.ia=a-1)&65535;this.X=a|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Ff:this.B.Ef;return a},function(a){L(this,this.va);I(this,a);this.A-=0>this.ha?this.B.jk:this.B.ik;this.Z|=2;return a},
function(a){if(0>this.ha)return M.call(this,a);L(this,this.za.Aa);L(this,this.va);jc(this,a,E(this,this.ha+2));this.A-=this.B.gk;this.Z|=2;return a},function(a){I(this,a);this.A-=0>this.ha?this.B.Ek:this.B.Dk;this.Z|=2;return a},function(a){if(0>this.ha)return M.call(this,a);jc(this,a,E(this,this.ha+2));this.A-=this.B.Bk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Da&&(b=a));L(this,b);this.A-=0>this.ha?this.B.gc:this.B.Uk;this.Z|=2;return a},Gd],Qd=[md,od,sd,ud,wd,
yd,M,Ad],Rd=[nd,pd,td,vd,xd,zd,M,Bd];function Sd(a,b){this.A-=0>this.Fa?0>this.ha?this.B.Mk:this.B.Lk:this.B.Jk;return b}function Td(){return Sd.call(this,0,this.Ab)}function Ud(a,b){this.X=this.ia=this.la=a&b;this.ca=256;this.A-=0>this.Fa?0>this.ha?this.B.Ri:this.B.Jf:this.B.Jf;this.Z|=2;return a}function Vd(a,b){this.X=this.ia=this.la=a&b;this.ca=65536;this.A-=0>this.Fa?0>this.ha?this.B.Ri:this.B.Jf:this.B.Jf;this.Z|=2;return a}
function Wd(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.X=this.la=this.ia=c;this.ca=256;32767<c||-32768>c?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?21:24;return c&65535}function Xd(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.X=this.la=this.ia=c;this.ca=65536;32767<c||-32768>c?(Kc(this),Oc(this)):(Gc(this),Jc(this));this.A-=0>this.ha?21:24;return c&65535}function Yd(a){return a}function Zd(a){if(0>this.ha)return N.call(this),a;this.A-=this.B.Fk;return this.ha}
function $d(a,b){if(0>this.ha)return N.call(this),a;vc(this,E(this,this.ha+2));this.A-=this.B.si;return b}function ae(a,b){if(0>this.ha)return N.call(this),a;xc(this,E(this,this.ha+2));this.A-=this.B.si;return b}function be(a){if(0>this.ha)return F.call(this),a;var b=a<<16>>16,c=E(this,this.ha)<<16>>16,d=E(this,this.ha+2)<<16>>16;this.A-=this.B.ck;if(b<c||b>d)I(this,this.Vg-this.za.rb),Uc.call(this,5,null,0);this.Z|=2;return a}
function ce(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Mc(this),a;Ic(this);return a}function de(a,b){this.A-=14+(0>this.ha?0:2);if(0<=this.Cb.load(b,!0)&&this.Cb.nc>=this.za.sc&&this.Cb.nc>=(b&3))return Mc(this),this.Cb.Eb&65280;Ic(this);return a}function ee(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&0<=this.Cb.load(b,!0)&&(7168==(this.Cb.Eb&7168)||this.Cb.nc>=this.za.sc)&&this.Cb.nc>=(b&3))return Mc(this),this.Cb.jd;Ic(this);return a}
function fe(a,b){if(0>this.ha){switch(this.jg&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Ti}else this.Fa=this.ha,this.R(a),this.A-=this.B.Si;return b}
function ge(a,b){if(0>this.ha){switch(this.jg&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Ti}else this.Fa=this.ha,this.S(a),this.A-=this.B.Si;return b}function Uc(a,b,c){tc(this,a)&&(L(this,mc(this)),this.Ga&=this.tc.Ig,L(this,this.za.Aa),L(this,this.va),null!=b&&L(this,b),jc(this,this.tc.Wi,this.tc.Aa),this.A-=this.B.xk+c)}
function he(a){a|=this.Lc&1;this.Lc=this.Lc&65520|a&-65521;this.Lc&1&&lc(this,!0)}function Nd(){I(this,this.Vg-this.za.rb);Uc.call(this,0,null,2)}function Eb(a,b){80186<=this.Da&&(I(this,this.Vg-this.za.rb),Uc.call(this,a,b,0))}function F(){Eb.call(this,6);mb(this)}function N(){I(this,this.Vg-this.za.rb);var a=Xa(this.ra,this.Ha),b=this.va,c=this.za.Aa;Ma(this,"Undefined opcode 0x"+p(a,2)+" at "+(void 0!==c?p(c,4)+":"+p(b,4):p(b)));mb(this)}
function ie(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function je(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function ke(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function le(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function me(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function ne(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}
function oe(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function pe(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function qe(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function re(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function se(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function te(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}
function ue(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function ve(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function we(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function xe(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function ye(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function ze(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}
@ -366,284 +366,286 @@ b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},functio
this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C=
a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},
function(a,b){this.Z|=512;this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Lg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Jg[a].call(this,pc,Fd)},function(){var a=this.da();a&16||(this.Z|=1);Jg[a].call(this,Kg,Fd)},function(){O[this.da()].call(this,de)},function(){O[this.da()].call(this,ee)},N,function(){this.za.rc?Eb.call(this,13,0):(he.call(this,E(this,2054)),this.F=E(this,
2086),this.G=E(this,2088),this.I=E(this,2090),this.Y=E(this,2092),this.C=E(this,2094),this.K=E(this,2096),this.J=E(this,2098),this.H=E(this,2100),Hb(this.nb,E(this,2084),2102),Hb(this.za,E(this,2082),2108),Hb(this.Tb,E(this,2080),2114),Hb(this.$b,E(this,2078),2120),kc(this,E(this,2072)),I(this,E(this,2074)),this.Bc=E(this,2126)|E(this,2128)<<16,this.Ce=this.Bc+E(this,2130),Hb(this.re,E(this,2076),2132),this.Cc=E(this,2138)|E(this,2140)<<16,this.Td=this.Cc+E(this,2142),Hb(this.Vf,E(this,2070),2144),
this.Y,b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}],Lg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Jg[a].call(this,pc,Fd)},function(){var a=this.da();a&16||(this.Z|=1);Jg[a].call(this,Kg,Fd)},function(){O[this.da()].call(this,de)},function(){O[this.da()].call(this,ee)},N,function(){this.za.sc?Eb.call(this,13,0):(he.call(this,E(this,2054)),this.F=E(this,
2086),this.G=E(this,2088),this.I=E(this,2090),this.Y=E(this,2092),this.C=E(this,2094),this.K=E(this,2096),this.J=E(this,2098),this.H=E(this,2100),Hb(this.qb,E(this,2084),2102),Hb(this.za,E(this,2082),2108),Hb(this.Vb,E(this,2080),2114),Hb(this.ac,E(this,2078),2120),kc(this,E(this,2072)),I(this,E(this,2074)),this.Dc=E(this,2126)|E(this,2128)<<16,this.Ee=this.Dc+E(this,2130),Hb(this.te,E(this,2076),2132),this.Ec=E(this,2138)|E(this,2140)<<16,this.Ud=this.Ec+E(this,2142),Hb(this.Tf,E(this,2070),2144),
this.A-=195)},N,N,N,N,N,F,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,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,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,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],qc=[function(){this.A-=2+(0>this.ha?0:1);return this.re.Aa},function(){this.A-=2+(0>this.ha?0:1);return this.Vf.Aa},function(a){this.Z|=2;this.re.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.Vf.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.yb.load(a,!0)&&2048!=(this.yb.Bb&2560)&&(this.yb.lc>=this.za.rc&&this.yb.lc>=(a&3)||7168==(this.yb.Bb&7168)))return Mc(this),a;Ic(this);return a},function(a){this.Z|=
2;this.A-=14+(0>this.ha?0:2);if(0<=this.yb.load(a,!0)&&512==(this.yb.Bb&2560)&&this.yb.lc>=this.za.rc&&this.yb.lc>=(a&3))return Mc(this),a;Ic(this);return a},M,M],rc=[dc,dc,dc,dc,dc,dc,M,M],pc=rc,Kg=[function(a){0>this.ha?F.call(this):(a=this.Ce-this.Bc,Rc(this,this.ha+2,this.Bc),Rc(this,this.ha+4,65280|this.Bc>>16),this.A-=11);return a},function(a){0>this.ha?F.call(this):(a=this.Td-this.Cc,Rc(this,this.ha+2,this.Cc),Rc(this,this.ha+4,65280|this.Cc>>16),this.A-=12);return a},function(a){0>this.ha?
F.call(this):(this.Bc=E(this,this.ha+2)|Pc(this,this.ha+4)<<16,this.Ce=this.Bc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?F.call(this):(this.Cc=E(this,this.ha+2)|Pc(this,this.ha+4)<<16,this.Td=this.Cc+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.Kc},M,function(a){he.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},M];function fc(){Lg[this.da()].call(this)}function hc(){L(this,this.Y);this.A-=this.B.fc}
function Mb(){var a=this.Y;L(this,this.H);L(this,this.J);L(this,this.K);L(this,this.C);L(this,a);L(this,this.I);L(this,this.G);L(this,this.F);this.A-=this.B.Sk}function Nb(){this.F=this.Ea();this.G=this.Ea();this.I=this.Ea();this.Y+=2;this.C=this.Ea();this.K=this.Ea();this.J=this.Ea();this.H=this.Ea();this.A-=this.B.Qk}function Ob(){O[this.da()].call(this,be)}function gc(){Gg[this.da()].call(this,ce)}function Qb(){L(this,this.L());this.A-=this.B.fc}function Rb(){O[this.da()].call(this,Xd)}
function Sb(){L(this,this.da());this.A-=this.B.fc}function Tb(){O[this.da()].call(this,Wd)}function Ub(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=cb(this.qa,this.K,this.Ha-b-1);Qc(this,this.nb.cc(this.F,0),d);this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}}
function Vb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=this.Ha-b-1,d=cb(this.qa,this.K,d)|cb(this.qa,this.K,d)<<8;Rc(this,this.nb.cc(this.F,1),d);this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}}
function Wb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=Pc(this,this.$b.bd(this.G,0));this.G=this.G+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=b;eb(this.qa,this.K,d,this.Ha-b-1);a&&(J(this,-2),this.Z|=256)}}
function Xb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=E(this,this.$b.bd(this.G,1));this.G=this.G+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ha-b-1;eb(this.qa,this.K,d&255,b);eb(this.qa,this.K,d>>8,b);a&&(J(this,-2),this.Z|=256)}}function Mg(){var a=this.M();Fc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Ng(){var a=this.M();Fc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}
function Og(){var a=this.M();yc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Pg(){var a=this.M();yc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}function Qg(){var a=this.M();Dc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Rg(){var a=this.M();Dc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}function Sg(){var a=this.M();yc(this)||Dc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}
function Tg(){var a=this.M();yc(this)||Dc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}function Ug(){var a=this.M();Ec(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Vg(){var a=this.M();Ec(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}function Wg(){var a=this.M();Bc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Xg(){var a=this.M();Bc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}
function Yg(){var a=this.M();!Ec(this)!=!Fc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function Zg(){var a=this.M();!Ec(this)==!Fc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function $g(){var a=this.M();Dc(this)||!Ec(this)!=!Fc(this)?(I(this,this.va+a),this.A-=this.B.Jb):this.A-=this.B.Kb}function ah(){var a=this.M();Dc(this)||!Ec(this)!=!Fc(this)?this.A-=this.B.Kb:(I(this,this.va+a),this.A-=this.B.Jb)}
function bh(){Ig[this.da()].call(this,Hd,this.da);this.A-=0>this.Fa?1:this.B.Rg}function Yb(){Ig[this.da()].call(this,Qd,Ed)}function Zb(){Jg[this.da()].call(this,Rd,Ed)}function ch(){var a=this.L();I(this,this.Ea());this.Y=this.Y+a&65535;this.A-=this.B.Xk}function dh(){I(this,this.Ea());this.A-=this.B.Uk}
function $b(){var a=this.L(),b=this.da()&31;this.A-=11;L(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,L(this,E(this,this.Tb.bd(this.I,1)));L(this,c)}this.I=c;this.Y=this.Y-a&65535}function ac(){this.Y=this.I;this.I=this.Ea();this.A-=5}function eh(){var a=this.L();jc(this,this.Ea(),this.Ea());this.Y=this.Y+a&65535;this.vh&&oc(this,this.Ha);this.A-=this.B.Wk}function fh(){jc(this,this.Ea(),this.Ea());this.A-=this.B.Vk}
function gh(){O[this.da()].call(this,Yd);this.A-=8}function hh(){this.Z|=36;this.A-=this.B.Id}function bc(){N.call(this)}
var Lb=[function(){var a=this.da();Fg[a].call(this,Wc)},function(){Gg[this.da()].call(this,dd)},function(){Hg[this.da()].call(this,Wc)},function(){O[this.da()].call(this,dd)},function(){this.H=this.H&-256|Wc.call(this,this.H&255,this.da());this.A--},function(){this.H=dd.call(this,this.H,this.L());this.A--},function(){L(this,this.nb.Aa);this.A-=this.B.Kf},function(){xc(this,this.Ea());this.A-=this.B.Yb},function(){Fg[this.da()].call(this,Xc)},function(){Gg[this.da()].call(this,ed)},function(){Hg[this.da()].call(this,
Xc)},function(){O[this.da()].call(this,ed)},function(){this.H=this.H&-256|Xc.call(this,this.H&255,this.da());this.A--},function(){this.H=ed.call(this,this.H,this.L());this.A--},function(){L(this,this.za.Aa);this.A-=this.B.Kf},function(){uc(this,this.Ea());this.A-=this.B.Yb},function(){Fg[this.da()].call(this,Yc)},function(){Gg[this.da()].call(this,fd)},function(){Hg[this.da()].call(this,Yc)},function(){O[this.da()].call(this,fd)},function(){this.H=this.H&-256|Yc.call(this,this.H&255,this.da());this.A--},
function(){this.H=fd.call(this,this.H,this.L());this.A--},function(){L(this,this.Tb.Aa);this.A-=this.B.Kf},function(){wc(this,this.Ea());this.A-=this.B.Yb},function(){Fg[this.da()].call(this,Zc)},function(){Gg[this.da()].call(this,gd)},function(){Hg[this.da()].call(this,Zc)},function(){O[this.da()].call(this,gd)},function(){this.H=this.H&-256|Zc.call(this,this.H&255,this.da());this.A--},function(){this.H=gd.call(this,this.H,this.L());this.A--},function(){L(this,this.$b.Aa);this.A-=this.B.Kf},function(){vc(this,
this.Ea());this.A-=this.B.Yb},function(){Fg[this.da()].call(this,$c)},function(){Gg[this.da()].call(this,hd)},function(){Hg[this.da()].call(this,$c)},function(){O[this.da()].call(this,hd)},function(){this.H=this.H&-256|$c.call(this,this.H&255,this.da());this.A--},function(){this.H=hd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.nb;this.A-=this.B.Id},function(){var a=this.H&255,b=Cc(this),c=this.X&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.X=this.ia=a&255);this.ca=65536;c&&(this.X|=this.ca);b?Lc(this):Hc(this);this.A-=this.B.le},function(){Fg[this.da()].call(this,ad)},function(){Gg[this.da()].call(this,id)},function(){Hg[this.da()].call(this,ad)},function(){O[this.da()].call(this,id)},function(){this.H=this.H&-256|ad.call(this,this.H&255,this.da());this.A--},function(){this.H=id.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.za;this.A-=this.B.Id},function(){var a=this.H&255,b=Cc(this),c=this.X&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.X=this.ia=a&255);this.ca=65536;c&&(this.X|=this.ca);b?Lc(this):Hc(this);this.A-=this.B.le},function(){Fg[this.da()].call(this,bd)},function(){Gg[this.da()].call(this,jd)},function(){Hg[this.da()].call(this,bd)},function(){O[this.da()].call(this,jd)},function(){this.H=this.H&-256|bd.call(this,this.H&255,this.da());this.A--},function(){this.H=jd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Tb;
this.A-=this.B.Id},function(){var a=this.H&255,b=this.H>>8,c,d=Cc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ca=65536;c&&(this.X|=this.ca);d?Lc(this):Hc(this);this.A-=this.B.le},function(){Fg[this.da()].call(this,cd)},function(){Gg[this.da()].call(this,kd)},function(){Hg[this.da()].call(this,cd)},function(){O[this.da()].call(this,kd)},function(){this.H=this.H&-256|cd.call(this,this.H&255,this.da());this.A--},function(){this.H=kd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.$b;this.A-=this.B.Id},function(){var a=this.H&255,b=this.H>>8,c,d=Cc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ca=65536;c&&(this.X|=this.ca);d?Lc(this):Hc(this);this.A-=this.B.le},function(){this.ka=this.H;this.H=(this.ia=this.H+1)&65535;this.X=this.H|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.J;this.J=(this.ia=this.J+1)&65535;this.X=this.J|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=
2},function(){this.ka=this.K;this.K=(this.ia=this.K+1)&65535;this.X=this.K|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.C;this.C=(this.ia=this.C+1)&65535;this.X=this.C|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.Y;this.Y=(this.ia=this.Y+1)&65535;this.X=this.Y|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.I;this.I=(this.ia=this.I+1)&65535;this.X=this.I|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=
this.G;this.G=(this.ia=this.G+1)&65535;this.X=this.G|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.F;this.F=(this.ia=this.F+1)&65535;this.X=this.F|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.H;this.H=(this.ia=this.H-1)&65535;this.X=this.H|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.J;this.J=(this.ia=this.J-1)&65535;this.X=this.J|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.K;this.K=
(this.ia=this.K-1)&65535;this.X=this.K|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.C;this.C=(this.ia=this.C-1)&65535;this.X=this.C|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.Y;this.Y=(this.ia=this.Y-1)&65535;this.X=this.Y|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.I;this.I=(this.ia=this.I-1)&65535;this.X=this.I|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.G;this.G=(this.ia=this.G-
1)&65535;this.X=this.G|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.ka=this.F;this.F=(this.ia=this.F-1)&65535;this.X=this.F|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){L(this,this.H);this.A-=this.B.fc},function(){L(this,this.J);this.A-=this.B.fc},function(){L(this,this.K);this.A-=this.B.fc},function(){L(this,this.C);this.A-=this.B.fc},function(){L(this,this.Y-2&65535);this.A-=this.B.fc},function(){L(this,this.I);this.A-=this.B.fc},function(){L(this,this.G);this.A-=
this.B.fc},function(){L(this,this.F);this.A-=this.B.fc},function(){this.H=this.Ea();this.A-=this.B.Yb},function(){this.J=this.Ea();this.A-=this.B.Yb},function(){this.K=this.Ea();this.A-=this.B.Yb},function(){this.C=this.Ea();this.A-=this.B.Yb},function(){this.Y=this.Ea();this.A-=this.B.Yb},function(){this.I=this.Ea();this.A-=this.B.Yb},function(){this.G=this.Ea();this.A-=this.B.Yb},function(){this.F=this.Ea();this.A-=this.B.Yb},Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,Mg,Ng,Og,Pg,Qg,Rg,Sg,
Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,function(){Jg[this.da()].call(this,Id,this.L);this.A-=0>this.Fa?1:this.B.Rg},bh,function(){Jg[this.da()].call(this,Id,this.M);this.A-=0>this.Fa?1:this.B.Rg},function(){Fg[this.da()].call(this,Ud)},function(){Gg[this.da()].call(this,Vd)},function(){Hg[this.kg=this.da()].call(this,fe)},function(){O[this.kg=this.da()].call(this,ge)},function(){this.Z|=1;Fg[this.da()].call(this,Sd)},function(){this.Z|=1;Gg[this.da()].call(this,Sd)},function(){Hg[this.da()].call(this,Sd)},
function(){O[this.da()].call(this,Sd)},function(){var a=this.da();switch((a&56)>>3){case 0:this.wb=this.nb.Aa;break;case 1:this.wb=this.za.Aa;break;case 2:this.wb=this.Tb.Aa;break;case 3:this.wb=this.$b.Aa;break;default:N.call(this);return}this.Z|=1;Gg[a].call(this,Td)},function(){this.Z|=1;this.D=this.N=this.ll;O[this.da()].call(this,Zd)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Da){F.call(this);return}switch(c){case 1:a=
N,N,N,N,N,N],qc=[function(){this.A-=2+(0>this.ha?0:1);return this.te.Aa},function(){this.A-=2+(0>this.ha?0:1);return this.Tf.Aa},function(a){this.Z|=2;this.te.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.Tf.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.Cb.load(a,!0)&&2048!=(this.Cb.Eb&2560)&&(this.Cb.nc>=this.za.sc&&this.Cb.nc>=(a&3)||7168==(this.Cb.Eb&7168)))return Mc(this),a;Ic(this);return a},function(a){this.Z|=
2;this.A-=14+(0>this.ha?0:2);if(0<=this.Cb.load(a,!0)&&512==(this.Cb.Eb&2560)&&this.Cb.nc>=this.za.sc&&this.Cb.nc>=(a&3))return Mc(this),a;Ic(this);return a},M,M],rc=[dc,dc,dc,dc,dc,dc,M,M],pc=rc,Kg=[function(a){0>this.ha?F.call(this):(a=this.Ee-this.Dc,Rc(this,this.ha+2,this.Dc),Rc(this,this.ha+4,65280|this.Dc>>16),this.A-=11);return a},function(a){0>this.ha?F.call(this):(a=this.Ud-this.Ec,Rc(this,this.ha+2,this.Ec),Rc(this,this.ha+4,65280|this.Ec>>16),this.A-=12);return a},function(a){0>this.ha?
F.call(this):(this.Dc=E(this,this.ha+2)|Pc(this,this.ha+4)<<16,this.Ee=this.Dc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?F.call(this):(this.Ec=E(this,this.ha+2)|Pc(this,this.ha+4)<<16,this.Ud=this.Ec+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.Lc},M,function(a){he.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},M];function fc(){Lg[this.da()].call(this)}function hc(){L(this,this.Y);this.A-=this.B.gc}
function Mb(){var a=this.Y;L(this,this.H);L(this,this.J);L(this,this.K);L(this,this.C);L(this,a);L(this,this.I);L(this,this.G);L(this,this.F);this.A-=this.B.Tk}function Nb(){this.F=this.Ea();this.G=this.Ea();this.I=this.Ea();this.Y+=2;this.C=this.Ea();this.K=this.Ea();this.J=this.Ea();this.H=this.Ea();this.A-=this.B.Rk}function Pb(){O[this.da()].call(this,be)}function gc(){Gg[this.da()].call(this,ce)}function Qb(){L(this,this.L());this.A-=this.B.gc}function Rb(){O[this.da()].call(this,Xd)}
function Sb(){L(this,this.da());this.A-=this.B.gc}function Tb(){O[this.da()].call(this,Wd)}function Ub(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=cb(this.ra,this.K,this.Ha-b-1);Qc(this,this.qb.dc(this.F,0),d);this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}}
function Vb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=this.Ha-b-1,d=cb(this.ra,this.K,d)|cb(this.ra,this.K,d)<<8;Rc(this,this.qb.dc(this.F,1),d);this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}}
function Wb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=Pc(this,this.ac.cd(this.G,0));this.G=this.G+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=b;eb(this.ra,this.K,d,this.Ha-b-1);a&&(J(this,-2),this.Z|=256)}}
function Xb(){var a=1,b=0,c=5;this.ua&192&&(a=this.J,b=1,this.ua&256&&(c=4));if(a--){var d=E(this,this.ac.cd(this.G,1));this.G=this.G+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Ha-b-1;eb(this.ra,this.K,d&255,b);eb(this.ra,this.K,d>>8,b);a&&(J(this,-2),this.Z|=256)}}function Mg(){var a=this.M();Fc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Ng(){var a=this.M();Fc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}
function Og(){var a=this.M();yc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Pg(){var a=this.M();yc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}function Qg(){var a=this.M();Dc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Rg(){var a=this.M();Dc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}function Sg(){var a=this.M();yc(this)||Dc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}
function Tg(){var a=this.M();yc(this)||Dc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}function Ug(){var a=this.M();Ec(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Vg(){var a=this.M();Ec(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}function Wg(){var a=this.M();Bc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Xg(){var a=this.M();Bc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}
function Yg(){var a=this.M();!Ec(this)!=!Fc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function Zg(){var a=this.M();!Ec(this)==!Fc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function $g(){var a=this.M();Dc(this)||!Ec(this)!=!Fc(this)?(I(this,this.va+a),this.A-=this.B.Kb):this.A-=this.B.Lb}function ah(){var a=this.M();Dc(this)||!Ec(this)!=!Fc(this)?this.A-=this.B.Lb:(I(this,this.va+a),this.A-=this.B.Kb)}
function bh(){Ig[this.da()].call(this,Hd,this.da);this.A-=0>this.Fa?1:this.B.Sg}function Yb(){Ig[this.da()].call(this,Qd,Ed)}function Zb(){Jg[this.da()].call(this,Rd,Ed)}function ch(){var a=this.L();I(this,this.Ea());this.Y=this.Y+a&65535;this.A-=this.B.Yk}function dh(){I(this,this.Ea());this.A-=this.B.Vk}
function $b(){var a=this.L(),b=this.da()&31;this.A-=11;L(this,this.I);var c=this.Y;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.I=this.I-2&65535,L(this,E(this,this.Vb.cd(this.I,1)));L(this,c)}this.I=c;this.Y=this.Y-a&65535}function ac(){this.Y=this.I;this.I=this.Ea();this.A-=5}function eh(){var a=this.L();jc(this,this.Ea(),this.Ea());this.Y=this.Y+a&65535;this.wh&&oc(this,this.Ha);this.A-=this.B.Xk}function fh(){jc(this,this.Ea(),this.Ea());this.A-=this.B.Wk}
function gh(){O[this.da()].call(this,Yd);this.A-=8}function hh(){this.Z|=36;this.A-=this.B.Kd}function bc(){N.call(this)}
var Lb=[function(){var a=this.da();Fg[a].call(this,Wc)},function(){Gg[this.da()].call(this,dd)},function(){Hg[this.da()].call(this,Wc)},function(){O[this.da()].call(this,dd)},function(){this.H=this.H&-256|Wc.call(this,this.H&255,this.da());this.A--},function(){this.H=dd.call(this,this.H,this.L());this.A--},function(){L(this,this.qb.Aa);this.A-=this.B.If},function(){xc(this,this.Ea());this.A-=this.B.Zb},function(){Fg[this.da()].call(this,Xc)},function(){Gg[this.da()].call(this,ed)},function(){Hg[this.da()].call(this,
Xc)},function(){O[this.da()].call(this,ed)},function(){this.H=this.H&-256|Xc.call(this,this.H&255,this.da());this.A--},function(){this.H=ed.call(this,this.H,this.L());this.A--},function(){L(this,this.za.Aa);this.A-=this.B.If},function(){uc(this,this.Ea());this.A-=this.B.Zb},function(){Fg[this.da()].call(this,Yc)},function(){Gg[this.da()].call(this,fd)},function(){Hg[this.da()].call(this,Yc)},function(){O[this.da()].call(this,fd)},function(){this.H=this.H&-256|Yc.call(this,this.H&255,this.da());this.A--},
function(){this.H=fd.call(this,this.H,this.L());this.A--},function(){L(this,this.Vb.Aa);this.A-=this.B.If},function(){wc(this,this.Ea());this.A-=this.B.Zb},function(){Fg[this.da()].call(this,Zc)},function(){Gg[this.da()].call(this,gd)},function(){Hg[this.da()].call(this,Zc)},function(){O[this.da()].call(this,gd)},function(){this.H=this.H&-256|Zc.call(this,this.H&255,this.da());this.A--},function(){this.H=gd.call(this,this.H,this.L());this.A--},function(){L(this,this.ac.Aa);this.A-=this.B.If},function(){vc(this,
this.Ea());this.A-=this.B.Zb},function(){Fg[this.da()].call(this,$c)},function(){Gg[this.da()].call(this,hd)},function(){Hg[this.da()].call(this,$c)},function(){O[this.da()].call(this,hd)},function(){this.H=this.H&-256|$c.call(this,this.H&255,this.da());this.A--},function(){this.H=hd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.qb;this.A-=this.B.Kd},function(){var a=this.H&255,b=Cc(this),c=this.X&this.ca;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.H=this.H&
-256|(this.X=this.ia=a&255);this.ca=65536;c&&(this.X|=this.ca);b?Lc(this):Hc(this);this.A-=this.B.ne},function(){Fg[this.da()].call(this,ad)},function(){Gg[this.da()].call(this,id)},function(){Hg[this.da()].call(this,ad)},function(){O[this.da()].call(this,id)},function(){this.H=this.H&-256|ad.call(this,this.H&255,this.da());this.A--},function(){this.H=id.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.za;this.A-=this.B.Kd},function(){var a=this.H&255,b=Cc(this),c=this.X&
this.ca;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.H=this.H&-256|(this.X=this.ia=a&255);this.ca=65536;c&&(this.X|=this.ca);b?Lc(this):Hc(this);this.A-=this.B.ne},function(){Fg[this.da()].call(this,bd)},function(){Gg[this.da()].call(this,jd)},function(){Hg[this.da()].call(this,bd)},function(){O[this.da()].call(this,jd)},function(){this.H=this.H&-256|bd.call(this,this.H&255,this.da());this.A--},function(){this.H=jd.call(this,this.H,this.L());this.A--},function(){this.Z|=20;this.D=this.N=this.Vb;
this.A-=this.B.Kd},function(){var a=this.H&255,b=this.H>>8,c,d=Cc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ca=65536;c&&(this.X|=this.ca);d?Lc(this):Hc(this);this.A-=this.B.ne},function(){Fg[this.da()].call(this,cd)},function(){Gg[this.da()].call(this,kd)},function(){Hg[this.da()].call(this,cd)},function(){O[this.da()].call(this,kd)},function(){this.H=this.H&-256|cd.call(this,this.H&255,this.da());this.A--},function(){this.H=kd.call(this,this.H,this.L());this.A--},
function(){this.Z|=20;this.D=this.N=this.ac;this.A-=this.B.Kd},function(){var a=this.H&255,b=this.H>>8,c,d=Cc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.X=a);this.ca=65536;c&&(this.X|=this.ca);d?Lc(this):Hc(this);this.A-=this.B.ne},function(){this.la=this.H;this.H=(this.ia=this.H+1)&65535;this.X=this.H|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.J;this.J=(this.ia=this.J+1)&65535;this.X=this.J|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=
2},function(){this.la=this.K;this.K=(this.ia=this.K+1)&65535;this.X=this.K|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.C;this.C=(this.ia=this.C+1)&65535;this.X=this.C|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.Y;this.Y=(this.ia=this.Y+1)&65535;this.X=this.Y|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.I;this.I=(this.ia=this.I+1)&65535;this.X=this.I|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=
this.G;this.G=(this.ia=this.G+1)&65535;this.X=this.G|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.F;this.F=(this.ia=this.F+1)&65535;this.X=this.F|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.H;this.H=(this.ia=this.H-1)&65535;this.X=this.H|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.J;this.J=(this.ia=this.J-1)&65535;this.X=this.J|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.K;this.K=
(this.ia=this.K-1)&65535;this.X=this.K|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.C;this.C=(this.ia=this.C-1)&65535;this.X=this.C|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.Y;this.Y=(this.ia=this.Y-1)&65535;this.X=this.Y|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.I;this.I=(this.ia=this.I-1)&65535;this.X=this.I|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.G;this.G=(this.ia=this.G-
1)&65535;this.X=this.G|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.la=this.F;this.F=(this.ia=this.F-1)&65535;this.X=this.F|(this.X&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){L(this,this.H);this.A-=this.B.gc},function(){L(this,this.J);this.A-=this.B.gc},function(){L(this,this.K);this.A-=this.B.gc},function(){L(this,this.C);this.A-=this.B.gc},function(){L(this,this.Y-2&65535);this.A-=this.B.gc},function(){L(this,this.I);this.A-=this.B.gc},function(){L(this,this.G);this.A-=
this.B.gc},function(){L(this,this.F);this.A-=this.B.gc},function(){this.H=this.Ea();this.A-=this.B.Zb},function(){this.J=this.Ea();this.A-=this.B.Zb},function(){this.K=this.Ea();this.A-=this.B.Zb},function(){this.C=this.Ea();this.A-=this.B.Zb},function(){this.Y=this.Ea();this.A-=this.B.Zb},function(){this.I=this.Ea();this.A-=this.B.Zb},function(){this.G=this.Ea();this.A-=this.B.Zb},function(){this.F=this.Ea();this.A-=this.B.Zb},Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,Mg,Ng,Og,Pg,Qg,Rg,Sg,
Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,function(){Jg[this.da()].call(this,Id,this.L);this.A-=0>this.Fa?1:this.B.Sg},bh,function(){Jg[this.da()].call(this,Id,this.M);this.A-=0>this.Fa?1:this.B.Sg},function(){Fg[this.da()].call(this,Ud)},function(){Gg[this.da()].call(this,Vd)},function(){Hg[this.jg=this.da()].call(this,fe)},function(){O[this.jg=this.da()].call(this,ge)},function(){this.Z|=1;Fg[this.da()].call(this,Sd)},function(){this.Z|=1;Gg[this.da()].call(this,Sd)},function(){Hg[this.da()].call(this,Sd)},
function(){O[this.da()].call(this,Sd)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Ab=this.qb.Aa;break;case 1:this.Ab=this.za.Aa;break;case 2:this.Ab=this.Vb.Aa;break;case 3:this.Ab=this.ac.Aa;break;default:N.call(this);return}this.Z|=1;Gg[a].call(this,Td)},function(){this.Z|=1;this.D=this.N=this.ml;O[this.da()].call(this,Zd)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Da){F.call(this);return}switch(c){case 1:a=
this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}O[b].call(this,Sd);switch(c){case 0:xc(this,this.H);this.H=a;break;case 1:uc(this,this.J);this.J=a;break;case 2:wc(this,this.K);this.K=a;break;case 3:vc(this,this.C);this.C=a;break;case 4:xc(this,this.Y);this.Y=a;break;case 5:uc(this,this.I);this.I=a;break;case 6:wc(this,this.G);this.G=a;break;case 7:vc(this,this.F),this.F=a}},function(){this.Z|=1;Jg[this.da()].call(this,Jd,this.Ea)},function(){this.A-=
3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=
this.B.dk},function(){var a=this.L(),b=this.L();L(this,this.za.Aa);L(this,this.va);jc(this,a,b);this.A-=this.B.gk},function(){N.call(this)},function(){L(this,mc(this));this.A-=this.B.fc},function(){kc(this,this.Ea());this.A-=this.B.Yb},function(){var a=this.H>>8;a&1?Kc(this):Gc(this);a&4?Bc(this)||(this.ia^=1):Bc(this)&&(this.ia^=1);a&16?Lc(this):Hc(this);a&64?Mc(this):Ic(this);a&128?Nc(this):Ec(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.ka^=32896);this.A-=this.B.vb},function(){this.H=this.H&255|
(mc(this)&213)<<8;this.A-=this.B.vb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.yi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.yi},function(){var a=this.L(),b=this.H;Qc(this,this.D.cc(a,0),b);this.A-=this.B.zi},function(){var a=this.L(),b=this.H;Rc(this,this.D.cc(a,1),b);this.A-=this.B.zi},function(){var a=1,b=0,c=this.B.Ai;this.ua&192&&(a=this.J,b=1,c=this.B.Ci,this.ua&256||(this.A-=this.B.Bi));if(a--){var d=this.Ga&1024?-1:1,e=this.T(this.D,this.G);Qc(this,
this.nb.cc(this.F,0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ai;this.ua&192&&(a=this.J,b=1,c=this.B.Ci,this.ua&256||(this.A-=this.B.Bi));if(a--){var d=this.Ga&1024?-2:2,e=this.U(this.D,this.G);Rc(this,this.nb.cc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ki;this.ua&192&&(a=this.J,b=1,c=this.B.mi,
this.ua&256||(this.A-=this.B.li));if(a--){var d=this.Ga&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.nb,this.F);cd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.lb;this.J-=b;a&&Dc(this)==(this.ua&64)&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ki;this.ua&192&&(a=this.J,b=1,c=this.B.mi,this.ua&256||(this.A-=this.B.li));if(a--){var d=this.Ga&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.nb,this.F);kd.call(this,e,f);this.G=this.G+d&65535;
this.F=this.F+d&65535;this.A-=c-this.B.lb;this.J-=b;a&&Dc(this)==(this.ua&64)&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){this.X=this.ia=this.ka=this.H&255&this.da();this.ca=256;this.A-=this.B.le},function(){this.X=this.ia=this.ka=this.H&this.L();this.ca=65536;this.A-=this.B.le},function(){var a=1,b=0,c=this.B.Li;this.ua&192&&(a=this.J,b=1,c=this.B.Ni,this.ua&256||(this.A-=this.B.Mi));if(a--){var d=this.H;Qc(this,this.nb.cc(this.F,0),d);this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Li;this.ua&192&&(a=this.J,b=1,c=this.B.Ni,this.ua&256||(this.A-=this.B.Mi));if(a--){var d=this.H;Rc(this,this.nb.cc(this.F,1),d);this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.si;this.ua&192&&(a=this.J,b=1,c=this.B.ui,this.ua&256||(this.A-=this.B.ti));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ga&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&
(J(this,this.ua&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.si;this.ua&192&&(a=this.J,b=1,c=this.B.ui,this.ua&256||(this.A-=this.B.ti));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ga&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ua&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Fi;this.ua&192&&(a=this.J,b=1,c=this.B.Hi,this.ua&256||(this.A-=this.B.Gi));a--&&(cd.call(this,this.H&255,this.O(this.nb,this.F)),this.F=this.F+(this.Ga&1024?-1:1)&65535,this.A-=c-this.B.lb,
this.J-=b,a&&Dc(this)==(this.ua&64)&&(J(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Fi;this.ua&192&&(a=this.J,b=1,c=this.B.Hi,this.ua&256||(this.A-=this.B.Gi));a--&&(kd.call(this,this.H,this.P(this.nb,this.F)),this.F=this.F+(this.Ga&1024?-2:2)&65535,this.A-=c-this.B.lb,this.J-=b,a&&Dc(this)==(this.ua&64)&&(J(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.vb},function(){this.J=this.J&-256|this.da();this.A-=this.B.vb},function(){this.K=this.K&-256|this.da();
this.A-=this.B.vb},function(){this.C=this.C&-256|this.da();this.A-=this.B.vb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.vb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.vb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.vb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.vb},function(){this.H=this.L();this.A-=this.B.vb},function(){this.J=this.L();this.A-=this.B.vb},function(){this.K=this.L();this.A-=this.B.vb},function(){this.C=this.L();this.A-=this.B.vb},
function(){this.Y=this.L();this.A-=this.B.vb},function(){this.I=this.L();this.A-=this.B.vb},function(){this.G=this.L();this.A-=this.B.vb},function(){this.F=this.L();this.A-=this.B.vb},ch,dh,ch,dh,function(){O[this.da()].call(this,ae)},function(){O[this.da()].call(this,$d)},function(){this.Z|=1;Ig[this.da()].call(this,Kd,this.da)},function(){this.Z|=1;Jg[this.da()].call(this,Kd,this.L)},eh,fh,eh,fh,function(){Uc.call(this,3,null,this.B.xk)},function(){var a=this.da(),b;a:{b=this.ag[a];if(void 0!==
b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ha)){b=!1;break a}b=!0}b?Uc.call(this,a,null,0):this.A--},function(){Fc(this)?Uc.call(this,4,null,this.B.yk):this.A-=this.B.zk},function(){jc(this,this.Ea(),this.Ea());kc(this,this.Ea());this.vh&&oc(this,this.Ha);this.A-=this.B.vk},function(){Ig[this.da()].call(this,Ld,Cd)},function(){Jg[this.da()].call(this,Md,Cd)},function(){Ig[this.da()].call(this,Ld,Dd)},function(){Jg[this.da()].call(this,Md,Dd)},function(){var a=this.da(),b=this.H&255;
this.H=(b/a&255)<<8|b%a;this.ca=256;this.X=this.ia=b;this.A-=this.B.ak},function(){var a=this.da();this.X=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.$j},function(){this.H=this.H&-256|(yc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.Zk},gh,gh,gh,gh,gh,gh,gh,gh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.X&this.ca-1?(I(this,this.va+a),this.A-=this.B.Gk):this.A-=this.B.vi},function(){var a=this.M();!(this.J=
this.J-1&65535)||this.X&this.ca-1?this.A-=this.B.xi:(I(this,this.va+a),this.A-=this.B.wi)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.va+a),this.A-=this.B.Fk):this.A-=this.B.vi},function(){var a=this.M();this.J?this.A-=this.B.xi:(I(this,this.va+a),this.A-=this.B.wi)},function(){var a=this.da();this.H=this.H&-256|cb(this.qa,a,this.Ha-2);this.A-=this.B.pi},function(){var a=this.da();this.H=cb(this.qa,a,this.Ha-1)|cb(this.qa,a+1&65535,this.Ha-2)<<8;this.A-=this.B.pi},function(){var a=
this.da();eb(this.qa,a,this.H&255,this.Ha-2);this.A-=this.B.Ei},function(){var a=this.da();eb(this.qa,a,this.H&255,this.Ha-2);eb(this.qa,a+1&65535,this.H>>8,this.Ha-2);this.A-=this.B.Ei},function(){var a=this.L();L(this,this.va);I(this,this.va+a);this.A-=this.B.ek},function(){var a=this.L();I(this,this.va+a);this.A-=this.B.qi},function(){jc(this,this.L(),this.L());this.A-=this.B.Bk},function(){var a=this.M();I(this,this.va+a);this.A-=this.B.qi},function(){this.H=this.H&-256|cb(this.qa,this.K,this.Ha-
1);this.A-=this.B.oi},function(){this.H=cb(this.qa,this.K,this.Ha-1)|cb(this.qa,this.K+1&65535,this.Ha-1)<<8;this.A-=this.B.oi},function(){eb(this.qa,this.K,this.H&255,this.Ha-1);this.A-=this.B.Di},function(){eb(this.qa,this.K,this.H&255,this.Ha-1);eb(this.qa,this.K+1&65535,this.H>>8,this.Ha-1);this.A-=this.B.Di},hh,hh,function(){this.Z|=132;this.A-=this.B.Id},function(){this.Z|=68;this.A-=this.B.Id},function(){this.cb|=4;this.A-=2;this.Ga&512||mb(this)},function(){yc(this)?Gc(this):Kc(this);this.A-=
2},function(){this.wb=-1;Ig[this.da()].call(this,Od,Fd);0<=this.wb&&(this.H=this.wb)},function(){this.wb=-1;Jg[this.da()].call(this,Pd,Fd);0<=this.wb&&(this.H=this.wb,this.K=this.Qf)},function(){this.X&=~this.ca;this.A-=2},function(){this.X|=this.ca;this.A-=2},function(){this.Ga&=-513;this.A-=this.B.ck},function(){this.Ga|=512;this.Z|=4;this.A-=2},function(){this.Ga&=-1025;this.A-=2},function(){this.Ga|=1024;this.A-=2},function(){Ig[this.da()].call(this,cc,Fd)},function(){Jg[this.da()].call(this,
this.B.ek},function(){var a=this.L(),b=this.L();L(this,this.za.Aa);L(this,this.va);jc(this,a,b);this.A-=this.B.hk},function(){N.call(this)},function(){L(this,mc(this));this.A-=this.B.gc},function(){kc(this,this.Ea());this.A-=this.B.Zb},function(){var a=this.H>>8;a&1?Kc(this):Gc(this);a&4?Bc(this)||(this.ia^=1):Bc(this)&&(this.ia^=1);a&16?Lc(this):Hc(this);a&64?Mc(this):Ic(this);a&128?Nc(this):Ec(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.la^=32896);this.A-=this.B.zb},function(){this.H=this.H&255|
(mc(this)&213)<<8;this.A-=this.B.zb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.zi},function(){this.H=this.U(this.D,this.L());this.A-=this.B.zi},function(){var a=this.L(),b=this.H;Qc(this,this.D.dc(a,0),b);this.A-=this.B.Ai},function(){var a=this.L(),b=this.H;Rc(this,this.D.dc(a,1),b);this.A-=this.B.Ai},function(){var a=1,b=0,c=this.B.Bi;this.ua&192&&(a=this.J,b=1,c=this.B.Di,this.ua&256||(this.A-=this.B.Ci));if(a--){var d=this.Ga&1024?-1:1,e=this.T(this.D,this.G);Qc(this,
this.qb.dc(this.F,0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Bi;this.ua&192&&(a=this.J,b=1,c=this.B.Di,this.ua&256||(this.A-=this.B.Ci));if(a--){var d=this.Ga&1024?-2:2,e=this.U(this.D,this.G);Rc(this,this.qb.dc(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.li;this.ua&192&&(a=this.J,b=1,c=this.B.ni,
this.ua&256||(this.A-=this.B.mi));if(a--){var d=this.Ga&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.qb,this.F);cd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.ob;this.J-=b;a&&Dc(this)==(this.ua&64)&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.li;this.ua&192&&(a=this.J,b=1,c=this.B.ni,this.ua&256||(this.A-=this.B.mi));if(a--){var d=this.Ga&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.qb,this.F);kd.call(this,e,f);this.G=this.G+d&65535;
this.F=this.F+d&65535;this.A-=c-this.B.ob;this.J-=b;a&&Dc(this)==(this.ua&64)&&(J(this,this.ua&16?-3:-2),this.Z|=256)}},function(){this.X=this.ia=this.la=this.H&255&this.da();this.ca=256;this.A-=this.B.ne},function(){this.X=this.ia=this.la=this.H&this.L();this.ca=65536;this.A-=this.B.ne},function(){var a=1,b=0,c=this.B.Mi;this.ua&192&&(a=this.J,b=1,c=this.B.Oi,this.ua&256||(this.A-=this.B.Ni));if(a--){var d=this.H;Qc(this,this.qb.dc(this.F,0),d);this.F=this.F+(this.Ga&1024?-1:1)&65535;this.A-=c;this.J-=
b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Mi;this.ua&192&&(a=this.J,b=1,c=this.B.Oi,this.ua&256||(this.A-=this.B.Ni));if(a--){var d=this.H;Rc(this,this.qb.dc(this.F,1),d);this.F=this.F+(this.Ga&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ti;this.ua&192&&(a=this.J,b=1,c=this.B.vi,this.ua&256||(this.A-=this.B.ui));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ga&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&
(J(this,this.ua&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.ti;this.ua&192&&(a=this.J,b=1,c=this.B.vi,this.ua&256||(this.A-=this.B.ui));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ga&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.ua&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Gi;this.ua&192&&(a=this.J,b=1,c=this.B.Ii,this.ua&256||(this.A-=this.B.Hi));a--&&(cd.call(this,this.H&255,this.O(this.qb,this.F)),this.F=this.F+(this.Ga&1024?-1:1)&65535,this.A-=c-this.B.ob,
this.J-=b,a&&Dc(this)==(this.ua&64)&&(J(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Gi;this.ua&192&&(a=this.J,b=1,c=this.B.Ii,this.ua&256||(this.A-=this.B.Hi));a--&&(kd.call(this,this.H,this.P(this.qb,this.F)),this.F=this.F+(this.Ga&1024?-2:2)&65535,this.A-=c-this.B.ob,this.J-=b,a&&Dc(this)==(this.ua&64)&&(J(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.zb},function(){this.J=this.J&-256|this.da();this.A-=this.B.zb},function(){this.K=this.K&-256|this.da();
this.A-=this.B.zb},function(){this.C=this.C&-256|this.da();this.A-=this.B.zb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.zb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.zb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.zb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.zb},function(){this.H=this.L();this.A-=this.B.zb},function(){this.J=this.L();this.A-=this.B.zb},function(){this.K=this.L();this.A-=this.B.zb},function(){this.C=this.L();this.A-=this.B.zb},
function(){this.Y=this.L();this.A-=this.B.zb},function(){this.I=this.L();this.A-=this.B.zb},function(){this.G=this.L();this.A-=this.B.zb},function(){this.F=this.L();this.A-=this.B.zb},ch,dh,ch,dh,function(){O[this.da()].call(this,ae)},function(){O[this.da()].call(this,$d)},function(){this.Z|=1;Ig[this.da()].call(this,Kd,this.da)},function(){this.Z|=1;Jg[this.da()].call(this,Kd,this.L)},eh,fh,eh,fh,function(){Uc.call(this,3,null,this.B.yk)},function(){var a=this.da(),b;a:{b=this.Zf[a];if(void 0!==
b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.Ha)){b=!1;break a}b=!0}b?Uc.call(this,a,null,0):this.A--},function(){Fc(this)?Uc.call(this,4,null,this.B.zk):this.A-=this.B.Ak},function(){jc(this,this.Ea(),this.Ea());kc(this,this.Ea());this.wh&&oc(this,this.Ha);this.A-=this.B.wk},function(){Ig[this.da()].call(this,Ld,Cd)},function(){Jg[this.da()].call(this,Md,Cd)},function(){Ig[this.da()].call(this,Ld,Dd)},function(){Jg[this.da()].call(this,Md,Dd)},function(){var a=this.da(),b=this.H&255;
this.H=(b/a&255)<<8|b%a;this.ca=256;this.X=this.ia=b;this.A-=this.B.bk},function(){var a=this.da();this.X=this.ia=this.H=(this.H>>8)*a+this.H&255;this.ca=256;this.A-=this.B.ak},function(){this.H=this.H&-256|(yc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.$k},gh,gh,gh,gh,gh,gh,gh,gh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.X&this.ca-1?(I(this,this.va+a),this.A-=this.B.Hk):this.A-=this.B.wi},function(){var a=this.M();!(this.J=
this.J-1&65535)||this.X&this.ca-1?this.A-=this.B.yi:(I(this,this.va+a),this.A-=this.B.xi)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.va+a),this.A-=this.B.Gk):this.A-=this.B.wi},function(){var a=this.M();this.J?this.A-=this.B.yi:(I(this,this.va+a),this.A-=this.B.xi)},function(){var a=this.da();this.H=this.H&-256|cb(this.ra,a,this.Ha-2);this.A-=this.B.qi},function(){var a=this.da();this.H=cb(this.ra,a,this.Ha-1)|cb(this.ra,a+1&65535,this.Ha-2)<<8;this.A-=this.B.qi},function(){var a=
this.da();eb(this.ra,a,this.H&255,this.Ha-2);this.A-=this.B.Fi},function(){var a=this.da();eb(this.ra,a,this.H&255,this.Ha-2);eb(this.ra,a+1&65535,this.H>>8,this.Ha-2);this.A-=this.B.Fi},function(){var a=this.L();L(this,this.va);I(this,this.va+a);this.A-=this.B.fk},function(){var a=this.L();I(this,this.va+a);this.A-=this.B.ri},function(){jc(this,this.L(),this.L());this.A-=this.B.Ck},function(){var a=this.M();I(this,this.va+a);this.A-=this.B.ri},function(){this.H=this.H&-256|cb(this.ra,this.K,this.Ha-
1);this.A-=this.B.pi},function(){this.H=cb(this.ra,this.K,this.Ha-1)|cb(this.ra,this.K+1&65535,this.Ha-1)<<8;this.A-=this.B.pi},function(){eb(this.ra,this.K,this.H&255,this.Ha-1);this.A-=this.B.Ei},function(){eb(this.ra,this.K,this.H&255,this.Ha-1);eb(this.ra,this.K+1&65535,this.H>>8,this.Ha-1);this.A-=this.B.Ei},hh,hh,function(){this.Z|=132;this.A-=this.B.Kd},function(){this.Z|=68;this.A-=this.B.Kd},function(){this.gb|=4;this.A-=2;this.Ga&512||mb(this)},function(){yc(this)?Gc(this):Kc(this);this.A-=
2},function(){this.Ab=-1;Ig[this.da()].call(this,Od,Fd);0<=this.Ab&&(this.H=this.Ab)},function(){this.Ab=-1;Jg[this.da()].call(this,Pd,Fd);0<=this.Ab&&(this.H=this.Ab,this.K=this.Of)},function(){this.X&=~this.ca;this.A-=2},function(){this.X|=this.ca;this.A-=2},function(){this.Ga&=-513;this.A-=this.B.dk},function(){this.Ga|=512;this.Z|=4;this.A-=2},function(){this.Ga&=-1025;this.A-=2},function(){this.Ga|=1024;this.A-=2},function(){Ig[this.da()].call(this,cc,Fd)},function(){Jg[this.da()].call(this,
ec,Fd)}];
function R(a){v.call(this,"ChipSet",a,R);this.Da=a.model;this.Da=void 0!==this.Da?parseInt(this.Da,10):ih;this.Lb=0;var b=a.sw1;if(b)this.Lb=jh(b,kh|lh.ul);else{this.pd=[360,360];(b=a.floppies)&&void 0!==b.length&&(this.pd=b);if(b=this.pd.length)this.Lb|=mh.ih,b--,this.Lb|=(b&3)<<mh.Ze;if(b=a.monitor||(this.Da<nh?"mono":"ega"),void 0!==oh[b])this.Lb|=oh[b]<<lh.Ze}this.Od=jh(a.sw2||"11110000",0);this.Rm=this.Da==ih?16:64;this.hf=this.jf=1;this.Da>=nh&&(this.hf=this.jf=2);this.Cg=a.scaleTimers||!1;
this.jo=a.rtcDate;this.Mj=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.yh=new webkitAudioContext);this.reset(!0);this.Na()}y(v,R);var ih=5150,nh=5170,oh={none:0,tv:1,color:2,mono:3,ega:0},mh={ih:1,ONE:0,bp:64,$o:128,zo:192,Ye:192,Ze:6},kh=12,lh={ap:16,so:32,ul:48,Ye:48,Ze:4};k=R.prototype;
k.zb=function(a,b,c,d){switch(c){case "sw1":return this.ra[c]=d,ph(this,c,d,this.Lb,{0:this.Da==ih?"Bootable Floppy Drive":"Loop on POST",1:this.Da==ih?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==ih)return this.ra[c]=d,ph(this,c,d,this.Od,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ra[c]=d,!0}return!1};
k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.La=a;this.Ma=C(a,"Keyboard");this.$k=Math.round(c.ba.kd/1193181);bb(b,this,qh);db(b,this,rh);this.Da<nh?(bb(b,this,sh),db(b,this,th)):(bb(b,this,uh),db(b,this,vh))};k.Qb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Pb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Lc=this.Lb;this.ue=this.Od;wh(this);this.Ua=Array(this.hf);for(b=0;b<this.hf;b++)xh(this,b);this.rb=Array(this.jf);yh(this,0,32);1<this.jf&&yh(this,1,160);this.uh=void 0;this.Mb=Array(3);for(b=0;b<this.Mb.length;b++)zh(this,b);this.gf=this.sh=this.jc=this.mg=void 0;this.lg=0;if(this.Da>=nh){this.ib=16;this.Zc=0;this.Mc=16;this.gg=0;this.Wd=160;512<=Ah(this)&&(this.Wd|=16);3==Bh(this)&&(this.Wd|=64);this.qh=3;this.jg=0;this.Nb=Array(7);this.De=0;a&&(this.oa=Array(64));
Ch(this,this.jo);for(a=21;24>=a;a++)this.oa[a]=0;for(a=14;46>a;a++)void 0===this.oa[a]&&(this.oa[a]=0);this.oa[20]=this.Lc&(lh.Ye|2|mh.ih|mh.Ye);this.oa[16]=Dh(this,0)<<4|Dh(this,1);Eh(this)}};
function Ch(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Zb("CMOS date invalid ("+b+"), using "+c)):b&&a.Zb("CMOS date: "+c);a.oa[0]=c.getSeconds();a.oa[1]=0;a.oa[2]=c.getMinutes();a.oa[3]=0;a.oa[4]=c.getHours();a.oa[5]=0;a.oa[6]=c.getDay()+1;a.oa[7]=c.getDate();a.oa[8]=c.getMonth()+1;c=c.getFullYear();a.oa[9]=c%100;c/=100;a.oa[50]=c%10|c/10<<4;a.vf=-1;a.oa[10]=38;a.oa[11]=2;a.oa[12]=0;a.oa[13]=128}
function R(a){v.call(this,"ChipSet",a,R);this.Da=(this.Da=a.model)?parseInt(this.Da,10):ih;this.Mb=0;var b=a.sw1;if(b)this.Mb=jh(b,kh|lh.vl);else{this.rd=[360,360];(b=a.floppies)&&b.length&&(this.rd=b);if(b=this.rd.length)this.Mb|=mh.jh,b--,this.Mb|=(b&3)<<mh.$e;if(b=a.monitor||(this.Da<nh?"mono":"ega"),void 0!==oh[b])this.Mb|=oh[b]<<lh.$e}this.Qd=jh(a.sw2||"11110000",0);this.Sm=this.Da==ih?16:64;this.pg=this.qg=1;this.Da>=nh&&(this.pg=this.qg=2);this.Dg=a.scaleTimers||!1;this.lo=a.rtcDate;this.Nj=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.zh=new window.webkitAudioContext);this.reset(!0);this.Na()}y(v,R);var ih=5150,nh=5170,oh={none:0,tv:1,color:2,mono:3,ega:0},mh={jh:1,ONE:0,dp:64,bp:128,Bo:192,Ze:192,$e:6},kh=12,lh={cp:16,uo:32,vl:48,Ze:48,$e:4};k=R.prototype;
k.Bb=function(a,b,c,d){switch(c){case "sw1":return this.qa[c]=d,ph(this,c,d,this.Mb,{0:this.Da==ih?"Bootable Floppy Drive":"Loop on POST",1:this.Da==ih?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Da==ih)return this.qa[c]=d,ph(this,c,d,this.Qd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.qa[c]=d,!0}return!1};
k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;this.Ma=a;this.Ka=B(a,"Keyboard");this.al=Math.round(c.ba.ld/1193181);bb(b,this,qh);db(b,this,rh);this.Da<nh?(bb(b,this,sh),db(b,this,th)):(bb(b,this,uh),db(b,this,vh))};k.Sb=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Rb=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Mc=this.Mb;this.we=this.Qd;wh(this);this.Xa=Array(this.pg);for(b=0;b<this.pg;b++)xh(this,b);this.ub=Array(this.qg);yh(this,0,32);1<this.qg&&yh(this,1,160);this.vh=null;this.Nb=Array(3);for(b=0;b<this.Nb.length;b++)zh(this,b);this.hf=this.th=this.kc=this.lg=null;this.kg=0;if(this.Da>=nh){this.lb=16;this.$c=0;this.Nc=16;this.fg=0;this.Xd=160;512<=Ah(this)&&(this.Xd|=16);3==Bh(this)&&(this.Xd|=64);this.rh=3;this.ig=0;this.Ob=Array(7);this.Fe=0;a&&(this.oa=Array(64));Ch(this,
this.lo);for(a=21;24>=a;a++)this.oa[a]=0;for(a=14;46>a;a++)void 0===this.oa[a]&&(this.oa[a]=0);this.oa[20]=this.Mc&(lh.Ze|2|mh.jh|mh.Ze);this.oa[16]=Dh(this,0)<<4|Dh(this,1);Eh(this)}};
function Ch(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.$b("CMOS date invalid ("+b+"), using "+c)):b&&a.$b("CMOS date: "+c);a.oa[0]=c.getSeconds();a.oa[1]=0;a.oa[2]=c.getMinutes();a.oa[3]=0;a.oa[4]=c.getHours();a.oa[5]=0;a.oa[6]=c.getDay()+1;a.oa[7]=c.getDate();a.oa[8]=c.getMonth()+1;c=c.getFullYear();a.oa[9]=c%100;c/=100;a.oa[50]=c%10|c/10<<4;a.tf=-1;a.oa[10]=38;a.oa[11]=2;a.oa[12]=0;a.oa[13]=128}
function Eh(a){for(var b=0,c=16;46>c;c++)b+=a.oa[c];a.oa[47]=b&255;a.oa[46]=b>>8}
k.save=function(){var a=new G(this);a.set(0,[this.Lb,this.Od,this.Lc,this.ue]);for(var b=[],c=0;c<this.Ua;c++){var d=[],e=this.Ua[c];d[0]=e.ud;d[1]=e.rh;d[2]=e.wj;d[3]=e.Eb;for(var f=[],h=0;h<e.xb.length;h++){var g=[],m=e.xb[h];g[0]=m.jd;g[1]=m.rj;g[2]=m.qc;g[3]=m.Cb;g[4]=m.Wb;g[5]=m.mode;g[6]=m.ng;g[8]=m.fo;g[9]=m.ho;f[h]=g}d[4]=f;b[c]=d}a.set(1,[b]);b=[];for(c=0;c<this.rb.length;c++)d=[],e=this.rb[c],d[0]=e.Cf,d[1]=e.Sd,d[2]=e.ld,d[3]=e.$c,d[4]=e.Db,d[5]=e.Dc,d[6]=e.Xd,d[7]=e.ff,b[c]=d;a.set(2,
[b]);b=[];for(c=0;c<this.Mb.length;c++)d=[],e=this.Mb[c],d[0]=e.qc,d[1]=e.Hc,d[2]=e.Wb,d[3]=e.nf,d[4]=e.yj,d[5]=e.mode,d[6]=e.Rf,d[7]=e.xd,d[8]=e.ee,d[9]=e.Pc,d[10]=e.sf,d[11]=e.He,d[12]=e.Ld,b[c]=d;a.set(3,[this.uh,b]);a.set(4,[this.mg,this.jc,this.sh,this.gf,this.lg]);this.Da>=nh&&(a.set(5,[this.ib,this.Zc,this.Mc,this.gg,this.Wd,this.qh]),a.set(6,[this.jg,this.Nb,this.De,this.oa,this.vf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Lb=b[0];this.Od=b[1];this.Lc=b[2];this.ue=b[3];b=a[1];this.Ua=Array(this.hf);for(c=0;c<this.hf;c++)xh(this,c,1==b.length?b[0][c]:b);b=a[2];this.rb=Array(this.jf);for(c=0;c<this.jf;c++)yh(this,c,0===c?32:160,b[0][c]);b=a[3];this.uh=b[0];this.Mb=Array(3);for(c=0;c<this.Mb.length;c++)zh(this,c,b[1][c]);b=a[4];this.mg=b[0];this.jc=b[1];this.sh=b[2];this.gf=b[3];this.lg=b[4];if(b=a[5])this.ib=b[0],this.Zc=b[1],this.Mc=b[2],this.gg=b[3],this.Wd=b[4],this.qh=b[5];
if(b=a[6])this.jg=b[0],this.Nb=b[1],this.De=b[2],this.oa=b[3],this.vf=b[4],Ch(this);return!0};function xh(a,b,c){a=a.Ua[b]={};c&&5==c.length||(c=[0,void 0,void 0,0,[]]);a.ud=c[0];a.rh=c[1];a.wj=c[2];a.Eb=c[3];a.Wm=b<<2;a.xb=Array(4);for(b=0;b<a.xb.length;b++)Fh(a,b,c[4][b])}function Fh(a,b,c){var d=a.xb[b]={};if(void 0===c||8!=c.length)c=[!0,[],[],[],[]];d.ea=a;d.Qj=b;d.jd=c[0];d.rj=c[1];d.qc=c[2];d.Cb=c[3];d.Wb=c[4];d.mode=c[5];d.ng=c[6];Gh(d,c[8],c[9])}
function Gh(a,b,c,d){"string"==typeof b&&(b=Ha(b));b&&(a.sg=null,a.fo=b.id,a.ho=c,a.rg=b,a.Rh=b[c],a.Tg=d)}function yh(a,b,c,d){a=a.rb[b]={};d&&8==d.length||(d=[0,[void 0,void 0,void 0,void 0]]);a.port=c;a.Bp=b<<3;a.Cf=d[0];a.Sd=d[1];a.ld=d[2];a.$c=d[3];a.Db=d[4];a.Dc=d[5];a.Xd=d[6];a.ff=d[7]}
function zh(a,b,c){a=a.Mb[b]={};if(void 0===c||13!=c.length)c=[[],[],[],[]];a.qc=c[0];a.Hc=c[1];a.Wb=c[2];a.nf=c[3];a.yj=c[4];a.mode=c[5];a.Rf=c[6];a.xd=c[7];a.ee=c[8];a.Pc=c[9];a.sf=c[10];a.He=c[11];a.Ld=c[12]}function Ah(a,b){return((((b?a.Lb:a.Lc)&12)>>2)+1)*a.Rm+32*((b?a.Od:a.ue)&15)}function Hh(a,b){var c=b?a.Lb:a.Lc;return a.Da!=ih||c&mh.ih?((c&mh.Ye)>>mh.Ze)+1:0}
function Dh(a,b){if(b<Hh(a)){if(!a.pd)return 1;if(b<a.pd.length)switch(a.pd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Bh(a,b){return((b?a.Lb:a.Lc)&lh.Ye)>>lh.Ze}
function ph(a,b,c,d,e){for(var f="",h=1;8>=h;h++){var g="pcjs-bitCell";h||(g+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+h)+'" class="'+g+'" data-value="0">'+h+"</div>\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(h=0;h<b.length;h++)void 0!==e&&void 0!==e[h]&&(c=e[h]),c&&b[h].setAttribute("title",c),Ih(b[h],d&1<<h?!1:!0),b[h].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Ih(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Lb=
a.Lb&~e|(c?0:e);break;case "sw2":a.Od=a.Od&~e|(c?0:e)}wh(a)}}(a,b[h])}function Ih(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function wh(a){var b=a.ra.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(void 0!==b){var d;d=""+(Ah(a,!0)+"Kb");d+=", "+c[Bh(a,!0)]+" Monitor";d+=", "+Hh(a,!0)+" Floppy Drives";if(void 0!==a.Lc&&a.Lc!=a.Lb||void 0!==a.ue&&a.ue!=a.Od)d+=" (Reset required)";b.innerHTML=d}}
function Jh(a,b,c){a=a.Ua[b];c=a.xb[c].Cb[a.Eb];a.Eb^=1;return c}function Kh(a,b,c,d){a=a.Ua[b];c=a.xb[c];c.Cb[a.Eb]=c.rj[a.Eb]=d;a.Eb^=1}function Lh(a,b,c){a=a.Ua[b];c=a.xb[c].Wb[a.Eb];a.Eb^=1;return c}function Mh(a,b,c,d){a=a.Ua[b];c=a.xb[c];c.Wb[a.Eb]=c.qc[a.Eb]=d;a.Eb^=1}function Nh(a,b){var c=a.Ua[b],d=c.ud|1;c.ud&=-16;return d}function Oh(a,b,c){a=a.Ua[b];b=c&3;a.ud=a.ud&~(16<<b)|(c&4)<<b+2;a.wj=c}function Ph(a,b,c){b=a.Ua[b];var d=c&3,e=b.xb[d];e.jd=c&4?!0:!1;e.jd||Qh(a,b.Wm+d)}
function Rh(a,b){for(var c=a.Ua[b],d=0;d<c.xb.length;d++)Fh(c,d)}function Sh(a,b,c){return a.Ua[b].xb[c].ng}function Th(a,b,c,d){a.Ua[b].xb[c].ng=d}function Uh(a,b,c,d,e){Gh(a.Ua[b>>2].xb[b&3],c,d,e)}function Qh(a,b,c){b=a.Ua[b>>2].xb[b&3];b.rg&&b.Rh&&b.Tg?(c&&(b.sg=c),b.jd||Vc(a,b,!0)):c&&c(!0)}
function Vc(a,b,c){c&&(b.count=b.Wb[1]<<8|b.Wb[0],b.ql=b.mode&12,b.Nj=b.Oc=!1);for(var d=!1;0<=b.count&&(c=b.ng<<16|b.Cb[1]<<8|b.Cb[0],4==b.ql?(d=!0,function(c){b.Rh.call(b.rg,b.Tg,-1,function(f,h){0>f&&(b.Nj||(b.Nj=!0),f=255);b.jd||Za(a.qa,c,f);(d=h)&&setTimeout(function(){Vh(b)||Vc(a,b)},0)})}(c)):8==b.ql?(c=Xa(a.qa,c),0>b.Rh.call(b.rg,b.Tg,c)&&(b.Oc=!0)):b.Oc=!0),!d&&!Vh(b););}
function Vh(a){if(!a.Oc&&0<=--a.count&&(a.mode&32?(a.Cb[0]--,0>a.Cb[0]&&(a.Cb[0]=255,a.Cb[1]--,0>a.Cb[1]&&(a.Cb[1]=255))):(a.Cb[0]++,255<a.Cb[0]&&(a.Cb[0]=0,a.Cb[1]++,255<a.Cb[1]&&(a.Cb[1]=0))),!a.jd))return!1;var b=a.ea;b.ud=b.ud&~(16<<a.Qj)|1<<a.Qj;a.mode&16||(a.jd=!0,a.rg=a.Tg=null);a.sg&&(a.sg(!a.Oc),a.sg=null);return!0}function Wh(a,b){var c=0,d=a.rb[b];if(void 0!==d.ff)switch(d.ff&3){case 2:c=d.Db;break;case 3:c=d.Dc}return c}
function Xh(a,b,c){var d=a.rb[b];if(c&16)d.ld=0,d.Sd[d.ld++]=c,d.$c=0,d.Xd=7,d.Db=d.Dc=0,d.ff=10;else if(c&8)d.ff=c;else{var e=c&224;if(e&32){var f=0;if(96==(e&96))f=1<<(c&7);else for(c=d.Xd+1;;){c&=7;e=1<<c;if(d.Dc&e){f=e;break}if(c++==d.Xd)break}d.Dc&f&&(d.Dc&=~f,Yh(a,b))}else 192==e&&(d.Xd=c&7)}}function ci(a,b,c){var d=a.rb[b];d.ld<d.Sd.length?(d.Sd[d.ld++]=c,2==d.ld&&d.Sd[0]&2&&d.ld++,3!=d.ld||d.Sd[0]&1||d.ld++):(d.$c=c,d=a.la,d.Z|=4,Yh(a,b,b||253!=c?0:6))}
function Yh(a,b,c){b=a.rb[b];var d=((b.Dc|b.$c)^255)&b.Db;a=a.la;a.ja&&(a.cb=d?a.cb|1:a.cb&-2);d&&c&&(b.Cf=c)}function di(a,b,c){var d=b>>3,e=a.rb[d];e.Db|=1<<(b&7);e.Cf=c||0;1==d&&(a.rb[0].Db|=4);Yh(a,d)}function ei(a,b){var c=b>>3,d=a.rb[c],e=1<<(b&7);d.Db&e&&(d.Db&=~e,1!=c||d.Db||(a.rb[0].Db&=-5),Yh(a,c))}
function Tc(a,b){void 0===b&&(b=0);var c=-1,d=a.rb[b];if(d.Cf)c=-2,d.Cf--;else for(var e=d.Db&((d.Dc|d.$c)^255),f=d.Xd+1;;){var f=f&7,h=1<<f;if(e&h){c=b||2!=f?d.Sd[1]+f:Tc(a,1);0<=c&&(d.Dc|=h,d.Db&=~h);break}if(f++==d.Xd)break}return c}function fi(a,b){var c=a.Mb[b];c.xd==c.ee&&gi(a,b);if(c.sf)return c.nf[c.xd++];hi(a,b);return c.Wb[c.xd++]}
function ii(a,b,c){var d=a.Mb[b];d.xd==d.ee&&gi(a,b);d.qc[d.xd++]=c;if(d.xd==d.ee){d.He&&0!=d.mode&&8!=d.mode||(d.sf=!1,d.Wb[0]=d.Hc[0]=d.qc[0],d.Wb[1]=d.Hc[1]=d.qc[1],d.Ld=rb(a.la,a.Cg),d.He=!0,d.Pc=0!=d.mode,0==b&&ei(a,0));2==b&&sb(a);if(0==b){var e=ji(a,0);2048<=e&&(a.la.Lg=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Rf&&(b=a.la,b.na.uc&&(a=b.A-c*a.$k,b.A-=a,b.Rc-=a))}}k.Lm=function(){return null};
k.Vn=function(a,b){this.uh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var h=this.Mb[c];h.Rf=f;h.mode=e;h.yj=d;h.qc=[0,0];h.Wb=[0,0];h.nf=[0,0];h.Pc=!1;h.sf=!1;h.He=!1;gi(this,c);0==c&&ei(this,0);2==c&&255==this.rb[0].$c&&77==this.jc&&(c=this.Mb[0],c.Hc[0]=c.qc[0],c.Hc[1]=c.qc[1],c.Ld=rb(this.la,this.Cg))}else hi(this,c),d=this.Mb[c],d.nf[0]=d.Wb[0],d.nf[1]=d.Wb[1],d.sf=!0,gi(this,c)}};function ji(a,b){var c=a.Mb[b],d=c.qc[1]<<8|c.qc[0];d||(d=1==c.ee?256:65536);return d}
function gi(a,b){var c=a.Mb[b];c.xd=32==c.Rf?1:0;c.ee=48==c.Rf?2:1}
function hi(a,b,c){var d=a.Mb[b];if(d.He&&(2!=b||a.jc&1)){var e=rb(a.la,a.Cg),f=(e-d.Ld)/a.$k|0;0>f&&(d.Ld=e,f=0);var h=ji(a,b),g=a.Mb[b],m=g.Hc[1]<<8|g.Hc[0];m||(m=1==g.ee?256:65536);g=m-f;0==d.mode?(0>=g&&(g=0),g||(d.Pc=!0,d.He=!1,b||di(a,0))):4==d.mode?(d.Pc=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.Hc[0]=g&255,d.Hc[1]=g>>8,d.Ld=e,!b&&d.Pc&&di(a,0))):6==d.mode&&(g-=f,0>=g&&(d.Pc=!d.Pc,g=h+g,0>=g&&(g=h),d.Hc[0]=g&255,d.Hc[1]=g>>8,d.Ld=e,!b&&d.Pc&&di(a,0)));d.Wb[0]=g&255;d.Wb[1]=g>>8;c&&(a.Ld=0)}return d}
function tb(a,b){for(var c=0;c<a.Mb.length;c++)hi(a,c,b);if(a.Da>=nh){var c=0,d=a.la.ba.kd,e=rb(a.la,a.Cg);if(0<=a.vf&&(c=e-a.vf,Math.floor(c/d)&&60<=++a.oa[0]&&(a.oa[0]=0,60<=++a.oa[2]&&(a.oa[2]=0,24<=++a.oa[4])))){a.oa[4]=0;a.oa[6]=a.oa[6]%7+1;var f=a.oa[9],h=ja[a.oa[8]-1];28==h&&0===f%4&&(f%100||0===f%400)&&h++;++a.oa[7]>h&&(a.oa[7]=1,12<++a.oa[8]&&(a.oa[8]=1,a.oa[9]=(a.oa[9]+1)%100))}a.vf=e-c%d}}k.Dm=function(){var a=this.mg;this.gf&16&&(this.jc&128?a=this.Lc:this.Ma&&(a=ki(this.Ma)));return a};
k.On=function(a,b){this.mg=b};k.Em=function(){return this.jc};k.Pn=function(a,b){li(this,b);this.Ma&&mi(this.Ma,b&128?!1:!0,b&64?!0:!1)};function li(a,b){var c=!!(b&2),d=!!(a.jc&2);a.jc=b;c!=d&&sb(a,c)}k.Fm=function(){var a=0,a=this.Da==ih?this.jc&4?a|this.ue&15:a|this.ue>>4&1:this.jc&8?a|this.Lc>>4:a|this.Lc&15;this.jc&1&&hi(this,2).Pc&&(a=this.jc&2?a|32:a|16);return a};k.Qn=function(a,b){this.sh=b};k.Gm=function(){return this.gf};k.Rn=function(a,b){this.gf=b};
k.Ul=function(){var a=this.gg;this.ib&=-258;var b=this.Ma&&ki(this.Ma,!0);b&&ni(this,b);return a};k.gn=function(a,b){if(this.ib&8)switch(this.Zc){case 96:oi(this,b);break;case 209:pi(this,b);break;default:if(oi(this,this.Mc&-17),this.Ma){var c=-1;switch(b){case 255:var c=250,d=this.Ma;d.bc=[170];d.ja&&qi(d.ja)}ni(this,c)}}this.Zc=b;this.ib&=-9};k.Vl=function(){return this.jc&-209|(rb(this.la)&64?16:0)};k.hn=function(a,b){li(this,b)};
k.Wl=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};k.fn=function(a,b){this.Zc=b;this.ib|=8;var c=0;240<=this.Zc&&(c=this.Zc^15,this.Zc=240);switch(this.Zc){case 192:ni(this,this.Wd);break;case 173:oi(this,this.Mc|16);break;case 174:oi(this,this.Mc&-17);break;case 170:this.Ma&&ri(this.Ma,!0);oi(this,this.Mc|16);ni(this,85);pi(this,3);break;case 224:ni(this,this.Mc&16?0:1);break;case 240:c&1&&ic(this.la)}};
function oi(a,b){var c=!(a.Mc&16);a.Mc=b;a.ib=a.ib&-5|b&4;if(a.Ma){var d=!(b&16);mi(a.Ma,!!(b&8),d)&&ni(a,ki(a.Ma,!0));!c&&d&&ki(a.Ma)&&qi(a)}}function ni(a,b){0<=b&&(a.gg=b,a.ib&=-2,a.ib|=256)}function pi(a,b){a.qh=b;Ra(a.qa,!!(b&2));b&1||ic(a.la)}function qi(a){a.Da<nh?di(a,1,4):a.Mc&16||di(a,1,120)}k.jm=function(){return this.De};k.wn=function(a,b){this.De=b;this.lg=b&128?0:128};
k.km=function(){var a=this.De&63;if(13>=a){var b=this.oa[a];if(10>a){var c=!1;4!=a&&5!=a||this.oa[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.oa[11]&4||(c&&128<b&&(b-=48),b=b%10|b/10<<4)}else 10==a&&(this.oa[a]^=128);a=b}else a=this.oa[a];return a};k.xn=function(a,b){var c=this.De&63,d=this.oa,e;if(13>=c){if(e=b,10>c){var f=!1;this.oa[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12<e&&(e+=48),this.oa[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};k.Bm=function(){return this.jg};
k.Ln=function(a,b){this.jg=b};k.Nn=function(a,b){this.lg=b};function jh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function sb(a,b){if(a.yh){void 0!==b?a.Mj=b:b=a.Mj&&a.la&&a.la.na.uc;var c=Math.round(1193181/ji(a,2));if(20>c||2E4<c)b=!1;b?a.Vc?a.Vc.frequency.value=c:(a.Vc=a.yh.createOscillator(),a.Vc.type=1,a.Vc.connect(a.yh.destination),a.Vc.frequency.value=c,a.Vc.noteOn(0)):a.Vc&&(a.Vc.noteOff(0),a.Vc.disconnect(),delete a.Vc)}}
var qh={0:function(){return Jh(this,0,0)},1:function(){return Lh(this,0,0)},2:function(){return Jh(this,0,1)},3:function(){return Lh(this,0,1)},4:function(){return Jh(this,0,2)},5:function(){return Lh(this,0,2)},6:function(){return Jh(this,0,3)},7:function(){return Lh(this,0,3)},8:function(){return Nh(this,0)},32:function(){return Wh(this,0)},33:function(){return this.rb[0].$c},64:function(){return fi(this,0)},65:function(){return fi(this,1)},66:function(){return fi(this,2)},67:R.prototype.Lm,129:function(){return Sh(this,
0,2)},130:function(){return Sh(this,0,3)},131:function(){return Sh(this,0,1)},135:function(){return Sh(this,0,0)}},sh={96:R.prototype.Dm,97:R.prototype.Em,98:R.prototype.Fm,99:R.prototype.Gm},uh={96:R.prototype.Ul,97:R.prototype.Vl,100:R.prototype.Wl,112:R.prototype.jm,113:R.prototype.km,128:R.prototype.Bm,132:function(){return this.Nb[0]},133:function(){return this.Nb[1]},134:function(){return this.Nb[2]},136:function(){return this.Nb[3]},137:function(){return Sh(this,1,2)},138:function(){return Sh(this,
1,3)},139:function(){return Sh(this,1,1)},140:function(){return this.Nb[4]},141:function(){return this.Nb[5]},142:function(){return this.Nb[6]},143:function(){return Sh(this,1,0)},160:function(){return Wh(this,1)},161:function(){return this.rb[1].$c},192:function(){return Jh(this,1,0)},194:function(){return Lh(this,1,0)},196:function(){return Jh(this,1,1)},198:function(){return Lh(this,1,1)},200:function(){return Jh(this,1,2)},202:function(){return Lh(this,1,2)},204:function(){return Jh(this,1,3)},
206:function(){return Lh(this,1,3)},208:function(){return Nh(this,1)}},rh={0:function(a,b){Kh(this,0,0,b)},1:function(a,b){Mh(this,0,0,b)},2:function(a,b){Kh(this,0,1,b)},3:function(a,b){Mh(this,0,1,b)},4:function(a,b){Kh(this,0,2,b)},5:function(a,b){Mh(this,0,2,b)},6:function(a,b){Kh(this,0,3,b)},7:function(a,b){Mh(this,0,3,b)},8:function(a,b){this.Ua[0].rh=b},9:function(a,b){Oh(this,0,b)},10:function(a,b){Ph(this,0,b)},11:function(a,b){this.Ua[0].xb[b&3].mode=b},12:function(){this.Ua[0].Eb=0},13:function(){Rh(this,
0)},32:function(a,b){Xh(this,0,b)},33:function(a,b){ci(this,0,b)},64:function(a,b){ii(this,0,b)},65:function(a,b){ii(this,1,b)},66:function(a,b){ii(this,2,b)},67:R.prototype.Vn,129:function(a,b){Th(this,0,2,b)},130:function(a,b){Th(this,0,3,b)},131:function(a,b){Th(this,0,1,b)},135:function(a,b){Th(this,0,0,b)}},th={96:R.prototype.On,97:R.prototype.Pn,98:R.prototype.Qn,99:R.prototype.Rn,160:R.prototype.Nn},vh={96:R.prototype.gn,97:R.prototype.hn,100:R.prototype.fn,112:R.prototype.wn,113:R.prototype.xn,
128:R.prototype.Ln,132:function(a,b){this.Nb[0]=b},133:function(a,b){this.Nb[1]=b},134:function(a,b){this.Nb[2]=b},136:function(a,b){this.Nb[3]=b},137:function(a,b){Th(this,1,2,b)},138:function(a,b){Th(this,1,3,b)},139:function(a,b){Th(this,1,1,b)},140:function(a,b){this.Nb[4]=b},141:function(a,b){this.Nb[5]=b},142:function(a,b){this.Nb[6]=b},143:function(a,b){Th(this,1,0,b)},160:function(a,b){Xh(this,1,b)},161:function(a,b){ci(this,1,b)},192:function(a,b){Kh(this,1,0,b)},194:function(a,b){Mh(this,
1,0,b)},196:function(a,b){Kh(this,1,1,b)},198:function(a,b){Mh(this,1,1,b)},200:function(a,b){Kh(this,1,2,b)},202:function(a,b){Mh(this,1,2,b)},204:function(a,b){Kh(this,1,3,b)},206:function(a,b){Mh(this,1,3,b)},208:function(a,b){this.Ua[1].rh=b},210:function(a,b){Oh(this,1,b)},212:function(a,b){Ph(this,1,b)},214:function(a,b){this.Ua[1].xb[b&3].mode=b},216:function(){this.Ua[1].Eb=0},218:function(){Rh(this,1)}};
u(function(){for(var a=A(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new R(d);Ja(d,c);wh(d)}});function si(a){v.call(this,"ROM",a,si);this.sb=null;this.sj=a.addr;this.eh=a.size;this.wl=a.alias;this.Sf=a.file;this.Sj=a.notify;if(this.Sf){a=this.Sf;var b=ea(this.Sf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Sf+"&format=bytes&decimal=true");r(a,!0,null,this,si.prototype.an)}}y(v,si);si.prototype.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;ti(this)};
si.prototype.Qb=function(){this.oh&&(this.Sa&&this.Sa.kp(this.sj,this.eh,this.oh),delete this.oh);return!0};si.prototype.Pb=function(){return!0};
si.prototype.an=function(a,b,c){if(c)this.ya("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.sb=e;else if(f)for(this.sb=Array(4*f.length),c=b=0;b<f.length;b++)this.sb[c++]=f[b]&255,this.sb[c++]=f[b]>>8&255,this.sb[c++]=f[b]>>16&255,this.sb[c++]=f[b]>>24&255;else this.sb=d;this.oh=d.symbols;if(!this.sb.length){s("Empty ROM: "+a);return}if(1==this.sb.length){s(this.sb[0]);return}}catch(h){this.ya("ROM data error: "+
h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.sb=Array(a.length),d=0;d<a.length;d++)this.sb[d]=parseInt(a[d],16);ti(this)}};function ti(a){if(!La(a))if(!a.Sf)a.Na();else if(a.sb&&a.qa){if(a.sb.length!=a.eh)Ma(a,"ROM size (0x"+p(a.sb.length)+") does not match specified size (0x"+p(a.eh)+")");else if(ui(a,a.sj)&&ui(a,a.wl)){if(a.Sj){var b=Ha(a.Sj,a.id);b&&("ega"==b.Da&&vi(b,a.sb,[8752,12640],8),b.Na())}delete a.sb}a.Na()}}
function ui(a,b){if(null==b)return!0;if(Sa(a.qa,b,a.eh,!0)){for(var c=0;c<a.sb.length;c++)Za(a.qa,b+c,a.sb[c]);return!0}return!1}u(function(){for(var a=A(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new si(d);Ja(d,c)}});function wi(a){v.call(this,"RAM",a,wi);this.fg=a.addr;this.nd=a.size;this.Ml=a.test;this.Jl=!!this.nd;this.tg=!1}y(v,wi);wi.prototype.mc=function(a,b,c){this.qa=b;this.la=c;this.ja=C(a,"ChipSet");this.Na()};wi.prototype.Qb=function(a,b){b||this.reset();return!0};
wi.prototype.Pb=function(){return!0};wi.prototype.reset=function(){if(!this.fg&&!this.Jl&&this.ja){var a=1024*Ah(this.ja);this.nd&&a!=this.nd&&(Wa(this.qa,this.fg,this.nd),this.tg=!1);this.nd=a}!this.tg&&this.nd&&Sa(this.qa,this.fg,this.nd)&&(this.tg=!0,this.status(Math.floor(this.nd/1024)+"Kb"));if(this.tg){if(this.Ml||$a(this.qa,1138,4660),this.ja&&(a=this.ja,a.oa)){var b=1048576>this.fg?21:23,c=a.oa[b]|a.oa[b+1]<<8,c=c+(this.nd>>10);a.oa[b]=c&255;a.oa[b+1]=c>>8;Eh(a)}}else s("No RAM allocated")};
u(function(){for(var a=A(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new wi(d);Ja(d,c)}});function xi(a){v.call(this,"Keyboard",a,xi);this.Ij=!1;this.nh={};this.Um=250;this.Vm=100;this.Na()}y(v,xi);
var S={to:1,uo: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,qo:65,ro:66,lj:67,sl:68,E:69,xo:70,Ao:71,mj:72,Co:73,Do:74,Eo:75,Fo:76,Go:77,jh:78,Io:79,Jo:80,Lo:81,oj:82,Po:83,Zo:84,cp:85,dp:86,ep:87,gp:88,hp:89,ip:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,jp:97,lp:98,np:99,op:100,pp:101,qp:102,rp:103,sp:104,tp:105,vp:106,wp:107,xp:108,
yp:109,Ap:110,Cp:111,Dp:112,Ep:113,Fp:114,Gp:115,Hp:116,Ip:117,Kp:118,Lp:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},yi={16:2,17:8,18:32,20:256},zi={tab:1009,esc:1027,"right-shift":3016,shift:1016,ctrl:1017,alt:1018,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Ai={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,bs:14,tab:15,q:16,
w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,"num-down":80,
"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:1};T[S["1"]]=2;T[S["!"]]=10754;T[S["2"]]=3;T[S["@"]]=10755;T[S["3"]]=4;T[S["#"]]=10756;T[S["4"]]=5;T[S.$]=10757;T[S["5"]]=6;T[S["%"]]=10758;T[S["6"]]=7;T[S["^"]]=10759;T[S["7"]]=8;
T[S["&"]]=10760;T[S["8"]]=9;T[S["*"]]=10761;T[S["9"]]=10;T[S["("]]=10762;T[S["0"]]=11;T[S[")"]]=10763;T[S["-"]]=12;T[S._]=10764;T[S["="]]=13;T[S["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[S["["]]=26;T[S["{"]]=10778;T[S["]"]]=27;T[S["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;T[65]=10782;
T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[S[";"]]=39;T[S[":"]]=10791;T[S["'"]]=40;T[S['"']]=10792;T[S["`"]]=41;T[S["~"]]=10793;T[1016]=42;T[S["\\"]]=43;T[S["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[S[","]]=51;T[S["<"]]=10803;T[S["."]]=52;
T[S[">"]]=10804;T[S["/"]]=53;T[S["?"]]=10805;T[3016]=54;T[1018]=56;T[S[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=xi.prototype;
k.zb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.ra[a])switch(c){case "kbd":return this.ra[a]=d,d.onkeydown=function(a){return Bi(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.pb&64?e.pb&=-65:e.pb&40?b=!1:(e.Ij&&a==S["`"]&&(a=27),b=!Ci(e,a));return b},d.onkeyup=function(a){return Bi(e,a,!1)},!0;default:if(void 0!==zi[c]&&"button"==b)return this.ra[a]=d,d.onclick=function(a,b,c){return function(){a.la&&a.la.We();return!Ci(a,c)}}(this,
c,zi[c]),!0;if(void 0!==Ai[c])return this.ra[a]=d,b=function(a,b,c){return function(){Di(a,c)}}(this,c,Ai[c]),c=function(a,b,c){return function(){Di(a,c)}}(this,c,Ai[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ja=C(a,"ChipSet")};k.Na=function(){this.Kl=(this.Tl=qa("iOS"))||qa("Android");return v.prototype.Na.call(this)};
function mi(a,b,c){var d=!1;a.Jh!==c&&(a.Jh=a.Nh=c);a.yg!==b&&(a.yg=b)&&!a.Nh&&ri(a);a.yg&&a.Nh&&(a.bc=[170],a.ja&&qi(a.ja),a.Nh=!1,d=!0);return d}function ki(a,b){var c=0;a.bc.length&&(c=a.bc[0],b&&ri(a));return c}function ri(a,b){0<a.bc.length&&(b?a.bc=[]:(a.bc.shift(),0<a.bc.length&&a.ja&&qi(a.ja)))}k.Qb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Pb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){this.Cd();this.pb=0;this.bc=[];if(this.Wc)for(var a in this.Wc)ca(a)||this.Wc[a]&&clearTimeout(this.Wc[a]);this.Wc=[];this.cl=this.oe=0};k.save=function(){var a=new G(this);a.set(0,this.fj());return a.data()};k.restore=function(a){return this.Cd(a[0])};k.Cd=function(a){var b=0;void 0===a&&(a=[]);this.Jh=a[b++];this.yg=a[b];return!0};k.fj=function(){var a=0,b=[];b[a++]=this.Jh;b[a]=this.yg;return b};
function Di(a,b){var c=b&127,d=c==b;if(a.bc)if(20>a.bc.length){if(!(!d&&!a.nh[c]||d&&a.nh[c])){a.nh[c]=d;a.bc.push(b);1==a.bc.length&&a.ja&&qi(a.ja);for(var e in Ai)if(Ai[e]==c){(c=a.ra["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.bc.length&&a.bc.push(255)}function Ei(a,b){var c=b?a.Vm:a.Um;a.la&&a.la.ba.Qc&&(c/=a.la.ba.Qc);return c}
function Fi(a,b){!a.oe||void 0!==b&&b==a.oe||(clearTimeout(a.Wc[a.oe]),Gi(a,a.oe,!1))}function Bi(a,b,c){var d,e=!c,f=b.keyCode,h=f;c&&(a.cl=f);if(T[f+1E3]){var h=h+1E3,g=yi[f]||0;if(g)2==b.location&&(g>>=1,h+=2E3),a.pb&=~g,c&&(a.pb|=g),20==f?d=Ci(a,h):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.pb&40)&&(h=4063),d=c?!Ci(a,h):!1}else 91==f?(a.pb&=-65,c&&(a.pb|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(h+=32):d=!0;e&&(a.pb&=-65,a.Kl||f!=a.cl||Fi(a));void 0===d&&(d=!Gi(a,h,c));return d}
function Ci(a,b,c){var d=!1;Fi(a,b);Gi(a,b,!0)&&(c?Gi(a,b,!1):(c=!1,a.Wc[b]&&(clearTimeout(a.Wc[b]),c=!0),c=Ei(a,c),a.Wc[a.oe=b]=setTimeout(function(a){return function(){Gi(a,b,!1)}}(a),c)),d=!0);return d}
function Gi(a,b,c){var d=!1;c||(a.Wc[b]=null,a.oe==b&&(a.oe=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.pb&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var h=0,g=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==g?a.pb&3||a.pb&256&&b||(h=g):29==g?a.pb&12||(h=g):56==g?a.pb&48||(h=g):d.push(f|(c?0:128)),h&&(c?d.unshift(h):d.push(h|128)))}for(c=0;c<d.length;c++)Di(a,d[c]);d=!0}return d}
u(function(){for(var a=A(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new xi(d);Ja(d,c)}});
function U(a,b,c,d){v.call(this,"Video",a,U);this.Da=a.model;this.Fc=0;"ega"==this.Da&&(this.jl=a.switches,this.Fc=a.memory||0);this.Tc=a.mode;if(void 0===this.Tc||void 0===V[this.Tc])this.Tc=Hi;this.Pg=a.charCols;this.fi=a.charRows;if(void 0===this.Pg||void 0===this.fi)this.Pg=V[this.Tc][0],this.fi=V[this.Tc][1];this.cd=a.screenWidth;this.zd=a.screenHeight;this.Ll=a.scale;this.Il=12<=Math.round(this.cd/this.Pg);this.Nl=a.touchScreen;this.Ra=b;this.Gc=c;this.ol=d;this.Dd=null;this.Gl=a.autoLock;this.Qa=
this.Ab=0;this.qd=[];this.Xc=Array(16);this.Kh=!1;var e=this;b&&(b.onfocus=function(){e.Kh=!0},b.onblur=function(){e.Kh=!1},b.Pe=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock,b.pl=b.exitPointerLock||b.mozExitPointerLock||b.webkitExitPointerLock,b=function(){e.Mf(document.pointerLockElement===e.Ra||document.mozPointerLockElement===e.Ra||document.webkitPointerLockElement===e.Ra)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in
document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ea(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),r(a,!0,null,this,this.bn)}y(v,U);
var Ii={2:{ii:15700,hi:208,Xi:85,Yi:96},3:{ii:18432,hi:364,Xi:85,Yi:96},4:{ii:21850,hi:364,Xi:85,Yi:96}},Ji={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Hi=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[Hi]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var Ki=Array(5);Ki[0]=[0,0,0,255];Ki[1]=[127,192,127,255];
Ki[2]=[127,192,127,255];Ki[3]=[127,255,127,255];Ki[4]=[127,255,127,255];var Li=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255];
var Mi=[2,4,6],Ni=[3,5,7],Oi=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Pi=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15;
function Qi(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Ri[b],f=a.Hd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Si)];this.Fg=b;this.Qa=e[2];this.Ab=e[3];this.Fc=d||e[4];65536<=this.Fc&&720896<=this.Qa&&(this.Ab=Math.min(this.Fc>>2,32768));this.Ic=c[0];this.nc=c[1];this.lf=c[2];this.Wf=c[3];this.vc=c[4]&255;this.Eg=c[4]>>8&255;this.ac=c[5];this.Zh=Si;if(5==b){this.Zh=Ti;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Qa,this.Ab,this.Fc],Array(this.Fc>>
2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Ad=b[0];this.je=b[1];this.Qd=b[2];this.gj=b[3];this.Jg=b[4];this.Ph=b[5];this.Oe=b[6];this.dg=b[7];this.Sh=b[8];this.Th=b[9];this.Ne=b[10];this.ze=b[11];this.tb=b[12];d=b[13];"number"==typeof d&&(d=[this.Qa,this.Ab,d]);this.Qa=d[0];this.Ab=d[1];d=this.Fc>>2;if((this.Vd=b[14])&&this.Vd.length<d){for(var e=this.Vd,h=0,g=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)g[h]=q,h+=2;h==d&&(h=1)}this.Vd=g}this.dh(b[15]);this.Ti=b[16];
this.$a=b[17];this.Sc=b[18];this.eb=b[19];this.Sg=b[20];this.Kd=b[21];this.me=b[22];this.ai=b[23];this.bi=b[24]}f=Ii[f]||Ii[3];this.ci=a.la.ba.kd/f.ii|0;this.Xm=this.ci*f.Xi/100|0;this.Zj=this.ci*f.hi;this.Zm=this.Zj*f.Yi/100|0;this.ji=null==c[7]?0:c[7]}}var Si=18,Ti=25;function Ui(a){return this.xc(a)|this.xc(a+1)<<8}function Vi(a,b){this.Ac(a,b&255);this.Ac(a+1,b>>8&255)}
var Y=[,,function(a){a+=this.offset;return(this.ea.tb=this.pa[a])>>this.ea.Ti&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.ai&this.ea.bi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.pa[c]&~this.ea.$a|(b|b<<8|b<<16|b<<24)&this.ea.$a;d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Sc|b<<8-this.ea.Sc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Kd|this.ea.me;d=d&this.ea.$a|this.pa[c]&~this.ea.$a;d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Sc|b<<8-this.ea.Sc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Kd|this.ea.me;d&=this.ea.tb;d=d&this.ea.$a|this.pa[c]&~this.ea.$a;d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Sc|b<<8-this.ea.Sc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Kd|this.ea.me;d|=this.ea.tb;d=d&this.ea.$a|this.pa[c]&~this.ea.$a;d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Sc|b<<8-this.ea.Sc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Kd|this.ea.me;d^=this.ea.tb;d=d&this.ea.$a|this.pa[c]&~this.ea.$a;d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.$a&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[d]!=c&&(this.pa[d]=c,this.bb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.$a|this.ea.tb&this.ea.$a;this.pa[a]!=b&&(this.pa[a]=b,this.bb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=Pi[b&15],d=d&this.ea.$a|this.pa[c]&~this.ea.$a,d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=Pi[b&15],d=d&this.ea.tb,d=d&this.ea.$a|this.pa[c]&~this.ea.$a,d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=Pi[b&15],d=d|this.ea.tb,d=d&this.ea.$a|this.pa[c]&~this.ea.$a,d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=Pi[b&15],d=d^this.ea.tb,d=d&this.ea.$a|this.pa[c]&~this.ea.$a,d=d&this.ea.eb|this.ea.tb&~this.ea.eb;this.pa[c]!=d&&(this.pa[c]=d,this.bb=!0)};
function Wi(a){var b=[];if(void 0!==a.Fg){b[0]=a.Ic;b[1]=a.nc;b[2]=a.lf;b[3]=a.Wf;b[4]=a.vc|a.Eg<<8;b[5]=a.ac;if(5==a.Fg){var c=[];c[0]=a.Ad;c[1]=a.je;c[2]=a.Qd;c[3]=a.gj;c[4]=a.Jg;c[5]=a.Ph;c[6]=a.Oe;c[7]=a.dg;c[8]=a.Sh;c[9]=a.Th;c[10]=a.Ne;c[11]=a.ze;c[12]=a.tb;c[13]=[a.Qa,a.Ab,a.Fc];var d;a:if(d=a.Vd){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g<d.length;){for(var m=d[g],n=g+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-g>>1;f[e++]=m;g=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Yh;c[16]=a.Ti;c[17]=a.$a;c[18]=a.Sc;c[19]=a.eb;c[20]=a.Sg;c[21]=a.Kd;c[22]=a.me;c[23]=a.ai;c[24]=a.bi;b[6]=c}b[7]=a.ji}return b}Qi.prototype.dh=function(a){if(null!=a&&a!=this.Yh){var b=a&255,c=Y[b];c||b&1&&(c=Y[1]);var b=a&65280,d=Y[b];d||b&256&&(d=Y[256]);this.cf||(this.cf=[null,Ui,null,Vi]);this.cf[0]=c;this.cf[2]=d;this.Yh=a}};var Ri=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=U.prototype;
k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;bb(b,this,Xi);db(b,this,Yi);"ega"==this.Da&&(bb(b,this,Zi),db(b,this,$i));(this.Ma=C(a,"Keyboard"))&&this.Ra&&this.Ma.zb("input",this.ol?"textarea":"canvas","kbd",this.ol||this.Ra);this.hg=9;(this.ja=C(a,"ChipSet"))&&this.jl&&(this.hg=jh(this.jl,this.hg));this.Ma&&this.Nl&&aj(this)};
k.zb=function(a,b,c,d){var e=this;switch(c){case "lockPointer":return this.ra[c]=d,this.Ra&&this.Ra.Pe?d.onclick=function(){e.Pe(!0)}:d.parentNode.removeChild(d),!0;case "refresh":return this.ra[c]=d,d.onclick=function(){ib(e,!0)},!0}return!1};k.We=function(){this.Ra&&this.Ra.focus()};k.Pe=function(a){if(this.Ra)if(a){if(this.Ra.Pe)return this.Ra.Pe(),this.Dd.Mf(!0),!0}else if(this.Ra.pl)return this.Ra.pl(),this.Dd.Mf(!1),!0;return!1};
k.Mf=function(a){this.Dd&&(this.Dd.Mf(a),this.Ma&&(this.Ma.Ij=a))};function aj(a){var b=a.Ra;b&&!a.Ih&&(b.addEventListener("touchstart",function(b){bj(a,b)},!1),b.addEventListener("touchmove",function(b){bj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ih=!0)}
function bj(a,b){a.Kh&&b.preventDefault();var c=0,d=0,e=a.Ra;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.cd/a.Ra.offsetWidth*(b.targetTouches[0].pageX-c)/(a.cd/3)|0;d=a.zd/a.Ra.offsetHeight*(b.targetTouches[0].pageY-d)/(a.zd/3)|0;1!=d?d?Ci(a.Ma,40,!0):Ci(a.Ma,38,!0):1!=c&&(c?Ci(a.Ma,39,!0):Ci(a.Ma,37,!0))}k.Qb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Pb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ja&&(b=Bh(this.ja));var c=!1;if(this.Da)switch(this.Da){case "ega":var c=!0,d=Ji[this.hg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Hd!==b&&(this.Hd=b,a=!0);this.Ca=null;this.Ec=this.wh=new Qi(this,1);this.Vb=this.qg=new Qi(this,3);c?(this.ma=new Qi(this,5,null,this.Fc),cj(this)):this.ma=new Qi;dj(this);this.Gd=null;this.Tc=3==b?Hi:3;this.be=this.wc=-1;this.ae=0;ej(this,this.Tc);if(this.Ca.Qa&&a){a=this.Ca.Qa+this.xh;for(b=this.Ca.Qa;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Hd?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),$a(this.qa,b,c|d<<8);ib(this,!0)}};function cj(a){a.ma.Jg&1?(a.Ec=a.wh,a.Vb=a.ma):(a.Ec=a.ma,a.Vb=a.qg)}k.save=function(){var a=new G(this);a.set(0,Wi(this.wh));a.set(1,Wi(this.qg));a.set(2,[this.Hd,this.Tc,this.Gd]);a.set(3,Wi(this.ma));return a.data()};
k.restore=function(a){var b=a[2];this.Hd=b[0];this.Tc=b[1];this.Gd=b[2];this.Ca=null;this.Ec=this.wh=new Qi(this,1,a[0]);this.Vb=this.qg=new Qi(this,3,a[1]);this.ma=new Qi(this,5,a[3],this.Fc);this.ma.Ic&&cj(this);dj(this);if(!fj(this))return!1;gj(this);return!0};
k.bn=function(a,b,c){if(c)this.ya("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){s("Empty font ROM image: "+a);return}if(1==d.length){s(d[0]);return}if(8192==d.length)vi(this,d,[0,6144]);else{this.ya("Unrecognized font data length ("+d.length+")");return}}catch(e){this.ya("Font ROM data error: "+e.message);return}this.Na()}};
function hj(a,b){if(1==b)return a.Xc[0]=W[0],a.Xc[1]=W[7],a.Xc;if(2==b){var c=a.Ca.lf;if(a.Ca===a.ma){var d=a.ma.Qd[0],c=d&7;d&16&&(c|=8);18!=a.ma.Qd[1]&&(c|=32)}a.Xc[0]=W[c&15];c=c&32?Ni:Mi;for(d=0;d<c.length;d++)a.Xc[d+1]=W[c[d]];return a.Xc}if(a.Vb===a.qg)return W;c=null!=a.ma.Qd[15]?a.ma.Qd:Oi;for(d=0;d<a.Xc.length;d++){var e=c[d]||0;a.Xc[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.Xc}function vi(a,b,c,d){a.eg=b;a.mh=c;a.fe=d}
function dj(a){var b=!1;if(window&&a.eg){var c=a.fe?0:2048,d=a.fe?a.fe:9;ij(a,1,a.mh[0],c,d,14,a.eg,Ki,Li)&&(b=!0);c=hj(a);d=a.fe?a.fe:8;ij(a,3,a.mh[1],0,d,8,a.eg,c)&&(b=!0);a.fe&&ij(a,5,a.mh[0],0,a.fe,14,a.eg,c)&&(b=!0)}return b}function ij(a,b,c,d,e,f,h,g,m){var n=!1;jj(a,b,c,d,e,f,h,g,m)&&(n=!0);a.Il&&jj(a,b<<1,c,d,e,f,h,g,m)&&(n=!0);return n}
function jj(a,b,c,d,e,f,h,g,m){var n=!1,q=b&1?0:1,w=a.qd[b];w||(w={dc:e<<q,ec:f<<q,ye:Array(g.length),qj:g.slice(),$e:m,kh:Array(g.length)});for(m=0;m<g.length;m++){var t=g[m],B=w.ye[m]?w.qj[m]:[];if(t[0]!==B[0]||t[1]!==B[1]||t[2]!==B[2]){var n=w,B=m,H=q,P=c,K=d,Q=e,ua=f,Ua=h,Pb=[0,0,0,0],zc=window.document.createElement("canvas");zc.width=n.dc<<4;zc.height=n.ec<<4;for(var Zh=zc.getContext("2d"),va=void 0,xb=void 0,Va=void 0,Ac=8>ua||!K?ua:8,qd=Zh.createImageData(n.dc,n.ec),va=0;256>va;va++){for(Va=
0;Va<ua;Va++)for(var kk=n.$e&&B&1&&Va>=ua-2,lk=Ua[Va<Ac?P+va*Ac+Va:K+va*Ac+Va-Ac],rd=0;rd<=H;rd++)for(xb=0;xb<Q;xb++){var $h=xb<<H,ai=(Va<<H)+rd,bi=kk||lk&128>>(8<=xb&&176<=va&&223>=va?7:xb)?t:Pb;kj(qd,$h,ai,bi);H&&kj(qd,$h+1,ai,bi)}Zh.putImageData(qd,(va&15)*n.dc,(va>>4)*n.ec)}n.ye[B]="#"+p(t[0],2)+p(t[1],2)+p(t[2],2);n.qj[B]=t;n.kh[B]=zc;n=!0}}a.qd[b]=w;return n}function lj(a){0<a.ae||0<=a.wc?0>a.be&&(a.be=0):a.be=-1}
function gj(a){if(a.Hb){for(var b=10;15>=b;b++)if(null==a.Ca.ac[b])return;var c=a.Ca.ac[10],b=c&31,d=a.Ca.ac[11]&31,e=a.Ca.ac[9]&31,f=!1;a.Ca===a.ma&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)mj(a);else{c=a.Ca.ac[15]+((a.Ca.ac[14]&63)<<8);a.wc!=c&&(mj(a),a.wc=c);d=d-b+1;if(a.rl!=b||a.Cj!=d)a.rl=b,a.Cj=d;a.yd=e+1;lj(a)}}}
function mj(a){if(0<=a.wc){if(void 0!==a.Ub){var b=a.Ub[a.wc];if(b&131072){var b=b&-131073,c=a.wc%a.ub,d=Math.floor(a.wc/a.ub);a.Hb&&a.qd[a.Hb]&&(a.Fe&&nj(a,c,d,b,a.Fe),nj(a,c,d,b));a.Ub[a.wc]=b}}a.wc=-1}}
function oj(a){var b;a=a.Ca;var c=a.ze[5];if(null!=c){b=2;var d=512,e=a.ze[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Sc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.se=function(a){var b=this.Ca;null!=a&&b&&a!=b.Yh&&(b.dh(a),this.qa.dh(b.Qa,b.Ab,b.cf))};
function fj(a,b){var c,d=a.Gd,e=a.Ca;if(e)if(1==e.Fg)d=Hi;else if(5==e.Fg){var d=null,f=e.Fc>>2,h=32768<f?32768:f,g=e.ze[6];if(null!=g){switch(g&12){case 0:e.Qa=655360;e.Ab=f;d=255;break;case 4:e.Qa=655360;e.Ab=f;d=3==a.Hd?15:16;break;case 8:e.Qa=720896;e.Ab=h;d=Hi;break;case 12:e.Qa=753664,e.Ab=h,d=3==a.Hd?2:3}c=e.dg[1]&8;f=e.ac[6]|(e.ac[7]&1)<<8;255!=d&&(g&1?753664==e.Qa?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=oj(a)}}else e.nc&8&&(e.nc&2?(d=e.nc&16?6:5,e.nc&4||(d-=1)):(d=e.nc&1?3:1,e.nc&4&&(d-=
1)));else a.Gd=null,null==d&&(d=a.Tc);if(!ej(a,d,b))return!1;a.se(c);return!0}
function ej(a,b,c){if(null!=b&&(b!=a.Gd||c)){a.xl=0;a.Gd=b;b=a.Ca||(b==Hi?a.Ec:a.Vb);if(b!=a.Ca||b.Qa!=a.Qa||b.Ab!=a.Ab){mj(a);if(a.Qa){if(!Wa(a.qa,a.Qa,a.Ab))return!1;a.Ca&&(a.Ca.Ic=!1)}a.Ca=b;b.Ic=!0;a.Qa=b.Qa;a.Ab=b.Ab;if(!Sa(a.qa,b.Qa,b.Ab,!1,b===a.ma?b:null))return!1}a.Hb=0;a.ub=a.Pg;a.gc=a.fi;a.$h=V[Hi][2];b=0;var d=V[a.Gd];d&&(a.ub=d[0],a.gc=d[1],a.$h=d[2],b=d[3]||0,a.Hb=d[4],4==a.Hd&&a.Ca===a.ma&&3==a.Hb&&(7==a.ma.ac[9]?a.gc=43:a.Hb=5));a.Wj=a.ub*a.gc;a.Mg=a.Wj/a.$h;a.xh=(a.Mg<<1)+b;a.Aj=
b?a.xh+b>>1:0;13<=a.Gd&&(a.Mg<<=1);a.qd.length&&(a.dd=Math.floor(a.cd/a.ub),a.ed=Math.floor(a.zd/a.gc),a.Hb?(b=a.qd[a.Hb],d=a.qd[a.Hb<<1],a.Ll&&80==a.ub?d&&a.dd>=3*d.dc>>2&&(a.Hb<<=1,b=d):(d&&a.dd>=d.dc&&(a.Hb<<=1,b=d),b&&(a.dd=b.dc,a.ed=b.ec)),a.of=a.pf=0,b&&(a.of=a.ub*b.dc,a.pf=a.gc*b.ec)):(a.dd=a.ed=1,a.of=a.ub,a.pf=a.gc),a.Gg=a.Gc.createImageData(a.of,a.pf),a.Ee=window.document.createElement("canvas"),a.Ee.width=a.of,a.Ee.height=a.pf,a.Fe=a.Ee.getContext("2d"),a.jj=a.kj=0,a.Ah=a.cd,a.Bh=a.zd,
b=a.cd-a.ub*a.dd,d=a.zd-a.gc*a.ed,0<b&&(a.jj=b>>1,a.Ah-=b),0<d&&(a.kj=d>>1,a.Bh-=d),b||d)&&(a.Gc.fillStyle=a.Ra.style.backgroundColor,a.Gc.fillRect(0,0,a.cd,a.zd));!1!==c?ib(a,!0):pj(a,!0)}return!0}function kj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function pj(a,b){var c;if(b){if(c=a.Mg,void 0===a.Ub||a.Ub.length!=c)a.Ub=Array(c)}else{if(void 0===a.Ub)return;c=a.Ub.length}for(var d=0;d<c;d++)a.Ub[d]=-1;a.ae=-1}
function nj(a,b,c,d,e){var f=d&255,h=d>>8;d=h&15;var g=a.qd[a.Hb];g.$e&&(d=g.$e[d]);var m=h>>4&15;g.$e&&(m=g.$e[m]);e?(b*=g.dc,c*=g.ec,e.fillStyle=g.ye[m],e.fillRect(b,c,g.dc,g.ec)):(b=b*a.dd+a.jj,c=c*a.ed+a.kj,a.Gc.fillStyle=g.ye[m],a.Gc.fillRect(b,c,a.dd,a.ed));h&256&&(m=(f&15)*g.dc,f=(f>>4)*g.ec,e?e.drawImage(g.kh[d],m,f,g.dc,g.ec,b,c,g.dc,g.ec):a.Gc.drawImage(g.kh[d],m,f,g.dc,g.ec,b,c,a.dd,a.ed));h&512&&(f=a.rl,h=a.Cj,e?(a.yd&&a.yd!==g.ec&&(f=Math.floor(f*g.ec/a.yd),h=Math.floor(h*g.ec/a.yd)),
e.fillStyle=g.ye[d],e.fillRect(b,c+f,g.dc,h)):(a.yd&&a.yd!==a.ed&&(f=Math.floor(f*a.ed/a.yd),h=Math.floor(h*a.ed/a.yd)),a.Gc.fillStyle=g.ye[d],a.Gc.fillRect(b,c+f,a.dd,h)))}
function ib(a,b){if(a.na.Gb){var c=!1;a.Ca&&(a.Ca===a.ma?a.ma.je&32&&(c=!0):a.Ca.nc&8&&(c=!0));if(c||b){if(b)pj(a,!0);else if(void 0===a.Ub)return;var d=!1;!(b||++a.xl&15)&&0<=a.be&&(a.be++,d=!0);var e=0,f=a.Wj,c=a.Ca.Qa,h=c+a.Ca.Ab,g=(a.Ca.ac[12]<<8)+a.Ca.ac[13];a.Hb&&(g<<=1);var c=c+g,m=a.xh;c+m>h&&(m=h-c,0>m&&(m=0));h=c+m;if(g=!b){for(var g=a.qa,n=!0,q=c>>g.Ob;0<m&&q<g.Ba.length;)g.Ba[q].bb&&(g.Ba[q].bb=n=!1,g.Ba[q].Hj=!0),m-=g.pc,q++;g=n}if(g){if(!d)return;if(!a.ae){if(0>a.wc)return;e=a.wc;f=
e+1}}if(a.Hb){if(a.qd[a.Hb]){d=0;g=a.ae=0;m=1048575;a.Ca.nc&32&&(g=32768,m&=~g,a.be&2||(m&=-65537));for(c+=e<<1;c<h&&e<f;)n=Ya(a.qa,c),n|=65536,n&g&&(a.ae++,n&=m),e==a.wc&&(n|=a.be&1?131072:0),q=a.Ub[e],q!=n&&(nj(a,e%a.ub,Math.floor(e/a.ub),n,a.Fe),a.Ub[e]=n,d++),c+=2,e++;d&&a.Fe&&a.Gc.drawImage(a.Ee,0,0,a.of,a.pf,a.jj,a.kj,a.Ah,a.Bh);lj(a)}}else if(a.Aj){for(var f=h,w,t,e=c,h=a.ae=0,d=a.$h,g=16==d?65536:196608,m=16==d?1:2,n=hj(a,m),B=q=0,H=a.ub,P=0,K=a.gc,Q=0;e<f;){w=Ya(a.qa,e);t=a.Ub[h];if(t===
w)q+=d;else{a.Ub[h]=w;w=w>>8|(w&255)<<8;t=g;var ua=16;q<H&&(H=q);for(var Ua=0;Ua<d;Ua++){var Pb=(w&(t>>=m))>>(ua-=m);kj(a.Gg,q++,B,n[Pb])}q>P&&(P=q);B<K&&(K=B);B>=Q&&(Q=B+1)}e+=2;h++;if(q>=a.ub){q=0;B+=2;if(B>a.gc)break;B==a.gc&&(B=1,e=c+a.Aj)}}H<a.ub&&(a.Fe.putImageData(a.Gg,0,0,H,K,P-H,Q-K),a.Gc.drawImage(a.Ee,0,0,a.ub,a.gc,0,0,a.cd,a.zd))}else{f=h;e=a.ae=0;h=hj(a);d=a.Ca.Vd;m=g=0;n=a.ub;q=0;B=a.gc;for(H=0;c<f;){P=c++-a.Qa;P=d[P];K=a.Ub[e];if(K===P)g+=8;else{a.Ub[e]=P;g<n&&(n=g);for(K=0;8>K;K++)Q=
P&2155905152,0>Q&&(Q+=4294967296),Q=X[Q]||0,kj(a.Gg,g++,m,h[Q]),P<<=1;g>q&&(q=g);m<B&&(B=m);m>=H&&(H=m+1)}e++;if(g>=a.ub&&(g=0,++m>a.gc))break}n<a.ub&&(a.Fe.putImageData(a.Gg,0,0,n,B,q-n,H-B),a.Gc.drawImage(a.Ee,0,0,a.ub,a.gc,0,0,a.cd,a.zd))}}}}k.ym=function(){return this.Ec.vc};k.Jn=function(a,b){var c=this.Ec;c.Eg=c.vc;c.vc=b&31};k.xm=function(){return qj(this.Ec)};k.In=function(a,b){rj(this,this.Ec,b)};k.zm=function(){return this.Ec.nc};k.Kn=function(a,b){this.Ec.nc=b;fj(this,!1)};
k.Am=function(){return sj(this,this.Ec)};k.bl=function(a,b){this.ma.Ph=this.ma.Ph&-4|b&3};k.Tj=function(){var a=this.ma.Ad?this.ma.Qd[this.ma.je&31]:this.ma.je;this.ma.Ad=!this.ma.Ad;return a};k.al=function(a,b){var c=this.ma.je&32;if(this.ma.Ad){var d=this.ma.je&31;if(16<=d||!c)this.ma.Qd[d]=b;this.ma.Ad=!1}else this.ma.je=b,this.ma.Ad=!0,b&32&&!c&&dj(this)&&ib(this,!0)};k.Km=function(){var a=3-((this.ma.Jg&12)>>2),a=this.ma.gj&-17|(this.hg&1<<a)<<4-a;return this.ma.gj=a};
k.Mn=function(a,b){this.ma.Jg=b;cj(this)};k.Jm=function(){return this.ma.Oe};k.Tn=function(a,b){this.ma.Oe=b};k.Im=function(){return this.ma.dg[this.ma.Oe]};k.Sn=function(a,b){this.ma.dg[this.ma.Oe]=b;2==this.ma.Oe&&(this.ma.$a=Pi[b&15])};k.qm=function(){return this.ma.Sh};k.Dn=function(a,b){this.ma.Sh=b};k.rm=function(){return this.ma.Th};k.En=function(a,b){this.ma.Th=b};k.pm=function(){return this.ma.Ne};k.Cn=function(a,b){this.ma.Ne=b};k.om=function(){return this.ma.ze[this.ma.Ne]};
k.Bn=function(a,b){this.ma.ze[this.ma.Ne]=b;switch(this.ma.Ne){case 0:this.ma.Sg=Pi[b&15];this.ma.me=this.ma.Sg&~this.ma.Kd;break;case 1:this.ma.Kd=~Pi[b&15];this.ma.me=this.ma.Sg&~this.ma.Kd;break;case 2:this.ma.ai=Pi[b&15]&2155905152;break;case 3:case 5:this.se(oj(this));break;case 4:this.ma.Ti=(b&3)<<3;break;case 6:fj(this,!1);break;case 7:this.ma.bi=Pi[b&15^15]&2155905152;break;case 8:this.ma.eb=b|b<<8|b<<16|b<<24}};k.gm=function(){return this.Vb.vc};
k.un=function(a,b){var c=this.Vb;c.Eg=c.vc;c.vc=b&31};k.fm=function(){return qj(this.Vb)};k.tn=function(a,b){rj(this,this.Vb,b)};k.hm=function(){return this.Vb.nc};k.vn=function(a,b){this.Vb.nc=b;fj(this,!1)};k.em=function(){return this.Vb.lf};k.sn=function(a,b){this.Vb.lf!==b&&(this.Vb.lf=b,pj(this,!1))};k.im=function(){return sj(this,this.Vb)};function qj(a){var b;a.vc<a.Zh&&(b=a.ac[a.vc]);return b}function rj(a,b,c){b.vc<b.Zh&&(b.ac[b.vc]=c,9==b.vc&&8!=b.Eg&&fj(a,!0),gj(a))}
function sj(a,b){var c=0,d=rb(a.la),e=d-b.ji;0>e&&(e=0);e%b.ci>b.Xm&&(c|=1);e%=b.Zj;e>b.Zm&&(c|=8);b.ji=d-e;b===a.ma?(c|=b.Wf&48^48,b.Ad=!1):c=(b.Wf^=9)|240;return b.Wf=c}
var Xi={948:U.prototype.ym,949:U.prototype.xm,952:U.prototype.zm,954:U.prototype.Am,980:U.prototype.gm,981:U.prototype.fm,984:U.prototype.hm,985:U.prototype.em,986:U.prototype.im},Yi={948:U.prototype.Jn,949:U.prototype.In,952:U.prototype.Kn,980:U.prototype.un,981:U.prototype.tn,984:U.prototype.vn,985:U.prototype.sn},Zi={960:U.prototype.Tj,961:U.prototype.Tj,962:U.prototype.Km,964:U.prototype.Jm,965:U.prototype.Im,970:U.prototype.rm,972:U.prototype.qm,974:U.prototype.pm,975:U.prototype.om},$i={954:U.prototype.bl,
960:U.prototype.al,961:U.prototype.al,962:U.prototype.Mn,964:U.prototype.Tn,965:U.prototype.Sn,970:U.prototype.En,972:U.prototype.Dn,974:U.prototype.Cn,975:U.prototype.Bn,986:U.prototype.bl};
k.save=function(){var a=new G(this);a.set(0,[this.Mb,this.Qd,this.Mc,this.we]);for(var b=[],c=0;c<this.Xa;c++){for(var d=this.Xa[c],e=d,f=[],h=0;h<e.tb.length;h++){var g=e.tb[h];f[h]=[g.kd,g.dg,g.Qb,g.Sa,g.Ua,g.mode,g.mg,g.ho,g.io]}b[c]=[d.wd,d.sh,d.wj,d.wb,f]}a.set(1,[b]);b=[];for(c=0;c<this.ub.length;c++)d=this.ub[c],b[c]=[d.Af,d.Cc,d.md,d.ad,d.Fb,d.Fc,d.Yd,d.gf];a.set(2,[b]);b=[];for(c=0;c<this.Nb.length;c++)d=this.Nb[c],b[c]=[d.Qb,d.mc,d.Ua,d.ge,d.yj,d.mode,d.Pf,d.zd,d.fe,d.Qc,d.qf,d.Je,d.Nd];
a.set(3,[this.vh,b]);a.set(4,[this.lg,this.kc,this.th,this.hf,this.kg]);this.Da>=nh&&(a.set(5,[this.lb,this.$c,this.Nc,this.fg,this.Xd,this.rh]),a.set(6,[this.ig,this.Ob,this.Fe,this.oa,this.tf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Mb=b[0];this.Qd=b[1];this.Mc=b[2];this.we=b[3];b=a[1];for(c=0;c<this.pg;c++)xh(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.qg;c++)yh(this,c,0===c?32:160,b[0][c]);b=a[3];this.vh=b[0];for(c=0;c<this.Nb.length;c++)zh(this,c,b[1][c]);b=a[4];this.lg=b[0];this.kc=b[1];this.th=b[2];this.hf=b[3];this.kg=b[4];if(b=a[5])this.lb=b[0],this.$c=b[1],this.Nc=b[2],this.fg=b[3],this.Xd=b[4],this.rh=b[5];if(b=a[6])this.ig=b[0],this.Ob=b[1],this.Fe=b[2],this.oa=b[3],
this.tf=b[4],Ch(this);return!0};var Fh=[0,null,null,0,Array(4)];function xh(a,b,c){var d=a.Xa[b];d||(d={tb:Array(4)});c=c&&5==c.length?c:Fh;d.wd=c[0];d.sh=c[1];d.wj=c[2];d.wb=c[3];d.Xm=b<<2;for(var e=0;e<d.tb.length;e++)Gh(d,e,c[4][e]);a.Xa[b]=d}var Hh=[!0,[0,0],[0,0],[0,0],[0,0]];
function Gh(a,b,c){var d=a.tb[b];d||(d={dg:[0,0],Qb:[0,0],Sa:[0,0],Ua:[0,0]});c=c&&8==c.length?c:Hh;d.kd=c[0];d.dg[0]=c[1][0];d.dg[1]=c[1][1];d.Qb[0]=c[2][0];d.Qb[1]=c[2][1];d.Sa[0]=c[3][0];d.Sa[1]=c[3][1];d.Ua[0]=c[4][0];d.Ua[1]=c[4][1];d.mode=c[5];d.mg=c[6];d.ea=a;d.Rj=b;Ih(d,c[8],c[9]);a.tb[b]=d}function Ih(a,b,c,d){"string"==typeof b&&(b=Ha(b));b&&(a.tg=null,a.ho=b.id,a.io=c,a.sg=b,a.Sh=b[c],a.Ug=d)}var Jh=[0,Array(4)];
function yh(a,b,c,d){var e=a.ub[b];e||(e={Cc:[null,null,null,null]});d=d&&8==d.length?d:Jh;e.port=c;e.Dp=b<<3;e.Af=d[0];e.Cc[0]=d[1][0];e.Cc[1]=d[1][1];e.Cc[2]=d[1][2];e.Cc[3]=d[1][3];e.md=d[2];e.ad=d[3];e.Fb=d[4];e.Fc=d[5];e.Yd=d[6];e.gf=d[7];a.ub[b]=e}var Kh=[[0,0],[0,0],[0,0],[0,0]];
function zh(a,b,c){var d=a.Nb[b];d||(d={Qb:[0,0],mc:[0,0],Ua:[0,0],ge:[0,0]});c=c&&13==c.length?c:Kh;d.Qb[0]=c[0][0];d.Qb[1]=c[0][1];d.mc[0]=c[1][0];d.mc[1]=c[1][1];d.Ua[0]=c[2][0];d.Ua[1]=c[2][1];d.ge[0]=c[3][0];d.ge[1]=c[3][1];d.yj=c[4];d.mode=c[5];d.Pf=c[6];d.zd=c[7];d.fe=c[8];d.Qc=c[9];d.qf=c[10];d.Je=c[11];d.Nd=c[12];a.Nb[b]=d}function Ah(a,b){return((((b?a.Mb:a.Mc)&12)>>2)+1)*a.Sm+32*((b?a.Qd:a.we)&15)}function Lh(a,b){var c=b?a.Mb:a.Mc;return a.Da!=ih||c&mh.jh?((c&mh.Ze)>>mh.$e)+1:0}
function Dh(a,b){if(b<Lh(a)){if(!a.rd)return 1;if(b<a.rd.length)switch(a.rd[b]){case 160:case 180:case 320:case 360:return 1;case 720:return 3;case 1200:return 2;case 1440:return 4}}return 0}function Bh(a,b){return((b?a.Mb:a.Mc)&lh.Ze)>>lh.$e}
function ph(a,b,c,d,e){for(var f="",h=1;8>=h;h++){var g="pcjs-bitCell";h||(g+=" pcjs-bitCellLeft");f+='<div id="'+(b+"-"+h)+'" class="'+g+'" data-value="0">'+h+"</div>\n"}c.innerHTML=f;b=A(c,"pcjs-bitCell");c=null;for(h=0;h<b.length;h++)null!=e&&null!=e[h]&&(c=e[h]),c&&b[h].setAttribute("title",c),Mh(b[h],d&1<<h?!1:!0),b[h].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");Mh(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Mb=
a.Mb&~e|(c?0:e);break;case "sw2":a.Qd=a.Qd&~e|(c?0:e)}wh(a)}}(a,b[h])}function Mh(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function wh(a){var b=a.qa.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(Ah(a,!0)+"Kb");d+=", "+c[Bh(a,!0)]+" Monitor";d+=", "+Lh(a,!0)+" Floppy Drives";if(null!=a.Mc&&a.Mc!=a.Mb||null!=a.we&&a.we!=a.Qd)d+=" (Reset required)";b.innerHTML=d}}
function Nh(a,b,c){a=a.Xa[b];var d=a.tb[c],e=d.Sa[a.wb];a.wb^=1;b||0!=c||a.wb||(d.Sa[0]++,255<d.Sa[0]&&(d.Sa[0]=0,d.Sa[1]++,255<d.Sa[1]&&(d.Sa[1]=0)));return e}function Oh(a,b,c,d){a=a.Xa[b];c=a.tb[c];c.Sa[a.wb]=c.dg[a.wb]=d;a.wb^=1}function Ph(a,b,c){a=a.Xa[b];var d=a.tb[c],e=d.Ua[a.wb];a.wb^=1;b||0!=c||a.wb||(d.Ua[0]--,0>d.Ua[0]&&(d.Ua[0]=255,d.Ua[1]--,0>d.Ua[1]&&(d.Ua[1]=255)));return e}function Qh(a,b,c,d){a=a.Xa[b];c=a.tb[c];c.Ua[a.wb]=c.Qb[a.wb]=d;a.wb^=1}
function Rh(a,b){var c=a.Xa[b],d=c.wd|1;c.wd&=-16;return d}function Sh(a,b,c){a=a.Xa[b];b=c&3;a.wd=a.wd&~(16<<b)|(c&4)<<b+2;a.wj=c}function Th(a,b,c){b=a.Xa[b];var d=c&3,e=b.tb[d];e.kd=!!(c&4);e.kd||Uh(a,b.Xm+d)}function Vh(a,b){for(var c=a.Xa[b],d=0;d<c.tb.length;d++)Gh(c,d)}function Wh(a,b,c){return a.Xa[b].tb[c].mg}function Xh(a,b,c,d){a.Xa[b].tb[c].mg=d}function Yh(a,b,c,d,e){Ih(a.Xa[b>>2].tb[b&3],c,d,e)}
function Uh(a,b,c){b=a.Xa[b>>2].tb[b&3];b.sg&&b.Sh&&b.Ug?(c&&(b.tg=c),b.kd||Vc(a,b,!0)):c&&c(!0)}function Vc(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.rl=b.mode&12,b.Oj=b.Pc=!1);for(var d=!1;0<=b.count&&(c=b.mg<<16|b.Sa[1]<<8|b.Sa[0],4==b.rl?(d=!0,function(c){b.Sh.call(b.sg,b.Ug,-1,function(f,h){0>f&&(b.Oj||(b.Oj=!0),f=255);b.kd||Za(a.ra,c,f);(d=h)&&setTimeout(function(){Zh(b)||Vc(a,b)},0)})}(c)):8==b.rl?(c=Xa(a.ra,c),0>b.Sh.call(b.sg,b.Ug,c)&&(b.Pc=!0)):b.Pc=!0),!d&&!Zh(b););}
function Zh(a){if(!a.Pc&&0<=--a.count&&(a.mode&32?(a.Sa[0]--,0>a.Sa[0]&&(a.Sa[0]=255,a.Sa[1]--,0>a.Sa[1]&&(a.Sa[1]=255))):(a.Sa[0]++,255<a.Sa[0]&&(a.Sa[0]=0,a.Sa[1]++,255<a.Sa[1]&&(a.Sa[1]=0))),!a.kd))return!1;var b=a.ea;b.wd=b.wd&~(16<<a.Rj)|1<<a.Rj;a.mode&16||(a.kd=!0,a.sg=a.Ug=null);a.tg&&(a.tg(!a.Pc),a.tg=null);return!0}function $h(a,b){var c=0,d=a.ub[b];if(null!=d.gf)switch(d.gf&3){case 2:c=d.Fb;break;case 3:c=d.Fc}return c}
function ai(a,b,c){var d=a.ub[b];if(c&16)d.md=0,d.Cc[d.md++]=c,d.ad=0,d.Yd=7,d.Fb=d.Fc=0,d.gf=10;else if(c&8)d.gf=c;else{var e=c&224;if(e&32){var f=0;if(96==(e&96))f=1<<(c&7);else for(c=d.Yd+1;;){c&=7;e=1<<c;if(d.Fc&e){f=e;break}if(c++==d.Yd)break}d.Fc&f&&(d.Fc&=~f,bi(a,b))}else 192==e&&(d.Yd=c&7)}}function gi(a,b,c){var d=a.ub[b];d.md<d.Cc.length?(d.Cc[d.md++]=c,2==d.md&&d.Cc[0]&2&&d.md++,3!=d.md||d.Cc[0]&1||d.md++):(d.ad=c,d=a.ka,d.Z|=4,bi(a,b,b||253!=c?0:6))}
function bi(a,b,c){b=a.ub[b];var d=((b.Fc|b.ad)^255)&b.Fb;a=a.ka;a.ja&&(a.gb=d?a.gb|1:a.gb&-2);d&&c&&(b.Af=c)}function hi(a,b,c){var d=b>>3,e=a.ub[d];e.Fb|=1<<(b&7);e.Af=c||0;1==d&&(a.ub[0].Fb|=4);bi(a,d)}function ii(a,b){var c=b>>3,d=a.ub[c],e=1<<(b&7);d.Fb&e&&(d.Fb&=~e,1!=c||d.Fb||(a.ub[0].Fb&=-5),bi(a,c))}
function Tc(a,b){void 0===b&&(b=0);var c=-1,d=a.ub[b];if(d.Af)c=-2,d.Af--;else for(var e=d.Fb&((d.Fc|d.ad)^255),f=d.Yd+1;;){var f=f&7,h=1<<f;if(e&h){c=b||2!=f?d.Cc[1]+f:Tc(a,1);0<=c&&(d.Fc|=h,d.Fb&=~h);break}if(f++==d.Yd)break}return c}function ji(a,b){var c=a.Nb[b];c.zd==c.fe&&ki(a,b);if(c.qf)return c.ge[c.zd++];li(a,b);return c.Ua[c.zd++]}
function mi(a,b,c){var d=a.Nb[b];d.zd==d.fe&&ki(a,b);d.Qb[d.zd++]=c;if(d.zd==d.fe){d.Je&&0!=d.mode&&8!=d.mode||(d.qf=!1,d.Ua[0]=d.mc[0]=d.Qb[0],d.Ua[1]=d.mc[1]=d.Qb[1],d.Nd=rb(a.ka,a.Dg),d.Je=!0,d.Qc=0!=d.mode,0==b&&ii(a,0));2==b&&sb(a);if(0==b){var e=ni(a,0);2048<=e&&(a.ka.Mg=Math.round(65536/e))}0==b&&0==d.mode&&16==d.Pf&&(b=a.ka,b.na.vc&&(a=b.A-c*a.al,b.A-=a,b.Sc-=a))}}k=R.prototype;k.Mm=function(){return null};
k.Wn=function(a,b){this.vh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var h=this.Nb[c];h.Pf=f;h.mode=e;h.yj=d;h.Qb=[0,0];h.Ua=[0,0];h.ge=[0,0];h.Qc=!1;h.qf=!1;h.Je=!1;ki(this,c);0==c&&ii(this,0);2==c&&255==this.ub[0].ad&&77==this.kc&&(c=this.Nb[0],c.mc[0]=c.Qb[0],c.mc[1]=c.Qb[1],c.Nd=rb(this.ka,this.Dg))}else li(this,c),d=this.Nb[c],d.ge[0]=d.Ua[0],d.ge[1]=d.Ua[1],d.qf=!0,ki(this,c)}};function ni(a,b){var c=a.Nb[b],d=c.Qb[1]<<8|c.Qb[0];d||(d=1==c.fe?256:65536);return d}
function ki(a,b){var c=a.Nb[b];c.zd=32==c.Pf?1:0;c.fe=48==c.Pf?2:1}
function li(a,b,c){var d=a.Nb[b];if(d.Je&&(2!=b||a.kc&1)){var e=rb(a.ka,a.Dg),f=(e-d.Nd)/a.al|0;0>f&&(d.Nd=e,f=0);var h=ni(a,b),g=a.Nb[b],m=g.mc[1]<<8|g.mc[0];m||(m=1==g.fe?256:65536);g=m-f;0==d.mode?(0>=g&&(g=0),g||(d.Qc=!0,d.Je=!1,b||hi(a,0))):4==d.mode?(d.Qc=1!=g,0>=g&&(g=h+g,0>=g&&(g=h),d.mc[0]=g&255,d.mc[1]=g>>8,d.Nd=e,!b&&d.Qc&&hi(a,0))):6==d.mode&&(g-=f,0>=g&&(d.Qc=!d.Qc,g=h+g,0>=g&&(g=h),d.mc[0]=g&255,d.mc[1]=g>>8,d.Nd=e,!b&&d.Qc&&hi(a,0)));d.Ua[0]=g&255;d.Ua[1]=g>>8;c&&(a.Nd=0)}return d}
function tb(a,b){for(var c=0;c<a.Nb.length;c++)li(a,c,b);if(a.Da>=nh){var c=0,d=a.ka.ba.ld,e=rb(a.ka,a.Dg);if(0<=a.tf&&(c=e-a.tf,Math.floor(c/d)&&60<=++a.oa[0]&&(a.oa[0]=0,60<=++a.oa[2]&&(a.oa[2]=0,24<=++a.oa[4])))){a.oa[4]=0;a.oa[6]=a.oa[6]%7+1;var f=a.oa[9],h=ja[a.oa[8]-1];28==h&&0===f%4&&(f%100||0===f%400)&&h++;++a.oa[7]>h&&(a.oa[7]=1,12<++a.oa[8]&&(a.oa[8]=1,a.oa[9]=(a.oa[9]+1)%100))}a.tf=e-c%d}}k.Em=function(){var a=this.lg;this.hf&16&&(this.kc&128?a=this.Mc:this.Ka&&(a=oi(this.Ka)));return a};
k.Pn=function(a,b){this.lg=b};k.Fm=function(){return this.kc};k.Qn=function(a,b){pi(this,b);this.Ka&&qi(this.Ka,b&128?!1:!0,b&64?!0:!1)};function pi(a,b){var c=!!(b&2),d=!!(a.kc&2);a.kc=b;c!=d&&sb(a,c)}k.Gm=function(){var a=0,a=this.Da==ih?this.kc&4?a|this.we&15:a|this.we>>4&1:this.kc&8?a|this.Mc>>4:a|this.Mc&15;this.kc&1&&li(this,2).Qc&&(a=this.kc&2?a|32:a|16);return a};k.Rn=function(a,b){this.th=b};k.Hm=function(){return this.hf};k.Sn=function(a,b){this.hf=b};
k.Vl=function(){var a=this.fg;this.lb&=-258;var b=this.Ka&&oi(this.Ka,!0);b&&ri(this,b);return a};k.hn=function(a,b){if(this.lb&8)switch(this.$c){case 96:si(this,b);break;case 209:ti(this,b);break;default:if(si(this,this.Nc&-17),this.Ka){var c=-1;switch(b){case 255:var c=250,d=this.Ka;d.cc=[170];d.ja&&ui(d.ja)}ri(this,c)}}this.$c=b;this.lb&=-9};k.Wl=function(){return this.kc&-209|(rb(this.ka)&64?16:0)};k.jn=function(a,b){pi(this,b)};
k.Xl=function(){var a=this.lb&255;this.lb&256&&(this.lb|=1,this.lb&=-257);return a};k.gn=function(a,b){this.$c=b;this.lb|=8;var c=0;240<=this.$c&&(c=this.$c^15,this.$c=240);switch(this.$c){case 192:ri(this,this.Xd);break;case 173:si(this,this.Nc|16);break;case 174:si(this,this.Nc&-17);break;case 170:this.Ka&&vi(this.Ka,!0);si(this,this.Nc|16);ri(this,85);ti(this,3);break;case 224:ri(this,this.Nc&16?0:1);break;case 240:c&1&&ic(this.ka)}};
function si(a,b){var c=!(a.Nc&16);a.Nc=b;a.lb=a.lb&-5|b&4;if(a.Ka){var d=!(b&16);qi(a.Ka,!!(b&8),d)&&ri(a,oi(a.Ka,!0));!c&&d&&oi(a.Ka)&&ui(a)}}function ri(a,b){0<=b&&(a.fg=b,a.lb&=-2,a.lb|=256)}function ti(a,b){a.rh=b;Ra(a.ra,!!(b&2));b&1||ic(a.ka)}function ui(a){a.Da<nh?hi(a,1,4):a.Nc&16||hi(a,1,120)}k.km=function(){return this.Fe};k.xn=function(a,b){this.Fe=b;this.kg=b&128?0:128};
k.lm=function(){var a=this.Fe&63;if(13>=a){var b=this.oa[a];if(10>a){var c=!1;4!=a&&5!=a||this.oa[11]&2||(b=12>b?b?b:12:(b-=12)?b+128:140,c=!0);this.oa[11]&4||(c&&128<b&&(b-=48),b=b%10|b/10<<4)}else 10==a&&(this.oa[a]^=128);a=b}else a=this.oa[a];return a};k.yn=function(a,b){var c=this.Fe&63,d=this.oa,e;if(13>=c){if(e=b,10>c){var f=!1;this.oa[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&12<e&&(e+=48),this.oa[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;d[c]=e};k.Cm=function(){return this.ig};
k.Mn=function(a,b){this.ig=b};k.On=function(a,b){this.kg=b};function jh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e)&&(c|=d),d<<=1;return c}function sb(a,b){if(a.zh){void 0!==b?a.Nj=b:b=a.Nj&&a.ka&&a.ka.na.vc;var c=Math.round(1193181/ni(a,2));if(20>c||2E4<c)b=!1;b?a.Wc?a.Wc.frequency.value=c:(a.Wc=a.zh.createOscillator(),a.Wc.type=1,a.Wc.connect(a.zh.destination),a.Wc.frequency.value=c,a.Wc.noteOn(0)):a.Wc&&(a.Wc.noteOff(0),a.Wc.disconnect(),delete a.Wc)}}
var qh={0:function(){return Nh(this,0,0)},1:function(){return Ph(this,0,0)},2:function(){return Nh(this,0,1)},3:function(){return Ph(this,0,1)},4:function(){return Nh(this,0,2)},5:function(){return Ph(this,0,2)},6:function(){return Nh(this,0,3)},7:function(){return Ph(this,0,3)},8:function(){return Rh(this,0)},32:function(){return $h(this,0)},33:function(){return this.ub[0].ad},64:function(){return ji(this,0)},65:function(){return ji(this,1)},66:function(){return ji(this,2)},67:R.prototype.Mm,129:function(){return Wh(this,
0,2)},130:function(){return Wh(this,0,3)},131:function(){return Wh(this,0,1)},135:function(){return Wh(this,0,0)}},sh={96:R.prototype.Em,97:R.prototype.Fm,98:R.prototype.Gm,99:R.prototype.Hm},uh={96:R.prototype.Vl,97:R.prototype.Wl,100:R.prototype.Xl,112:R.prototype.km,113:R.prototype.lm,128:R.prototype.Cm,132:function(){return this.Ob[0]},133:function(){return this.Ob[1]},134:function(){return this.Ob[2]},136:function(){return this.Ob[3]},137:function(){return Wh(this,1,2)},138:function(){return Wh(this,
1,3)},139:function(){return Wh(this,1,1)},140:function(){return this.Ob[4]},141:function(){return this.Ob[5]},142:function(){return this.Ob[6]},143:function(){return Wh(this,1,0)},160:function(){return $h(this,1)},161:function(){return this.ub[1].ad},192:function(){return Nh(this,1,0)},194:function(){return Ph(this,1,0)},196:function(){return Nh(this,1,1)},198:function(){return Ph(this,1,1)},200:function(){return Nh(this,1,2)},202:function(){return Ph(this,1,2)},204:function(){return Nh(this,1,3)},
206:function(){return Ph(this,1,3)},208:function(){return Rh(this,1)}},rh={0:function(a,b){Oh(this,0,0,b)},1:function(a,b){Qh(this,0,0,b)},2:function(a,b){Oh(this,0,1,b)},3:function(a,b){Qh(this,0,1,b)},4:function(a,b){Oh(this,0,2,b)},5:function(a,b){Qh(this,0,2,b)},6:function(a,b){Oh(this,0,3,b)},7:function(a,b){Qh(this,0,3,b)},8:function(a,b){this.Xa[0].sh=b},9:function(a,b){Sh(this,0,b)},10:function(a,b){Th(this,0,b)},11:function(a,b){this.Xa[0].tb[b&3].mode=b},12:function(){this.Xa[0].wb=0},13:function(){Vh(this,
0)},32:function(a,b){ai(this,0,b)},33:function(a,b){gi(this,0,b)},64:function(a,b){mi(this,0,b)},65:function(a,b){mi(this,1,b)},66:function(a,b){mi(this,2,b)},67:R.prototype.Wn,129:function(a,b){Xh(this,0,2,b)},130:function(a,b){Xh(this,0,3,b)},131:function(a,b){Xh(this,0,1,b)},135:function(a,b){Xh(this,0,0,b)}},th={96:R.prototype.Pn,97:R.prototype.Qn,98:R.prototype.Rn,99:R.prototype.Sn,160:R.prototype.On},vh={96:R.prototype.hn,97:R.prototype.jn,100:R.prototype.gn,112:R.prototype.xn,113:R.prototype.yn,
128:R.prototype.Mn,132:function(a,b){this.Ob[0]=b},133:function(a,b){this.Ob[1]=b},134:function(a,b){this.Ob[2]=b},136:function(a,b){this.Ob[3]=b},137:function(a,b){Xh(this,1,2,b)},138:function(a,b){Xh(this,1,3,b)},139:function(a,b){Xh(this,1,1,b)},140:function(a,b){this.Ob[4]=b},141:function(a,b){this.Ob[5]=b},142:function(a,b){this.Ob[6]=b},143:function(a,b){Xh(this,1,0,b)},160:function(a,b){ai(this,1,b)},161:function(a,b){gi(this,1,b)},192:function(a,b){Oh(this,1,0,b)},194:function(a,b){Qh(this,
1,0,b)},196:function(a,b){Oh(this,1,1,b)},198:function(a,b){Qh(this,1,1,b)},200:function(a,b){Oh(this,1,2,b)},202:function(a,b){Qh(this,1,2,b)},204:function(a,b){Oh(this,1,3,b)},206:function(a,b){Qh(this,1,3,b)},208:function(a,b){this.Xa[1].sh=b},210:function(a,b){Sh(this,1,b)},212:function(a,b){Th(this,1,b)},214:function(a,b){this.Xa[1].tb[b&3].mode=b},216:function(){this.Xa[1].wb=0},218:function(){Vh(this,1)}};
u(function(){for(var a=A(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new R(d);Ja(d,c);wh(d)}});function wi(a){v.call(this,"ROM",a,wi);this.vb=null;this.sj=a.addr;this.fh=a.size;this.xl=a.alias;this.Qf=a.file;this.Tj=a.notify;if(this.Qf){a=this.Qf;var b=ea(this.Qf);"json"!=b&&"hex"!=b&&(a=la()+"/api/v1/dump?file="+this.Qf+"&format=bytes&decimal=true");r(a,!0,null,this,wi.prototype.bn)}}y(v,wi);wi.prototype.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;xi(this)};
wi.prototype.Sb=function(){this.ph&&(this.Va&&this.Va.mp(this.sj,this.fh,this.ph),delete this.ph);return!0};wi.prototype.Rb=function(){return!0};
wi.prototype.bn=function(a,b,c){if(c)this.ya("Unable to load system ROM (error "+c+")");else{if("["==b.charAt(0)||"{"==b.charAt(0))try{var d=eval("("+b+")"),e=d.bytes,f=d.data;if(e)this.vb=e;else if(f)for(this.vb=Array(4*f.length),c=b=0;b<f.length;b++)this.vb[c++]=f[b]&255,this.vb[c++]=f[b]>>8&255,this.vb[c++]=f[b]>>16&255,this.vb[c++]=f[b]>>24&255;else this.vb=d;this.ph=d.symbols;if(!this.vb.length){s("Empty ROM: "+a);return}if(1==this.vb.length){s(this.vb[0]);return}}catch(h){this.ya("ROM data error: "+
h.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.vb=Array(a.length),d=0;d<a.length;d++)this.vb[d]=parseInt(a[d],16);xi(this)}};function xi(a){if(!La(a))if(!a.Qf)a.Na();else if(a.vb&&a.ra){if(a.vb.length!=a.fh)Ma(a,"ROM size (0x"+p(a.vb.length)+") does not match specified size (0x"+p(a.fh)+")");else if(yi(a,a.sj)&&yi(a,a.xl)){if(a.Tj){var b=Ha(a.Tj,a.id);b&&("ega"==b.Da&&zi(b,a.vb,[8752,12640],8),b.Na())}delete a.vb}a.Na()}}
function yi(a,b){if(null==b)return!0;if(Sa(a.ra,b,a.fh,!0)){for(var c=0;c<a.vb.length;c++)Za(a.ra,b+c,a.vb[c]);return!0}return!1}u(function(){for(var a=A(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new wi(d);Ja(d,c)}});function Ai(a){v.call(this,"RAM",a,Ai);this.eg=a.addr;this.pd=a.size;this.Nl=a.test;this.Kl=!!this.pd;this.ug=!1}y(v,Ai);Ai.prototype.oc=function(a,b,c){this.ra=b;this.ka=c;this.ja=B(a,"ChipSet");this.Na()};Ai.prototype.Sb=function(a,b){b||this.reset();return!0};
Ai.prototype.Rb=function(){return!0};Ai.prototype.reset=function(){if(!this.eg&&!this.Kl&&this.ja){var a=1024*Ah(this.ja);this.pd&&a!=this.pd&&(Wa(this.ra,this.eg,this.pd),this.ug=!1);this.pd=a}!this.ug&&this.pd&&Sa(this.ra,this.eg,this.pd)&&(this.ug=!0,this.status(Math.floor(this.pd/1024)+"Kb"));if(this.ug){if(this.Nl||$a(this.ra,1138,4660),this.ja&&(a=this.ja,a.oa)){var b=1048576>this.eg?21:23,c=a.oa[b]|a.oa[b+1]<<8,c=c+(this.pd>>10);a.oa[b]=c&255;a.oa[b+1]=c>>8;Eh(a)}}else s("No RAM allocated")};
u(function(){for(var a=A(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Ai(d);Ja(d,c)}});function Bi(a){v.call(this,"Keyboard",a,Bi);this.Ij=!1;this.oh={};this.Vm=250;this.Wm=100;this.Na()}y(v,Bi);
var S={vo:1,wo: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,so:65,to:66,mj:67,tl:68,E:69,zo:70,Co:71,nj:72,Eo:73,Fo:74,Go:75,Ho:76,Io:77,kh:78,Ko:79,Lo:80,No:81,pj:82,Ro:83,ap:84,ep:85,fp:86,gp:87,ip:88,jp:89,kp:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,lp:97,np:98,pp:99,qp:100,rp:101,sp:102,tp:103,vp:104,wp:105,xp:106,yp:107,zp:108,
Ap:109,Cp:110,Ep:111,Fp:112,Gp:113,Hp:114,Ip:115,Jp:116,Kp:117,Mp:118,Np:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},Ci={16:2,17:8,18:32,20:256,144:512,145:1024},Di={"caps-lock":256,"num-lock":512,"scroll-lock":1024},Ei={tab:1009,esc:1027,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,left:1037,up:1038,right:1039,down:1040,"ctrl-c":4003,"ctrl-break":4063,"ctrl-alt-del":4081},Fi={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,
bs:14,tab:15,q:16,w:17,e:18,r:19,t:20,y:21,u:22,i:23,o:24,p:25,"[":26,"]":27,enter:28,ctrl:29,a:30,s:31,d:32,f:33,g:34,h:35,j:36,k:37,l:38,";":39,quote:40,"`":41,shift:42,"\\":43,z:44,x:45,c:46,v:47,b:48,n:49,m:50,",":51,".":52,"/":53,"right-shift":54,prtsc:55,alt:56,space:57,"caps-lock":58,f1:59,f2:60,f3:61,f4:62,f5:63,f6:64,f7:65,f8:66,f9:67,f10:68,"num-lock":69,"scroll-lock":70,"num-home":71,"num-up":72,"num-pgup":73,"num-sub":74,"num-left":75,"num-center":76,"num-right":77,"num-add":78,"num-end":79,
"num-down":80,"num-pgdn":81,"num-ins":82,"num-del":83,sysreq:84,pause:84,f11:87,f12:88,"num-enter":7392,"right-ctrl":7648,"num-div":13792,"num-mul":14304,"right-alt":14560,home:18400,up:18656,pgup:18912,left:19424,right:19936,end:20448,down:20704,pgdn:20960,ins:21216,del:21472,win:23520,"right-win":23776,menu:24032},T={1027:1};T[S["1"]]=2;T[S["!"]]=10754;T[S["2"]]=3;T[S["@"]]=10755;T[S["3"]]=4;T[S["#"]]=10756;T[S["4"]]=5;T[S.$]=10757;T[S["5"]]=6;T[S["%"]]=10758;T[S["6"]]=7;T[S["^"]]=10759;
T[S["7"]]=8;T[S["&"]]=10760;T[S["8"]]=9;T[S["*"]]=10761;T[S["9"]]=10;T[S["("]]=10762;T[S["0"]]=11;T[S[")"]]=10763;T[S["-"]]=12;T[S._]=10764;T[S["="]]=13;T[S["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16;T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[S["["]]=26;T[S["{"]]=10778;T[S["]"]]=27;T[S["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;
T[65]=10782;T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[S[";"]]=39;T[S[":"]]=10791;T[S["'"]]=40;T[S['"']]=10792;T[S["`"]]=41;T[S["~"]]=10793;T[1016]=42;T[S["\\"]]=43;T[S["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[S[","]]=51;T[S["<"]]=10803;
T[S["."]]=52;T[S[">"]]=10804;T[S["/"]]=53;T[S["?"]]=10805;T[3016]=54;T[1018]=56;T[S[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66;T[1120]=67;T[1121]=68;T[1144]=69;T[1145]=70;T[1036]=71;T[1038]=72;T[1033]=73;T[1037]=75;T[1039]=77;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[4003]=7470;T[4063]=7494;T[4081]=3677523;k=Bi.prototype;
k.Bb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.qa[a])switch(c){case "kbd":return this.qa[a]=d,d.onkeydown=function(a){return Gi(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Qa&64?e.Qa&=-65:e.Qa&40?b=!1:(e.Ij&&a==S["`"]&&(a=27),b=!Hi(e,a));return b},d.onkeyup=function(a){return Gi(e,a,!1)},!0;case "caps-lock":return this.qa[a]=d,d.onclick=function(){e.ka&&e.ka.od();Hi(e,1020,!0)},!0;case "num-lock":return this.qa[a]=d,d.onclick=function(){e.ka&&
e.ka.od();Hi(e,1144,!0)},!0;case "scroll-lock":return this.qa[a]=d,d.onclick=function(){e.ka&&e.ka.od();Hi(e,1145,!0)},!0;default:if(void 0!==Ei[c]&&"button"==b)return this.qa[a]=d,d.onclick=function(a,b,c){return function(){a.ka&&a.ka.od();Ii(a,c);return!Hi(a,c)}}(this,c,Ei[c]),!0;if(void 0!==Fi[c])return this.qa[a]=d,b=function(a,b,c){return function(){Ji(a,c)}}(this,c,Fi[c]),c=function(a,b,c){return function(){Ji(a,c)}}(this,c,Fi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):
(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;this.ja=B(a,"ChipSet")};k.Na=function(){this.Ll=(this.Ul=qa("iOS"))||qa("Android");return v.prototype.Na.call(this)};function qi(a,b,c){var d=!1;a.Kh!==c&&(a.Kh=a.Oh=c);a.zg!==b&&(a.zg=b)&&!a.Oh&&vi(a);a.zg&&a.Oh&&(a.cc=[170],a.ja&&ui(a.ja),a.Oh=!1,d=!0);return d}function oi(a,b){var c=0;a.cc.length&&(c=a.cc[0],b&&vi(a));return c}
function vi(a,b){0<a.cc.length&&(b?a.cc=[]:(a.cc.shift(),0<a.cc.length&&a.ja&&ui(a.ja)))}k.Sb=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.Rb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed();this.Qa=0;this.cc=[];if(this.Xc)for(var a in this.Xc)ca(a)||this.Xc[a]&&clearTimeout(this.Xc[a]);this.Xc=[];this.dl=this.qe=0};k.save=function(){var a=new G(this);a.set(0,this.gj());return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0;void 0===a&&(a=[]);this.Kh=a[b++];this.zg=a[b];return!0};k.gj=function(){var a=0,b=[];b[a++]=this.Kh;b[a]=this.zg;return b};function Ji(a,b){var c=b&127,d=c==b;if(a.cc)if(20>a.cc.length){if(!(!d&&!a.oh[c]||d&&a.oh[c])){a.oh[c]=d;a.cc.push(b);1==a.cc.length&&a.ja&&ui(a.ja);for(var e in Fi)if(Fi[e]==c){(c=a.qa["key-"+e])&&void 0!==d&&(c.style.color=d?"#ffffff":"#000000",c.style.backgroundColor=d?"#000000":"#ffffff");break}}}else 20==a.cc.length&&a.cc.push(255)}
function Ki(a,b){var c=b?a.Wm:a.Vm;a.ka&&a.ka.ba.Rc&&(c/=a.ka.ba.Rc);return c}function Li(a,b){!a.qe||void 0!==b&&b==a.qe||(clearTimeout(a.Xc[a.qe]),Mi(a,a.qe,!1))}function Ni(a,b){var c,d;for(d in Di){var e="led-"+d,f=Di[d];b&&b!=f||!(c=a.qa[e])||(c.style.backgroundColor=a.Qa&f?"#00ff00":"#000000")}}function Ii(a,b){var c;if(T[b]){var d=Math.floor(b/1E3)&2,e=Ci[Math.floor(b%1E3)]||0;e&&(d&&(e>>=1),e&1792&&(c=!(a.Qa&e)),a.Qa&=~e,c&&(a.Qa|=e),Ni(a,e))}}
function Gi(a,b,c){var d,e=!c,f=b.keyCode,h=f;c&&(a.dl=f);if(T[f+1E3]){var h=h+1E3,g=Ci[f]||0;if(g)2==b.location&&(g>>=1,h+=2E3),a.Qa&=~g,c&&(a.Qa|=g),Ni(a,g),20==f||144==f||145==f?d=Hi(a,h):e=!1;else if(8==f||9==f||27==f)8==f&&8==(a.Qa&40)&&(h=4063),d=c?!Hi(a,h):!1}else 91==f?(a.Qa&=-65,c&&(a.Qa|=64),e=!1,d=!0):b.altKey||b.ctrlKey?65<=f&&90>=f&&(h+=32):d=!0;e&&(a.Qa&=-65,a.Ll||f!=a.dl||Li(a));void 0===d&&(d=!Mi(a,h,c));return d}
function Hi(a,b,c){var d=!1;Li(a,b);c&&Ii(a,b);Mi(a,b,!0)&&(c=!1,a.Xc[b]&&(clearTimeout(a.Xc[b]),c=!0),c=Ki(a,c),a.Xc[a.qe=b]=setTimeout(function(a){return function(){Mi(a,b,!1)}}(a),c),d=!0);return d}
function Mi(a,b,c){var d=!1;c||(a.Xc[b]=null,a.qe==b&&(a.qe=0));var e=T[b]||T[b+1E3];if(void 0!==e){14==e&&40==(a.Qa&40)&&(e=83);var d=[],f=e&255;d.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;e>>>=8;){var h=0,g=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==g?a.Qa&3||a.Qa&256&&b||(h=g):29==g?a.Qa&12||(h=g):56==g?a.Qa&48||(h=g):d.push(f|(c?0:128)),h&&(c?d.unshift(h):d.push(h|128)))}for(c=0;c<d.length;c++)Ji(a,d[c]);d=!0}return d}
u(function(){for(var a=A(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Bi(d);Ja(d,c)}});
function U(a,b,c,d){v.call(this,"Video",a,U);this.Da=a.model;this.Hc=0;"ega"==this.Da&&(this.kl=a.switches,this.Hc=a.memory||0);this.Uc=a.mode;if(void 0===this.Uc||void 0===V[this.Uc])this.Uc=Oi;this.Qg=a.charCols;this.gi=a.charRows;if(void 0===this.Qg||void 0===this.gi)this.Qg=V[this.Uc][0],this.gi=V[this.Uc][1];this.dd=a.screenWidth;this.Bd=a.screenHeight;this.Ml=a.scale;this.Jl=12<=Math.round(this.dd/this.Qg);this.Ol=a.touchScreen;this.Ta=b;this.Ic=c;this.pl=d;this.Fd=null;this.Hl=a.autoLock;this.Ra=
this.Db=0;this.sd=[];this.Yc=Array(16);this.Lh=!1;var e=this;b&&(b.onfocus=function(){e.Lh=!0},b.onblur=function(){e.Lh=!1},b.Re=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock,b.ql=b.exitPointerLock||b.mozExitPointerLock||b.webkitExitPointerLock,b=function(){e.Kf(document.pointerLockElement===e.Ta||document.mozPointerLockElement===e.Ta||document.webkitPointerLockElement===e.Ta)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",b,!1):"onmozpointerlockchange"in
document?document.addEventListener("mozpointerlockchange",b,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",b,!1));if(a=a.fontROM)"json"!=ea(a)&&(a=la()+"/api/v1/dump?file="+a+"&format=bytes"),r(a,!0,null,this,this.cn)}y(v,U);
var Pi={2:{ji:15700,ii:208,Yi:85,Zi:96},3:{ji:18432,ii:364,Yi:85,Zi:96},4:{ji:21850,ii:364,Yi:85,Zi:96}},Qi={6:[1,3,!0],7:[2,3,!0],8:[6,3,!0],9:[4,3,!0],10:[3,1,!0],11:[3,2,!0],0:[1,3,!1],1:[2,3,!1],2:[6,3,!1],3:[4,3,!1],4:[3,1,!1],5:[3,2,!1]},Oi=7,V=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];V[Oi]=[80,25,1,0,1];V[13]=[320,200,16];V[14]=[640,200,16];V[15]=[640,350,16];V[16]=[640,350,16];V[0]=V[1];V[2]=V[3];V[5]=V[4];var Ri=Array(5);Ri[0]=[0,0,0,255];Ri[1]=[127,192,127,255];
Ri[2]=[127,192,127,255];Ri[3]=[127,255,127,255];Ri[4]=[127,255,127,255];var Si=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],W=Array(16);W[0]=[0,0,0,255];W[1]=[0,0,170,255];W[2]=[0,170,0,255];W[3]=[0,170,170,255];W[4]=[170,0,0,255];W[5]=[170,0,170,255];W[6]=[170,85,0,255];W[7]=[170,170,170,255];W[8]=[85,85,85,255];W[9]=[85,85,255,255];W[10]=[85,255,85,255];W[11]=[85,255,255,255];W[12]=[255,85,85,255];W[13]=[255,85,255,255];W[14]=[255,255,85,255];W[15]=[255,255,255,255];
var Ti=[2,4,6],Ui=[3,5,7],Vi=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Wi=[0,255,65280,65535,16711680,16711935,16776960,16777215,4278190080,4278190335,4278255360,4278255615,4294901760,4294902015,4294967040,4294967295],X=[0];X[128]=1;X[32768]=2;X[32896]=3;X[8388608]=4;X[8388736]=5;X[8421376]=6;X[8421504]=7;X[2147483648]=8;X[2147483776]=9;X[2147516416]=10;X[2147516544]=11;X[2155872256]=12;X[2155872384]=13;X[2155905024]=14;X[2155905152]=15;
function Xi(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Yi[b],f=a.Jd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Zi)];this.Gg=b;this.Ra=e[2];this.Db=e[3];this.Hc=d||e[4];65536<=this.Hc&&720896<=this.Ra&&(this.Db=Math.min(this.Hc>>2,32768));this.Jc=c[0];this.pc=c[1];this.kf=c[2];this.Uf=c[3];this.wc=c[4]&255;this.Fg=c[4]>>8&255;this.bc=c[5];this.$h=Zi;if(5==b){this.$h=$i;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Ra,this.Db,this.Hc],Array(this.Hc>>
2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Cd=b[0];this.le=b[1];this.Sd=b[2];this.hj=b[3];this.Kg=b[4];this.Qh=b[5];this.Qe=b[6];this.bg=b[7];this.Th=b[8];this.Uh=b[9];this.Pe=b[10];this.Be=b[11];this.xb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Db,d]);this.Ra=d[0];this.Db=d[1];d=this.Hc>>2;if((this.Wd=b[14])&&this.Wd.length<d){for(var e=this.Wd,h=0,g=Array(d),m=0;m<e.length-1;){for(var n=e[m++],q=e[m++];n--;)g[h]=q,h+=2;h==d&&(h=1)}this.Wd=g}this.eh(b[15]);this.Ui=b[16];
this.cb=b[17];this.Tc=b[18];this.hb=b[19];this.Tg=b[20];this.Md=b[21];this.oe=b[22];this.bi=b[23];this.ci=b[24]}f=Pi[f]||Pi[3];this.di=a.ka.ba.ld/f.ji|0;this.Ym=this.di*f.Yi/100|0;this.$j=this.di*f.ii;this.$m=this.$j*f.Zi/100|0;this.ki=null==c[7]?0:c[7]}}var Zi=18,$i=25;function aj(a){return this.yc(a)|this.yc(a+1)<<8}function bj(a,b){this.Bc(a,b&255);this.Bc(a+1,b>>8&255)}
var Y=[,,function(a){a+=this.offset;return(this.ea.xb=this.pa[a])>>this.ea.Ui&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.pa[b]>>8:this.pa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.pa[a];for(var b=this.ea.bi&this.ea.ci,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.pa[c]&~this.ea.cb|(b|b<<8|b<<16|b<<24)&this.ea.cb;d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.Tc|b<<8-this.ea.Tc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Md|this.ea.oe;d=d&this.ea.cb|this.pa[c]&~this.ea.cb;d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.Tc|b<<8-this.ea.Tc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Md|this.ea.oe;d&=this.ea.xb;d=d&this.ea.cb|this.pa[c]&~this.ea.cb;d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.Tc|b<<8-this.ea.Tc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Md|this.ea.oe;d|=this.ea.xb;d=d&this.ea.cb|this.pa[c]&~this.ea.cb;d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.Tc|b<<8-this.ea.Tc&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Md|this.ea.oe;d^=this.ea.xb;d=d&this.ea.cb|this.pa[c]&~this.ea.cb;d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.cb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.pa[d]&~c;c=c&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[d]!=c&&(this.pa[d]=c,this.fb=!0)};
Y[4096]=function(a){a+=this.offset;var b=this.pa[a]&~this.ea.cb|this.ea.xb&this.ea.cb;this.pa[a]!=b&&(this.pa[a]=b,this.fb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=Wi[b&15],d=d&this.ea.cb|this.pa[c]&~this.ea.cb,d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=Wi[b&15],d=d&this.ea.xb,d=d&this.ea.cb|this.pa[c]&~this.ea.cb,d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
Y[40960]=function(a,b){var c=a+this.offset,d=Wi[b&15],d=d|this.ea.xb,d=d&this.ea.cb|this.pa[c]&~this.ea.cb,d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=Wi[b&15],d=d^this.ea.xb,d=d&this.ea.cb|this.pa[c]&~this.ea.cb,d=d&this.ea.hb|this.ea.xb&~this.ea.hb;this.pa[c]!=d&&(this.pa[c]=d,this.fb=!0)};
function cj(a){var b=[];if(void 0!==a.Gg){b[0]=a.Jc;b[1]=a.pc;b[2]=a.kf;b[3]=a.Uf;b[4]=a.wc|a.Fg<<8;b[5]=a.bc;if(5==a.Gg){var c=[];c[0]=a.Cd;c[1]=a.le;c[2]=a.Sd;c[3]=a.hj;c[4]=a.Kg;c[5]=a.Qh;c[6]=a.Qe;c[7]=a.bg;c[8]=a.Th;c[9]=a.Uh;c[10]=a.Pe;c[11]=a.Be;c[12]=a.xb;c[13]=[a.Ra,a.Db,a.Hc];var d;a:if(d=a.Wd){var e=0,f=[];if(void 0!==d[0])for(var h=0;2>h;h++)for(var g=h;g<d.length;){for(var m=d[g],n=g+2;n<d.length&&d[n]===m;)n+=2;f[e++]=n-g>>1;f[e++]=m;g=n}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Zh;c[16]=a.Ui;c[17]=a.cb;c[18]=a.Tc;c[19]=a.hb;c[20]=a.Tg;c[21]=a.Md;c[22]=a.oe;c[23]=a.bi;c[24]=a.ci;b[6]=c}b[7]=a.ki}return b}Xi.prototype.eh=function(a){if(null!=a&&a!=this.Zh){var b=a&255,c=Y[b];c||b&1&&(c=Y[1]);var b=a&65280,d=Y[b];d||b&256&&(d=Y[256]);this.df||(this.df=[null,aj,null,bj]);this.df[0]=c;this.df[2]=d;this.Zh=a}};var Yi=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=U.prototype;
k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;bb(b,this,dj);db(b,this,ej);"ega"==this.Da&&(bb(b,this,fj),db(b,this,gj));if((this.Ka=B(a,"Keyboard"))&&this.Ta){for(var e in this.qa)0<e.indexOf("lock")&&this.Ka.Bb("input","led",e,this.qa[e]);this.Ka.Bb("input",this.pl?"textarea":"canvas","kbd",this.pl||this.Ta)}this.gg=9;(this.ja=B(a,"ChipSet"))&&this.kl&&(this.gg=jh(this.kl,this.gg));this.Ka&&this.Ol&&hj(this)};
k.Bb=function(a,b,c,d){var e=this;if(!this.qa[c])switch(this.qa[c]=d,c){case "lockPointer":return this.jo=d.innerHTML,this.Ta&&this.Ta.Re?d.onclick=function(){e.Re(!0)}:d.parentNode.removeChild(d),!0;case "refresh":return d.onclick=function(){ib(e,!0)},!0}return!1};k.od=function(){this.Ta&&this.Ta.focus()};k.Re=function(a){if(this.Ta)if(a){if(this.Ta.Re)return this.Ta.Re(),this.Fd.Kf(!0),!0}else if(this.Ta.ql)return this.Ta.ql(),this.Fd.Kf(!1),!0;return!1};
k.Kf=function(a){this.Fd&&(this.Fd.Kf(a),this.Ka&&(this.Ka.Ij=a));var b=this.qa.lockPointer;b&&(b.innerHTML=a?"Press Esc to Unlock Pointer":this.jo)};function hj(a){var b=a.Ta;b&&!a.Jh&&(b.addEventListener("touchstart",function(b){ij(a,b)},!1),b.addEventListener("touchmove",function(b){ij(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Jh=!0)}
function ij(a,b){a.Lh&&b.preventDefault();var c=0,d=0,e=a.Ta;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.dd/a.Ta.offsetWidth*(b.targetTouches[0].pageX-c)/(a.dd/3)|0;d=a.Bd/a.Ta.offsetHeight*(b.targetTouches[0].pageY-d)/(a.Bd/3)|0;1!=d?d?Hi(a.Ka,40,!0):Hi(a.Ka,38,!0):1!=c&&(c?Hi(a.Ka,39,!0):Hi(a.Ka,37,!0))}k.Sb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Rb=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ja&&(b=Bh(this.ja));var c=!1;if(this.Da)switch(this.Da){case "ega":var c=!0,d=Qi[this.gg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.Jd!==b&&(this.Jd=b,a=!0);this.Ca=null;this.Gc=this.xh=new Xi(this,1);this.Xb=this.rg=new Xi(this,3);c?(this.ma=new Xi(this,5,null,this.Hc),jj(this)):this.ma=new Xi;kj(this);this.Id=null;this.Uc=3==b?Oi:3;this.ce=this.xc=-1;this.be=0;lj(this,this.Uc);if(this.Ca.Ra&&a){a=this.Ca.Ra+this.yh;for(b=this.Ca.Ra;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.Jd?(c=b>>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),$a(this.ra,b,c|d<<8);ib(this,!0)}};function jj(a){a.ma.Kg&1?(a.Gc=a.xh,a.Xb=a.ma):(a.Gc=a.ma,a.Xb=a.rg)}k.save=function(){var a=new G(this);a.set(0,cj(this.xh));a.set(1,cj(this.rg));a.set(2,[this.Jd,this.Uc,this.Id]);a.set(3,cj(this.ma));return a.data()};
k.restore=function(a){var b=a[2];this.Jd=b[0];this.Uc=b[1];this.Id=b[2];this.Ca=null;this.Gc=this.xh=new Xi(this,1,a[0]);this.Xb=this.rg=new Xi(this,3,a[1]);this.ma=new Xi(this,5,a[3],this.Hc);this.ma.Jc&&jj(this);kj(this);if(!mj(this))return!1;nj(this);return!0};
k.cn=function(a,b,c){if(c)this.ya("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){s("Empty font ROM image: "+a);return}if(1==d.length){s(d[0]);return}if(8192==d.length)zi(this,d,[0,6144]);else{this.ya("Unrecognized font data length ("+d.length+")");return}}catch(e){this.ya("Font ROM data error: "+e.message);return}this.Na()}};
function oj(a,b){if(1==b)return a.Yc[0]=W[0],a.Yc[1]=W[7],a.Yc;if(2==b){var c=a.Ca.kf;if(a.Ca===a.ma){var d=a.ma.Sd[0],c=d&7;d&16&&(c|=8);18!=a.ma.Sd[1]&&(c|=32)}a.Yc[0]=W[c&15];c=c&32?Ui:Ti;for(d=0;d<c.length;d++)a.Yc[d+1]=W[c[d]];return a.Yc}if(a.Xb===a.rg)return W;c=null!=a.ma.Sd[15]?a.ma.Sd:Vi;for(d=0;d<a.Yc.length;d++){var e=c[d]||0;a.Yc[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.Yc}function zi(a,b,c,d){a.cg=b;a.nh=c;a.he=d}
function kj(a){var b=!1;if(window&&a.cg){var c=a.he?0:2048,d=a.he?a.he:9;pj(a,1,a.nh[0],c,d,14,a.cg,Ri,Si)&&(b=!0);c=oj(a);d=a.he?a.he:8;pj(a,3,a.nh[1],0,d,8,a.cg,c)&&(b=!0);a.he&&pj(a,5,a.nh[0],0,a.he,14,a.cg,c)&&(b=!0)}return b}function pj(a,b,c,d,e,f,h,g,m){var n=!1;qj(a,b,c,d,e,f,h,g,m)&&(n=!0);a.Jl&&qj(a,b<<1,c,d,e,f,h,g,m)&&(n=!0);return n}
function qj(a,b,c,d,e,f,h,g,m){var n=!1,q=b&1?0:1,w=a.sd[b];w||(w={ec:e<<q,fc:f<<q,Ae:Array(g.length),rj:g.slice(),af:m,lh:Array(g.length)});for(m=0;m<g.length;m++){var t=g[m],C=w.Ae[m]?w.rj[m]:[];if(t[0]!==C[0]||t[1]!==C[1]||t[2]!==C[2]){var n=w,C=m,H=q,P=c,K=d,Q=e,va=f,Ua=h,Ob=[0,0,0,0],zc=window.document.createElement("canvas");zc.width=n.ec<<4;zc.height=n.fc<<4;for(var ci=zc.getContext("2d"),wa=void 0,xb=void 0,Va=void 0,Ac=8>va||!K?va:8,qd=ci.createImageData(n.ec,n.fc),wa=0;256>wa;wa++){for(Va=
0;Va<va;Va++)for(var rk=n.af&&C&1&&Va>=va-2,sk=Ua[Va<Ac?P+wa*Ac+Va:K+wa*Ac+Va-Ac],rd=0;rd<=H;rd++)for(xb=0;xb<Q;xb++){var di=xb<<H,ei=(Va<<H)+rd,fi=rk||sk&128>>(8<=xb&&176<=wa&&223>=wa?7:xb)?t:Ob;rj(qd,di,ei,fi);H&&rj(qd,di+1,ei,fi)}ci.putImageData(qd,(wa&15)*n.ec,(wa>>4)*n.fc)}n.Ae[C]="#"+p(t[0],2)+p(t[1],2)+p(t[2],2);n.rj[C]=t;n.lh[C]=zc;n=!0}}a.sd[b]=w;return n}function sj(a){0<a.be||0<=a.xc?0>a.ce&&(a.ce=0):a.ce=-1}
function nj(a){if(a.Ib){for(var b=10;15>=b;b++)if(null==a.Ca.bc[b])return;var c=a.Ca.bc[10],b=c&31,d=a.Ca.bc[11]&31,e=a.Ca.bc[9]&31,f=!1;a.Ca===a.ma&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)tj(a);else{c=a.Ca.bc[15]+((a.Ca.bc[14]&63)<<8);a.xc!=c&&(tj(a),a.xc=c);d=d-b+1;if(a.sl!=b||a.Cj!=d)a.sl=b,a.Cj=d;a.Ad=e+1;sj(a)}}}
function tj(a){if(0<=a.xc){if(void 0!==a.Wb){var b=a.Wb[a.xc];if(b&131072){var b=b&-131073,c=a.xc%a.yb,d=Math.floor(a.xc/a.yb);a.Ib&&a.sd[a.Ib]&&(a.He&&uj(a,c,d,b,a.He),uj(a,c,d,b));a.Wb[a.xc]=b}}a.xc=-1}}
function vj(a){var b;a=a.Ca;var c=a.Be[5];if(null!=c){b=2;var d=512,e=a.Be[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Tc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ue=function(a){var b=this.Ca;null!=a&&b&&a!=b.Zh&&(b.eh(a),this.ra.eh(b.Ra,b.Db,b.df))};
function mj(a,b){var c,d=a.Id,e=a.Ca;if(e)if(1==e.Gg)d=Oi;else if(5==e.Gg){var d=null,f=e.Hc>>2,h=32768<f?32768:f,g=e.Be[6];if(null!=g){switch(g&12){case 0:e.Ra=655360;e.Db=f;d=255;break;case 4:e.Ra=655360;e.Db=f;d=3==a.Jd?15:16;break;case 8:e.Ra=720896;e.Db=h;d=Oi;break;case 12:e.Ra=753664,e.Db=h,d=3==a.Jd?2:3}c=e.bg[1]&8;f=e.bc[6]|(e.bc[7]&1)<<8;255!=d&&(g&1?753664==e.Ra?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=vj(a)}}else e.pc&8&&(e.pc&2?(d=e.pc&16?6:5,e.pc&4||(d-=1)):(d=e.pc&1?3:1,e.pc&4&&(d-=
1)));else a.Id=null,null==d&&(d=a.Uc);if(!lj(a,d,b))return!1;a.ue(c);return!0}
function lj(a,b,c){if(null!=b&&(b!=a.Id||c)){a.yl=0;a.Id=b;b=a.Ca||(b==Oi?a.Gc:a.Xb);if(b!=a.Ca||b.Ra!=a.Ra||b.Db!=a.Db){tj(a);if(a.Ra){if(!Wa(a.ra,a.Ra,a.Db))return!1;a.Ca&&(a.Ca.Jc=!1)}a.Ca=b;b.Jc=!0;a.Ra=b.Ra;a.Db=b.Db;if(!Sa(a.ra,b.Ra,b.Db,!1,b===a.ma?b:null))return!1}a.Ib=0;a.yb=a.Qg;a.hc=a.gi;a.ai=V[Oi][2];b=0;var d=V[a.Id];d&&(a.yb=d[0],a.hc=d[1],a.ai=d[2],b=d[3]||0,a.Ib=d[4],4==a.Jd&&a.Ca===a.ma&&3==a.Ib&&(7==a.ma.bc[9]?a.hc=43:a.Ib=5));a.Xj=a.yb*a.hc;a.Ng=a.Xj/a.ai;a.yh=(a.Ng<<1)+b;a.Aj=
b?a.yh+b>>1:0;13<=a.Id&&(a.Ng<<=1);a.sd.length&&(a.ed=Math.floor(a.dd/a.yb),a.fd=Math.floor(a.Bd/a.hc),a.Ib?(b=a.sd[a.Ib],d=a.sd[a.Ib<<1],a.Ml&&80==a.yb?d&&a.ed>=3*d.ec>>2&&(a.Ib<<=1,b=d):(d&&a.ed>=d.ec&&(a.Ib<<=1,b=d),b&&(a.ed=b.ec,a.fd=b.fc)),a.mf=a.nf=0,b&&(a.mf=a.yb*b.ec,a.nf=a.hc*b.fc)):(a.ed=a.fd=1,a.mf=a.yb,a.nf=a.hc),a.Hg=a.Ic.createImageData(a.mf,a.nf),a.Ge=window.document.createElement("canvas"),a.Ge.width=a.mf,a.Ge.height=a.nf,a.He=a.Ge.getContext("2d"),a.kj=a.lj=0,a.Bh=a.dd,a.Ch=a.Bd,
b=a.dd-a.yb*a.ed,d=a.Bd-a.hc*a.fd,0<b&&(a.kj=b>>1,a.Bh-=b),0<d&&(a.lj=d>>1,a.Ch-=d),b||d)&&(a.Ic.fillStyle=a.Ta.style.backgroundColor,a.Ic.fillRect(0,0,a.dd,a.Bd));!1!==c?ib(a,!0):wj(a,!0)}return!0}function rj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function wj(a,b){var c;if(b){if(c=a.Ng,void 0===a.Wb||a.Wb.length!=c)a.Wb=Array(c)}else{if(void 0===a.Wb)return;c=a.Wb.length}for(var d=0;d<c;d++)a.Wb[d]=-1;a.be=-1}
function uj(a,b,c,d,e){var f=d&255,h=d>>8;d=h&15;var g=a.sd[a.Ib];g.af&&(d=g.af[d]);var m=h>>4&15;g.af&&(m=g.af[m]);e?(b*=g.ec,c*=g.fc,e.fillStyle=g.Ae[m],e.fillRect(b,c,g.ec,g.fc)):(b=b*a.ed+a.kj,c=c*a.fd+a.lj,a.Ic.fillStyle=g.Ae[m],a.Ic.fillRect(b,c,a.ed,a.fd));h&256&&(m=(f&15)*g.ec,f=(f>>4)*g.fc,e?e.drawImage(g.lh[d],m,f,g.ec,g.fc,b,c,g.ec,g.fc):a.Ic.drawImage(g.lh[d],m,f,g.ec,g.fc,b,c,a.ed,a.fd));h&512&&(f=a.sl,h=a.Cj,e?(a.Ad&&a.Ad!==g.fc&&(f=Math.floor(f*g.fc/a.Ad),h=Math.floor(h*g.fc/a.Ad)),
e.fillStyle=g.Ae[d],e.fillRect(b,c+f,g.ec,h)):(a.Ad&&a.Ad!==a.fd&&(f=Math.floor(f*a.fd/a.Ad),h=Math.floor(h*a.fd/a.Ad)),a.Ic.fillStyle=g.Ae[d],a.Ic.fillRect(b,c+f,a.ed,h)))}
function ib(a,b){if(a.na.Hb){var c=!1;a.Ca&&(a.Ca===a.ma?a.ma.le&32&&(c=!0):a.Ca.pc&8&&(c=!0));if(c||b){if(b)wj(a,!0);else if(void 0===a.Wb)return;var d=!1;!(b||++a.yl&15)&&0<=a.ce&&(a.ce++,d=!0);var e=0,f=a.Xj,c=a.Ca.Ra,h=c+a.Ca.Db,g=(a.Ca.bc[12]<<8)+a.Ca.bc[13];a.Ib&&(g<<=1);var c=c+g,m=a.yh;c+m>h&&(m=h-c,0>m&&(m=0));h=c+m;if(g=!b){for(var g=a.ra,n=!0,q=c>>g.Pb;0<m&&q<g.Ba.length;)g.Ba[q].fb&&(g.Ba[q].fb=n=!1,g.Ba[q].Hj=!0),m-=g.rc,q++;g=n}if(g){if(!d)return;if(!a.be){if(0>a.xc)return;e=a.xc;f=
e+1}}if(a.Ib){if(a.sd[a.Ib]){d=0;g=a.be=0;m=1048575;a.Ca.pc&32&&(g=32768,m&=~g,a.ce&2||(m&=-65537));for(c+=e<<1;c<h&&e<f;)n=Ya(a.ra,c),n|=65536,n&g&&(a.be++,n&=m),e==a.xc&&(n|=a.ce&1?131072:0),q=a.Wb[e],q!=n&&(uj(a,e%a.yb,Math.floor(e/a.yb),n,a.He),a.Wb[e]=n,d++),c+=2,e++;d&&a.He&&a.Ic.drawImage(a.Ge,0,0,a.mf,a.nf,a.kj,a.lj,a.Bh,a.Ch);sj(a)}}else if(a.Aj){for(var f=h,w,t,e=c,h=a.be=0,d=a.ai,g=16==d?65536:196608,m=16==d?1:2,n=oj(a,m),C=q=0,H=a.yb,P=0,K=a.hc,Q=0;e<f;){w=Ya(a.ra,e);t=a.Wb[h];if(t===
w)q+=d;else{a.Wb[h]=w;w=w>>8|(w&255)<<8;t=g;var va=16;q<H&&(H=q);for(var Ua=0;Ua<d;Ua++){var Ob=(w&(t>>=m))>>(va-=m);rj(a.Hg,q++,C,n[Ob])}q>P&&(P=q);C<K&&(K=C);C>=Q&&(Q=C+1)}e+=2;h++;if(q>=a.yb){q=0;C+=2;if(C>a.hc)break;C==a.hc&&(C=1,e=c+a.Aj)}}H<a.yb&&(a.He.putImageData(a.Hg,0,0,H,K,P-H,Q-K),a.Ic.drawImage(a.Ge,0,0,a.yb,a.hc,0,0,a.dd,a.Bd))}else{f=h;e=a.be=0;h=oj(a);d=a.Ca.Wd;m=g=0;n=a.yb;q=0;C=a.hc;for(H=0;c<f;){P=c++-a.Ra;P=d[P];K=a.Wb[e];if(K===P)g+=8;else{a.Wb[e]=P;g<n&&(n=g);for(K=0;8>K;K++)Q=
P&2155905152,0>Q&&(Q+=4294967296),Q=X[Q]||0,rj(a.Hg,g++,m,h[Q]),P<<=1;g>q&&(q=g);m<C&&(C=m);m>=H&&(H=m+1)}e++;if(g>=a.yb&&(g=0,++m>a.hc))break}n<a.yb&&(a.He.putImageData(a.Hg,0,0,n,C,q-n,H-C),a.Ic.drawImage(a.Ge,0,0,a.yb,a.hc,0,0,a.dd,a.Bd))}}}}k.zm=function(){return this.Gc.wc};k.Kn=function(a,b){var c=this.Gc;c.Fg=c.wc;c.wc=b&31};k.ym=function(){return xj(this.Gc)};k.Jn=function(a,b){yj(this,this.Gc,b)};k.Am=function(){return this.Gc.pc};k.Ln=function(a,b){this.Gc.pc=b;mj(this,!1)};
k.Bm=function(){return zj(this,this.Gc)};k.cl=function(a,b){this.ma.Qh=this.ma.Qh&-4|b&3};k.Uj=function(){var a=this.ma.Cd?this.ma.Sd[this.ma.le&31]:this.ma.le;this.ma.Cd=!this.ma.Cd;return a};k.bl=function(a,b){var c=this.ma.le&32;if(this.ma.Cd){var d=this.ma.le&31;if(16<=d||!c)this.ma.Sd[d]=b;this.ma.Cd=!1}else this.ma.le=b,this.ma.Cd=!0,b&32&&!c&&kj(this)&&ib(this,!0)};k.Lm=function(){var a=3-((this.ma.Kg&12)>>2),a=this.ma.hj&-17|(this.gg&1<<a)<<4-a;return this.ma.hj=a};
k.Nn=function(a,b){this.ma.Kg=b;jj(this)};k.Km=function(){return this.ma.Qe};k.Un=function(a,b){this.ma.Qe=b};k.Jm=function(){return this.ma.bg[this.ma.Qe]};k.Tn=function(a,b){this.ma.bg[this.ma.Qe]=b;2==this.ma.Qe&&(this.ma.cb=Wi[b&15])};k.rm=function(){return this.ma.Th};k.En=function(a,b){this.ma.Th=b};k.sm=function(){return this.ma.Uh};k.Fn=function(a,b){this.ma.Uh=b};k.qm=function(){return this.ma.Pe};k.Dn=function(a,b){this.ma.Pe=b};k.pm=function(){return this.ma.Be[this.ma.Pe]};
k.Cn=function(a,b){this.ma.Be[this.ma.Pe]=b;switch(this.ma.Pe){case 0:this.ma.Tg=Wi[b&15];this.ma.oe=this.ma.Tg&~this.ma.Md;break;case 1:this.ma.Md=~Wi[b&15];this.ma.oe=this.ma.Tg&~this.ma.Md;break;case 2:this.ma.bi=Wi[b&15]&2155905152;break;case 3:case 5:this.ue(vj(this));break;case 4:this.ma.Ui=(b&3)<<3;break;case 6:mj(this,!1);break;case 7:this.ma.ci=Wi[b&15^15]&2155905152;break;case 8:this.ma.hb=b|b<<8|b<<16|b<<24}};k.hm=function(){return this.Xb.wc};
k.vn=function(a,b){var c=this.Xb;c.Fg=c.wc;c.wc=b&31};k.gm=function(){return xj(this.Xb)};k.un=function(a,b){yj(this,this.Xb,b)};k.im=function(){return this.Xb.pc};k.wn=function(a,b){this.Xb.pc=b;mj(this,!1)};k.fm=function(){return this.Xb.kf};k.tn=function(a,b){this.Xb.kf!==b&&(this.Xb.kf=b,wj(this,!1))};k.jm=function(){return zj(this,this.Xb)};function xj(a){var b;a.wc<a.$h&&(b=a.bc[a.wc]);return b}function yj(a,b,c){b.wc<b.$h&&(b.bc[b.wc]=c,9==b.wc&&8!=b.Fg&&mj(a,!0),nj(a))}
function zj(a,b){var c=0,d=rb(a.ka),e=d-b.ki;0>e&&(e=0);e%b.di>b.Ym&&(c|=1);e%=b.$j;e>b.$m&&(c|=8);b.ki=d-e;b===a.ma?(c|=b.Uf&48^48,b.Cd=!1):c=(b.Uf^=9)|240;return b.Uf=c}
var dj={948:U.prototype.zm,949:U.prototype.ym,952:U.prototype.Am,954:U.prototype.Bm,980:U.prototype.hm,981:U.prototype.gm,984:U.prototype.im,985:U.prototype.fm,986:U.prototype.jm},ej={948:U.prototype.Kn,949:U.prototype.Jn,952:U.prototype.Ln,980:U.prototype.vn,981:U.prototype.un,984:U.prototype.wn,985:U.prototype.tn},fj={960:U.prototype.Uj,961:U.prototype.Uj,962:U.prototype.Lm,964:U.prototype.Km,965:U.prototype.Jm,970:U.prototype.sm,972:U.prototype.rm,974:U.prototype.qm,975:U.prototype.pm},gj={954:U.prototype.cl,
960:U.prototype.bl,961:U.prototype.bl,962:U.prototype.Nn,964:U.prototype.Un,965:U.prototype.Tn,970:U.prototype.Fn,972:U.prototype.En,974:U.prototype.Dn,975:U.prototype.Cn,986:U.prototype.cl};
u(function(){for(var a=A(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=z(c),e=window.document.createElement("canvas");if(void 0===e){c.innerHTML="<br/>Missing &lt;canvas&gt; support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.setAttribute("contenteditable","true");e.setAttribute("autocapitalize","off");e.setAttribute("autocorrect","off");e.style.backgroundColor=d.screenColor;
e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth*d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=e.getContext("2d"),d=new U(d,e,f);Ja(d,c)}});
function Z(a){this.Pj=a.adapter;switch(this.Pj){case 1:this.Zi=1016;this.Ff=4;break;case 2:this.Zi=760;this.Ff=3;break;default:s("Unrecognized serial adapter #"+this.Pj);return}this.wd=null;v.call(this,"SerialPort",a,Z);var b=a.binding,c;a=tj;b&&(void 0===c&&(c="Panel"),(c=Ia(c,this.id))&&(b=c.ra[b])&&this.zb(null,null,a,b))}y(v,Z);var tj="buffer";k=Z.prototype;k.tj=function(a,b){return a==this.Vh?(this.Dd=b,this):null};
k.zb=function(a,b,c,d){var e=this;switch(c){case tj:return this.ra[c]=this.wd=d,d.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),uj(e,[b]))},d.onkeypress=function(a){a=a||window.event;uj(e,[a.which||a.keyCode])},!0}return!1};k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.ja=C(a,"ChipSet");bb(b,this,vj,this.Zi);db(b,this,wj,this.Zi);this.Na()};
k.Qb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Pb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Cd()};k.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.th;c[b++]=this.xj;c[b++]=this.ve;c[b++]=this.ig;c[b++]=this.sd;c[b++]=this.Yd;c[b++]=this.Nc;c[b++]=this.oc;c[b++]=this.vj;c[b]=this.af;a.set(0,c);return a.data()};k.restore=function(a){return this.Cd(a[0])};
k.Cd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.th=a[b++];this.xj=a[b++];this.ve=a[b++];this.ig=a[b++];this.sd=a[b++];this.Yd=a[b++];this.Nc=a[b++];this.oc=a[b++];this.vj=a[b++];this.af=a[b];return!0};function uj(a,b){a.af=a.af.concat(b);xj(a)}function xj(a){0<a.af.length&&!(a.oc&1)&&(a.th=a.af.shift(),a.oc|=1);var b=-1;a.oc&1&&a.ig&1&&(b=4);0<=b?(a.sd&=-8,a.sd|=b,a.ja&&a.Ff&&di(a.ja,a.Ff)):(a.sd|=1,a.ja&&a.Ff&&ei(a.ja,a.Ff))}
k.Hm=function(){var a=this.Yd&128?this.ve&255:this.th;this.oc&=-2;xj(this);return a};k.sm=function(){return this.Yd&128?this.ve>>8:this.ig};k.tm=function(){return this.sd};k.um=function(){return this.Yd};k.wm=function(){return this.Nc};k.vm=function(){return this.oc};k.Cm=function(){return this.vj};
k.Un=function(a,b){if(this.Yd&128)this.ve=this.ve&-256|b;else{this.xj=b;this.oc&=-97;var c;this.wd?(13!=b&&(8==b?this.wd.value=this.wd.value.slice(0,-1):(this.wd.value+=String.fromCharCode(b),this.wd.scrollTop=this.wd.scrollHeight)),c=!0):c=!1;c&&(this.oc|=96)}};k.Fn=function(a,b){this.Yd&128?this.ve=this.ve&255|b<<8:this.ig=b};k.Gn=function(a,b){this.Yd=b};
k.Hn=function(a,b){var c=this.Nc;this.Nc=b;if(this.Dd&&(c^b)&3){var c=this.Dd,d=this.Nc,e=3==(d&3);if(e){if(!c.Ic){var f=!1;c.Nc&2||(c.reset(),f=!0);c.Nc&1||(f=!0);f&&uj(c.mf,[77,77]);yj(c,c.Ra);c.setActive(e)}}else c.Ic&&(zj(c.Ra),c.setActive(e));c.Nc=d}};var vj={0:Z.prototype.Hm,1:Z.prototype.sm,2:Z.prototype.tm,3:Z.prototype.um,4:Z.prototype.wm,5:Z.prototype.vm,6:Z.prototype.Cm},wj={0:Z.prototype.Un,1:Z.prototype.Fn,3:Z.prototype.Gn,4:Z.prototype.Hn};
u(function(){for(var a=A(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);Ja(d,c)}});function Aj(a){v.call(this,"Mouse",a,Aj);if(this.Uh=a.serial)this.bj="SerialPort";this.setActive(!1);this.zg=!1;this.Na()}y(v,Aj);k=Aj.prototype;k.mc=function(a,b,c,d){this.La=a;this.qa=b;this.la=c;this.Sa=d;this.gh=C(this.La,"Video")};k.setActive=function(a){this.Ic=a};
k.Qb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.bj&&!this.mf){for(var c=null;(c=C(this.La,this.bj,c))&&(!c.tj||!(this.mf=c.tj(this.Uh,this))););this.mf?this.gh&&(c=this.gh,c.Dd=this,this.Ra=c.Ra):s(this.id+": "+this.bj+" "+this.Uh+" unavailable")}this.Ic?yj(this,this.Ra):zj(this.Ra)}return!0};k.Pb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Cd()};k.save=function(){var a=new G(this);a.set(0,this.fj());return a.data()};
k.restore=function(a){return this.Cd(a[0])};k.Cd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Xf=a[b++];this.Yf=a[b++];this.we=a[b++];this.xe=a[b++];this.ug=a[b++];this.vg=a[b++];this.Nc=a[b];return!0};k.fj=function(){var a=0,b=[];b[a++]=this.Ic;b[a++]=this.Xf;b[a++]=this.Yf;b[a++]=this.we;b[a++]=this.xe;b[a++]=this.ug;b[a++]=this.vg;b[a]=this.Nc;return b};k.Mf=function(a){this.zg=a};
function yj(a,b){b&&(a.Ih||(b.addEventListener("mousemove",function(b){if(a.Ic&&a.la&&a.la.na.uc){if(0>a.Xf||0>a.Yf)a.Xf=b.clientX,a.Yf=b.clientY;a.zg?(a.we=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.xe=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.we=b.clientX-a.Xf,a.xe=b.clientY-a.Yf);(a.we||a.xe)&&Bj(a);a.Xf=b.clientX;a.Yf=b.clientY}},!1),b.addEventListener("mousedown",function(b){Cj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Cj(a,b.button,!1)},!1),a.Ih=!0),b.style.cursor=
"none")}function zj(a){a&&(a.style.cursor="auto")}function Cj(a,b,c){if(a.Ic&&a.la&&a.la.na.uc){var d;!(d=!1!==a.zg)&&(d=a.gh)&&(d=a.gh,d=d.Gl?d.Pe(!0):!1);d||(a.zg=null);switch(b){case 0:a.ug!=c&&(a.ug=c,Bj(a));break;case 2:a.vg!=c&&(a.vg=c,Bj(a))}}}function Bj(a){uj(a.mf,[64|(a.ug?32:0)|(a.vg?16:0)|(a.xe&192)>>4|(a.we&192)>>6,a.we&63,a.xe&63]);a.we=a.xe=0}u(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Aj(d);Ja(d,c)}});
function Dj(a,b,c){v.call(this,"Disk",{id:a.Rj+".disk"+Ej++},Dj);this.ea=a;this.La=a.La;this.Sa=a.Sa;this.Pa=b;this.Uc=b.name;this.Je=b.Je;this.Ag=this.fd=!1;this.create(c,b.gb,b.hb,b.mb,b.Ya);this.Rd=[];this.$f=[];this.od=null;this.Vj=0;this.Oh=!1;this.Na()}var Ej=0;y(v,Dj);k=Dj.prototype;k.mc=function(a,b,c,d){this.Sa=d};k.Qb=function(a,b){b||!this.Ag||this.fd||(this.Na(!1),this.load(this.Uc,this.pe,null,this.Fl,this));return!0};k.Fl=function(){this.Na(!0)};
k.Pb=function(a,b){if(this.fd){var c,d=0;if(this.Oh&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Fj(this,!1);)if(d=c[0]){this.ea.ya('Unable to save "'+this.Uc+'" (error '+d+")");break}b&&this.fd&&(c="action=close&volume="+this.pe,c+="&machine="+this.ea.Le(),c+="&user="+this.ea.Bd(),r(la()+"/api/v1/disk?"+c,!0),this.fd=!1);!d&&a&&this.ea.ya(this.Uc+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.gb=b;this.hb=c;this.mb=d;this.Ya=e;this.Va=[];if("preload"!=this.mode){a=Array(this.gb);for(b=0;b<a.length;b++){c=Array(this.hb);for(d=0;d<c.length;d++){e=Array(this.mb);for(var f=1;f<=e.length;f++)e[f-1]=Gj(null,b,d,f,this.Ya,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Va=a}this.Ge=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.ie)if(this.Uc=a,this.pe=b,this.ie=d,this.zl=e||this.ea,c){var h=this,g=new FileReader;g.onload=function(){var a=g.result,b,c=a?a.byteLength:0,d=ba[c];if(d){h.gb=d[0];h.hb=d[1];h.mb=d[2];h.Ya=512;b=h.Ya>>2;var e=d=0,a=new DataView(a,0,c);h.Va=Array(h.gb);for(c=0;c<h.Va.length;c++)for(var f=h.Va[c]=Array(h.hb),H=0;H<f.length;H++)for(var P=f[H]=Array(h.mb),K=0;K<P.length;K++){for(var Q=Gj(null,c,H,K+1,h.Ya,0),ua=Q.data,Ua=0;Ua<b;Ua++,e+=4)var Pb=ua[Ua]=a.getInt32(e,
!0),d=d+Pb&4294967295;Q.kc=b;P[K]=Q}h.Ge=d;b=h}else h.ya("Unrecognized diskette format ("+c+" bytes)");h.ie&&(h.ie.call(h.ea,h.Pa,b,h.Uc,h.pe),h.ie=null)};g.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Hj(this,b),this.Ag=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Je?"":d)+"&format=json")),r(f,!0,null,this,this.Dl,b)};
k.Dl=function(a,b,c,d){var e=null;this.Ke=!1;var f=0>c&&this.La&&!this.La.na.Gb;if(this.Ag)c?this.ea.ya('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.fd=!0,e=this);else if(c)this.ea.ya('Unable to load disk "'+this.Uc+'" (error '+c+")",f);else try{if(0<da(a,!0).toLowerCase().indexOf("-readonly"))this.Ke=!0;else{var h=b.indexOf("\n");0<h&&1024>h&&0<b.substring(0,h).indexOf("write-protected")&&(this.Ke=!0)}var g;g="<"==b.substr(0,1)?["Missing disk image: "+this.Uc]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)s(g[0]);else{this.gb=g.length;this.hb=g[0].length;this.mb=g[0][0].length;var m=g[0][0][0];this.Ya=m&&m.length||512;for(b=a=0;b<this.gb;b++)for(c=0;c<this.hb;c++)for(d=0;d<this.mb;d++)if(m=g[b][c][d]){var n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var w=m.data;if(void 0===w){var t=m.bytes;if(void 0!==t&&t.length){for(var f=
n<<2,B=t.length;B<f;B++)t[B]=q;this.fill(m,t,0)}else w=[],q=m.pattern=q|q<<8|q<<16|q<<24,m.data=w;delete m.bytes}Gj(m,b,c);for(f=0;f<w.length;f++)a=a+w[f]&4294967295}this.Va=g;this.Ge=a;e=this}else s("Empty disk image: "+this.Uc)}catch(H){s("Disk image error: "+H.message)}this.ie&&(this.ie.call(this.zl,this.Pa,e,this.Uc,this.pe),this.ie=null)};function Gj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ql=b;a.Sl=c;a.Jc=a.kc=0;a.bb=!1;return a}
k.$m=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],h=d[2],g=d[3];a=d[4];b=JSON.parse(b);for(var m=0;g--;){var n=this.seek(e,f,h,!0);if(!n)break;this.fill(n,b,m);m+=n.length;h++}}(d=d[5])&&d(c,a)};function Hj(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.gb+":"+a.hb+":"+a.mb+":"+a.Ya;c+="&machine="+a.ea.Le();c+="&user="+a.ea.Bd();return la()+"/api/v1/disk?"+c}
function Ij(a,b,c,d,e,f){if(a.fd){var h;h="action=read&volume="+a.pe;h+="&chs="+a.gb+":"+a.hb+":"+a.mb+":"+a.Ya;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Le());h+="&user="+a.ea.Bd();r(la()+"/api/v1/disk?"+h,!0,null,a,a.$m,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Jj(a,b,c){b.bb=!0;var d=a.Rd.indexOf(b);0<=d&&(a.Rd.splice(d,1),a.$f.splice(d,1));a.Rd.push(b);a.$f.push(ha());c&&Kj(a)}
function Kj(a){if(a.Rd.length){var b=a.$f[0]+2E3;a.od&&a.Vj<b&&(clearTimeout(a.od),a.od=null);if(!a.od){var c=ha(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.od=setTimeout(function(){Fj(a,!0)},b);a.Vj=c+b}}else a.od&&(clearTimeout(a.od),a.od=null)}
function Fj(a,b){b&&(a.od=null);var c=a.Rd[0];if(c){for(var d=c.Ql,e=c.Sl,c=c.sector,f=0,h=[],g=c-1;g<a.Va[d][e].length;g++){var m=a.Va[d][e][g];if(!m.bb)break;var n=a.Rd.indexOf(m);a.Rd.splice(n,1);a.$f.splice(n,1);h=h.concat(Lj(m));m.bb=!1;f++}a.fd?(g={},a.Oh=!0,g.action="write",g.volume=a.pe,g.chs=a.gb+":"+a.hb+":"+a.mb+":"+a.Ya,g.addr=d+":"+e+":"+c+":"+f,g.machine=a.ea.Le(),g.user=a.ea.Bd(),g.data=JSON.stringify(h),d=r(la()+"/api/v1/disk",b,g,a,a.en,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.en=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Oh=!1;if(0<=a&&a<this.Va.length&&0<=b&&b<this.Va[a].length)for(e-=1;0<f--&&0<=e&&e<this.Va[a][b].length;e++){var h=this.Va[a][b][e];c?Jj(this,h,!1):h.bb||(h.Jc=h.kc=0)}d&&Kj(this)};k.info=function(){return this.Va.length?[this.Va.length,this.Va[0].length,this.Va[0][0].length,this.Va[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,h=this.Pa,g=this.Va[a];if(g){var m=g[b];if(!m&&h.ef&&b<h.hb)for(m=g[b]=Array(h.td),g=0;g<m.length;g++)m[g]=Gj(null,a,b,g+1,h.fb,0);if(m){for(g=0;g<m.length;g++)if(m[g]&&m[g].sector==c){f=m[g];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++g<m.length;)null===m[g].pattern&&d++;Ij(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&h.ef&&9==h.Wa&&(f=m[g]=Gj(null,a,b,h.Wa,h.fb,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Lj(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var h=f<e.length?e[f]:a;c[d++]=h&255;c[d++]=h>>8&255;c[d++]=h>>16&255;c[d++]=h>>24&255}return c}function Mj(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.Ke)return!1;if(b<a.length){if(c!=Mj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.kc?f<a.Jc?(a.kc+=a.Jc-f,a.Jc=f):f>=a.Jc+a.kc&&(a.kc+=f-(a.Jc+a.kc)+1):(a.Jc=f,a.kc=1);d[f]=d[f]&~(255<<b)|c<<b;this.fd&&Jj(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.pe,this.Ge,this.gb,this.hb,this.mb,this.Ya];if(!this.fd&&!this.Ke)for(var c=this.Va,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var h=c[d][e][f];if(h&&h.kc){for(var g=[],m=0,n=h.Jc,q=h.Jc+h.kc;n<q;)g[m++]=h.data[n++];b[a++]=[d,e,f,h.Jc,g]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.Va.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Ge&&e[1]!=this.Ge&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Ge+")",b=-1));for(this.Va.length||(b=-1);d<a.length&&0<=b;){var f=0,h=a[d++],g=h[f++],m=h[f++],n=h[f++];if(g>=this.Va.length||m>=this.Va[g].length||n>=this.Va[g][m].length){c="sector "+g+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Ke){c="unable to modify write-protected disk";b=-1;break}e=h[f++];f=h[f++];h=e+f.length;if(g=this.Va[g][m][n]){for(m=g.data.length;m<e;)g.data[m++]=g.pattern;m=0;g.Jc=e;for(g.kc=f.length;e<h;)g.data[e++]=f[m++];b++}}}0>b&&this.ea.ya("unable to restore disk '"+this.Uc+": "+c);return b};
function Nj(a){v.call(this,"FDC",a,Nj);this.dmaRead=this.Ch;this.dmaWrite=this.Dh;this.dmaFormat=this.Al;this.de=null;if(a.autoMount&&(this.de=a.autoMount,"string"==typeof this.de))try{this.de=eval("("+a.autoMount+")")}catch(b){s("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.de=null}this.hc=[]}y(v,Nj);l={};aa={};
var Oj={3:{ad:3,vd:0,name:aa.Uo},4:{ad:2,vd:1,name:aa.So},5:{ad:9,vd:7,name:aa.fp},6:{ad:9,vd:7,name:aa.Mo},7:{ad:2,vd:0,name:aa.Oo},8:{ad:1,vd:2,name:aa.To},10:{ad:2,vd:7,name:aa.No},13:{ad:6,vd:7,name:aa.yo},15:{ad:3,vd:0,name:aa.Ro}};k=Nj.prototype;
k.zb=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.ra[c]=d,Pj(this,"Local Disk","?"),Pj(this,"Remote Disk","??"),d.onchange=function(){var a=e.ra.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(m){s("FDC option error: "+m.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b='<a href="'+c+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ra[c]=d,d.onchange=
function(){var a;a=d.value;var b=10,c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var m=a.charAt(a.length-1).toLowerCase();"h"==m?(b=16,m=null):"."==m&&(b=10,m=null);null===m&&(a=a.substr(0,a.length-1))}var n;ca(a,b)&&!isNaN(n=parseInt(a,b))&&(c=n)}a=c;null!=a&&Qj(e,a)},!0;case "loadDrive":return this.ra[c]=d,d.onclick=function(){var a=e.ra.listDisks;a&&Rj(e,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return window&&
"FileReader"in window?(this.ra[c]=d,d.addEventListener("change",function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Rj(e,da(b,!0),b,a)}return!1}):d.parentNode.removeChild(d),!0}return!1};k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.La=a;this.ja=C(a,"ChipSet");this.gd();bb(b,this,Sj);db(b,this,Tj);this.df()||this.Na()};
k.Qb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.La.Mh){this.hc=[];for(var c=0;c<this.xa.length;c++)Uj(this,c,!0);this.df(!0)}}else if(!this.restore(a))return!1;if(c=this.ra.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.gi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.gi&&(c.value="0",Qj(this,0))}}return!0};
k.Pb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.gd()};k.save=function(){var a=new G(this);a.set(0,this.cj());return a.data()};k.restore=function(a){return this.gd(a[0])};
k.gd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.Xa=a[b++];b++;this.wa=a[b++];this.Sb=a[b++];this.qb=a[b++];this.ab=a[b++];this.Ve=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.hc=c);void 0===this.xa&&(this.gi=4,this.ja&&(this.gi=Hh(this.ja)),this.xa=Array(4));for(c=0;c<this.xa.length;c++){var f=this.xa[c];if(void 0===f){var f=this.xa[c]={},h;if(this.ja)a:{h=this.ja;if(c<Hh(h)){if(!h.pd){h=360;break a}if(c<h.pd.length){h=h.pd[c];break a}}h=0}else h=0;switch(h){case 160:case 180:f.hb=
1;default:f.gb=40;f.mb=9;break;case 720:f.gb=80;f.mb=9;break;case 1200:f.gb=80;f.mb=15;break;case 1440:f.gb=80,f.mb=18}}this.Wh(f,c,e[c])||(d=!1)}this.Md=a[b++]||0;this.dl=a[b]||0;return d};k.cj=function(){var a=0,b=[];b[a++]=this.Xa;b[a++]=0;b[a++]=this.wa;b[a++]=this.Sb;b[a++]=this.qb;b[a++]=this.ab;b[a++]=this.Ve;b[a++]=this.ej();for(var c=a++,d=0;d<this.xa.length;d++){var e=this.xa[d];e.ta&&Vj(this,e.qe,e.ta)}b[c]=this.hc;b[a++]=this.Md;b[a]=this.dl;return b};
k.Wh=function(a,b,c){var d=0,e=!0;a.Xa=b;a.tc=a.Ie=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.gb||40,a.hb||c[3],a.mb||9,a.Ya||512,c[1],a.Qg,a.Df,a.Ef]);a.Ta=c[d++];var f=c[d++];a.name=f[0];a.gb=f[1];a.hb=f[2];a.mb=f[3];a.Ya=f[4];a.Je=f[5];(a.Qg=f[6])?(a.Df=f[7],a.Ef=f[8]):(a.Qg=a.gb,a.Df=a.hb,a.Ef=a.mb);a.Ja=c[d++];a.rd=c[d++];a.jb=c[d++];a.rd=100<=a.rd?a.rd-100:a.rd-a.jb;a.Wa=c[d++];a.td=c[d++];a.fb=c[d++];a.Za=c[d++];a.Ka=null;a.ta||(a.qe="");var h=c[d++];
102==h&&(h=!1);"boolean"==typeof h?(f=c[d++],c=c[d],h?(d=this.xa[b],Uj(this,b,!0,!0),d.Ie=!0,b=new Dj(this,d,"preload"),this.Ej(d,b,f,c,!0)):Wj(this,b,f,c,!0)?a.ta&&c&&Xj(this,f,c,a.ta):this.Na(!1)):void 0!==h&&a.ta&&0>a.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.Za&&(a.Ka=a.ta.seek(a.jb,a.Ja,a.Wa));return e};k.ej=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.dj(this.xa[c]);return b};
k.dj=function(a){var b=0,c=[];c[b++]=a.Ta;c[b++]=[a.name,a.gb,a.hb,a.mb,a.Ya,a.Je,a.Qg,a.Df,a.Ef];c[b++]=a.Ja;c[b++]=a.rd+100;c[b++]=a.jb;c[b++]=a.Wa;c[b++]=a.td;c[b++]=a.fb;c[b++]=a.Za;c[b++]=a.Ie;c[b++]=a.il;c[b]=a.qe;return c};k.df=function(a){a||(this.$d=0);if(this.de)for(var b in this.de){var c=this.de[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.xa.length){!Wj(this,d,c.name,c.path,!0)&&a&&this.Na(!1);continue}}this.ya("Unrecognized auto-mount specification for drive "+b)}return!!this.$d};
function Rj(a,b,c,d){var e,f=a.ra.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.xa.length)if(c)if("?"==c)a.ya("Use 'Load' to load local disks");else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.Zb("Attempting to load "+c+' as "'+b+'"')}for(a.Zb("loading disk "+c+"...");Wj(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,h=c,g=void 0,g=0;g<f.hc.length;g++)if(f.hc[g][1]==
h){f.hc.splice(g,1);break}Uj(a,e,!1,!0)}}else Uj(a,e);else a.ya("Nothing to load")}function Wj(a,b,c,d,e,f){var h=a.xa[b];if(d&&h.qe!=d){Uj(a,b,e,!0);if(h.tc)return a.ya("Drive "+b+" busy"),!0;h.tc=!0;e&&(h.he=!0,a.$d++);h.Ie=!!f;(new Dj(a,h,"preload")).load(c,d,f,a.Ej);return!1}return!0}
k.Ej=function(a,b,c,d,e){var f;a.tc=!1;b&&(f=b.info(),b&&f[0]>a.gb||f[1]>a.hb)&&(this.ya('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Xa)),b=null);b?(a.ta=b,a.il=c,a.qe=d,Xj(this,c,d,b),f=b.info(),this.Md|=128,this.ya('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Xa),a.he||e),a.Qg=f[0],a.Df=f[1],a.Ef=f[2]):a.Ie=!1;a.he&&(a.he=!1,--this.$d||this.Na());Qj(this,a.Xa)};
function Pj(a,b,c){if(a=a.ra.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.innerHTML=b;a.appendChild(d)}}function Qj(a,b){if(0<=b&&b<a.xa.length){var c=a.xa[b],d=a.ra.listDisks,e=a.ra.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Ie?"?":c.qe,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function Uj(a,b,c,d){var e=a.xa[b];e.ta&&(Vj(a,e.qe,e.ta),e.il="",e.qe="",e.ta=null,e.Ie=!1,a.Md|=128,d||a.ya("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Qj(a,b))}function Xj(a,b,c,d){var e;for(e=0;e<a.hc.length;e++)if(a.hc[e][1]==c){d.restore(a.hc[e][2]);return}a.hc[e]=[b,c,[]]}function Vj(a,b,c){var d;for(d=0;d<a.hc.length;d++)if(a.hc[d][1]==b){a.hc[d][2]=c.save();break}}k.An=function(a,b){b&4?this.Ve&4||this.Ve&8&&this.ja&&di(this.ja,6):this.gd();this.Ve=b};k.nm=function(){return this.wa};
k.lm=function(){var a=0;this.qb<this.ab&&(a=this.Sb[this.qb]);this.Ve&8&&this.ja&&ei(this.ja,6);++this.qb>=this.ab&&(this.wa&=-81,this.qb=this.ab=0);return a};
k.zn=function(a,b){this.ab<this.Sb.length&&(this.Sb[this.ab++]=b);var c=this.Sb[0]&31;if(void 0!==Oj[c]&&this.ab>=Oj[c].ad){var d=!1;this.qb=0;var c=this.Ia(),e,f,h,g,m,n=c&31;switch(n){case 3:this.Ia(l.Vo);this.Ia(l.Bo);this.Fb();break;case 4:f=this.Ia(l.Xe);this.Xa=f&3;e=this.xa[this.Xa];this.Fb();this.Rb((e.Ta&4278190080)>>>24,l.Yo);break;case 5:case 6:f=this.Ia(l.Xe);d=f>>2&1;this.Xa=f&3;e=this.xa[this.Xa];e.Ja=d;f=e.jb=this.Ia(l.lj);h=this.Ia(l.mj);g=e.Wa=this.Ia(l.oj);m=this.Ia(l.jh);e.fb=128<<
m;e.td=this.Ia(l.wo);this.Ia(l.tl);this.Ia(l.vo);6==n?this.Eh(e):this.Fh(e);Yj(this,e,c,d,f,h,g,m);d=!0;break;case 7:f=this.Ia(l.Xe);this.Xa=f&3;e=this.xa[this.Xa];e.jb=e.rd=0;e.Ta=268435488;this.Fb();d=!0;break;case 8:e=this.xa[this.Xa];e.Ja=0;this.Fb();this.Rb(e.Xa|e.Ja<<2|e.Ta&255,l.vl);this.Rb(e.jb,l.Ko);this.Xa=this.Xa+1&3;break;case 10:f=this.Ia(l.Xe);d=f>>2&1;this.Xa=f&3;e=this.xa[this.Xa];f=e.jb;h=e.Ja=d;g=e.Wa=1;m=0;e.Ta=0;e.ta&&(e.Ka=e.ta.seek(e.jb,e.Ja,e.Wa))?m=e.Ka.length:e.Ta=72;Yj(this,
e,c,d,f,h,g,m);d=!0;break;case 13:f=this.Ia(l.Xe);d=f>>2&1;this.Xa=f&3;e=this.xa[this.Xa];f=e.jb;h=e.Ja=d;g=1;m=this.Ia(l.jh);e.fb=128<<m;e.td=this.Ia(l.Qo);this.Ia(l.tl);e.uj=this.Ia(l.sl);this.Dj(e);Yj(this,e,c,d,f,h,g,m);d=!0;break;case 15:f=this.Ia(l.Xe),this.Xa=f&3,e=this.xa[this.Xa],e.Ja=f>>2&1,f=this.Ia(l.Ho),e.jb+=f-e.rd,0>e.jb&&(e.jb=0),e.jb>=e.gb&&(e.jb=e.gb-1),e.rd=f,e.Ta=32,0==e.jb&&(e.Ta|=268435456),this.Fb(),d=!0}0<this.ab&&(this.wa|=80);this.Ve&8&&(!e||e.Ta&8||!d||this.ja&&di(this.ja,
6))}};k.mm=function(){var a=this.Md;this.Md&=-129;return a};k.yn=function(a,b){this.dl=b};function Yj(a,b,c,d,e,f,h,g){a.Fb();a.Rb(b.Xa|b.Ja<<2|b.Ta&255,l.vl);a.Rb((b.Ta&65280)>>>8,l.Wo);a.Rb((b.Ta&16711680)>>>16,l.Xo);var m=0;if(e!=b.jb||f!=b.Ja)m=h=1;c&128&&(f^=m,d||(m=0));a.Rb(e+m,l.lj);a.Rb(f,l.mj);a.Rb(h,l.oj);a.Rb(g,l.jh)}k.Ia=function(){var a=this.Sb[this.qb];this.qb++;return a};k.Fb=function(){this.qb=this.ab=0};k.Rb=function(a){this.Sb[this.ab++]=a};
k.Ch=function(a,b,c){void 0===b||0>b?this.xc(a,c):c(-1,!1)};k.Dh=function(a,b){return void 0!==b&&0<=b?this.Ac(a,b):-1};k.Al=function(a,b){return void 0!==b&&0<=b?this.ij(a,b):-1};k.Eh=function(a){a.Ta=72;a.ta&&(a.Ka=null,a.Ta=0,this.ja&&(Uh(this.ja,2,this,"dmaRead",a),Qh(this.ja,2)))};k.Fh=function(a){a.Ta=72;a.ta&&(a.ta.Ke?a.Ta=576:(a.Ka=null,a.Ta=0,this.ja&&(Uh(this.ja,2,this,"dmaWrite",a),Qh(this.ja,2))))};
k.Dj=function(a){a.Ta=72;a.ta&&(a.Ka=null,a.Ta=0,this.ja&&(a.ce=0,a.ic=Array(4),a.ef=!0,a.kf=0,Uh(this.ja,2,this,"dmaFormat",a),Qh(this.ja,2),a.ef=!1))};k.xc=function(a,b){var c=-1;if(!a.Ta&&a.ta){do{if(a.Ka&&0<=(c=Mj(a.Ka,a.Za++)))break;a.Ka=a.ta.seek(a.jb,a.Ja,a.Wa);if(!a.Ka){a.Ta=1088;break}a.Za=0;this.bf(a)}while(1)}b(c,!1)};
k.Ac=function(a,b){if(a.Ta||!a.ta)return-1;do{if(a.Ka&&a.ta.write(a.Ka,a.Za++,b))break;a.Ka=a.ta.seek(a.jb,a.Ja,a.Wa);if(!a.Ka){a.Ta=8256;b=-1;break}a.Za=0;this.bf(a)}while(1);return b};k.bf=function(a){a.Wa++;a.Wa>=a.Ef+1&&(a.Wa=1,a.Ja++,a.Ja>=a.Df&&(a.Ja=0,a.jb++))};k.ij=function(a,b){if(a.Ta)return-1;a.ic[a.ce++]=b;if(a.ce==a.ic.length){a.jb=a.ic[0];a.Ja=a.ic[1];a.Wa=a.ic[2];a.fb=128<<a.ic[3];for(var c=a.ce=0;c<a.fb;c++)if(0>this.Ac(a,a.uj))return-1;a.kf++}a.kf>=a.td&&(b=-1);return b};
var Sj={1012:Nj.prototype.nm,1013:Nj.prototype.lm,1015:Nj.prototype.mm},Tj={1010:Nj.prototype.An,1013:Nj.prototype.zn,1015:Nj.prototype.yn};u(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Nj(d);Ja(d,c)}});
function $(a){v.call(this,"HDC",a,$);this.dmaRead=this.Ch;this.dmaWrite=this.Dh;this.dmaWriteBuffer=this.Bl;this.dmaWriteFormat=this.Cl;this.lh=[];if(a.drives)try{this.lh=eval("("+a.drives+")")}catch(b){s("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.tf=(this.ge="at"==a.type)?1:0;this.Rl=this.ge?2:3}y(v,$);
var Zj=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=$.prototype;k.zb=function(){return!1};k.mc=function(a,b,c,d){this.qa=b;this.la=c;this.Sa=d;this.La=a;this.ja=C(a,"ChipSet");bb(b,this,this.ge?ak:bk);db(b,this,this.ge?ck:dk);nc(c,19,this,this.Pm);nc(c,64,this,this.Qm);this.reset();this.df()||this.Na()};
k.Qb=function(a,b){if(!b)if(!a||!this.restore)this.gd(),this.La.Mh&&this.df(!0);else if(!this.restore(a))return!1;return!0};k.Pb=function(a){return a&&this.save?this.save():!0};k.Le=function(){return this.La?this.La.Le():""};k.Bd=function(){return this.La?this.La.Bd():""};k.reset=function(){this.gd(null,!0)};k.save=function(){var a=new G(this);a.set(0,this.cj());return a.data()};k.restore=function(a){return this.gd(a[0])};
k.gd=function(a,b){var c=0,d=!0;if(this.ge)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.md=a[c++],this.hl=a[c++],this.Nd=a[c++],this.$g=a[c++],this.Yg=a[c++],this.Xg=a[c++],this.Ue=a[c++],this.wa=a[c++],this.aj=a[c++],this.Zg=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Pf=a[c++];this.wa=a[c++];this.Sb=a[c++];this.qb=a[c++];this.ab=a[c++];this.gl=a[c++];this.fl=a[c++];this.el=a[c++];var e=a[c++];void 0!==e?this.Me=e:void 0===this.Me&&(this.Me=-1)}void 0===this.xa&&(this.xa=Array(this.lh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.xa.length;e++){void 0===this.xa[e]&&(this.xa[e]={});var f=this.xa[e];this.Wh(e,f,this.lh[e],c[e],b)||(d=!1);null!=this.Pf&&1>=e&&(this.Pf|=(f.type&3)<<(1-e<<1))}return d};
k.cj=function(){var a=0,b=[];this.ge?(b[a++]=this.md,b[a++]=this.hl,b[a++]=this.Nd,b[a++]=this.$g,b[a++]=this.Yg,b[a++]=this.Xg,b[a++]=this.Ue,b[a++]=this.wa,b[a++]=this.aj,b[a++]=this.Zg):(b[a++]=this.Pf,b[a++]=this.wa,b[a++]=this.Sb,b[a++]=this.qb,b[a++]=this.ab,b[a++]=this.gl,b[a++]=this.fl,b[a++]=this.el,b[a++]=this.Me);b[a]=this.ej();return b};
k.Wh=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.Xa=a;b.errorCode=d[f++];b.ml=d[f++];b.Je=d[f++];b.Ae=d[f++];b.Be=d[f++];b.Ja=d[f++];b.hb=d[f++];b.Pd=d[f++];b.Wa=d[f++];b.td=d[f++];b.fb=d[f++];b.og=this.ge?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Bd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Zj[this.tf][b.type])b.type=this.Rl;c=Zj[this.tf][b.type];
b.mb=c[2]||17;b.Ya=c[3]||512;if(e&&this.ja&&(e=this.ja,c=b.type,e.oa)){var g=e.oa[18],g=a?g&240|c:g&15|c<<4;e.oa&&(e.oa[18]=g,Eh(e))}void 0===b.ta&&(b.ta=null,this.ya("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));ek(this,b);b.Za=d[f++];b.Ka=null;b.ta&&(a=d[f],void 0!==a&&0>b.ta.restore(a)&&(h=!1),h&&void 0!==b.Za&&(b.Ka=b.ta.seek(b.Pd,b.Ja,b.Wa+b.og)));return h};k.ej=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.dj(this.xa[c]);return b};
k.dj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.ml;c[b++]=a.Je;c[b++]=a.Ae;c[b++]=a.Be;c[b++]=a.Ja;c[b++]=a.hb;c[b++]=a.Pd;c[b++]=a.Wa;c[b++]=a.td;c[b++]=a.fb;c[b++]=a.Za;c[b]=a.ta?a.ta.save():null;return c};
function ek(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ae[2])?e=b.Ae[0]<<8|b.Ae[1]:c=b.type);null==c||d||(d=Zj[a.tf][c][1],e=Zj[a.tf][c][0]);d&&((c=Zj[a.tf][b.type])&&e!=c[0]&&d!=c[1]&&a.ya("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.gb=e,b.hb=d,null==b.ta&&(b.ta=new Dj(a,b,b.mode)))}}
k.df=function(a){a||(this.$d=0);for(var b=0;b<this.xa.length;b++){var c=this.xa[b];if(c.name&&c.path){if(!(a&&c.ta&&c.ta.Ag)){var d;d=c.name;var c=c.path,e=this.xa[b];e.tc?(this.ya("Drive "+b+" busy"),d=!0):(e.tc=!0,e.he=!0,this.$d++,(e.ta||new Dj(this,e,e.mode)).load(d,c,null,this.El),d=!1);!d&&a&&this.Na(!1)}}else a&&void 0!==c.type&&(c.ta=null,ek(this,c,c.type))}return!!this.$d};
k.El=function(a,b,c){a.tc=!1;(a.ta=b)&&this.ya('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Xa),a.he);a.he&&(a.he=!1,--this.$d||this.Na())};k.Nm=function(){var a=0;this.qb<this.ab&&(a=this.Sb[this.qb]);this.ja&&ei(this.ja,5);this.wa&=-33;++this.qb>=this.ab&&(this.qb=this.ab=0,this.wa&=-15);return a};k.Wn=function(a,b){this.ab<this.Sb.length&&(this.Sb[this.ab++]=b);var c=12!=this.Sb[0]?6:this.Sb.length;6==this.ab&&(this.wa&=-2);this.ab>=c&&(this.wa|=2,this.wa&=-2,fk(this))};
k.Om=function(){var a=this.wa;this.qb<this.ab&&(this.wa|=1);return a};k.Zn=function(a,b){this.gl=b;this.ja&&ei(this.ja,5);this.gd()};k.Mm=function(){return this.Pf};k.Yn=function(a,b){this.fl=b;this.wa=13};k.Xn=function(a,b){this.el=b};k.Wi=function(){};k.Zl=function(){var a=-1;if(this.Pa&&(a=this.xc(this.Pa),this.Pa.Za==this.Pa.Ya))if(this.Pa.fb-=this.Pa.Ya,this.Nd=this.Nd-1&255,this.Pa.fb>=this.Pa.Ya){var b=this;this.xc(this.Pa,function(a){0<=a?gk(b):(b.wa=1,b.md=16)},!1)}else this.wa=80;return a};
k.mn=function(a,b){this.Pa&&this.Pa.fb>=this.Pa.Ya&&(0>this.Ac(this.Pa,b)?(this.wa=1,this.md=16):this.Pa.Za==this.Pa.Ya&&(this.Pa.fb-=this.Pa.Ya,this.Nd=this.Nd-1&255,gk(this),this.Pa.fb>=this.Pa.Ya||(this.wa=80)))};k.am=function(){return this.md};k.rn=function(a,b){this.hl=b};k.bm=function(){return this.Nd};k.pn=function(a,b){this.Nd=b};k.cm=function(){return this.$g};k.qn=function(a,b){this.$g=b};k.Yl=function(){return this.Yg};k.ln=function(a,b){this.Yg=b};k.Xl=function(){return this.Xg};
k.kn=function(a,b){this.Xg=b};k.$l=function(){return this.Ue};k.nn=function(a,b){this.Ue=b;this.wa=this.xa[this.Ue&16?1:0]?this.wa|64:this.wa&-65};k.dm=function(){return this.wa};k.jn=function(a,b){this.aj=b;this.ja&&ei(this.ja,14);hk(this)};k.on=function(a,b){this.Zg&4&&!(b&4)&&(this.md=1);this.Zg=b};
function hk(a){var b=!1,c=a.aj,d=a.Ue&16?1:0,e=a.Ue&15,f=a.Yg|(a.Xg&3)<<8,h=a.$g,g=a.Nd||256;a.Pa=null;a.md=0;a.wa=80;(d=a.xa[d])?(d.Pd=f,d.Ja=e,d.Wa=h,d.fb=g*d.Ya,c=144<=c?c:c&240,d.Ka=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.xc(d,function(b){0<=b&&a.ja?(gk(a),a.wa=136):(a.wa=1,a.md=16)},!1);break;case 48:a.ja?(gk(a),a.wa=136):(a.wa=1,a.md=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.md=1;b=!0;break;case 145:d.hb=e+1,d.mb=g,b=!0}b&&gk(a)}
function gk(a){!a.ja||a.Zg&2||di(a.ja,14)}
function fk(a){a.qb=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,h=a.Ia(),g=a.Ia(),m=h<<2&768|g,n=h&63,q=a.Ia(),w=a.Ia(),t=a.xa[e];t&&(t.Pd=m,t.Ja=f,t.Wa=n,t.fb=q*t.Ya);switch(b){case 3:a.Fb(t?t.errorCode:4);a.Rb(c);a.Rb(h);a.Rb(g);a.Rb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)t&&c<t.Ae.length&&(t.Ae[c++]=b);t&&ek(a,t);b=0;t||a.Me!=e||(a.Me=-1,b=2);a.Fb(b|d);b=-1;break;case 224:case 228:a.Fb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.ml=0),b){case 0:a.Fb(0|d);break;case 1:t.mp=
w;a.Fb(0|d);break;case 5:a.Fb(0|d);break;case 8:a.Eh(t,function(b){a.Fb(b|d)});break;case 10:a.Fh(t,function(b){a.Fb(b|d)});break;case 15:ik(a,t,function(b){a.Fb(b|d)});break;default:a.Fb(2|d)}}k.Ia=function(){var a=-1;this.qb<this.ab&&(a=this.Sb[this.qb++]);return a};k.Fb=function(a){this.qb=this.ab=0;void 0!==a&&this.Rb(a);this.ja&&di(this.ja,5);this.wa|=32};k.Rb=function(a){this.Sb[this.ab++]=a};k.Ch=function(a,b,c){void 0===b||0>b?this.xc(a,c):c(-1,!1)};
k.Dh=function(a,b){return void 0!==b&&0<=b?this.Ac(a,b):-1};k.Bl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Za<a.Be.length?a.Be[a.Za++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Cl=function(a,b){return void 0!==b&&0<=b?this.ij(a,b):-1};k.Eh=function(a,b){a.errorCode=4;if(a.ta&&(a.Ka=null,this.ja)){a.errorCode=0;Uh(this.ja,3,this,"dmaRead",a);Qh(this.ja,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.Fh=function(a,b){a.errorCode=4;if(a.ta&&(a.Ka=null,this.ja)){a.errorCode=0;Uh(this.ja,3,this,"dmaWrite",a);Qh(this.ja,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function ik(a,b,c){b.errorCode=4;b.Be&&b.Be.length==b.fb||(b.Be=Array(b.fb));b.Za=0;a.ja?(b.errorCode=0,Uh(a.ja,3,a,"dmaWriteBuffer",b),Qh(a.ja,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Dj=function(a,b){a.errorCode=4;if(a.ta&&(a.Ka=null,this.ja)){a.ce=0;a.ic=Array(4);a.ef=!0;a.kf=0;a.errorCode=0;Uh(this.ja,3,this,"dmaWriteFormat",a);Qh(this.ja,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.ef=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.xc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.Ka&&(d=Mj(a.Ka,a.Za),a.Za+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.ta)return a.ta.seek(a.Pd,a.Ja,a.Wa+a.og,!1,function(c,g){(a.Ka=c)?(a.Za=0,f.bf(a),d=Mj(a.Ka,a.Za),a.Za+=e):a.errorCode=20;b(d,g)}),d;a.errorCode=20;b(d,!1)}return d};
k.Ac=function(a,b){if(a.errorCode)return-1;do{if(a.Ka&&a.ta.write(a.Ka,a.Za++,b))break;a.ta&&a.ta.seek(a.Pd,a.Ja,a.Wa+a.og,!0,function(b){a.Ka=b});if(!a.Ka){a.errorCode=20;b=-1;break}a.Za=0;this.bf(a)}while(1);return b};k.bf=function(a){a.Wa++;var b=1-a.og;a.Wa>=a.mb+b&&(a.Wa=b,a.Ja++,a.Ja>=a.hb&&(a.Ja=0,a.Pd++))};
k.ij=function(a,b){if(a.errorCode)return-1;a.ic[a.ce++]=b;if(a.ce==a.ic.length){a.Pd=a.ic[0];a.Ja=a.ic[1];a.Wa=a.ic[2];a.fb=128<<a.ic[3];for(var c=a.ce=0;c<a.fb;c++)if(0>this.Ac(a,a.uj))return-1;a.kf++}a.kf>=a.td&&(b=-1);return b};k.Pm=function(){var a=this.la.K&255;!(this.la.H>>8)&&128<a&&(this.Me=a-128);return!0};k.Qm=function(){var a;(a=this.la.H>>8)||(a=!this.ja)||(a=!(this.ja.rb[0].$c&64));return a?!0:!1};
var bk={800:$.prototype.Nm,801:$.prototype.Om,802:$.prototype.Mm},ak={496:$.prototype.Zl,497:$.prototype.am,498:$.prototype.bm,499:$.prototype.cm,500:$.prototype.Yl,501:$.prototype.Xl,502:$.prototype.$l,503:$.prototype.dm},dk={800:$.prototype.Wn,801:$.prototype.Zn,802:$.prototype.Yn,803:$.prototype.Xn,807:$.prototype.Wi,811:$.prototype.Wi,815:$.prototype.Wi},ck={496:$.prototype.mn,497:$.prototype.rn,498:$.prototype.pn,499:$.prototype.qn,500:$.prototype.ln,501:$.prototype.kn,502:$.prototype.nn,503:$.prototype.jn,
1014:$.prototype.on};u(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $(d);Ja(d,c)}});var Sc=8;function G(a,b,c){this.id=a.id;this.key=jk(a,b,c);this.Sa=a.Sa;mk(this,a.$n)}function jk(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}
G.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Lh=!0):this.Lh?!0:na()&&(a=oa(this.key))?(this[this.id]=a,this.Lh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){s(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){mk(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(f){}b.splice(c,1);c=0}}};function mk(a,b){a[a.id]={};b&&a.set("parms",b);a.Lh=!1}function nk(a){var b=!0;if(na()){var c=JSON.stringify(a[a.id]);pa(a.key,c)||(s("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function ok(a,b,c){v.call(this,"Computer",a,ok);this.na.Gb=!1;this.uf=a.buswidth;this.yc=pk;this.Tf=null;this.Dg=!1;this.url=b?b.url:null;this.io=(Math.random()+0.1).toString(36).substr(2,12);this.zc=qk(this);if(this.la=Ia("CPU",this.id)){this.Sa=Ia("Debugger",this.id);this.qa=new Pa({id:this.Rj+".bus",buswidth:this.uf},this.la,this.Sa);var d,e=Ga(this.id);if((this.Of=Ia("Panel",this.id))&&this.Of.zh)for(b=0;b<e.length;b++)d=e[b],d.ya=this.Of.ya,d.Zb=this.Of.Zb,d.zh=this.Of.zh;for(b=0;b<e.length;b++)d=
e[b],d.mc&&d.mc(this,this.qa,this.la,this.Sa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.bh=d:this.yc=parseInt(d,10));var f;if(a=Ba&&Ba.state||(f=!0,a.state))b=this.kl=a,f||(this.Dg=!0,this.yc=pk),this.yc&&(this.fh=new G(this,"1.16.0"),this.fh.load()?b=null:delete this.fh);!b&&this.yc&&(f=null,this.zc&&(f=la()+"/api/v1/user?req=load&user="+this.zc+"&state="+jk(this,"1.16.0")),b=f)&&(this.Dg=!0);b?r(b,!0,null,this,this.cn):this.Na();c||rk(this,this.Vg)}else s("Unable to find CPU component")}
y(v,ok);var pk=0;k=ok.prototype;k.Le=function(){return this.io};k.Bd=function(){return this.zc?this.zc:""};k.cn=function(a,b,c){c?(this.bh=null,this.Dg=!1,this.ya("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Tf=b;this.Na()};function rk(a,b,c){for(var d=Ga(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){rk(a,b,c)});return}}b.call(a,c)}
function sk(a,b){var c=new G(a,"1.16.0","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.ya("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Vg=function(a){void 0===a&&(a=this.yc||(this.Tf?1:pk));var b=!1,c=!1;this.Lj=!1;var d=this.fh||new G(this,"1.16.0");if(-1==a)b=!0;else if(a>pk){if(d.load(this.Tf)){this.te=new G(this,"1.16.0","failsafe");this.te.load()&&(tk(this,d),a=2,mk(this.te));this.te.set("timestamp",ia());nk(this.te);var e=this.yc&&!this.Dg;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),h=d.get("data");f&&("ok"==f?d.load(h):("error"==
f&&"no machine state"!=h?(this.ya("Error: "+h),"unable to verify user"==h&&(pa("user",""),this.zc=null)):this.Zb(f+": "+h),mk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&sk(this,c?d:null)}else 2==a&&d.clear()}else sk(this);delete this.Tf;delete this.fh}e=Ga(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.la&&(c=uk(this,h,d,b,c));b=[d,a,c];-1!=a?rk(this,this.Fj,b):this.Fj(b)};
function uk(a,b,c,d,e){if(!b.na.Gb){b.na.Gb=!0;if(b.Qb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Qb(f,d)&&f&&(s("Unable to restore state for "+b.type),a.kl&&!a.Tf?(c.clear(),a.yc=pk,window&&window.location.reload()):a.Lj=!0,b.Qb(null),e=!1)}if(!d&&b.Bj)for(a=b.Bj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Fj=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Gb=!0;this.Jj||(this.Zb("PCjs v1.16.0\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Jj=!0);this.la&&uk(this,this.la,b,c,a);this.Lj&&(tk(this,b),b.clear());!c&&this.te&&(this.te.clear(),delete this.te)};
function tk(a,b){if(ma("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Bd(),d=b.toString(),e={app:"PCjs",ver:"1.16.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",!0,e)}}
function vk(a,b,c){var d,e="none",f=new G(a,"1.16.0"),h=new G(a,"1.16.0","validate"),g=ia();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.16.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.la&&a.la.Pb&&(c&&mb(a.la),d=a.la.Pb(b,c),"object"===typeof d&&f.set(a.la.id,d),c&&(a.la.na.Gb=!1,!1===d&&(e=null)));for(var g=Ga(a.id),m=0;m<g.length;m++){var n=g[m];n.na.Gb&&(n.Pb&&(d=n.Pb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.na.Gb=
!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.zc&&wk(a,a.zc,f.toString()),nk(h)&&nk(f)||(e=null,d=g=!0)):a.yc&&(d=!0,g=3==a.yc),d&&f.clear(g)):e=f.toString());c&&(a.na.Gb=!1);return e}k.reset=function(){this.qa&&this.qa.reset&&this.qa.reset();for(var a=Ga(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.qa&&c.reset&&c.reset()}};k.start=function(a,b){for(var c=Ga(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
k.stop=function(a,b){for(var c=Ga(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};k.zb=function(a,b,c,d){var e=this;switch(c){case "save":return this.ra[c]=d,d.onclick=function(){var a=qk(e,!0);if(a){var b=!(!e.yc||e.bh),c=vk(e,b);b?wk(e,a,c):e.ya("Resume disabled, machine state not saved")}},!0;case "reset":return this.ra[c]=d,d.onclick=function(){nb(e)},!0}return!1};
function qk(a,b){var c=a.zc;c||(c=oa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=xk(a,c))||a.ya("Your user ID has not been approved."))):b&&a.ya("Browser local storage is not available"));return c}
function xk(a,b){a.zc=null;var c=r(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(pa("user",c.data),a.zc=c.data)}catch(e){s(e.message+" ("+d+")")}return a.zc}
function wk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=jk(a,"1.16.0");d.data=c;b=r(la()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ya("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.ya(c),pa("user",""),a.zc=null)}}
function nb(a){if(a.yc&&!a.bh){var b=ma("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");vk(a,b,!0);!b&&a.kl?window&&window.location.reload():(b||(a.Mh=!0),a.Vg(pk),a.Mh=!1)}else a.reset(),a.la&&lb(a.la)}function C(a,b,c){a=Ga(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
u(function(){for(var a=A(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new ok(h,d,!0);Ja(h,f);rk(h,h.Vg)}});ra.show.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.Jj&&!c.na.Gb&&c.Vg(-1)}});
ra.exit.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.na.Gb&&vk(c,!(!c.yc||c.bh),!0)}});var yk=0;function zk(a,b,c,d,e,f){e("Loading "+a+"...");r(a,!0,null,null,function(h,g,m){m?(g||(g="unable to load "+a+" ("+m+")"),f(g,null)):Ak(g,a,b,c,d,e,f)})}
function Ak(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){var g=b;g&&0>g.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),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?e?Bk(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Bk(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,!0,null,null,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=g[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=m&&(h=h.replace(g[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);Bk(a,b,c)}})}else c(a,null)}
function Ck(a,b,c,d){function e(a){if(void 0===m){var b=g&&A(g,"machine-warning");m=b&&b[0]||g}m&&(m.innerHTML=ga(a))}function f(a){e("Error: "+a);n&&h();n=!1}function h(){0==--yk&&ya(!0)}var g,m,n=!0;yk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.0/components.xsl");var q=function(a,d){if(d){var m=function(a,m){if(m)if(m)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(m);n?(g.outerHTML=n,h()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(m),(n=n.transformToFragment(d,window.document))?(g.parentNode.replaceChild(n,g),h()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?zk(c,null,null,!1,e,m):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?zk(b,a,d,!0,e,q):Ak(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(w){f(w.message)}return n}
window.embedPC=function(a,b,c,d){ya(!1);return Ck(a,b,c,d)};window.enableEvents=ya;window.sendEvent=za;})();
function Z(a){this.Qj=a.adapter;switch(this.Qj){case 1:this.$i=1016;this.Df=4;break;case 2:this.$i=760;this.Df=3;break;default:s("Unrecognized serial adapter #"+this.Qj);return}this.yd=null;v.call(this,"SerialPort",a,Z);var b=a.binding,c;a=Aj;b&&(void 0===c&&(c="Panel"),(c=Ia(c,this.id))&&(b=c.qa[b])&&this.Bb(null,null,a,b))}y(v,Z);var Aj="buffer";k=Z.prototype;k.tj=function(a,b){return a==this.Wh?(this.Fd=b,this):null};
k.Bb=function(a,b,c,d){var e=this;switch(c){case Aj:return this.qa[c]=this.yd=d,d.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Bj(e,[b]))},d.onkeypress=function(a){a=a||window.event;Bj(e,[a.which||a.keyCode])},!0}return!1};k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;this.ja=B(a,"ChipSet");bb(b,this,Cj,this.$i);db(b,this,Dj,this.$i);this.Na()};
k.Sb=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Rb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new G(this),b=0,c=[];c[b++]=this.uh;c[b++]=this.xj;c[b++]=this.xe;c[b++]=this.hg;c[b++]=this.ud;c[b++]=this.Zd;c[b++]=this.Oc;c[b++]=this.qc;c[b++]=this.vj;c[b]=this.bf;a.set(0,c);return a.data()};k.restore=function(a){return this.Ed(a[0])};
k.Ed=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.uh=a[b++];this.xj=a[b++];this.xe=a[b++];this.hg=a[b++];this.ud=a[b++];this.Zd=a[b++];this.Oc=a[b++];this.qc=a[b++];this.vj=a[b++];this.bf=a[b];return!0};function Bj(a,b){a.bf=a.bf.concat(b);Ej(a)}function Ej(a){0<a.bf.length&&!(a.qc&1)&&(a.uh=a.bf.shift(),a.qc|=1);var b=-1;a.qc&1&&a.hg&1&&(b=4);0<=b?(a.ud&=-8,a.ud|=b,a.ja&&a.Df&&hi(a.ja,a.Df)):(a.ud|=1,a.ja&&a.Df&&ii(a.ja,a.Df))}
k.Im=function(){var a=this.Zd&128?this.xe&255:this.uh;this.qc&=-2;Ej(this);return a};k.tm=function(){return this.Zd&128?this.xe>>8:this.hg};k.um=function(){return this.ud};k.vm=function(){return this.Zd};k.xm=function(){return this.Oc};k.wm=function(){return this.qc};k.Dm=function(){return this.vj};
k.Vn=function(a,b){if(this.Zd&128)this.xe=this.xe&-256|b;else{this.xj=b;this.qc&=-97;var c;this.yd?(13!=b&&(8==b?this.yd.value=this.yd.value.slice(0,-1):(this.yd.value+=String.fromCharCode(b),this.yd.scrollTop=this.yd.scrollHeight)),c=!0):c=!1;c&&(this.qc|=96)}};k.Gn=function(a,b){this.Zd&128?this.xe=this.xe&255|b<<8:this.hg=b};k.Hn=function(a,b){this.Zd=b};
k.In=function(a,b){var c=this.Oc;this.Oc=b;if(this.Fd&&(c^b)&3){var c=this.Fd,d=this.Oc,e=3==(d&3);if(e){if(!c.Jc){var f=!1;c.Oc&2||(c.reset(),f=!0);c.Oc&1||(f=!0);f&&Bj(c.lf,[77,77]);Fj(c,c.Ta);c.setActive(e)}}else c.Jc&&(Gj(c.Ta),c.setActive(e));c.Oc=d}};var Cj={0:Z.prototype.Im,1:Z.prototype.tm,2:Z.prototype.um,3:Z.prototype.vm,4:Z.prototype.xm,5:Z.prototype.wm,6:Z.prototype.Dm},Dj={0:Z.prototype.Vn,1:Z.prototype.Gn,3:Z.prototype.Hn,4:Z.prototype.In};
u(function(){for(var a=A(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Z(d);Ja(d,c)}});function Hj(a){v.call(this,"Mouse",a,Hj);if(this.Vh=a.serial)this.cj="SerialPort";this.setActive(!1);this.Ag=!1;this.Na()}y(v,Hj);k=Hj.prototype;k.oc=function(a,b,c,d){this.Ma=a;this.ra=b;this.ka=c;this.Va=d;this.hh=B(this.Ma,"Video")};k.setActive=function(a){this.Jc=a};
k.Sb=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.cj&&!this.lf){for(var c=null;(c=B(this.Ma,this.cj,c))&&(!c.tj||!(this.lf=c.tj(this.Vh,this))););this.lf?this.hh&&(c=this.hh,c.Fd=this,this.Ta=c.Ta):s(this.id+": "+this.cj+" "+this.Vh+" unavailable")}this.Jc?Fj(this,this.Ta):Gj(this.Ta)}return!0};k.Rb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ed()};k.save=function(){var a=new G(this);a.set(0,this.gj());return a.data()};
k.restore=function(a){return this.Ed(a[0])};k.Ed=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Vf=a[b++];this.Wf=a[b++];this.ye=a[b++];this.ze=a[b++];this.vg=a[b++];this.wg=a[b++];this.Oc=a[b];return!0};k.gj=function(){var a=0,b=[];b[a++]=this.Jc;b[a++]=this.Vf;b[a++]=this.Wf;b[a++]=this.ye;b[a++]=this.ze;b[a++]=this.vg;b[a++]=this.wg;b[a]=this.Oc;return b};k.Kf=function(a){this.Ag=a};
function Fj(a,b){b&&(a.Jh||(b.addEventListener("mousemove",function(b){if(a.Jc&&a.ka&&a.ka.na.vc){if(0>a.Vf||0>a.Wf)a.Vf=b.clientX,a.Wf=b.clientY;a.Ag?(a.ye=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.ze=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.ye=b.clientX-a.Vf,a.ze=b.clientY-a.Wf);(a.ye||a.ze)&&Ij(a);a.Vf=b.clientX;a.Wf=b.clientY}},!1),b.addEventListener("mousedown",function(b){Jj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Jj(a,b.button,!1)},!1),a.Jh=!0),b.style.cursor=
"none")}function Gj(a){a&&(a.style.cursor="auto")}function Jj(a,b,c){if(a.Jc&&a.ka&&a.ka.na.vc){var d;!(d=!1!==a.Ag)&&(d=a.hh)&&(d=a.hh,d=d.Hl?d.Re(!0):!1);d||(a.Ag=null);switch(b){case 0:a.vg!=c&&(a.vg=c,Ij(a));break;case 2:a.wg!=c&&(a.wg=c,Ij(a))}}}function Ij(a){Bj(a.lf,[64|(a.vg?32:0)|(a.wg?16:0)|(a.ze&192)>>4|(a.ye&192)>>6,a.ye&63,a.ze&63]);a.ye=a.ze=0}u(function(){for(var a=A(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Hj(d);Ja(d,c)}});
function Kj(a,b,c){v.call(this,"Disk",{id:a.Sj+".disk"+Lj++},Kj);this.ea=a;this.Ma=a.Ma;this.Va=a.Va;this.Pa=b;this.Vc=b.name;this.Le=b.Le;this.Bg=this.gd=!1;this.create(c,b.jb,b.kb,b.pb,b.ab);this.Td=[];this.Yf=[];this.qd=null;this.Wj=0;this.Ph=!1;this.Na()}var Lj=0;y(v,Kj);k=Kj.prototype;k.oc=function(a,b,c,d){this.Va=d};k.Sb=function(a,b){b||!this.Bg||this.gd||(this.Na(!1),this.load(this.Vc,this.re,null,this.Gl,this));return!0};k.Gl=function(){this.Na(!0)};
k.Rb=function(a,b){if(this.gd){var c,d=0;if(this.Ph&&!ma("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Mj(this,!1);)if(d=c[0]){this.ea.ya('Unable to save "'+this.Vc+'" (error '+d+")");break}b&&this.gd&&(c="action=close&volume="+this.re,c+="&machine="+this.ea.Ne(),c+="&user="+this.ea.Dd(),r(la()+"/api/v1/disk?"+c,!0),this.gd=!1);!d&&a&&this.ea.ya(this.Vc+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.jb=b;this.kb=c;this.pb=d;this.ab=e;this.Ya=[];if("preload"!=this.mode){a=Array(this.jb);for(b=0;b<a.length;b++){c=Array(this.kb);for(d=0;d<c.length;d++){e=Array(this.pb);for(var f=1;f<=e.length;f++)e[f-1]=Nj(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Ya=a}this.Ie=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.ke)if(this.Vc=a,this.re=b,this.ke=d,this.Al=e||this.ea,c){var h=this,g=new FileReader;g.onload=function(){var a=g.result,b,c=a?a.byteLength:0,d=ba[c];if(d){h.jb=d[0];h.kb=d[1];h.pb=d[2];h.ab=512;b=h.ab>>2;var e=d=0,a=new DataView(a,0,c);h.Ya=Array(h.jb);for(c=0;c<h.Ya.length;c++)for(var f=h.Ya[c]=Array(h.kb),H=0;H<f.length;H++)for(var P=f[H]=Array(h.pb),K=0;K<P.length;K++){for(var Q=Nj(null,c,H,K+1,h.ab,0),va=Q.data,Ua=0;Ua<b;Ua++,e+=4)var Ob=va[Ua]=a.getInt32(e,
!0),d=d+Ob&4294967295;Q.lc=b;P[K]=Q}h.Ie=d;b=h}else h.ya("Unrecognized diskette format ("+c+" bytes)");h.ke&&(h.ke.call(h.ea,h.Pa,b,h.Vc,h.re),h.ke=null)};g.readAsArrayBuffer(c)}else 0>b.indexOf("/api/v1/dump")&&(a=ea(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Oj(this,b),this.Bg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f=
la()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Le?"":d)+"&format=json")),r(f,!0,null,this,this.El,b)};
k.El=function(a,b,c,d){var e=null;this.Me=!1;var f=0>c&&this.Ma&&!this.Ma.na.Hb;if(this.Bg)c?this.ea.ya('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.gd=!0,e=this);else if(c)this.ea.ya('Unable to load disk "'+this.Vc+'" (error '+c+")",f);else try{if(0<da(a,!0).toLowerCase().indexOf("-readonly"))this.Me=!0;else{var h=b.indexOf("\n");0<h&&1024>h&&0<b.substring(0,h).indexOf("write-protected")&&(this.Me=!0)}var g;g="<"==b.substr(0,1)?["Missing disk image: "+this.Vc]:0>b.indexOf("0x")&&
'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(g.length)if(1==g.length)s(g[0]);else{this.jb=g.length;this.kb=g[0].length;this.pb=g[0][0].length;var m=g[0][0][0];this.ab=m&&m.length||512;for(b=a=0;b<this.jb;b++)for(c=0;c<this.kb;c++)for(d=0;d<this.pb;d++)if(m=g[b][c][d]){var n=m.length;void 0===n&&(n=m.length=512);var n=n>>2,q=m.pattern;void 0===q&&(q=m.pattern=0);var w=m.data;if(void 0===w){var t=m.bytes;if(void 0!==t&&t.length){for(var f=
n<<2,C=t.length;C<f;C++)t[C]=q;this.fill(m,t,0)}else w=[],q=m.pattern=q|q<<8|q<<16|q<<24,m.data=w;delete m.bytes}Nj(m,b,c);for(f=0;f<w.length;f++)a=a+w[f]&4294967295}this.Ya=g;this.Ie=a;e=this}else s("Empty disk image: "+this.Vc)}catch(H){s("Disk image error: "+H.message)}this.ke&&(this.ke.call(this.Al,this.Pa,e,this.Vc,this.re),this.ke=null)};function Nj(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Rl=b;a.Tl=c;a.Kc=a.lc=0;a.fb=!1;return a}
k.an=function(a,b,c,d){a=!1;if(!c){var e=d[0],f=d[1],h=d[2],g=d[3];a=d[4];b=JSON.parse(b);for(var m=0;g--;){var n=this.seek(e,f,h,!0);if(!n)break;this.fill(n,b,m);m+=n.length;h++}}(d=d[5])&&d(c,a)};function Oj(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.jb+":"+a.kb+":"+a.pb+":"+a.ab;c+="&machine="+a.ea.Ne();c+="&user="+a.ea.Dd();return la()+"/api/v1/disk?"+c}
function Pj(a,b,c,d,e,f){if(a.gd){var h;h="action=read&volume="+a.re;h+="&chs="+a.jb+":"+a.kb+":"+a.pb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.ea.Ne());h+="&user="+a.ea.Dd();r(la()+"/api/v1/disk?"+h,!0,null,a,a.an,[b,c,d,e,!0,f])}else f&&f(-1,!1)}function Qj(a,b,c){b.fb=!0;var d=a.Td.indexOf(b);0<=d&&(a.Td.splice(d,1),a.Yf.splice(d,1));a.Td.push(b);a.Yf.push(ha());c&&Rj(a)}
function Rj(a){if(a.Td.length){var b=a.Yf[0]+2E3;a.qd&&a.Wj<b&&(clearTimeout(a.qd),a.qd=null);if(!a.qd){var c=ha(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.qd=setTimeout(function(){Mj(a,!0)},b);a.Wj=c+b}}else a.qd&&(clearTimeout(a.qd),a.qd=null)}
function Mj(a,b){b&&(a.qd=null);var c=a.Td[0];if(c){for(var d=c.Rl,e=c.Tl,c=c.sector,f=0,h=[],g=c-1;g<a.Ya[d][e].length;g++){var m=a.Ya[d][e][g];if(!m.fb)break;var n=a.Td.indexOf(m);a.Td.splice(n,1);a.Yf.splice(n,1);h=h.concat(Sj(m));m.fb=!1;f++}a.gd?(g={},a.Ph=!0,g.action="write",g.volume=a.re,g.chs=a.jb+":"+a.kb+":"+a.pb+":"+a.ab,g.addr=d+":"+e+":"+c+":"+f,g.machine=a.ea.Ne(),g.user=a.ea.Dd(),g.data=JSON.stringify(h),d=r(la()+"/api/v1/disk",b,g,a,a.fn,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.fn=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ph=!1;if(0<=a&&a<this.Ya.length&&0<=b&&b<this.Ya[a].length)for(e-=1;0<f--&&0<=e&&e<this.Ya[a][b].length;e++){var h=this.Ya[a][b][e];c?Qj(this,h,!1):h.fb||(h.Kc=h.lc=0)}d&&Rj(this)};k.info=function(){return this.Ya.length?[this.Ya.length,this.Ya[0].length,this.Ya[0][0].length,this.Ya[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,h=this.Pa,g=this.Ya[a];if(g){var m=g[b];if(!m&&h.ff&&b<h.kb)for(m=g[b]=Array(h.vd),g=0;g<m.length;g++)m[g]=Nj(null,a,b,g+1,h.ib,0);if(m){for(g=0;g<m.length;g++)if(m[g]&&m[g].sector==c){f=m[g];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++g<m.length;)null===m[g].pattern&&d++;Pj(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&h.ff&&9==h.Za&&(f=m[g]=Nj(null,a,b,h.Za,h.ib,0))}}e&&e(f,!1);return f};
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function Sj(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var h=f<e.length?e[f]:a;c[d++]=h&255;c[d++]=h>>8&255;c[d++]=h>>16&255;c[d++]=h>>24&255}return c}function Tj(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
k.write=function(a,b,c){if(this.Me)return!1;if(b<a.length){if(c!=Tj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var h=d.length;h<=f;h++)d[h]=e;a.lc?f<a.Kc?(a.lc+=a.Kc-f,a.Kc=f):f>=a.Kc+a.lc&&(a.lc+=f-(a.Kc+a.lc)+1):(a.Kc=f,a.lc=1);d[f]=d[f]&~(255<<b)|c<<b;this.gd&&Qj(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.re,this.Ie,this.jb,this.kb,this.pb,this.ab];if(!this.gd&&!this.Me)for(var c=this.Ya,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var h=c[d][e][f];if(h&&h.lc){for(var g=[],m=0,n=h.Kc,q=h.Kc+h.lc;n<q;)g[m++]=h.data[n++];b[a++]=[d,e,f,h.Kc,g]}}return b};
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.Ya.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.Ie&&e[1]!=this.Ie&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.Ie+")",b=-1));for(this.Ya.length||(b=-1);d<a.length&&0<=b;){var f=0,h=a[d++],g=h[f++],m=h[f++],n=h[f++];if(g>=this.Ya.length||m>=this.Ya[g].length||n>=this.Ya[g][m].length){c="sector "+g+":"+m+":"+n+" out of range ("+
b+" changes applied)";b=-1;break}if(this.Me){c="unable to modify write-protected disk";b=-1;break}e=h[f++];f=h[f++];h=e+f.length;if(g=this.Ya[g][m][n]){for(m=g.data.length;m<e;)g.data[m++]=g.pattern;m=0;g.Kc=e;for(g.lc=f.length;e<h;)g.data[e++]=f[m++];b++}}}0>b&&this.ea.ya("unable to restore disk '"+this.Vc+": "+c);return b};
function Uj(a){v.call(this,"FDC",a,Uj);this.dmaRead=this.Dh;this.dmaWrite=this.Eh;this.dmaFormat=this.Bl;this.ee=null;if(a.autoMount&&(this.ee=a.autoMount,"string"==typeof this.ee))try{this.ee=eval("("+a.autoMount+")")}catch(b){s("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ee=null}this.ic=[];this.Kj=!1}y(v,Uj);l={};aa={};
var Vj={3:{bd:3,xd:0,name:aa.Wo},4:{bd:2,xd:1,name:aa.Uo},5:{bd:9,xd:7,name:aa.hp},6:{bd:9,xd:7,name:aa.Oo},7:{bd:2,xd:0,name:aa.Qo},8:{bd:1,xd:2,name:aa.Vo},10:{bd:2,xd:7,name:aa.Po},13:{bd:6,xd:7,name:aa.Ao},15:{bd:3,xd:0,name:aa.To}};k=Uj.prototype;
k.Bb=function(a,b,c,d){var e=this;switch(c){case "listDisks":return this.qa[c]=d,d.onchange=function(){var a=e.qa.descDisk,b=d.options[d.selectedIndex];if(a&&b){var c={};if(b=b.getAttribute("data-value"))try{c=eval("({"+b+"})")}catch(m){s("FDC option error: "+m.message)}b=c.desc;void 0===b&&(b="");c=c.href;void 0!==c&&(b='<a href="'+c+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.qa[c]=d,d.onchange=function(){var a;a=d.value;var b=10,c;if(a){b||(b=
16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var m=a.charAt(a.length-1).toLowerCase();"h"==m?(b=16,m=null):"."==m&&(b=10,m=null);null===m&&(a=a.substr(0,a.length-1))}var n;ca(a,b)&&!isNaN(n=parseInt(a,b))&&(c=n)}a=c;null!=a&&Wj(e,a)},!0;case "loadDrive":return this.qa[c]=d,d.onclick=function(){var a=e.qa.listDisks;a&&Xj(e,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return window&&"FileReader"in window?(this.Kj=!0,this.qa[c]=d,d.addEventListener("change",
function(){var a=d.children[0];a.children[1].disabled=0==a.children[0].files.length}),d.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Xj(e,da(b,!0),b,a)}return!1}):d.parentNode.removeChild(d),!0}return!1};k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;this.Ma=a;this.ja=B(a,"ChipSet");this.hd();bb(b,this,Yj);db(b,this,Zj);this.Kj&&ak(this,"Local Disk","?");ak(this,"Remote Disk","??");this.ef()||this.Na()};
k.Sb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Nh){this.ic=[];for(var c=0;c<this.xa.length;c++)bk(this,c,!0);this.ef(!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.innerHTML="";for(var d=0;d<this.hi;d++){var e=window.document.createElement("option");e.value=d;e.innerHTML=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.hi&&(c.value="0",Wj(this,0))}}return!0};
k.Rb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.hd()};k.save=function(){var a=new G(this);a.set(0,this.dj());return a.data()};k.restore=function(a){return this.hd(a[0])};
k.hd=function(a){var b=0,c,d=!0;void 0===a&&(a=[0,0,128,Array(9),0,0,0,[]]);this.$a=a[b++];b++;this.wa=a[b++];this.Ub=a[b++];this.sb=a[b++];this.eb=a[b++];this.Xe=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.ic=c);void 0===this.xa&&(this.hi=4,this.ja&&(this.hi=Lh(this.ja)),this.xa=Array(4));for(c=0;c<this.xa.length;c++){var f=this.xa[c];if(void 0===f){var f=this.xa[c]={},h;if(this.ja)a:{h=this.ja;if(c<Lh(h)){if(!h.rd){h=360;break a}if(c<h.rd.length){h=h.rd[c];break a}}h=0}else h=0;switch(h){case 160:case 180:f.kb=
1;default:f.jb=40;f.pb=9;break;case 720:f.jb=80;f.pb=9;break;case 1200:f.jb=80;f.pb=15;break;case 1440:f.jb=80,f.pb=18}}this.Xh(f,c,e[c])||(d=!1)}this.Od=a[b++]||0;this.el=a[b]||0;return d};k.dj=function(){var a=0,b=[];b[a++]=this.$a;b[a++]=0;b[a++]=this.wa;b[a++]=this.Ub;b[a++]=this.sb;b[a++]=this.eb;b[a++]=this.Xe;b[a++]=this.fj();for(var c=a++,d=0;d<this.xa.length;d++){var e=this.xa[d];e.ta&&ck(this,e.se,e.ta)}b[c]=this.ic;b[a++]=this.Od;b[a]=this.el;return b};
k.Xh=function(a,b,c){var d=0,e=!0;a.$a=b;a.uc=a.Ke=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.jb||40,a.kb||c[3],a.pb||9,a.ab||512,c[1],a.Rg,a.Bf,a.Cf]);a.Wa=c[d++];var f=c[d++];a.name=f[0];a.jb=f[1];a.kb=f[2];a.pb=f[3];a.ab=f[4];a.Le=f[5];(a.Rg=f[6])?(a.Bf=f[7],a.Cf=f[8]):(a.Rg=a.jb,a.Bf=a.kb,a.Cf=a.pb);a.Ja=c[d++];a.td=c[d++];a.mb=c[d++];a.td=100<=a.td?a.td-100:a.td-a.mb;a.Za=c[d++];a.vd=c[d++];a.ib=c[d++];a.bb=c[d++];a.La=null;a.ta||(a.se="");var h=c[d++];
102==h&&(h=!1);"boolean"==typeof h?(f=c[d++],c=c[d],h?(d=this.xa[b],bk(this,b,!0,!0),d.Ke=!0,b=new Kj(this,d,"preload"),this.Ej(d,b,f,c,!0)):dk(this,b,f,c,!0)?a.ta&&c&&ek(this,f,c,a.ta):this.Na(!1)):void 0!==h&&a.ta&&0>a.ta.restore(h)&&(e=!1);e&&a.ta&&void 0!==a.bb&&(a.La=a.ta.seek(a.mb,a.Ja,a.Za));return e};k.fj=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.ej(this.xa[c]);return b};
k.ej=function(a){var b=0,c=[];c[b++]=a.Wa;c[b++]=[a.name,a.jb,a.kb,a.pb,a.ab,a.Le,a.Rg,a.Bf,a.Cf];c[b++]=a.Ja;c[b++]=a.td+100;c[b++]=a.mb;c[b++]=a.Za;c[b++]=a.vd;c[b++]=a.ib;c[b++]=a.bb;c[b++]=a.Ke;c[b++]=a.jl;c[b]=a.se;return c};k.ef=function(a){a||(this.ae=0);if(this.ee)for(var b in this.ee){var c=this.ee[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.xa.length){!dk(this,d,c.name,c.path,!0)&&a&&this.Na(!1);continue}}this.ya("Unrecognized auto-mount specification for drive "+b)}return!!this.ae};
function Xj(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.xa.length)if(c)if("?"==c)a.ya('Use "Choose File" and "Load" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=da(c);a.$b("Attempting to load "+c+' as "'+b+'"')}for(a.$b("loading disk "+c+"...");dk(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=
a,h=c,g=void 0,g=0;g<f.ic.length;g++)if(f.ic[g][1]==h){f.ic.splice(g,1);break}bk(a,e,!1,!0)}}else bk(a,e);else a.ya("Nothing to load")}function dk(a,b,c,d,e,f){var h=a.xa[b];if(d&&h.se!=d){bk(a,b,e,!0);if(h.uc)return a.ya("Drive "+b+" busy"),!0;h.uc=!0;e&&(h.je=!0,a.ae++);h.Ke=!!f;(new Kj(a,h,"preload")).load(c,d,f,a.Ej);return!1}return!0}
k.Ej=function(a,b,c,d,e){var f;a.uc=!1;b&&(f=b.info(),b&&f[0]>a.jb||f[1]>a.kb)&&(this.ya('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.ta=b,a.jl=c,a.se=d,ek(this,c,d,b),f=b.info(),this.Od|=128,this.ya('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.je||e),a.Rg=f[0],a.Bf=f[1],a.Cf=f[2]):a.Ke=!1;a.je&&(a.je=!1,--this.ae||this.Na());Wj(this,a.$a)};
function ak(a,b,c){if(a=a.qa.listDisks){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=window.document.createElement("option");d.value=c;d.innerHTML=b;a.appendChild(d)}}function Wj(a,b){if(0<=b&&b<a.xa.length){var c=a.xa[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.Ke?"?":c.se,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}
function bk(a,b,c,d){var e=a.xa[b];e.ta&&(ck(a,e.se,e.ta),e.jl="",e.se="",e.ta=null,e.Ke=!1,a.Od|=128,d||a.ya("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Wj(a,b))}function ek(a,b,c,d){var e;for(e=0;e<a.ic.length;e++)if(a.ic[e][1]==c){d.restore(a.ic[e][2]);return}a.ic[e]=[b,c,[]]}function ck(a,b,c){var d;for(d=0;d<a.ic.length;d++)if(a.ic[d][1]==b){a.ic[d][2]=c.save();break}}k.Bn=function(a,b){b&4?this.Xe&4||this.Xe&8&&this.ja&&hi(this.ja,6):this.hd();this.Xe=b};k.om=function(){return this.wa};
k.mm=function(){var a=0;this.sb<this.eb&&(a=this.Ub[this.sb]);this.Xe&8&&this.ja&&ii(this.ja,6);++this.sb>=this.eb&&(this.wa&=-81,this.sb=this.eb=0);return a};
k.An=function(a,b){this.eb<this.Ub.length&&(this.Ub[this.eb++]=b);var c=this.Ub[0]&31;if(void 0!==Vj[c]&&this.eb>=Vj[c].bd){var d=!1;this.sb=0;var c=this.Ia(),e,f,h,g,m,n=c&31;switch(n){case 3:this.Ia(l.Xo);this.Ia(l.Do);this.Gb();break;case 4:f=this.Ia(l.Ye);this.$a=f&3;e=this.xa[this.$a];this.Gb();this.Tb((e.Wa&4278190080)>>>24,l.$o);break;case 5:case 6:f=this.Ia(l.Ye);d=f>>2&1;this.$a=f&3;e=this.xa[this.$a];e.Ja=d;f=e.mb=this.Ia(l.mj);h=this.Ia(l.nj);g=e.Za=this.Ia(l.pj);m=this.Ia(l.kh);e.ib=128<<
m;e.vd=this.Ia(l.yo);this.Ia(l.ul);this.Ia(l.xo);6==n?this.Fh(e):this.Gh(e);fk(this,e,c,d,f,h,g,m);d=!0;break;case 7:f=this.Ia(l.Ye);this.$a=f&3;e=this.xa[this.$a];e.mb=e.td=0;e.Wa=268435488;this.Gb();d=!0;break;case 8:e=this.xa[this.$a];e.Ja=0;this.Gb();this.Tb(e.$a|e.Ja<<2|e.Wa&255,l.wl);this.Tb(e.mb,l.Mo);this.$a=this.$a+1&3;break;case 10:f=this.Ia(l.Ye);d=f>>2&1;this.$a=f&3;e=this.xa[this.$a];f=e.mb;h=e.Ja=d;g=e.Za=1;m=0;e.Wa=0;e.ta&&(e.La=e.ta.seek(e.mb,e.Ja,e.Za))?m=e.La.length:e.Wa=72;fk(this,
e,c,d,f,h,g,m);d=!0;break;case 13:f=this.Ia(l.Ye);d=f>>2&1;this.$a=f&3;e=this.xa[this.$a];f=e.mb;h=e.Ja=d;g=1;m=this.Ia(l.kh);e.ib=128<<m;e.vd=this.Ia(l.So);this.Ia(l.ul);e.uj=this.Ia(l.tl);this.Dj(e);fk(this,e,c,d,f,h,g,m);d=!0;break;case 15:f=this.Ia(l.Ye),this.$a=f&3,e=this.xa[this.$a],e.Ja=f>>2&1,f=this.Ia(l.Jo),e.mb+=f-e.td,0>e.mb&&(e.mb=0),e.mb>=e.jb&&(e.mb=e.jb-1),e.td=f,e.Wa=32,0==e.mb&&(e.Wa|=268435456),this.Gb(),d=!0}0<this.eb&&(this.wa|=80);this.Xe&8&&(!e||e.Wa&8||!d||this.ja&&hi(this.ja,
6))}};k.nm=function(){var a=this.Od;this.Od&=-129;return a};k.zn=function(a,b){this.el=b};function fk(a,b,c,d,e,f,h,g){a.Gb();a.Tb(b.$a|b.Ja<<2|b.Wa&255,l.wl);a.Tb((b.Wa&65280)>>>8,l.Yo);a.Tb((b.Wa&16711680)>>>16,l.Zo);var m=0;if(e!=b.mb||f!=b.Ja)m=h=1;c&128&&(f^=m,d||(m=0));a.Tb(e+m,l.mj);a.Tb(f,l.nj);a.Tb(h,l.pj);a.Tb(g,l.kh)}k.Ia=function(){var a=this.Ub[this.sb];this.sb++;return a};k.Gb=function(){this.sb=this.eb=0};k.Tb=function(a){this.Ub[this.eb++]=a};
k.Dh=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};k.Eh=function(a,b){return void 0!==b&&0<=b?this.Bc(a,b):-1};k.Bl=function(a,b){return void 0!==b&&0<=b?this.jj(a,b):-1};k.Fh=function(a){a.Wa=72;a.ta&&(a.La=null,a.Wa=0,this.ja&&(Yh(this.ja,2,this,"dmaRead",a),Uh(this.ja,2)))};k.Gh=function(a){a.Wa=72;a.ta&&(a.ta.Me?a.Wa=576:(a.La=null,a.Wa=0,this.ja&&(Yh(this.ja,2,this,"dmaWrite",a),Uh(this.ja,2))))};
k.Dj=function(a){a.Wa=72;a.ta&&(a.La=null,a.Wa=0,this.ja&&(a.de=0,a.jc=Array(4),a.ff=!0,a.jf=0,Yh(this.ja,2,this,"dmaFormat",a),Uh(this.ja,2),a.ff=!1))};k.yc=function(a,b){var c=-1;if(!a.Wa&&a.ta){do{if(a.La&&0<=(c=Tj(a.La,a.bb++)))break;a.La=a.ta.seek(a.mb,a.Ja,a.Za);if(!a.La){a.Wa=1088;break}a.bb=0;this.cf(a)}while(1)}b(c,!1)};
k.Bc=function(a,b){if(a.Wa||!a.ta)return-1;do{if(a.La&&a.ta.write(a.La,a.bb++,b))break;a.La=a.ta.seek(a.mb,a.Ja,a.Za);if(!a.La){a.Wa=8256;b=-1;break}a.bb=0;this.cf(a)}while(1);return b};k.cf=function(a){a.Za++;a.Za>=a.Cf+1&&(a.Za=1,a.Ja++,a.Ja>=a.Bf&&(a.Ja=0,a.mb++))};k.jj=function(a,b){if(a.Wa)return-1;a.jc[a.de++]=b;if(a.de==a.jc.length){a.mb=a.jc[0];a.Ja=a.jc[1];a.Za=a.jc[2];a.ib=128<<a.jc[3];for(var c=a.de=0;c<a.ib;c++)if(0>this.Bc(a,a.uj))return-1;a.jf++}a.jf>=a.vd&&(b=-1);return b};
var Yj={1012:Uj.prototype.om,1013:Uj.prototype.mm,1015:Uj.prototype.nm},Zj={1010:Uj.prototype.Bn,1013:Uj.prototype.An,1015:Uj.prototype.zn};u(function(){for(var a=A(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Uj(d);Ja(d,c)}});
function $(a){v.call(this,"HDC",a,$);this.dmaRead=this.Dh;this.dmaWrite=this.Eh;this.dmaWriteBuffer=this.Cl;this.dmaWriteFormat=this.Dl;this.mh=[];if(a.drives)try{this.mh=eval("("+a.drives+")")}catch(b){s("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.rf=(this.ie="at"==a.type)?1:0;this.Sl=this.ie?2:3}y(v,$);
var gk=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7]}];k=$.prototype;k.Bb=function(){return!1};k.oc=function(a,b,c,d){this.ra=b;this.ka=c;this.Va=d;this.Ma=a;this.ja=B(a,"ChipSet");bb(b,this,this.ie?hk:ik);db(b,this,this.ie?jk:kk);nc(c,19,this,this.Qm);nc(c,64,this,this.Rm);this.reset();this.ef()||this.Na()};
k.Sb=function(a,b){if(!b)if(!a||!this.restore)this.hd(),this.Ma.Nh&&this.ef(!0);else if(!this.restore(a))return!1;return!0};k.Rb=function(a){return a&&this.save?this.save():!0};k.Ne=function(){return this.Ma?this.Ma.Ne():""};k.Dd=function(){return this.Ma?this.Ma.Dd():""};k.reset=function(){this.hd(null,!0)};k.save=function(){var a=new G(this);a.set(0,this.dj());return a.data()};k.restore=function(a){return this.hd(a[0])};
k.hd=function(a,b){var c=0,d=!0;if(this.ie)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.nd=a[c++],this.il=a[c++],this.Pd=a[c++],this.ah=a[c++],this.Zg=a[c++],this.Yg=a[c++],this.We=a[c++],this.wa=a[c++],this.bj=a[c++],this.$g=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.Nf=a[c++];this.wa=a[c++];this.Ub=a[c++];this.sb=a[c++];this.eb=a[c++];this.hl=a[c++];this.gl=a[c++];this.fl=a[c++];var e=a[c++];void 0!==e?this.Oe=e:void 0===this.Oe&&(this.Oe=-1)}void 0===this.xa&&(this.xa=Array(this.mh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.xa.length;e++){void 0===this.xa[e]&&(this.xa[e]={});var f=this.xa[e];this.Xh(e,f,this.mh[e],c[e],b)||(d=!1);null!=this.Nf&&1>=e&&(this.Nf|=(f.type&3)<<(1-e<<1))}return d};
k.dj=function(){var a=0,b=[];this.ie?(b[a++]=this.nd,b[a++]=this.il,b[a++]=this.Pd,b[a++]=this.ah,b[a++]=this.Zg,b[a++]=this.Yg,b[a++]=this.We,b[a++]=this.wa,b[a++]=this.bj,b[a++]=this.$g):(b[a++]=this.Nf,b[a++]=this.wa,b[a++]=this.Ub,b[a++]=this.sb,b[a++]=this.eb,b[a++]=this.hl,b[a++]=this.gl,b[a++]=this.fl,b[a++]=this.Oe);b[a]=this.fj();return b};
k.Xh=function(a,b,c,d,e){var f=0,h=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.nl=d[f++];b.Le=d[f++];b.Ce=d[f++];b.De=d[f++];b.Ja=d[f++];b.kb=d[f++];b.Rd=d[f++];b.Za=d[f++];b.vd=d[f++];b.ib=d[f++];b.ng=this.ie?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Dd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===gk[this.rf][b.type])b.type=this.Sl;c=gk[this.rf][b.type];
b.pb=c[2]||17;b.ab=c[3]||512;if(e&&this.ja&&(e=this.ja,c=b.type,e.oa)){var g=e.oa[18],g=a?g&240|c:g&15|c<<4;e.oa&&(e.oa[18]=g,Eh(e))}void 0===b.ta&&(b.ta=null,this.ya("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));lk(this,b);b.bb=d[f++];b.La=null;b.ta&&(a=d[f],void 0!==a&&0>b.ta.restore(a)&&(h=!1),h&&void 0!==b.bb&&(b.La=b.ta.seek(b.Rd,b.Ja,b.Za+b.ng)));return h};k.fj=function(){for(var a=0,b=[],c=0;c<this.xa.length;c++)b[a++]=this.ej(this.xa[c]);return b};
k.ej=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.nl;c[b++]=a.Le;c[b++]=a.Ce;c[b++]=a.De;c[b++]=a.Ja;c[b++]=a.kb;c[b++]=a.Rd;c[b++]=a.Za;c[b++]=a.vd;c[b++]=a.ib;c[b++]=a.bb;c[b]=a.ta?a.ta.save():null;return c};
function lk(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ce[2])?e=b.Ce[0]<<8|b.Ce[1]:c=b.type);null==c||d||(d=gk[a.rf][c][1],e=gk[a.rf][c][0]);d&&((c=gk[a.rf][b.type])&&e!=c[0]&&d!=c[1]&&a.ya("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.jb=e,b.kb=d,null==b.ta&&(b.ta=new Kj(a,b,b.mode)))}}
k.ef=function(a){a||(this.ae=0);for(var b=0;b<this.xa.length;b++){var c=this.xa[b];if(c.name&&c.path){if(!(a&&c.ta&&c.ta.Bg)){var d;d=c.name;var c=c.path,e=this.xa[b];e.uc?(this.ya("Drive "+b+" busy"),d=!0):(e.uc=!0,e.je=!0,this.ae++,(e.ta||new Kj(this,e,e.mode)).load(d,c,null,this.Fl),d=!1);!d&&a&&this.Na(!1)}}else a&&void 0!==c.type&&(c.ta=null,lk(this,c,c.type))}return!!this.ae};
k.Fl=function(a,b,c){a.uc=!1;(a.ta=b)&&this.ya('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.$a),a.je);a.je&&(a.je=!1,--this.ae||this.Na())};k.Om=function(){var a=0;this.sb<this.eb&&(a=this.Ub[this.sb]);this.ja&&ii(this.ja,5);this.wa&=-33;++this.sb>=this.eb&&(this.sb=this.eb=0,this.wa&=-15);return a};k.Xn=function(a,b){this.eb<this.Ub.length&&(this.Ub[this.eb++]=b);var c=12!=this.Ub[0]?6:this.Ub.length;6==this.eb&&(this.wa&=-2);this.eb>=c&&(this.wa|=2,this.wa&=-2,mk(this))};
k.Pm=function(){var a=this.wa;this.sb<this.eb&&(this.wa|=1);return a};k.$n=function(a,b){this.hl=b;this.ja&&ii(this.ja,5);this.hd()};k.Nm=function(){return this.Nf};k.Zn=function(a,b){this.gl=b;this.wa=13};k.Yn=function(a,b){this.fl=b};k.Xi=function(){};k.$l=function(){var a=-1;if(this.Pa&&(a=this.yc(this.Pa),this.Pa.bb==this.Pa.ab))if(this.Pa.ib-=this.Pa.ab,this.Pd=this.Pd-1&255,this.Pa.ib>=this.Pa.ab){var b=this;this.yc(this.Pa,function(a){0<=a?nk(b):(b.wa=1,b.nd=16)},!1)}else this.wa=80;return a};
k.nn=function(a,b){this.Pa&&this.Pa.ib>=this.Pa.ab&&(0>this.Bc(this.Pa,b)?(this.wa=1,this.nd=16):this.Pa.bb==this.Pa.ab&&(this.Pa.ib-=this.Pa.ab,this.Pd=this.Pd-1&255,nk(this),this.Pa.ib>=this.Pa.ab||(this.wa=80)))};k.bm=function(){return this.nd};k.sn=function(a,b){this.il=b};k.cm=function(){return this.Pd};k.qn=function(a,b){this.Pd=b};k.dm=function(){return this.ah};k.rn=function(a,b){this.ah=b};k.Zl=function(){return this.Zg};k.mn=function(a,b){this.Zg=b};k.Yl=function(){return this.Yg};
k.ln=function(a,b){this.Yg=b};k.am=function(){return this.We};k.on=function(a,b){this.We=b;this.wa=this.xa[this.We&16?1:0]?this.wa|64:this.wa&-65};k.em=function(){return this.wa};k.kn=function(a,b){this.bj=b;this.ja&&ii(this.ja,14);ok(this)};k.pn=function(a,b){this.$g&4&&!(b&4)&&(this.nd=1);this.$g=b};
function ok(a){var b=!1,c=a.bj,d=a.We&16?1:0,e=a.We&15,f=a.Zg|(a.Yg&3)<<8,h=a.ah,g=a.Pd||256;a.Pa=null;a.nd=0;a.wa=80;(d=a.xa[d])?(d.Rd=f,d.Ja=e,d.Za=h,d.ib=g*d.ab,c=144<=c?c:c&240,d.La=null,d.errorCode=0,a.Pa=d):c=-1;switch(c&240){case 32:a.yc(d,function(b){0<=b&&a.ja?(nk(a),a.wa=136):(a.wa=1,a.nd=16)},!1);break;case 48:a.ja?(nk(a),a.wa=136):(a.wa=1,a.nd=4);break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.nd=1;b=!0;break;case 145:d.kb=e+1,d.pb=g,b=!0}b&&nk(a)}
function nk(a){!a.ja||a.$g&2||hi(a.ja,14)}
function mk(a){a.sb=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,h=a.Ia(),g=a.Ia(),m=h<<2&768|g,n=h&63,q=a.Ia(),w=a.Ia(),t=a.xa[e];t&&(t.Rd=m,t.Ja=f,t.Za=n,t.ib=q*t.ab);switch(b){case 3:a.Gb(t?t.errorCode:4);a.Tb(c);a.Tb(h);a.Tb(g);a.Tb(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)t&&c<t.Ce.length&&(t.Ce[c++]=b);t&&lk(a,t);b=0;t||a.Oe!=e||(a.Oe=-1,b=2);a.Gb(b|d);b=-1;break;case 224:case 228:a.Gb(0|d),b=-1}if(0<=b)switch(void 0===t?b=-1:(t.errorCode=0,t.nl=0),b){case 0:a.Gb(0|d);break;case 1:t.op=
w;a.Gb(0|d);break;case 5:a.Gb(0|d);break;case 8:a.Fh(t,function(b){a.Gb(b|d)});break;case 10:a.Gh(t,function(b){a.Gb(b|d)});break;case 15:pk(a,t,function(b){a.Gb(b|d)});break;default:a.Gb(2|d)}}k.Ia=function(){var a=-1;this.sb<this.eb&&(a=this.Ub[this.sb++]);return a};k.Gb=function(a){this.sb=this.eb=0;void 0!==a&&this.Tb(a);this.ja&&hi(this.ja,5);this.wa|=32};k.Tb=function(a){this.Ub[this.eb++]=a};k.Dh=function(a,b,c){void 0===b||0>b?this.yc(a,c):c(-1,!1)};
k.Eh=function(a,b){return void 0!==b&&0<=b?this.Bc(a,b):-1};k.Cl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.bb<a.De.length?a.De[a.bb++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Dl=function(a,b){return void 0!==b&&0<=b?this.jj(a,b):-1};k.Fh=function(a,b){a.errorCode=4;if(a.ta&&(a.La=null,this.ja)){a.errorCode=0;Yh(this.ja,3,this,"dmaRead",a);Uh(this.ja,3,function(c){c||0!=a.errorCode||(a.errorCode=4);b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.Gh=function(a,b){a.errorCode=4;if(a.ta&&(a.La=null,this.ja)){a.errorCode=0;Yh(this.ja,3,this,"dmaWrite",a);Uh(this.ja,3,function(c){c||(0==a.errorCode&&(a.errorCode=4),20==a.errorCode&&(a.errorCode=0));b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};function pk(a,b,c){b.errorCode=4;b.De&&b.De.length==b.ib||(b.De=Array(b.ib));b.bb=0;a.ja?(b.errorCode=0,Yh(a.ja,3,a,"dmaWriteBuffer",b),Uh(a.ja,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Dj=function(a,b){a.errorCode=4;if(a.ta&&(a.La=null,this.ja)){a.de=0;a.jc=Array(4);a.ff=!0;a.jf=0;a.errorCode=0;Yh(this.ja,3,this,"dmaWriteFormat",a);Uh(this.ja,3,function(c){c||0!=a.errorCode||(a.errorCode=4);a.ff=!1;b(a.errorCode?2:0)});return}b(a.errorCode?2:0)};
k.yc=function(a,b,c){var d=-1;if(a.errorCode)return b&&b(d,!1),d;var e=!1!==c?1:0;if(a.La&&(d=Tj(a.La,a.bb),a.bb+=e,0<=d))return b&&b(d,!1),d;if(b){var f=this;if(a.ta)return a.ta.seek(a.Rd,a.Ja,a.Za+a.ng,!1,function(c,g){(a.La=c)?(a.bb=0,f.cf(a),d=Tj(a.La,a.bb),a.bb+=e):a.errorCode=20;b(d,g)}),d;a.errorCode=20;b(d,!1)}return d};
k.Bc=function(a,b){if(a.errorCode)return-1;do{if(a.La&&a.ta.write(a.La,a.bb++,b))break;a.ta&&a.ta.seek(a.Rd,a.Ja,a.Za+a.ng,!0,function(b){a.La=b});if(!a.La){a.errorCode=20;b=-1;break}a.bb=0;this.cf(a)}while(1);return b};k.cf=function(a){a.Za++;var b=1-a.ng;a.Za>=a.pb+b&&(a.Za=b,a.Ja++,a.Ja>=a.kb&&(a.Ja=0,a.Rd++))};
k.jj=function(a,b){if(a.errorCode)return-1;a.jc[a.de++]=b;if(a.de==a.jc.length){a.Rd=a.jc[0];a.Ja=a.jc[1];a.Za=a.jc[2];a.ib=128<<a.jc[3];for(var c=a.de=0;c<a.ib;c++)if(0>this.Bc(a,a.uj))return-1;a.jf++}a.jf>=a.vd&&(b=-1);return b};k.Qm=function(){var a=this.ka.K&255;!(this.ka.H>>8)&&128<a&&(this.Oe=a-128);return!0};k.Rm=function(){var a;(a=this.ka.H>>8)||(a=!this.ja)||(a=!(this.ja.ub[0].ad&64));return a?!0:!1};
var ik={800:$.prototype.Om,801:$.prototype.Pm,802:$.prototype.Nm},hk={496:$.prototype.$l,497:$.prototype.bm,498:$.prototype.cm,499:$.prototype.dm,500:$.prototype.Zl,501:$.prototype.Yl,502:$.prototype.am,503:$.prototype.em},kk={800:$.prototype.Xn,801:$.prototype.$n,802:$.prototype.Zn,803:$.prototype.Yn,807:$.prototype.Xi,811:$.prototype.Xi,815:$.prototype.Xi},jk={496:$.prototype.nn,497:$.prototype.sn,498:$.prototype.qn,499:$.prototype.rn,500:$.prototype.mn,501:$.prototype.ln,502:$.prototype.on,503:$.prototype.kn,
1014:$.prototype.pn};u(function(){for(var a=A(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new $(d);Ja(d,c)}});var Sc=8;function G(a,b,c){this.id=a.id;this.key=qk(a,b,c);this.Va=a.Va;tk(this,a.ao)}function qk(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}
G.prototype={set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.Mh=!0):this.Mh?!0:na()&&(a=oa(this.key))?(this[this.id]=a,this.Mh=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){s(b.message||b),a=!1}return a},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},
clear:function(a){tk(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(f){}b.splice(c,1);c=0}}};function tk(a,b){a[a.id]={};b&&a.set("parms",b);a.Mh=!1}function uk(a){var b=!0;if(na()){var c=JSON.stringify(a[a.id]);pa(a.key,c)||(s("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function vk(a,b,c){v.call(this,"Computer",a,vk);this.na.Hb=!1;this.sf=a.buswidth;this.zc=wk;this.Rf=null;this.Eg=!1;this.url=b?b.url:null;this.ko=(Math.random()+0.1).toString(36).substr(2,12);this.Ac=xk(this);if(this.ka=Ia("CPU",this.id)){this.Va=Ia("Debugger",this.id);this.ra=new Pa({id:this.Sj+".bus",buswidth:this.sf},this.ka,this.Va);var d,e=Ga(this.id);if((this.Mf=Ia("Panel",this.id))&&this.Mf.Ah)for(b=0;b<e.length;b++)d=e[b],d.ya=this.Mf.ya,d.$b=this.Mf.$b,d.Ah=this.Mf.Ah;for(b=0;b<e.length;b++)d=
e[b],d.oc&&d.oc(this,this.ra,this.ka,this.Va);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.dh=d:this.zc=parseInt(d,10));var f;if(a=Ba&&Ba.state||(f=!0,a.state))b=this.ll=a,f||(this.Eg=!0,this.zc=wk),this.zc&&(this.gh=new G(this,"1.16.0"),this.gh.load()?b=null:delete this.gh);!b&&this.zc&&(f=null,this.Ac&&(f=la()+"/api/v1/user?req=load&user="+this.Ac+"&state="+qk(this,"1.16.0")),b=f)&&(this.Eg=!0);b?r(b,!0,null,this,this.dn):this.Na();c||yk(this,this.Wg)}else s("Unable to find CPU component")}
y(v,vk);var wk=0;k=vk.prototype;k.Ne=function(){return this.ko};k.Dd=function(){return this.Ac?this.Ac:""};k.dn=function(a,b,c){c?(this.dh=null,this.Eg=!1,this.ya("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Rf=b;this.Na()};function yk(a,b,c){for(var d=Ga(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!La(f)){La(f,function(){yk(a,b,c)});return}}b.call(a,c)}
function zk(a,b){var c=new G(a,"1.16.0","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.ya("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Wg=function(a){void 0===a&&(a=this.zc||(this.Rf?1:wk));var b=!1,c=!1;this.Mj=!1;var d=this.gh||new G(this,"1.16.0");if(-1==a)b=!0;else if(a>wk){if(d.load(this.Rf)){this.ve=new G(this,"1.16.0","failsafe");this.ve.load()&&(Ak(this,d),a=2,tk(this.ve));this.ve.set("timestamp",ia());uk(this.ve);var e=this.zc&&!this.Eg;if(1==a||ma("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),h=d.get("data");f&&("ok"==f?d.load(h):("error"==
f&&"no machine state"!=h?(this.ya("Error: "+h),"unable to verify user"==h&&(pa("user",""),this.Ac=null)):this.$b(f+": "+h),tk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&zk(this,c?d:null)}else 2==a&&d.clear()}else zk(this);delete this.Rf;delete this.gh}e=Ga(this.id);for(f=0;f<e.length;f++)h=e[f],h!==this&&h!=this.ka&&(c=Bk(this,h,d,b,c));b=[d,a,c];-1!=a?yk(this,this.Fj,b):this.Fj(b)};
function Bk(a,b,c,d,e){if(!b.na.Hb){b.na.Hb=!0;if(b.Sb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Sb(f,d)&&f&&(s("Unable to restore state for "+b.type),a.ll&&!a.Rf?(c.clear(),a.zc=wk,window&&window.location.reload()):a.Mj=!0,b.Sb(null),e=!1)}if(!d&&b.Bj)for(a=b.Bj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Fj=function(a){var b=a[0],c=0>a[1];a=a[2];this.na.Hb=!0;this.Jj||(this.$b("PCjs v1.16.0\nCopyright \u00a9 2012-2014 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Jj=!0);this.ka&&Bk(this,this.ka,b,c,a);this.Mj&&(Ak(this,b),b.clear());!c&&this.ve&&(this.ve.clear(),delete this.ve)};
function Ak(a,b){if(ma("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Dd(),d=b.toString(),e={app:"PCjs",ver:"1.16.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;r("http://www.pcjs.org/api/v1/report",!0,e)}}
function Ck(a,b,c){var d,e="none",f=new G(a,"1.16.0"),h=new G(a,"1.16.0","validate"),g=ia();h.set("timestamp",g);f.set("timestamp",g);f.set("version","1.16.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ka&&a.ka.Rb&&(c&&mb(a.ka),d=a.ka.Rb(b,c),"object"===typeof d&&f.set(a.ka.id,d),c&&(a.ka.na.Hb=!1,!1===d&&(e=null)));for(var g=Ga(a.id),m=0;m<g.length;m++){var n=g[m];n.na.Hb&&(n.Rb&&(d=n.Rb(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.na.Hb=
!1,!1===d&&(e=null)))}e&&(c?(g=d=!1,b?(a.Ac&&Dk(a,a.Ac,f.toString()),uk(h)&&uk(f)||(e=null,d=g=!0)):a.zc&&(d=!0,g=3==a.zc),d&&f.clear(g)):e=f.toString());c&&(a.na.Hb=!1);return e}k.reset=function(){this.ra&&this.ra.reset&&this.ra.reset();for(var a=Ga(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ra&&c.reset&&c.reset()}};k.start=function(a,b){for(var c=Ga(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
k.stop=function(a,b){for(var c=Ga(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};k.Bb=function(a,b,c,d){var e=this;switch(c){case "save":return this.qa[c]=d,d.onclick=function(){var a=xk(e,!0);if(a){var b=!(!e.zc||e.dh),c=Ck(e,b);b?Dk(e,a,c):e.ya("Resume disabled, machine state not saved")}},!0;case "reset":return this.qa[c]=d,d.onclick=function(){nb(e)},!0}return!1};
function xk(a,b){var c=a.Ac;c||(c=oa("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("To save machine states on the pcjs.org server, you need a user ID (email support@pcjs.org).\n\nOnce you have an ID, enter it below.","")),c&&((c=Ek(a,c))||a.ya("Your user ID has not been approved."))):b&&a.ya("Browser local storage is not available"));return c}
function Ek(a,b){a.Ac=null;var c=r(la()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(pa("user",c.data),a.Ac=c.data)}catch(e){s(e.message+" ("+d+")")}return a.Ac}
function Dk(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qk(a,"1.16.0");d.data=c;b=r(la()+"/api/v1/user",!1,d);d=b[1];if(b[0]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[0]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.ya("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.ya(c),pa("user",""),a.Ac=null)}}
function nb(a){if(a.zc&&!a.dh){var b=ma("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ck(a,b,!0);!b&&a.ll?window&&window.location.reload():(b||(a.Nh=!0),a.Wg(wk),a.Nh=!1)}else a.reset(),a.ka&&lb(a.ka)}function B(a,b,c){a=Ga(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}
u(function(){for(var a=A(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=z(c),c=A(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],h=z(f),h=new vk(h,d,!0);Ja(h,f);yk(h,h.Wg)}});ra.show.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.Jj&&!c.na.Hb&&c.Wg(-1)}});
ra.exit.push(function(){for(var a=A(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=z(a[b]);(c=Ia("Computer",c.id))&&c.na.Hb&&Ck(c,!(!c.zc||c.dh),!0)}});var Fk=0;function Gk(a,b,c,d,e,f){e("Loading "+a+"...");r(a,!0,null,null,function(h,g,m){m?(g||(g="unable to load "+a+" ("+m+")"),f(g,null)):Hk(g,a,b,c,d,e,f)})}
function Hk(a,b,c,d,e,f,h){function g(a,f){if(f)h(f,null);else{if(c){var g=b;g&&0>g.indexOf("/")&&(g=window.location.pathname+g);a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(g?" url=$2"+g+"$2":""))}g=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),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?e?Ik(a,f,g):g(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Ik(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,!0,null,null,function(f,h,g){if(g||!h)c(a,"unable to resolve XML reference: "+d[0]+" ("+g+")");else{if(f=d[3])if(g=h.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=g[0],n,q=/( [a-z]+=)(['"])(.*?)\2/g;n=q.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);g[0]!=m&&(h=h.replace(g[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}h=h.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],h);Ik(a,b,c)}})}else c(a,null)}
function Jk(a,b,c,d){function e(a){if(void 0===m){var b=g&&A(g,"machine-warning");m=b&&b[0]||g}m&&(m.innerHTML=ga(a))}function f(a){e("Error: "+a);n&&h();n=!1}function h(){0==--Fk&&ya(!0)}var g,m,n=!0;Fk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.0/components.xsl");var q=function(a,d){if(d){var m=function(a,m){if(m)if(m)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var n=d.transformNode(m);n?(g.outerHTML=n,h()):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(n=new XSLTProcessor,n.importStylesheet(m),(n=n.transformToFragment(d,window.document))?(g.parentNode.replaceChild(n,g),h()):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Gk(c,null,null,!1,e,m):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Gk(b,a,d,!0,e,q):Hk(b,null,a,d,!1,e,q)}else f("failed to find machine element: "+a)}catch(w){f(w.message)}return n}
window.embedPC=function(a,b,c,d){ya(!1);return Jk(a,b,c,d)};window.enableEvents=ya;window.sendEvent=za;})();