Debugger changes for improved 32-bit support

This commit is contained in:
Jeff Parsons 2015-02-28 11:55:55 -08:00 committed by jeffpar
commit f50612e7ca
21 changed files with 3581 additions and 2949 deletions

View file

@ -10,12 +10,12 @@ post it.
A Compaq DeskPro 386 test configuration is displayed below. It's located at:
> [/devices/pc/machine/compaq/deskpro386/ega/1152Kb/](/devices/pc/machine/compaq/deskpro386/ega/1152Kb/)
> [/devices/pc/machine/compaq/deskpro386/ega/2048Kb/](/devices/pc/machine/compaq/deskpro386/ega/2048Kb/)
The configuration doesn't run, and the debugger can't disassemble 80386-specific code yet, but this is what I will be
using to test and debug my changes over the next few months.
[Embedded DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/1152kb/machine.xml "PCjs:deskpro386-ega-1152k::uncompiled:debugger")
[Embedded DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml "PCjs:deskpro386-ega-2048k::uncompiled:debugger")
*[@jeffpar](http://twitter.com/jeffpar)*
*February 22, 2015*

View file

@ -92,8 +92,8 @@ According to [OS/2 Museum](http://os2museum.com) proprietor Michal Necasek, the
Fortunately, my 80386-B1 CPU is also marked with a "ΣΣ" (double sigma), which is how Intel marked
parts that tested safe for 32-bit multiplication. Some 80386 CPUs suffered from a manufacturing defect that
could occasionally result in multiplication errors; defective parts that Intel caught were marked with "16 BIT S/W ONLY"
instead of the double sigma.
could occasionally result in multiplication errors; defective parts that Intel caught were marked with
"16 BIT S/W ONLY" instead of the double sigma.
The only other information I have about revision levels comes from a March 30, 1987 document titled
"**80386-C0 STEPPING INFORMATION**":
@ -101,7 +101,9 @@ The only other information I have about revision levels comes from a March 30, 1
80386-C0 component identifier readable in DH after reset: 03H
80386-C0 revision identifier readable in DL after reset: 04H
However, the document does not indicate how a 80386-C0 part was marked.
However, that document does not indicate how a 80386-C0 part was marked, and I've found very little other
information on the C0 stepping; it may have been quickly superseded by the D0 stepping, which used revision
identifier 0x05.
### Errata
@ -164,8 +166,60 @@ plus the two errata from April 30 (#18 and #19), along with the following new er
This brought the total number of 80386-B1 errata to 21.
There was also a manufacturing problem that caused 32-bit multiplications to fail on some parts, which Intel
publicly acknowledged in September 1987. The problem affected the B1 stepping; it's unknown whether other
steppings were affected as well.
publicly acknowledged in April 1987.
From the San Jose Mercury News, April 11, 1987:
INTEL DISCOVERS A BUG IN ITS NEW 80386 CHIP
Author(s): CHRISTOPHER H. SCHMITT AND JIM BARTIMO, Mercury News
Business Writers Date: April 11, 1987 Section: Business
Intel acknowledged Friday that a bug has cropped up in its new flagship microprocessor chip.
Microprocessors serve as the electronic brains of devices ranging from personal computers to
home appliances.
Intel said the bug in its 80386 microprocessor produces incorrect answers when the chip
performs certain mathematical operations. "When you multiply one 32-bit number by another
32-bit number, you get the error," said Intel spokesman Jim Jarrett. A 32-bit number is one
that utilizes the full data path of the chip.
However, operating system software that would let the chip fully use its 32-bit characteristics
is still being developed, so the problem shouldn't immediately affect personal computer users.
Microsoft Corp. of Redmond, Wash., has announced its intention to deliver in early 1988 a 32-bit
operating system known as OS/2.
Even when using the 32-bit capabilities of the chip, the possibility of an error is "rare,"
Jarrett said.
Spokesman Bruce LeBoss said not all of the 100,000 80386 chips Intel has produced so far are
affected, but he declined to elaborate. Intel is sticking with a previously announced estimate
that it will sell from 500,000 to 1 million 80386s this year.
To address the problem, Intel said it is notifying computer companies and other customers and
extending the chip's warranty from one to two years. Anticipating that it will replace some
80386s already in the field, the company charged off an undisclosed amount to cover the
expense. One analyst estimated the charge at about $7 million.
Intel will test the chips it has already sold to determine which ones have the bug. But it will
not replace the chips for free. Instead, Intel will work with customers on an upgrade program.
Intel said it will be up to individual computer makers to work with consumers who have
purchased machines using the 80386 chip.
The problem may be most acutely felt by Houston-based Compaq Computer, which so far has
been the biggest producer of 80386-based computers. Compaq said it will disclose by early
next week plans for coping with the possibility that versions of its Deskpro 386 computer model
contain flawed chips.
The bug may cause some shortages of the 80386. The problem won't be fixed until July, so the
only guaranteed chips are those that have already been produced and have passed Intel's test.
"Everybody wants perfect chips and we'll have fewer of those to go around for a while," Jarrett
said. Analysts indicated that in the long run, the bug is more likely to be embarrassing than
anything else. "You have a complex chip here," said Daniel Klesken, an analyst for Montgomery
Securities in San Francisco. "One should not be surprised that (problems) happen occasionally."
The problem affected the B1 stepping; it's unknown whether other steppings were affected as well.
What follows is some additional information about early 80386 processors from various online sources.

View file

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.17.2/machine.xsl"?>
<machine id="deskpro386" class="pc" border="1" pos="center" style="background-color:#FAEBD7">
<computer id="deskpro386-ega-1152k" name="Compaq DeskPro 386" buswidth="32"/>
<computer id="deskpro386-ega-2048k" name="Compaq DeskPro 386" buswidth="32"/>
<cpu id="cpu386" model="80386" autostart="false"/>
<ram id="ramLow" addr="0x00000" test="true" size="0xa0000" comment="ROM BIOS memory test has NOT been disabled"/>
<ram id="ramExt" addr="0x100000" size="0x80000" comment=""/>
<ram id="ramCPQ" addr="0xfa0000" size="0x60000" comment="384Kb of Compaq memory at 0xFA0000"/>
<ram id="ramExt" addr="0x100000" size="0x100000" comment="1024Kb of extended memory at 0x100000"/>
<rom id="romEGA" addr="0xc0000" size="0x4000" file="/devices/pc/video/ibm-ega.json" notify="videoEGA"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="0xffff8000" file="/devices/pc/bios/compaq/deskpro386/1988-01-28.json"/>
<rom id="romBIOS" addr="0xf8000" size="0x8000" alias="[0xf0000,0xffff0000,0xffff8000]" file="/devices/pc/bios/compaq/deskpro386/1988-01-28.json"/>
<video ref="/devices/pc/video/video-ega-128kb-lock.xml"/>
<keyboard ref="/devices/pc/keyboard/keyboard-minimal-functions.xml"/>
<debugger id="debugger" messages="fault" commands=""/>

File diff suppressed because it is too large Load diff

View file

@ -6,117 +6,118 @@ a,b);t.setRequestHeader("Content-type","application/x-www-form-urlencoded");t.se
function ra(){if(null==qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}qa=a}return qa}function sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ua(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 va={init:[],show:[],exit:[]},wa=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){va.init.push(a)}
function Aa(a){if(xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){m("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ba(a){!xa&&a?(xa=!0,wa&&Da("init")):xa=a}function Da(a){va[a]&&Aa(va[a])}ya("onload",function(){wa=!0;Aa(va.init)});ya("onpageshow",function(){Aa(va.show)});ya(ua("Opera")||ua("iOS")?"onunload":"onbeforeunload",function(){Aa(va.exit)});
function n(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.xk=b.comment;this.qp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Sk=this.id.substr(0,b),this.Mi=this.id.substr(b+1)):this.Mi=this.id;this[a]=c;this.ea={pf:!1,Hc:!1,wi:!1,Zb:!1,fd:!1};this.oh=null;this.ea.fd=!1;this.ma={};this.Wa=null;Ea[Ea.length]=this}var Fa=void 0,Ga={};
function n(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bk=b.comment;this.vp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Xk=this.id.substr(0,b),this.th=this.id.substr(b+1)):this.th=this.id;this[a]=c;this.ea={qf:!1,Gc:!1,yi:!1,Zb:!1,fd:!1};this.ph=null;this.ea.fd=!1;this.ma={};this.Wa=null;Ea[Ea.length]=this}var Fa=void 0,Ga={};
if(window){Fa||(Fa=window.location.search.substr(1));for(var Ha,Ia=/\+/g,Ja=/([^&=]+)=?([^&]*)/g;Ha=Ja.exec(Fa);)Ga[decodeURIComponent(Ha[1].replace(Ia," "))]=decodeURIComponent(Ha[2].replace(Ia," "))}function Ka(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 La(a,b){b.prototype=Ka(a.prototype);b.prototype.constructor=b;b.prototype.parent=a.prototype}var Ea=[];function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ea.length;b++){var d=Ea[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Pa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ea.length;c++)if(Ea[c].id===a)return Ea[c]}return null}
function Qa(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<Ea.length;d++)if(c)c==Ea[d]&&(c=null);else if(!(a!=Ea[d].type||b&&Ea[d].id.indexOf(b)))return Ea[d]}return null}function Ra(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){m(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function La(a,b){b.prototype=Ka(a.prototype);b.prototype.constructor=b;b.prototype.parent=a.prototype}var Ea=[];function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ea.length;b++){var d=Ea[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Na(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ea.length;c++)if(Ea[c].id===a)return Ea[c]}return null}
function Oa(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<Ea.length;d++)if(c)c==Ea[d]&&(c=null);else if(!(a!=Ea[d].type||b&&Ea[d].id.indexOf(b)))return Ea[d]}return null}function Ra(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){m(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Sa(a,b){for(var c=Ta(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 r=h.split(" "),t=0;t<r.length;t++)switch(h=r[t],h){case "pcjs-binding":(h=Ra(g))&&h.binding&&a.Eb(h.type,h.binding,g),t=r.length}}}}
function Ta(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}
n.prototype={constructor:n,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ma[b]||(this.ma[b]=c,c.onclick=function(a){return function(){a.ma.print&&(a.ma.print.value="")}}(this)),!0;case "print":return this.ma[b]||(this.oi=this.ma[b]=c,c.value="",this.kc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.va=function(a,b,c){this.kc(a,"notice",c)}),!0;default:return!1}},log:function(){},assert:function(){},kc:function(){},status:function(a){this.kc(this.Mi+": "+a)},va:function(a,b){b||m(a)},bc:function(){return this.ea.Zb=!0},ac:function(a,b){b&&(this.ea.Zb=!1);return!0},cc:function(){return!1}};function Ua(a,b){if(a.ea.wi)return a.ea.Hc&&(a.ea.Hc=!1),a.ea.wi=!1;if(a.ea.fd)return a.kc(a.toString()+" error"),!1;a.ea.Hc=b;return a.ea.Hc}
function p(a,b){if(!a.ea.fd&&(a.ea.pf=!1!==b,a.ea.pf)){var c=a.oh;a.oh=null;c&&c()}}function Va(a,b){b&&(a.ea.pf?b():a.oh=b);return a.ea.pf}function Wa(a,b){a.ea.fd=!0;a.va("Fatal error: "+b)}var Xa="undefined"!==typeof ArrayBuffer;function Ya(a){n.call(this,"Panel",a,Ya);this.canvas=null;this.Hd=this.Id=this.cg=-1}La(n,Ya);
function Za(a,b,c,d){this.Pe=[a,b,c,d];this.Qh=null;void 0===a&&(this.Pe[0]=256*Math.random()|0,this.Pe[1]=256*Math.random()|0,this.Pe[2]=256*Math.random()|0,this.Pe[3]=255,this.Qh=null)}Za.prototype.toString=function(){this.Qh||(this.Qh="#"+ea(this.Pe[0])+ea(this.Pe[1])+ea(this.Pe[2]));return this.Qh};function $a(a,b,c,d){this.x=a;this.y=b;this.xc=c;this.Gc=d}$a.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.xc&&b>=this.y&&b<this.y+this.Gc};
function ab(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Gc*b/c|0),a.y+=b.Gc,a.Gc-=b.Gc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Gc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.zc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0};
k.mi=function(a,b){a.button||(this.cg=b?0:-1,db(this,a,b))};k.Wk=function(a){db(this,a)};
function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.cg||(a.cg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.cg?b=a.Id:2==a.cg&&(d=a.Hd));a.Hd=d;a.Id=b;a:{c=d;if(960>c&&a.Oa&&a.Oa.af)for(f=0;f<a.Oa.af.length;f++)if(e=a.Oa.af[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.Oa.bf[f],g=a.Oa.Xh[d&eb]&eb,f=g*a.ka.Hb,d=(g+(d>>fb&gb))*a.ka.Hb-1;0<b&&(f+=e.xc*(b-1)*a.fm);f+=c*a.fm;f|=0;f>d&&(f=
d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.jk&&(hb(a,c,!0),a.jk=c))}
k.Gd=function(){if(this.canvas&&this.bh&&this.Qd&&this.Ae){var a=this.Qd.width,b=this.Qd.height;this.Ae.fillStyle="black";this.Ae.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Ae,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Ke.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.po=16;this.qo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.ta,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX",
this.U.C,2);u(this,"ES",this.U.Na.ta,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.ta,2);u(this,"SS",this.U.ra.ta,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.jk);
this.bh.drawImage(this.Qd,0,0,a,b,this.gr,this.jr,this.Cq,this.Fq)}};
function hb(a,b,c){if(a.bh&&a.Qd&&a.Ae){var d=a.Qd.width;a.Ae.fillStyle="black";a.Ae.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Ae,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.bh.drawImage(a.Qd,0,360,d,360,a.er,a.hr,a.Aq,a.Dq)}}
function ib(a,b,c,d,e){var f,g=a.Ap=10;a.Oc=g;a.Ye=b;a.tf=a.Pk=18;f||(f=a.Nk||a.Pk+"px Monaco, Lucida Console, Courier New");a.ph=a.Nk=f;c&&(a.Jm=c);d&&(a.ed=d,a.Lm=e||"white")}function jb(a,b){a.pi=a.Jm.width/b|0}function kb(a,b){a.Oc=a.Ap;a.Ye+=(a.tf+2)*(b||1)}function u(a,b,c,d,e){a.ed.font=a.ph;a.ed.fillStyle=a.Lm;a.ed.fillText(b,a.Oc,a.Ye);a.Oc+=a.pi;null!=c&&(b=c.toString(),16==a.po&&(b="0x"+da(c,a.qo)),a.ed.fillText(b,a.Oc,a.Ye),a.Oc+=a.pi);d&&(a.Oc+=a.pi*d);e&&kb(a,e)}
function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ra(d),f=Pa(e.id);f||(a=!0,f=new Ya(e));Sa(f,d);a&&p(f)}}za(cb);function zb(a,b,c){n.call(this,"Bus",a,zb);this.U=b;this.Wa=c;this.yf=a.buswidth||20;this.bi=Math.pow(2,this.yf);this.Hm=this.tb=this.bi-1|0;this.jb=20>=this.yf?12:24>=this.yf?14:15;this.Hb=1<<this.jb;this.tk=this.Hb>>2;this.Ta=this.Hb-1;this.Qf=this.bi/this.Hb|0;this.td=this.Qf-1;this.Hg=[];this.Ig=[];this.Oi();p(this)}La(n,zb);
var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Oi=function(){this.sa=Array(this.Qf);for(var a=0;a<this.Qf;a++)this.sa[a]=new Ab(a*this.Hb);this.U.Oi(this.sa,this.jb,this.Ta,this.td);this.U.tb=this.tb};k.reset=function(){Bb(this,!0)};k.bc=function(a,b){b||this.reset();return!0};
function Cb(a,b,c,d,e){for(var f=b>>>a.jb;0<c&&f<a.sa.length;){var g=a.sa[f],h=f*a.Hb,r=c>a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.Kf)return g.Uh+=g.Kf-b,g.Kf=b,!0;if(b>=g.Kf+g.Uh){r=g.size-(b-h);r>c&&(r=c);g.Uh=b-g.Kf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.sa[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0<c?Db(2,b,c):!0}function Bb(a,b){if(void 0!==b&&20<a.yf){var c=a.tb&-1048577|(b?1048576:0);c!=a.tb&&(a.tb=c,a.U&&(a.U.tb=c))}}
k.Rh=function(a,b,c){if(!(a&this.Ta||!b||b&this.Ta)){for(var d=a>>>this.jb;0<b;){var e=this.sa[d];if(!e.X)return Db(5,a,b);e.le(c);b-=this.Hb;d++}return!0}return Db(3,a,b)};function Eb(a,b,c){if(!(b&a.Ta||!c||c&a.Ta)){for(var d=b>>>a.jb;0<c;)b=d*a.Hb,a.sa[d++]=new Ab(b),c-=a.Hb;return!0}return Db(4,b,c)}k.qc=function(a){return this.sa[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.sa[(b&a.tb)>>>a.jb].Qj(b&a.Ta)}
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.sa[a].gm(b):this.sa[a++].Cb(b)|this.sa[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.sa[d].rp(c):a.sa[d++].Qj(c)|a.sa[d&a.td].Qj(0)<<8}k.Se=function(a,b){this.sa[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.sa[d].wm(c,b&65535):(this.sa[d++].Fb(c,b&255),this.sa[d&this.td].Fb(0,b>>8&255))};
function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.sa[b].zp(d,c&65535):(a.sa[b++].Zj(d,c&255),a.sa[b&a.td].Zj(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d<a.Qf;d++){var e=a.sa[d];if(e.Ha||e.Ck){c[b++]=d;var f=b++;a:if(e=e.save()){for(var g=0,h=0,r=[];g<e.length;){for(var t=e[g],B=g+1;B<e.length&&e[B]===t;)B++;r[h++]=B-g;r[h++]=t;g=B}if(r.length<e.length){e=r;break a}}c[f]=e}}c[b]=a.Hm==a.tb;return c}
function Ib(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Hg[t]?m("Input port "+da(t,4)+" registered by "+f.Hg[t][0].id+", ignoring "+h.id):f.Hg[t]=[h,r,!1,!1]}}function Jb(a,b,c){var d=255;a=a.Hg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function Kb(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Ig[t]?m("Output port "+da(t,4)+" registered by "+f.Ig[t][0].id+", ignoring "+h.id):f.Ig[t]=[h,r,!1,!1]}}function Lb(a,b,c,d){a=a.Ig[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Db(a,b,c){m("Memory block error ("+a+","+da(b)+","+da(c)+")");return!1}var Mb;
n.prototype={constructor:n,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ma[b]||(this.ma[b]=c,c.onclick=function(a){return function(){a.ma.print&&(a.ma.print.value="")}}(this)),!0;case "print":return this.ma[b]||(this.qi=this.ma[b]=c,c.value="",this.kc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.va=function(a,b,c){this.kc(a,"notice",c)}),!0;default:return!1}},log:function(){},assert:function(){},kc:function(){},status:function(a){this.kc(this.th+": "+a)},va:function(a,b){b||m(a)},bc:function(){return this.ea.Zb=!0},ac:function(a,b){b&&(this.ea.Zb=!1);return!0},cc:function(){return!1}};function Ua(a,b){if(a.ea.yi)return a.ea.Gc&&(a.ea.Gc=!1),a.ea.yi=!1;if(a.ea.fd)return a.kc(a.toString()+" error"),!1;a.ea.Gc=b;return a.ea.Gc}
function p(a,b){if(!a.ea.fd&&(a.ea.qf=!1!==b,a.ea.qf)){var c=a.ph;a.ph=null;c&&c()}}function Va(a,b){b&&(a.ea.qf?b():a.ph=b);return a.ea.qf}function Wa(a,b){a.ea.fd=!0;a.va("Fatal error: "+b)}var Xa="undefined"!==typeof ArrayBuffer;function Ya(a){n.call(this,"Panel",a,Ya);this.canvas=null;this.Hd=this.Id=this.dg=-1}La(n,Ya);
function Za(a,b,c,d){this.Qe=[a,b,c,d];this.Sh=null;void 0===a&&(this.Qe[0]=256*Math.random()|0,this.Qe[1]=256*Math.random()|0,this.Qe[2]=256*Math.random()|0,this.Qe[3]=255,this.Sh=null)}Za.prototype.toString=function(){this.Sh||(this.Sh="#"+ea(this.Qe[0])+ea(this.Qe[1])+ea(this.Qe[2]));return this.Sh};function $a(a,b,c,d){this.x=a;this.y=b;this.xc=c;this.Fc=d}$a.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.xc&&b>=this.y&&b<this.y+this.Fc};
function ab(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Fc*b/c|0),a.y+=b.Fc,a.Fc-=b.Fc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Fc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0};
k.oi=function(a,b){a.button||(this.dg=b?0:-1,db(this,a,b))};k.al=function(a){db(this,a)};
function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.dg||(a.dg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.dg?b=a.Id:2==a.dg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f<a.Pa.bf.length;f++)if(e=a.Pa.bf[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.Pa.cf[f],g=a.Pa.Zh[d&eb]&eb,f=g*a.ka.Hb,d=(g+(d>>fb&gb))*a.ka.Hb-1;0<b&&(f+=e.xc*(b-
1)*a.km);f+=c*a.km;f|=0;f>d&&(f=d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.nk&&(hb(a,c,!0),a.nk=c))}}
k.Gd=function(){if(this.canvas&&this.dh&&this.Qd&&this.Be){var a=this.Qd.width,b=this.Qd.height;this.Be.fillStyle="black";this.Be.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Be,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Le.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.uo=16;this.vo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.sa,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX",
this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk);
this.dh.drawImage(this.Qd,0,0,a,b,this.lr,this.or,this.Hq,this.Kq)}};
function hb(a,b,c){if(a.dh&&a.Qd&&a.Be){var d=a.Qd.width;a.Be.fillStyle="black";a.Be.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Be,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.dh.drawImage(a.Qd,0,360,d,360,a.jr,a.mr,a.Fq,a.Iq)}}
function ib(a,b,c,d,e){var f,g=a.Fp=10;a.Nc=g;a.Ze=b;a.uf=a.Uk=18;f||(f=a.Rk||a.Uk+"px Monaco, Lucida Console, Courier New");a.qh=a.Rk=f;c&&(a.Om=c);d&&(a.dd=d,a.Qm=e||"white")}function jb(a,b){a.ri=a.Om.width/b|0}function kb(a,b){a.Nc=a.Fp;a.Ze+=(a.uf+2)*(b||1)}function u(a,b,c,d,e){a.dd.font=a.qh;a.dd.fillStyle=a.Qm;a.dd.fillText(b,a.Nc,a.Ze);a.Nc+=a.ri;null!=c&&(b=c.toString(),16==a.uo&&(b="0x"+da(c,a.vo)),a.dd.fillText(b,a.Nc,a.Ze),a.Nc+=a.ri);d&&(a.Nc+=a.ri*d);e&&kb(a,e)}
function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ra(d),f=Na(e.id);f||(a=!0,f=new Ya(e));Sa(f,d);a&&p(f)}}za(cb);function zb(a,b,c){n.call(this,"Bus",a,zb);this.U=b;this.Wa=c;this.zf=a.buswidth||20;this.di=Math.pow(2,this.zf);this.Mm=this.tb=this.di-1|0;this.jb=20>=this.zf?12:24>=this.zf?14:15;this.Hb=1<<this.jb;this.xk=this.Hb>>2;this.Ta=this.Hb-1;this.Rf=this.di/this.Hb|0;this.td=this.Rf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb);
var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Rf);for(var a=0;a<this.Rf;a++)this.ta[a]=new Ab(a*this.Hb);this.U.Qi(this.ta,this.jb,this.Ta,this.td);this.U.tb=this.tb};k.reset=function(){Bb(this,!0)};k.bc=function(a,b){b||this.reset();return!0};
function Cb(a,b,c,d,e){for(var f=b>>>a.jb;0<c&&f<a.ta.length;){var g=a.ta[f],h=f*a.Hb,r=c>a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Lf)return g.Wh+=g.Lf-b,g.Lf=b,!0;if(b>=g.Lf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Lf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0<c?Db(2,b,c):!0}function Bb(a,b){if(void 0!==b&&20<a.zf){var c=a.tb&-1048577|(b?1048576:0);c!=a.tb&&(a.tb=c,a.U&&(a.U.tb=c))}}
k.Th=function(a,b,c){if(!(a&this.Ta||!b||b&this.Ta)){for(var d=a>>>this.jb;0<b;){var e=this.ta[d];if(!e.V)return Db(5,a,b);e.le(c);b-=this.Hb;d++}return!0}return Db(3,a,b)};function Eb(a,b,c){if(!(b&a.Ta||!c||c&a.Ta)){for(var d=b>>>a.jb;0<c;)b=d*a.Hb,a.ta[d++]=new Ab(b),c-=a.Hb;return!0}return Db(4,b,c)}k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.ta[(b&a.tb)>>>a.jb].Sj(b&a.Ta)}
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.ta[a].lm(b):this.ta[a++].Cb(b)|this.ta[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.ta[d].wp(c):a.ta[d++].Sj(c)|a.ta[d&a.td].Sj(0)<<8}k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))};
function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d<a.Rf;d++){var e=a.ta[d];if(e.Ha||e.Gk){c[b++]=d;var f=b++;a:if(e=e.save()){for(var g=0,h=0,r=[];g<e.length;){for(var t=e[g],B=g+1;B<e.length&&e[B]===t;)B++;r[h++]=B-g;r[h++]=t;g=B}if(r.length<e.length){e=r;break a}}c[f]=e}}c[b]=a.Mm==a.tb;return c}
function Ib(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Ig[t]?m("Input port "+da(t,4)+" registered by "+f.Ig[t][0].id+", ignoring "+h.id):f.Ig[t]=[h,r,!1,!1]}}function Jb(a,b,c){var d=255;a=a.Ig[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function Kb(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Jg[t]?m("Output port "+da(t,4)+" registered by "+f.Jg[t][0].id+", ignoring "+h.id):f.Jg[t]=[h,r,!1,!1]}}function Lb(a,b,c,d){a=a.Jg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Db(a,b,c){m("Memory block error ("+a+","+da(b)+","+da(c)+")");return!1}var Mb;
if(Xa){var Nb=new ArrayBuffer(2);(new DataView(Nb)).setUint16(0,256,!0);Mb=256===(new Uint16Array(Nb))[0]}else Mb=!1;var Ob=Mb;
function Ab(a,b,c,d,e){this.ia=null;this.offset=0;this.Kf=a;this.Uh=b;this.size=c||0;this.type=d||Pb;this.Hk=d==Qb;this.X=null;this.Ha=this.Ck=!1;if(c)if(e)this.X=e,a=[e.se,a-e.Ra],this.ia=a[0],this.offset=a[1],this.le(e.Mf);else if(Xa)this.buffer=new ArrayBuffer(c),this.mf=new DataView(this.buffer,0,c),this.Wb=new Uint8Array(this.buffer,0,c),this.mk=new Uint16Array(this.buffer,0,c>>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e<this.ia.length;e++)this.ia[e]=
0;this.le(Ub)}else this.le()}var Pb=0,Qb=2,Vb=["NONE","RAM","ROM","VIDEO"],Wb=["black","blue","green","cyan"];function Xb(){return 0}function Yb(){}function Zb(a){return this.Wb[a]}function $b(a){return this.Wb[a]}function ac(a){return this.mf.getUint16(a,!0)}function bc(a){return a&1?this.Wb[a]|this.Wb[a+1]<<8:this.mk[a>>1]}function cc(a){return this.mf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]}
function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.mf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.mk[a>>1]=b;this.Ha=!0}function ic(a,b){this.mf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0}
function Ab(a,b,c,d,e){this.ia=null;this.offset=0;this.Lf=a;this.Wh=b;this.size=c||0;this.type=d||Pb;this.Lk=d==Qb;this.V=null;this.Ha=this.Gk=!1;if(c)if(e)this.V=e,a=e.Tk(a),this.ia=a[0],this.offset=a[1],this.le(e.Li());else if(Xa)this.buffer=new ArrayBuffer(c),this.nf=new DataView(this.buffer,0,c),this.Wb=new Uint8Array(this.buffer,0,c),this.qk=new Uint16Array(this.buffer,0,c>>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e<this.ia.length;e++)this.ia[e]=
0;this.le(Ub)}else this.le()}var Pb=0,Qb=2,Vb=["NONE","RAM","ROM","VIDEO","H/W"],Wb=["black","blue","green","cyan"];function Xb(){return 0}function Yb(){}function Zb(a){return this.Wb[a]}function $b(a){return this.Wb[a]}function ac(a){return this.nf.getUint16(a,!0)}function bc(a){return a&1?this.Wb[a]|this.Wb[a+1]<<8:this.qk[a>>1]}function cc(a){return this.nf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]}
function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.nf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.qk[a>>1]=b;this.Ha=!0}function ic(a,b){this.nf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0}
var Ub=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<<d)|b<<d;this.Ha=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<<d)|b<<d:(this.ia[c]=this.ia[c]&16777215|b<<24,c++,this.ia[c]=this.ia[c]&-256|b>>8);this.Ha=
!0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ia[c]=this.ia[c]&~e|b<<d;c++;this.ia[c]=this.ia[c]&e|b>>>32-d}else this.ia[c]=b;this.Ha=!0}];if(Xa)var Sb=[Zb,ac,cc,ec,gc,ic],Rb=[$b,bc,dc,fc,hc,jc];
Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.X)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.mf.getInt32(b<<2,!0);else a=this.ia;return a},restore:function(a){if(this.X)return null==a;if(a&&this.size==a.length<<2){var b;if(Xa)for(b=0;b<a.length;b++)this.mf.setInt32(b<<2,a[b],!0);else this.ia=a;return this.Ha=!0}return!1},le:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cb=c[0]||Xb;this.gm=c[1]||Xb;b&&(this.Qj=c[0]||Xb,this.rp=c[1]||
Xb);c=a;this.Fb=!this.Hk&&c[3]||Yb;this.wm=!this.Hk&&c[4]||Yb;b&&(this.Zj=c[3]||Yb,this.zp=c[4]||Yb)}};
function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.th=Math.round(this.S.jd/1E4)/100;this.S.Ke=this.S.th*this.S.be;this.ea.Ib=!1;this.ea.Kk=!1;this.ea.vi=a.autoStart;this.ea.Dk=!1;c=Ga.autostart;void 0!==c&&(this.ea.vi="true"==c?!0:"false"==c?!1:null);this.ea.hh=!1;this.S.xh=this.S.zf=0;this.S.yh=a.csStart;this.S.dg=a.csInterval;this.S.eg=a.csStop;var e=this;this.uo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype;
k.zc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.vi||null===a.ea.vi&&void 0===a.ma.run)&&lc(a)}k.Ok=function(){return 0};
function nc(a){void 0===a.S.yh&&(a.S.yh=0);void 0===a.S.dg&&(a.S.dg=-1);void 0===a.S.eg&&(a.S.eg=-1);a.ea.hh=0<=a.S.yh&&0<a.S.dg;a.ea.hh&&(a.S.xh=0,a.S.zf=a.S.yh-a.Oe)}function x(a,b,c,d){a.ma[b]&&(void 0===d&&(d=4),void 0===c&&(Wa(a,"Register "+b+" is invalid"),rc(a)),c=!a.ea.Ib||a.ea.Dk?da(c,d):"----".substr(0,d),a.ma[b].textContent!=c&&(a.ma[b].textContent=c))}k.Gd=function(){this.ya&&this.ya.Dd&&this.ya.Dd.Gd()};
function pc(a){a.video&&sc(a.video);if(a.ya&&a.ya.Dd&&(a=a.ya.Dd,a.an)){ib(a,18,a.Tf,a.Mm,a.canvas.style.color);if(a.Jq){var b=a.ka,c=a.Oa,d,e;null==d&&(d=0);null==e&&(e=b.bi-d|0);null==c&&(c={li:0,Rf:0,Xh:Array(b.Qf)});var f=d>>>b.jb;d=d+e-1>>>b.jb;c.li=0;for(c.Rf=0;f<=d;){e=b.sa[f];c.li+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Xh[c.Rf++]=g}f++}a.Oa=c;a.fm=a.Oa.Rf*a.ka.Hb/691200;e=0;a.Oa.ii=0;a.Oa.bf||(a.Oa.bf=[]);d=-1;for(var g=0,h=-1,b=0;b<a.Oa.Rf;b++){f=a.Oa.Xh[b];c=f>>>28;f&=eb;if(c!=d||f!=
h+1){if(h=b-g)d=a.Oa.bf[a.Oa.ii++]=g|h<<fb|d<<28,e+=d;d=c;g=b}h=f}b=a.Oa.bf[a.Oa.ii++]=g|b-g<<fb|d<<28;e+=b;b=a.Oa.Km!=e;a.Oa.Km=e;if(b){c=new $a(0,0,a.Tf.width,a.Tf.height);a.Oa.af=[];f=a.Oa.Rf;for(b=0;b<a.Oa.ii;b++)d=a.Oa.bf[b]>>fb&gb,a.Oa.af.push(ab(c,d,f,0==b)),f-=d;for(b=0;b<a.Oa.af.length;b++){f=a.Oa.bf[b];c=f>>28&7;f=f>>fb&gb;d=e=a.Oa.af[b];g=a.Mm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Gc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc,
d.Gc);d=a;g=e;d.ph=d.Nk;d.tf=d.Pk;e=g.x+(g.xc>>1);var h=g.y+(g.Gc>>1),r=g.Gc;g.xc<g.Gc&&(r=g.xc,d.Lk=!0,d.ed.save(),d.ed.translate(e,h),d.ed.rotate(-Math.PI/2),e=h=0);r<d.tf&&(d.tf=r,d.ph=d.tf+"px Monaco, Lucida Console, Courier New");g=h;d.Oc=e;d.Ye=g;d=a;c=Vb[c]+" ("+(f*a.ka.Hb/1024|0)+"Kb)";d.ed.font=d.ph;d.Oc-=d.ed.measureText(c).width>>1;d.Ye+=(d.tf>>1)-2;u(d,c);d.Lk&&(d.ed.restore(),d.Lk=!1)}}}else u(a,"This space intentionally left blank");a.bh.drawImage(a.Tf,0,0,a.Tf.width,a.Tf.height,a.fr,
a.ir,a.Bq,a.Eq);a.an=!1}}k.od=function(){this.video&&this.video.od()};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ea.pf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ea.Zb);c++);c==h.length&&(b=a);m("The "+b.type+" component ("+b.id+") is not "+(b.ea.pf?"powered yet":"ready yet"+(b.oh?" (waiting for notification)":""))+".");a=!1}a&&(d.ea.Ib?rc(d,!0):lc(d,!0))};a=!0;break;case "reset":this.ma[b]=c;c.onclick=
function(){d.ya&&tc(d.ya)};a=!0;break;case "speed":this.ma[b]=c;a=!0;break;case "setSpeed":this.ma[b]=c,c.onclick=function(){uc(d,d.S.be<<1,!0)},c.textContent=this.S.Ke.toFixed(2)+"Mhz",a=!0}return a};function vc(a,b){if(a.ea.Ib){var c=a.A-b;a.A-=c;a.hd-=c}}function wc(a,b,c){a.Oe+=b;c&&(a.hd=a.A=0)}
function xc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.S.be&&a.S.$d&&(d=a.S.$d/a.S.th);a.S.Xk=Math.round(1E3/30);a.S.no=Math.floor(a.S.jd/c*d);a.S.Vi=Math.floor(a.S.jd/30*d);a.S.al=Math.floor(a.S.jd/60*d);a.S.$k=Math.floor(a.S.jd/2*d);b||(a.S.hg=a.S.Vi,a.S.gg=a.S.al,a.S.fg=a.S.$k);a.S.Wi=0}function yc(a,b){var c=a.Oe+a.fe+a.hd-a.A;b&&1<a.S.be&&a.S.$d>a.S.th&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Oe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)}
function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Ke&&(b=1);a.S.be=b;b=a.S.th*a.S.be;if(a.S.Ke!=b){a.S.Ke=b;b=a.S.Ke.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.xf=ka();a.S.Le=0;xc(a)}
function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.xf,yc(a));a.ea.Ib=!0;a.ea.Kk=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Wi>=a.S.jd&&xc(a,!0);a.S.ig=0;a.S.vh=ka();a.S.Le&&(c=a.S.vh-a.S.Le,c>a.S.Xk&&(a.S.xf+=c,a.S.xf>a.S.vh&&(a.S.xf=a.S.vh)));try{do{var d=a.ea.hh?1:a.S.no;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.Ge){var g=(yc(e.U,e.Xd)-f.Bd)/e.Fh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Fh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t=
a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Bf-yc(t.U,t.Xd);0<B&&c>B&&(c=B)}d=c}a.tm(d);var I=a.hd-a.A;a.fe+=I;a.S.ig+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.hh){var L=!1;c.S.xh=c.S.xh+c.Ok()|0;c.S.zf-=H;0>=c.S.zf&&(c.S.zf+=c.S.dg,L=!0);0<=c.S.eg&&c.S.eg<=yc(c)&&(c.S.dg=c.S.eg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.xh))}a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.al,pc(a));a.S.fg-=I;0>=a.S.fg&&(a.S.fg+=a.S.$k,a.Gd());a.S.hg-=I;if(0>=a.S.hg){a.S.hg+=a.S.Vi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a);
a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.uo;a.S.Le=ka();f=a.S.Xk;a.S.ig&&(f=Math.round(f*a.S.ig/a.S.Vi));f-=a.S.Le-a.S.vh;if(g=a.S.Le-a.S.xf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Oe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$d<a.S.Ke)f=0;a.S.Wi+=a.S.ig;a.S.Le+=f;d(e,f)}else pc(a),a.Gd(),a.ya&&a.ya.stop(ka(),yc(a))}k.tm=function(){return 0};
function rc(a,b){a.ea.Hc&&(a.ea.wi=!0);a.hd-=a.A;a.A=0;wc(a,a.fe);a.fe=0;if(a.ea.Ib){a.ea.Ib=!1;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Run")}a.ea.Zf=b}var q=-4,xb=1,wb=4,vb=16,ub=64,tb=128,sb=256,rb=512,qb=1024,pb=2048,Cc=sb|rb|qb,Dc=xb|wb|vb|ub|tb|pb,Ec=xb|wb|vb|ub|tb;
function Fc(a,b,c,d){this.U=a;this.Wa=a.Wa;this.id=b;this.Oh=c||"";this.ua=this.ta=0;this.$b=65535;this.ui=this.hb=0;this.Ld=q;this.pc=this.Va=0;this.nk=this.id==Gc?Array(32):[];this.xi=null;this.Bi=this.nh=!1;Hc(this,d)}var Gc=1;function Ic(a){this.ta=a;this.yc=this.Ng=2;this.fa=this.ha=65535;return this.ua=a<<4}function Jc(a,b){var c,d,e=this.U;a&4?(c=e.ke.ua,d=c+e.ke.$b):(c=e.Rc,d=e.ef);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Kc(this,c,a,b);b||Lc.call(e,13,a)}return q}
function Mc(a){var b=this.U;a=b.Sc+(a<<2);var c=b.ja(a);b.Aa&=~(sb|rb);return this.load(b.ja(a+2))+c}function Nc(a){var b=this.U;a<<=3;var c=b.Sc+a;if(c+7<=b.ff)return Kc(this,c,a)+b.Sj;Lc.call(b,13,a|3,!0);return q}function Oc(a){return this.ua+a|0}function Pc(a){return this.ua+a|0}function Qc(a,b,c){return a+b<=this.$b?this.ua+a:Rc.call(this,0,0,c)}function Sc(a,b,c){return a+b>this.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q}
Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.V)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.nf.getInt32(b<<2,!0);else a=this.ia;return a},restore:function(a){if(this.V)return null==a;if(a&&this.size==a.length<<2){var b;if(Xa)for(b=0;b<a.length;b++)this.nf.setInt32(b<<2,a[b],!0);else this.ia=a;return this.Ha=!0}return!1},le:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cb=c[0]||Xb;this.lm=c[1]||Xb;b&&(this.Sj=c[0]||Xb,this.wp=c[1]||
Xb);c=a;this.Fb=!this.Lk&&c[3]||Yb;this.Bm=!this.Lk&&c[4]||Yb;b&&(this.ak=c[3]||Yb,this.Ep=c[4]||Yb)}};
function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.vh=Math.round(this.S.jd/1E4)/100;this.S.Le=this.S.vh*this.S.be;this.ea.Ib=!1;this.ea.Ok=!1;this.ea.xi=a.autoStart;this.ea.Hk=!1;c=Ga.autostart;void 0!==c&&(this.ea.xi="true"==c?!0:"false"==c?!1:null);this.ea.ih=!1;this.S.zh=this.S.Af=0;this.S.Ah=a.csStart;this.S.eg=a.csInterval;this.S.fg=a.csStop;var e=this;this.zo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype;
k.yc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.xi||null===a.ea.xi&&void 0===a.ma.run)&&lc(a)}k.Sk=function(){return 0};
function nc(a){void 0===a.S.Ah&&(a.S.Ah=0);void 0===a.S.eg&&(a.S.eg=-1);void 0===a.S.fg&&(a.S.fg=-1);a.ea.ih=0<=a.S.Ah&&0<a.S.eg;a.ea.ih&&(a.S.zh=0,a.S.Af=a.S.Ah-a.Pe)}function x(a,b,c,d){a.ma[b]&&(void 0===d&&(d=4),void 0===c&&(Wa(a,"Register "+b+" is invalid"),rc(a)),c=!a.ea.Ib||a.ea.Hk?da(c,d):"----".substr(0,d),a.ma[b].textContent!=c&&(a.ma[b].textContent=c))}k.Gd=function(){this.ya&&this.ya.Dd&&this.ya.Dd.Gd()};
function pc(a){a.video&&sc(a.video);if(a.ya&&a.ya.Dd&&(a=a.ya.Dd,a.fn)){ib(a,18,a.Uf,a.Rm,a.canvas.style.color);if(a.Oq){var b=a.ka,c=a.Pa,d,e;null==d&&(d=0);null==e&&(e=b.di-d|0);null==c&&(c={ni:0,Sf:0,Zh:Array(b.Rf)});var f=d>>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Sf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Sf++]=g}f++}a.Pa=c;a.km=a.Pa.Sf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b<a.Pa.Sf;b++){f=a.Pa.Zh[b];c=f>>>28;f&=eb;if(c!=d||f!=
h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<<fb|d<<28,e+=d;d=c;g=b}h=f}b=a.Pa.cf[a.Pa.ki++]=g|b-g<<fb|d<<28;e+=b;b=a.Pa.Pm!=e;a.Pa.Pm=e;if(b){c=new $a(0,0,a.Uf.width,a.Uf.height);a.Pa.bf=[];f=a.Pa.Sf;for(b=0;b<a.Pa.ki;b++)d=a.Pa.cf[b]>>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b<a.Pa.bf.length;b++){f=a.Pa.cf[b];c=f>>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc,
d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc<g.Fc&&(r=g.xc,d.Pk=!0,d.dd.save(),d.dd.translate(e,h),d.dd.rotate(-Math.PI/2),e=h=0);r<d.uf&&(d.uf=r,d.qh=d.uf+"px Monaco, Lucida Console, Courier New");g=h;d.Nc=e;d.Ze=g;d=a;c=Vb[c]+" ("+(f*a.ka.Hb/1024|0)+"Kb)";d.dd.font=d.qh;d.Nc-=d.dd.measureText(c).width>>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Uf,0,0,a.Uf.width,a.Uf.height,a.kr,
a.nr,a.Gq,a.Jq);a.fn=!1}}k.od=function(){this.video&&this.video.od()};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ea.qf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ea.Zb);c++);c==h.length&&(b=a);m("The "+b.type+" component ("+b.id+") is not "+(b.ea.qf?"powered yet":"ready yet"+(b.ph?" (waiting for notification)":""))+".");a=!1}a&&(d.ea.Ib?rc(d,!0):lc(d,!0))};a=!0;break;case "reset":this.ma[b]=c;c.onclick=
function(){d.ya&&tc(d.ya)};a=!0;break;case "speed":this.ma[b]=c;a=!0;break;case "setSpeed":this.ma[b]=c,c.onclick=function(){uc(d,d.S.be<<1,!0)},c.textContent=this.S.Le.toFixed(2)+"Mhz",a=!0}return a};function vc(a,b){if(a.ea.Ib){var c=a.A-b;a.A-=c;a.hd-=c}}function wc(a,b,c){a.Pe+=b;c&&(a.hd=a.A=0)}
function xc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.S.be&&a.S.$d&&(d=a.S.$d/a.S.vh);a.S.bl=Math.round(1E3/30);a.S.so=Math.floor(a.S.jd/c*d);a.S.Xi=Math.floor(a.S.jd/30*d);a.S.fl=Math.floor(a.S.jd/60*d);a.S.el=Math.floor(a.S.jd/2*d);b||(a.S.ig=a.S.Xi,a.S.hg=a.S.fl,a.S.gg=a.S.el);a.S.Yi=0}function yc(a,b){var c=a.Pe+a.fe+a.hd-a.A;b&&1<a.S.be&&a.S.$d>a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)}
function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)}
function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.jg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t=
a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0<B&&c>B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.jg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.eg,L=!0);0<=c.S.fg&&c.S.fg<=yc(c)&&(c.S.eg=c.S.fg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.fl,pc(a));a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.el,a.Gd());a.S.ig-=I;if(0>=a.S.ig){a.S.ig+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a);
a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.jg&&(f=Math.round(f*a.S.jg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$d<a.S.Le)f=0;a.S.Yi+=a.S.jg;a.S.Me+=f;d(e,f)}else pc(a),a.Gd(),a.ya&&a.ya.stop(ka(),yc(a))}k.ym=function(){return 0};
function rc(a,b){a.ea.Gc&&(a.ea.yi=!0);a.hd-=a.A;a.A=0;wc(a,a.fe);a.fe=0;if(a.ea.Ib){a.ea.Ib=!1;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Run")}a.ea.$f=b}var q=-4,xb=1,wb=4,vb=16,ub=64,tb=128,sb=256,rb=512,qb=1024,pb=2048,Cc=sb|rb|qb,Dc=xb|wb|vb|ub|tb|pb,Ec=xb|wb|vb|ub|tb;
function Fc(a,b,c,d){this.U=a;this.Wa=a.Wa;this.id=b;this.Qh=c||"";this.ua=this.sa=0;this.$b=65535;this.wi=this.hb=0;this.Ld=q;this.pc=this.Va=0;this.rk=this.id==Gc?Array(32):[];this.zi=null;this.Di=this.oh=!1;Hc(this,d)}var Gc=1;function Ic(a){this.sa=a;this.ed=this.se=2;this.ha=this.fa=65535;return this.ua=a<<4}function Jc(a,b){var c,d,e=this.U;a&4?(c=e.ke.ua,d=c+e.ke.$b):(c=e.Qc,d=e.ff);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Kc(this,c,a,b);b||Lc.call(e,13,a)}return q}
function Mc(a){var b=this.U;a=b.Rc+(a<<2);var c=b.ja(a);b.Aa&=~(sb|rb);return this.load(b.ja(a+2))+c}function Nc(a){var b=this.U;a<<=3;var c=b.Rc+a;if(c+7<=b.gf)return Kc(this,c,a)+b.Uj;Lc.call(b,13,a|3,!0);return q}function Oc(a){return this.ua+a|0}function Pc(a){return this.ua+a|0}function Qc(a,b,c){return a+b<=this.$b?this.ua+a:Rc.call(this,0,0,c)}function Sc(a,b,c){return a+b>this.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q}
function Tc(a,b,c){return a+b<=this.$b?this.ua+a:Uc.call(this,0,0,c)}function Vc(a,b,c){return a+b>this.$b?this.ua+a:Uc.call(this,0,0,c)}function Uc(a,b,c){c||Lc.call(this.U,13,0);return q}
function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.ta;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.ta);c.Ga(d+36,c.na.ta);c.Ga(d+38,c.ra.ta);c.Ga(d+
40,c.eb.ta);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va<e&&(h=(this.Va<<2)+2,d=h+2);Zc(c,c.ja(g+d),!0);y(c,c.ja(g+h));c.ke.load(c.ja(g+42));b&&c.Ga(g+0,f);c.lc|=8;return!0}function $c(a,b,c){var d=a.U,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.ta=c;a.ua=f;a.$b=d;a.hb=e&65280;a.type=e&7936;a.ui=0;a.Ld=b;Hc(a)}
function Kc(a,b,c,d){for(var e=a.U,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,r=e.ja(b+2)|(g&255)<<16,t=e.ja(b+6),B=c&65528;;){var I;if(a.id==Gc){a.nh=!1;var B=a.xi,H,L,U=c&3,ba=(g&24576)>>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.nh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,U<a.Va&&(U=a.Va);else if(1536==h)H=!0,L=~(16384|sb|rb),I=c|1;else if(1792==h)H=!0,L=~(16384|sb),I=c|1;else if(1280==h){if(!Wc.call(a,r&65535,!0)){r=q;break}return a.ua}if(H){b=
r&65535;if(U<=ba){d=a.Va;if(a.load(b,!0)==q){r=q;break}e.Sj=f;if(a.Va<d){if(!0!==B){r=q;break}H=w(e);f=0;for(g&=31;g--;)a.nk[f++]=ad(e,e.ra,H),H+=2;g=e.gb.ua;d=(a.Va<<2)+2;B=d+2;b=e.ra.ta;I=w(e);Zc(e,e.ja(g+B),!0);y(e,e.ja(g+d));z(e,b);for(z(e,I);f;)z(e,a.nk[--f]);a.nh=!0}e.Aa&=L;return a.ua}d||Lc.call(e,13,I,!0);r=q;break}else if(!1!==H){d||Lc.call(e,13,c,!0);r=q;break}}else if(2==a.id){if(B&&(4096>h||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d||
Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call(e,10,c,!0);r=q;break}}else if(6==a.id&&!(g&4096)&&768<h){r=q;break}a.ta=c;a.ua=r;a.$b=f;a.hb=g;a.type=h;a.ui=t;a.Ld=b;Hc(a);break}return r}Fc.prototype.save=function(){return[this.ta,this.ua,this.$b,this.hb,this.id,this.Oh,this.Va,this.pc,this.Ld]};
Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Oh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])};
function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Bi=!1;if(b){a.load=Jc;a.Vk=Nc;a.Fc=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Fc==Qc&&(a.Fc=Sc),a.hc==Tc&&(a.hc=Vc),a.Bi=!0)}a.Va=a.ta&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.ui&64)?(a.yc=2,a.fa=65535):(a.yc=4,a.fa=-1)}else a.load=Ic,a.Vk=Mc,a.Fc=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.yc=2,a.fa=65535;a.Ng=a.yc;a.ha=a.fa}
function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.ek=61442;this.Eg=Cc;this.Dg=4;this.Cf=255;this.B=80286<=this.za?cd:dd;this.Pa=ed.slice();this.Dm=hd.slice();this.Em=id.slice();this.hk=jd;80186<=this.za&&(this.Cf=31,this.Pa[15]=kd,this.Pa[96]=ld,this.Pa[97]=md,this.Pa[98]=nd,this.Pa[99]=kd,this.Pa[100]=kd,this.Pa[101]=kd,this.Pa[102]=kd,this.Pa[103]=kd,this.Pa[104]=od,this.Pa[105]=pd,this.Pa[106]=qd,
this.Pa[107]=rd,this.Pa[108]=sd,this.Pa[109]=td,this.Pa[110]=ud,this.Pa[111]=vd,this.Pa[192]=wd,this.Pa[193]=xd,this.Pa[200]=yd,this.Pa[201]=zd,this.Pa[241]=Ad,this.Dm[7]=Bd,this.Em[7]=Bd,80286<=this.za&&(this.ek=2,this.Eg|=28672,this.Dg=0,this.Pa[15]=Cd,this.Pa[99]=Dd,this.Pa[84]=Ed));this.Gg=[];this.gk=[];this.hd=this.Yg=0;this.ea.Zf=this.ea.Xm=!1;this.uk=0;this.sa=[];this.tb=this.jb=this.Ta=this.td=0;Fd(this)}La(kc,bd);
var dd={Lj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Me:4,cl:60,dl:83,Rb:3,qb:9,ic:16,Ch:1,hl:19,jl:28,ll:16,kl:21,il:37,fl:2,ej:9,gl:5,el:33,gj:10,fj:8,og:3,ng:15,zl:51,Al:1,Bl:2,Cl:4,yl:32,hj:15,El:15,Sb:16,Tb:4,Gl:11,Fl:18,Dl:24,Ab:4,Hl:2,ij:16,Il:17,nj:18,Jl:19,mj:5,oj:6,Ol:2,Nl:8,Ll:9,Ml:10,Kl:10,pj:10,qj:10,nl:80,pl:144,ml:86,ol:154,rl:101,tl:165,ql:107,sl:171,Ql:70,Sl:113,Pl:76,Rl:124,vl:80,xl:128,ul:86,wl:134,qg:3,pg:16,vj:10,uj:8,Tl:51,jc:8,Ul:17,Vl:36,rc:11,Wl:16,rg:10,ee:2,bj:18,cj:7,dj:15,jj:12,
kj:7,lj:11,rj:18,sj:7,tj:15,wj:15,xj:7,yj:13,Cj:11,Dj:7,Ej:8,Xl:8,$l:12,Yl:18,Zl:17,am:15,Aj:8,zj:20,Bj:2,Hj:3,sg:9,Gj:5,Fj:11,Jj:4,Ij:17,bm:11},cd={Lj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Me:3,cl:14,dl:16,Rb:2,qb:7,ic:7,Ch:0,hl:7,jl:13,ll:7,kl:11,il:16,fl:3,ej:6,gl:2,el:13,gj:5,fj:5,og:2,ng:7,zl:23,Al:0,Bl:1,Cl:3,yl:17,hj:7,El:11,Sb:7,Tb:3,Gl:7,Fl:11,Dl:15,Ab:2,Hl:3,ij:7,Il:8,nj:8,Jl:8,mj:4,oj:4,Ol:2,Nl:3,Ll:5,Ml:2,Kl:3,pj:5,qj:3,nl:14,pl:22,ml:17,ol:25,rl:17,tl:25,ql:20,sl:28,Ql:13,Sl:21,Pl:16,Rl:24,
vl:13,xl:21,ul:16,wl:24,qg:2,pg:7,vj:5,uj:5,Tl:19,jc:5,Ul:5,Vl:17,rc:3,Wl:5,rg:3,ee:0,bj:8,cj:5,dj:9,jj:5,kj:5,lj:4,rj:5,sj:5,tj:4,wj:7,xj:5,yj:8,Cj:3,Dj:4,Ej:3,Xl:11,$l:11,Yl:15,Zl:15,am:7,Aj:5,zj:8,Bj:0,Hj:2,sg:6,Gj:3,Fj:6,Jj:3,Ij:5,bm:5};k=bd.prototype;k.Oi=function(a,b,c,d){this.sa=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Fd(this);mc(this);this.ea.fd=!1};
function Fd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.yg=-1;a.Sg=0;a.lc=65520;a.Sc=0;a.ff=1023;a.Af=0;a.Bh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.rm=new Fc(a,0,"NULL");a.fb=a.eb;a.Nc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;a.yc=a.na.yc;a.fa=a.na.fa;a.Ng=a.na.Ng;a.ha=a.na.ha;Yc(a,0,65535);if(80286<=a.za){a.Rc=0;a.ef=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb=new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=
v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.xg=b+a.na.$b}Xc(a,0);Gd(a);a.Fm=[];a.Fm[2]={Lq:a.ja.bind(a),$q:a.Ga.bind(a)};a.ad=A;a.$c=Hd;a.re=Id;a.sb=C;a.Bc=Jd;a.Qc=Kd}k.Ok=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.ta+this.eb.ta+this.ra.ta+this.Na.ta+ob(this)|0};function Ld(a,b,c,d){void 0!==d&&(void 0===a.Gg[b]&&(a.Gg[b]=[]),a.Gg[b].push([c,d]))}
function Md(a,b){var c=a.gk[b];null!=c&&(c(--a.Yg),delete a.gk[b])}function Gd(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.hk=b?Nd:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)}
k.save=function(){var a=new Od(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Af]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Rc?[this.lc,this.Rc,this.ef,this.Sc,this.ff,this.ke.save(),this.gb.save(),this.Af]:null,ob(this)]);a.set(2,[this.fb.Oh,this.Nc.Oh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Oe,this.S.be]);a.set(4,Hb(this.ka));return a.data()};
k.restore=function(a){var b;b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Af=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Rc=d[1],this.ef=d[2],this.Sc=d[3],this.ff=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Af=d[7],Gd(this));Xc(this,b[6]);D(this,b[0]);y(this,c);Zc(this,this.ra.ta);b=a[2];this.fb=null!=b[0]&&Pd(this,b[0])||this.eb;
this.Nc=null!=b[1]&&Pd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Oe=b[1];uc(this,b[2]);a:{b=this.ka;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.tk){for(var f=0,g=Array(b.tk),h=0;h<e.length-1;)for(var r=e[h++],t=e[h++];r--;)g[f++]=t;e=g}f=b.sa[d];if(!f||!f.restore(e)){m("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Bb(b,a[c]);b=!0}return b};
function Pd(a,b){switch(b){case "CS":return a.na;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function Qd(a,b){var c=v(a);a.la=a.na.load(b)+c;a.xg=a.na.ua+a.na.$b;a.Q|=a.Dg}function Rd(a,b){a.eb.load(b);a.Q|=a.Dg}function Zc(a,b,c){var d=w(a);a.Kc=a.ra.load(b)+d;a.ra.Bi?(a.im=a.ra.ua+a.ra.ha,a.jm=a.ra.ua+a.ra.$b):(a.im=a.ra.ua+a.ra.$b,a.jm=a.ra.ua);c||(a.Q|=4)}function Sd(a,b){a.Na.load(b);a.Q|=a.Dg}
function v(a){return a.la-a.na.ua}function D(a,b){a.la=a.na.ua+(b&65535)}function Yc(a,b,c,d){a.na.xi=d;a.Sj=b;b=a.na.load(c);return b!=q?(a.la=b+a.Sj,a.xg=b+a.na.$b,a.na.nh):null}function w(a){return a.Kc-a.ra.ua}function y(a,b){a.Kc=a.ra.ua+b}function Td(a){return a.P&a.T?xb:0}function Ud(a){a=a.V;return 27030>>((a^a>>4)&15)&1?0:wb}function Vd(a){return(a.V^a.da)&16?vb:0}function Wd(a){return a.P&a.T-1?0:ub}function Xd(a){return a.V&a.T>>1?tb:0}
function Yd(a){return(a.V^a.da^a.V>>1)&a.T>>1?pb:0}function Zd(a){a.P&=~a.T}function $d(a){a.da=a.V&16|a.da&-17}function ae(a){a.P|=a.T-1}function be(a){a.V&=~a.T;a.da=a.V&32896|a.da&-32897}function ce(a){a.P|=a.T}function de(a){a.da=~(a.V&16)&16|a.da&-17}function ee(a){a.P&=~(a.T-1)}function fe(a){Xd(a)||(a.V^=a.T>>1|a.T>>2,a.da^=32896)}function ge(a){a.V|=a.T;a.da=a.V&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Td(a)|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)}
function Xc(a,b,c){a.T=256;a.P=a.V=a.da=0;b&xb&&ce(a);b&wb||(a.V|=1);b&vb&&(a.da|=16);b&ub||ae(a);b&tb&&fe(a);b&pb&&ge(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Af=(b&12288)>>12;c>a.Af&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Eg|b&a.Eg|a.ek;a.Aa&sb&&(a.kb|=2,a.Q|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){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 "V":this.ma[b]=c;this.uk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.sa[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Lj;return b<this.Ta?this.sa[a].gm(b):this.sa[a].Cb(b)|this.sa[a+1&this.td].Cb(0)<<8};k.Se=function(a,b){this.sa[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Lj;c<this.Ta?this.sa[d].wm(c,b&65535):(this.sa[d++].Fb(c,b&255),this.sa[d&this.td].Fb(0,b>>8&255))};function he(a,b,c){a.Bg=b;a.aa=b.Fc(a.vg=c,0);return a.Q&1?0:a.qc(a.aa)}
function E(a,b){return he(a,a.fb,b&65535)}function F(a,b){return he(a,a.Nc,b&65535)}function ie(a,b,c){a.Bg=b;a.aa=b.Fc(a.vg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return ie(a,a.fb,b&65535)}function J(a,b){return ie(a,a.Nc,b&65535)}function je(a,b,c){a.Bg=b;a.Fa=a.aa=b.Fc(a.vg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return je(a,a.fb,b&65535)}function M(a,b){return je(a,a.Nc,b&65535)}function me(a,b,c){a.Bg=b;a.Fa=a.aa=b.Fc(a.vg=c,1);return a.Q&1?0:a.ja(a.aa)}
function N(a,b){return me(a,a.fb,b&65535)}function O(a,b){return me(a,a.Nc,b&65535)}function P(a,b){a.Q&2||a.Se(a.Bg.hc(a.vg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Bg.hc(a.vg,1),b)}function ad(a,b,c){return a.ja(b.Fc(c,1))}k.W=function(){var a=this.qc(this.la);++this.la>this.xg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.xg&&D(this,this.la-this.na.ua);return a&65535};
k.K=function(){var a=this.ja(this.la);this.la+=this.Ng;this.la>this.xg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Kc);this.Kc+=2;this.Kc>this.im&&y(this,this.Kc-this.ra.ua);return a};function z(a,b){a.Kc-=2;a.Kc<a.jm&&y(a,a.Kc-a.ra.ua);a.Ga(a.Kc,b)}
k.Gd=function(a){if(this.uk&&(a||!this.ea.Ib||this.ea.Dk)){x(this,"AX",this.G);x(this,"BX",this.C);x(this,"CX",this.I);x(this,"DX",this.J);x(this,"SP",w(this));x(this,"BP",this.H);x(this,"SI",this.F);x(this,"DI",this.D);x(this,"CS",this.na.ta);x(this,"DS",this.eb.ta);x(this,"SS",this.ra.ta);x(this,"ES",this.Na.ta);x(this,"IP",v(this));var b=ob(this);x(this,"PS",b);x(this,"V",b&pb?1:0,1);x(this,"D",b&qb?1:0,1);x(this,"I",b&rb?1:0,1);x(this,"T",b&sb?1:0,1);x(this,"S",b&tb?1:0,1);x(this,"Z",b&ub?1:0,
function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.na.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+
40,c.eb.sa);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va<e&&(h=(this.Va<<2)+2,d=h+2);Zc(c,c.ja(g+d),!0);y(c,c.ja(g+h));c.ke.load(c.ja(g+42));b&&c.Ga(g+0,f);c.lc|=8;return!0}function $c(a,b,c){var d=a.U,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.sa=c;a.ua=f;a.$b=d;a.hb=e&65280;a.type=e&7936;a.wi=0;a.Ld=b;Hc(a)}
function Kc(a,b,c,d){for(var e=a.U,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,r=e.ja(b+2)|(g&255)<<16,t=e.ja(b+6),B=c&65528;;){var I;if(a.id==Gc){a.oh=!1;var B=a.zi,H,L,U=c&3,ba=(g&24576)>>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.oh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,U<a.Va&&(U=a.Va);else if(1536==h)H=!0,L=~(16384|sb|rb),I=c|1;else if(1792==h)H=!0,L=~(16384|sb),I=c|1;else if(1280==h){if(!Wc.call(a,r&65535,!0)){r=q;break}return a.ua}if(H){b=
r&65535;if(U<=ba){d=a.Va;if(a.load(b,!0)==q){r=q;break}e.Uj=f;if(a.Va<d){if(!0!==B){r=q;break}H=w(e);f=0;for(g&=31;g--;)a.rk[f++]=ad(e,e.ra,H),H+=2;g=e.gb.ua;d=(a.Va<<2)+2;B=d+2;b=e.ra.sa;I=w(e);Zc(e,e.ja(g+B),!0);y(e,e.ja(g+d));z(e,b);for(z(e,I);f;)z(e,a.rk[--f]);a.oh=!0}e.Aa&=L;return a.ua}d||Lc.call(e,13,I,!0);r=q;break}else if(!1!==H){d||Lc.call(e,13,c,!0);r=q;break}}else if(2==a.id){if(B&&(4096>h||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d||
Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call(e,10,c,!0);r=q;break}}else if(6==a.id&&!(g&4096)&&768<h){r=q;break}a.sa=c;a.ua=r;a.$b=f;a.hb=g;a.type=h;a.wi=t;a.Ld=b;Hc(a);break}return r}Fc.prototype.save=function(){return[this.sa,this.ua,this.$b,this.hb,this.id,this.Qh,this.Va,this.pc,this.Ld]};
Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Qh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])};
function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Di=!1;if(b){a.load=Jc;a.$k=Nc;a.Ec=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Ec==Qc&&(a.Ec=Sc),a.hc==Tc&&(a.hc=Vc),a.Di=!0)}a.Va=a.sa&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.wi&64)?(a.se=2,a.fa=65535):(a.se=4,a.fa=-1)}else a.load=Ic,a.$k=Mc,a.Ec=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.se=2,a.fa=65535;a.ed=a.se;a.ha=a.fa}
function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.gk=61442;this.Fg=Cc;this.Eg=4;this.Df=255;this.B=80286<=this.za?cd:dd;this.Oa=ed;this.jk=fd;this.kk=id;this.lk=jd;80186<=this.za&&(this.Oa=ed.slice(),this.jk=fd.slice(),this.kk=id.slice(),this.Df=31,this.Oa[15]=kd,this.Oa[96]=ld,this.Oa[97]=md,this.Oa[98]=nd,this.Oa[99]=kd,this.Oa[100]=kd,this.Oa[101]=kd,this.Oa[102]=kd,this.Oa[103]=kd,this.Oa[104]=od,
this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.$f=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta=
this.td=0;Gd(this)}La(kc,bd);
var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,pg:3,og:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,rg:3,qg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,sg:10,ee:2,dj:18,ej:7,fj:15,lj:12,
mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,tg:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,pg:2,og:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24,
Al:13,Cl:21,zl:16,Bl:24,rg:2,qg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,sg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,tg:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1};
function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.na.se;a.fa=a.na.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.na.ed;a.ha=a.na.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb=
new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.yg=b+a.na.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])}
function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)}
k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()};
k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.na.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])||
this.eb;this.Mc=null!=b[1]&&Qd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Pe=b[1];uc(this,b[2]);a:{b=this.ka;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.xk){for(var f=0,g=Array(b.xk),h=0;h<e.length-1;)for(var r=e[h++],t=e[h++];r--;)g[f++]=t;e=g}f=b.ta[d];if(!f||!f.restore(e)){m("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Bb(b,a[c]);b=!0}return b};
function Qd(a,b){switch(b){case "CS":return a.na;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.wm;default:return[0,b,0,0,""]}}function Rd(a,b){var c=v(a);a.la=a.na.load(b)+c;a.yg=a.na.ua+a.na.$b;a.Q|=a.Eg}function Sd(a,b){a.eb.load(b);a.Q|=a.Eg}function Zc(a,b,c){var d=w(a);a.Jc=a.ra.load(b)+d;a.ra.Di?(a.nm=a.ra.ua+a.ra.fa,a.om=a.ra.ua+a.ra.$b):(a.nm=a.ra.ua+a.ra.$b,a.om=a.ra.ua);c||(a.Q|=4)}function Td(a,b){a.Na.load(b);a.Q|=a.Eg}
function v(a){return a.la-a.na.ua}function D(a,b){a.la=a.na.ua+(b&65535)}function Yc(a,b,c,d){a.na.zi=d;a.Uj=b;b=a.na.load(c);return b!=q?(a.la=b+a.Uj,a.yg=b+a.na.$b,a.na.oh):null}function w(a){return a.Jc-a.ra.ua}function y(a,b){a.Jc=a.ra.ua+b}function Ud(a){return a.P&a.T?xb:0}function Vd(a){a=a.W;return 27030>>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0}
function Zd(a){return(a.W^a.da^a.W>>1)&a.T>>1?pb:0}function $d(a){a.P&=~a.T}function ae(a){a.da=a.W&16|a.da&-17}function be(a){a.P|=a.T-1}function ce(a){a.W&=~a.T;a.da=a.W&32896|a.da&-32897}function de(a){a.P|=a.T}function ee(a){a.da=~(a.W&16)&16|a.da&-17}function fe(a){a.P&=~(a.T-1)}function ge(a){Yd(a)||(a.W^=a.T>>1|a.T>>2,a.da^=32896)}function he(a){a.W|=a.T;a.da=a.W&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)|Zd(a)}
function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){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 "V":this.ma[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b<this.Ta?this.ta[a].lm(b):this.ta[a].Cb(b)|this.ta[a+1&this.td].Cb(0)<<8};k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c<this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))};function ie(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}
function E(a,b){return ie(a,a.fb,b&65535)}function F(a,b){return ie(a,a.Mc,b&65535)}function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return je(a,a.fb,b&65535)}function J(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return ke(a,a.fb,b&65535)}function M(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}
function N(a,b){return le(a,a.fb,b&65535)}function O(a,b){return le(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.wg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.wg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.yg&&D(this,this.la-this.na.ua);return a&65535};
k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jc<a.om&&y(a,a.Jc-a.ra.ua);a.Ga(a.Jc,b)}
k.Gd=function(a){if(this.yk&&(a||!this.ea.Ib||this.ea.Hk)){x(this,"AX",this.G);x(this,"BX",this.C);x(this,"CX",this.I);x(this,"DX",this.J);x(this,"SP",w(this));x(this,"BP",this.H);x(this,"SI",this.F);x(this,"DI",this.D);x(this,"CS",this.na.sa);x(this,"DS",this.eb.sa);x(this,"SS",this.ra.sa);x(this,"ES",this.Na.sa);x(this,"IP",v(this));var b=ob(this);x(this,"PS",b);x(this,"V",b&pb?1:0,1);x(this,"D",b&qb?1:0,1);x(this,"I",b&rb?1:0,1);x(this,"T",b&sb?1:0,1);x(this,"S",b&tb?1:0,1);x(this,"Z",b&ub?1:0,
1);x(this,"A",b&vb?1:0,1);x(this,"P",b&wb?1:0,1);x(this,"C",b&xb?1:0,1)}if(b=this.ma.speed)b.textContent=lb(this);this.parent.Gd.call(this,a)};
k.tm=function(a){this.ea.Zf=!0;this.ea.Xm=!1;this.ea.Kk=!1;this.hd=this.A=a;this.ca&&!a&&Ac(this.ca);a||(this.Q|=4);do{if(a=this.Q&240)this.xa|=a;else if(this.Bb=this.la,this.fb=this.eb,this.Nc=this.ra,this.aa=this.Fa=q,this.xa=this.Q&256,this.kb){a:{if(!(this.Q&4))if(this.kb&1&&this.Aa&rb){if(a=ne(this.ca),-1<=a&&(this.kb&=-2,0<=a)){this.kb&=-5;oe.call(this,a,null,11);break a}}else if(this.kb&2){this.kb&=-3;oe.call(this,1,null,11);break a}if(a=this.kb&8){a=this.ca;for(var b=!1,c=0;c<a.Ya;c++)for(var d=
a.Ya[c],e=0;e<d.vb.length;e++){var f=d.vb[e];f.Ad||(pe(a,f),f.Ad||(b=!0))}a=!b}a&&(this.kb&=-9)}if(this.kb&4){this.Q=this.A=0;break}}this.Q=0;this.Pa[this.W()].call(this)}while(0<this.A);return this.ea.Zf?this.hd-this.A:void 0===this.ea.Zf?0:-1};za(function(){for(var a=Ta(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new bd(d);Sa(d,c)}});function qe(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a+b)&255}
function re(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a|b)&255}function se(a,b){this.da=a^b;this.P=this.V=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function te(a,b){this.da=a^b;this.P=this.V=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}
function ue(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a&b)&255}function ve(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a-b)&255}function we(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a^b)&255}
function xe(a,b){this.da=a^b;this.T=256;this.P=this.V=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.ej:this.B.qb;this.Q|=2;return a}function ye(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a+b)&65535}function ze(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a|b)&65535}
function Ae(a,b){this.da=a^b;this.P=this.V=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Be(a,b){this.da=a^b;this.P=this.V=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a&b)&65535}
function De(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a-b)&65535}function Ee(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a^b)&65535}function Fe(a,b){this.da=a^b;this.T=65536;this.P=this.V=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.ej:this.B.qb;this.Q|=2;return a}function Ge(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?ge(this):be(this)}
function He(){this.A-=0>this.aa?2:this.B.am;return 1}function Ie(){var a=this.I&this.Cf;this.A-=(0>this.aa?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function Je(){var a=this.W();this.A-=(0>this.aa?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function Ke(){return null}function Le(a){Lc.call(this,13,0);return a}function Bd(a){kd.call(this);return a}function R(a){S.call(this);return a}
var Me=[qe,re,se,te,ue,ve,we,xe],Ne=[ye,ze,Ae,Be,Ce,De,Ee,Fe],Oe=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Ul;return b},Le,Le,Le,Le,Le,Le,Le],Pe=[function(a,b){this.A-=0>this.Fa?this.B.Ml:this.B.Kl;return b},R,R,R,R,R,R,R],Qe=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Ge.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Ge.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Cf)%9)?(d=a<<
d|(this.P&this.T?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;Ge.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Cf)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,Ge.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8<b?this.P=this.V=0:(this.P=this.V=a<<b)&255,this.da=0,this.T=256);return c},function(a,b){if(b){var c=8<b?0:a>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8<b&&(b=9);var c=
a<<24>>24>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Re=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;Ge.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);Ge.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Cf)%17)?(d=a<<d|(this.P&this.T?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;Ge.call(this,d,65536)}return c},
function(a,b){var c=a;b&&(c=(b&this.Cf)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,Ge.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16<b?this.P=this.V=0:(this.P=this.V=a<<b)&65535,this.da=0,this.T=65536);return c},function(a,b){if(b){var c=16<b?0:a>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|65536:this.P&-65537;
this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Te=[function(a,b){b=this.W();this.P=this.V=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Gj:this.B.Fj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.qg:this.B.pg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.qg:this.B.pg;return(this.P=this.V=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.V=this.P;this.T=256;this.G&65280?(ce(this),ge(this)):(Zd(this),be(this));this.A-=
0>this.aa?this.B.Ql:this.B.Pl;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.V=b;this.T=256;127<b||-128>b?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.vl:this.B.ul;this.Q|=2;return a},function(a){if(!a)return Se.call(this),a;var b=this.G/a;if(255<b)return Se.call(this),a;this.Db=this.G=b&255|(this.G%a&255)<<8;this.V=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.nl:this.B.ml;this.Q|=2;return a},function(a){if(!a)return Se.call(this),
a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Se.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.V=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.rl:this.B.ql;this.Q|=2;return a}],Ue=[function(a,b){b=this.K();this.P=this.V=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Gj:this.B.Fj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.qg:this.B.pg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.qg:
this.B.pg;return(this.P=this.V=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.yg=this.J=this.P>>16&65535;this.da=this.V=this.P;this.T=65536;this.J?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.Sl:this.B.Rl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.yg=b>>16&65535;this.P=this.da=this.V=b;this.T=65536;32767<b||-32768>b?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.xl:this.B.wl;this.Q|=
2;return a},function(a,b){if(!a)return Se.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Se.call(this),a;this.Db=this.G=c&65535;this.yg=this.J=b%a&65535;this.V=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.pl:this.B.ol;this.Q|=2;return a},function(a,b){if(!a)return Se.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Se.call(this),a;this.Db=this.G=d&65535;this.yg=this.J=b%c&65535;this.V=this.da=this.P=
d|65536;this.T=65536;this.A-=0>this.aa?this.B.tl:this.B.sl;this.Q|=2;return a}],hd=[function(a){this.da=a;a=(this.V=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.og:this.B.ng;return a},function(a){this.da=a;a=(this.V=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.og:this.B.ng;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.V=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.og:this.B.ng;return a},
function(a){this.da=a;a=(this.V=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.og:this.B.ng;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ll:this.B.kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Ve.call(this,a,this.ja(this.aa+2));this.A-=this.B.il;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Gl:this.B.Fl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+
2));this.Yg&&Md(this,this.la);this.A-=this.B.Dl;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.Wl;this.Q|=2;return a},Le];function We(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Ol:this.B.Nl:this.B.Ll;return b}function Xe(){return We.call(this,0,this.Db)}function Ye(a,b){this.P=this.V=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Hj:this.B.sg:this.B.sg;this.Q|=2;return a}
function Ze(a,b){this.P=this.V=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Hj:this.B.sg:this.B.sg;this.Q|=2;return a}function $e(a,b){var c=(b<<16>>16)*(this.W()<<24>>24);this.P=this.da=this.V=c;this.T=256;32767<c||-32768>c?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?21:24;return c&65535}
function af(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.V=c;this.T=65536;32767<c||-32768>c?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?21:24;return c&65535}function bf(a){return a}function cf(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Hl;return this.aa}function df(a,b){if(0>this.aa)return S.call(this),a;Rd(this,this.ja(this.aa+2));this.A-=this.B.ij;return b}
function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.ij;return b}function ff(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.el;if(b<c||b>d)D(this,this.Bb-this.na.ua),oe.call(this,5,null,0);this.Q|=2;return a}function gf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,ee(this),a;ae(this);return a}
function hf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return ee(this),this.Jb.hb&65280;ae(this);return a}function jf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return ee(this),this.Jb.$b;ae(this);return a}
function kf(a,b){if(0>this.aa){switch(this.Sg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Jj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Ij;return b}
function lf(a,b){if(0>this.aa){switch(this.Sg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Jj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Ij;return b}function mf(a){a|=this.lc&1;this.lc=this.lc&65520|a&-65521;this.lc&1&&Gd(this,!0)}function Ve(a,b){var c=this.na.ta,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}
function nf(a){var b=this.Ea(),c=this.Ea();(a<<=this.yc>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.ta&65528&&this.eb.pc<this.na.Va&&7168!=(this.eb.hb&7168)&&this.eb.load(0),this.Na.ta&65528&&this.Na.pc<this.na.Va&&7168!=(this.Na.hb&7168)&&this.Na.load(0));2==a&&this.Yg&&Md(this,this.la)}function oe(a,b,c){this.A-=this.B.zl+c;this.na.xi=!0;c=ob(this);var d=this.na.ta,e=v(this);a=this.na.Vk(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Bh=-1)}
function Se(){D(this,this.Bb-this.na.ua);oe.call(this,0,null,2)}function Lc(a,b,c){if(this.ea.Zf){var d=!1;if(80186<=this.za)if(0>this.Bh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Bh)b=0,a=8,d=!0;else{of.call(this,-1,0,c);Fd(this);return}of.call(this,a,b,c)&&(d=!1);d&&oe.call(this,this.Bh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)}
function of(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Nq(v(this),this.na.ta)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)}
k.ym=function(a){this.ea.$f=!0;this.ea.bn=!1;this.ea.Ok=!1;this.hd=this.A=a;this.ca&&!a&&Ac(this.ca);a||(this.Q|=4);do{if(a=this.Q&240)this.xa|=a;else if(this.Bb=this.la,this.fb=this.eb,this.Mc=this.ra,this.aa=this.Fa=q,this.xa=this.Q&256,this.kb){a:{if(!(this.Q&4))if(this.kb&1&&this.Aa&rb){if(a=me(this.ca),-1<=a&&(this.kb&=-2,0<=a)){this.kb&=-5;ne.call(this,a,null,11);break a}}else if(this.kb&2){this.kb&=-3;ne.call(this,1,null,11);break a}if(a=this.kb&8){a=this.ca;for(var b=!1,c=0;c<a.Ya;c++)for(var d=
a.Ya[c],e=0;e<d.vb.length;e++){var f=d.vb[e];f.Ad||(oe(a,f),f.Ad||(b=!0))}a=!b}a&&(this.kb&=-9)}if(this.kb&4){this.Q=this.A=0;break}}this.Q=0;this.Oa[this.X()].call(this)}while(0<this.A);return this.ea.$f?this.hd-this.A:void 0===this.ea.$f?0:-1};za(function(){for(var a=Ta(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new bd(d);Sa(d,c)}});function re(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255}
function se(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255}function te(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}
function ve(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function we(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255}
function ye(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function ze(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function Ae(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535}
function Be(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function De(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535}
function Ee(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Fe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function Ge(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function He(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)}
function Ie(){this.A-=0>this.aa?2:this.B.fm;return 1}function Je(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<<this.B.Dj);return a}function Ke(){var a=this.X();this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<<this.B.Dj);return a}function Le(){return null}function Me(a){Lc.call(this,13,0);return a}function Bd(a){kd.call(this);return a}function R(a){S.call(this);return a}
var Ne=[re,se,te,ue,ve,we,xe,ye],Oe=[ze,Ae,Be,Ce,De,Ee,Fe,Ge],Pe=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Zl;return b},Me,Me,Me,Me,Me,Me,Me],Qe=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b},R,R,R,R,R,R,R],Re=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<<
d|(this.P&this.T?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;He.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,He.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8<b?this.P=this.W=0:(this.P=this.W=a<<b)&255,this.da=0,this.T=256);return c},function(a,b){if(b){var c=8<b?0:a>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8<b&&(b=9);var c=
a<<24>>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Se=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<<d|(this.P&this.T?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;He.call(this,d,65536)}return c},
function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,He.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16<b?this.P=this.W=0:(this.P=this.W=a<<b)&65535,this.da=0,this.T=65536);return c},function(a,b){if(b){var c=16<b?0:a>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;
this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Ue=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.rg:this.B.qg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-=
0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127<b||-128>b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),a;var b=this.G/a;if(255<b)return Te.call(this),a;this.Db=this.G=b&255|(this.G%a&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),
a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Te.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Ve=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.rg:
this.B.qg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767<b||-32768>b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|=
2;return a},function(a,b){if(!a)return Te.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Te.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a&65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return Te.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Te.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P=
d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},
function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);We.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+
2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.am;this.Q|=2;return a},Me];function Xe(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ye(){return Xe.call(this,0,this.Db)}function Ze(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}
function $e(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}function af(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767<c||-32768>c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}
function bf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767<c||-32768>c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function cf(a){return a}function df(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Ml;return this.aa}function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}
function ff(a,b){if(0>this.aa)return S.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function gf(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(b<c||b>d)D(this,this.Bb-this.na.ua),ne.call(this,5,null,0);this.Q|=2;return a}function hf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a}
function jf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function kf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a}
function lf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b}
function mf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function nf(a){a=a|this.lc&1|65520;this.lc=this.lc&-65536|a&65535;this.lc&1&&Ld(this,!0)}function We(a,b){var c=this.na.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}
function of(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pc<this.na.Va&&7168!=(this.eb.hb&7168)&&this.eb.load(0),this.Na.sa&65528&&this.Na.pc<this.na.Va&&7168!=(this.Na.hb&7168)&&this.Na.load(0));2==a&&this.Zg&&Nd(this,this.la)}function ne(a,b,c){this.A-=this.B.El+c;this.na.zi=!0;c=ob(this);var d=this.na.sa,e=v(this);a=this.na.$k(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Dh=-1)}
function Te(){D(this,this.Bb-this.na.ua);ne.call(this,0,null,2)}function Lc(a,b,c){if(this.ea.$f){var d=!1;if(80186<=this.za)if(0>this.Dh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{pf.call(this,-1,0,c);Gd(this);return}pf.call(this,a,b,c)&&(d=!1);d&&ne.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)}
function pf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.na.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)}
function S(){D(this,this.Bb-this.na.ua);Wa(this,"Undefined opcode 0x"+ea(yb(this.ka,this.la))+" at 0x"+da(this.la));rc(this)}
var A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=
a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,
@ -366,303 +367,306 @@ a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,
function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,
this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=
a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},
function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Cd(){pf[this.W()].call(this)}
function Ed(){z(this,w(this)&this.fa);this.A-=this.B.rc}function ld(){var a=w(this)&this.fa;z(this,this.G&this.fa);z(this,this.I&this.fa);z(this,this.J&this.fa);z(this,this.C&this.fa);z(this,a);z(this,this.H&this.fa);z(this,this.F&this.fa);z(this,this.D&this.fa);this.A-=this.B.Vl}
function md(){this.D=this.D&~this.fa|this.Ea();this.F=this.F&~this.fa|this.Ea();this.H=this.H&~this.fa|this.Ea();y(this,w(this)+this.yc);this.C=this.C&~this.fa|this.Ea();this.J=this.J&~this.fa|this.Ea();this.I=this.I&~this.fa|this.Ea();this.G=this.G&~this.fa|this.Ea();this.A-=this.B.Tl}function nd(){this.sb[this.W()].call(this,ff)}function Dd(){this.Bc[this.W()].call(this,gf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.W()].call(this,af)}
function qd(){z(this,this.W());this.A-=this.B.rc}function rd(){this.sb[this.W()].call(this,$e)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Se(this.Na.hc(this.D&this.ha,0),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.ha,1),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Fc(this.F&this.ha,0));this.F=this.F&~this.ha|this.F+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}}
function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.ha);this.F=this.F&~this.ha|this.F+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function sf(){var a=this.L();Td(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Td(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Wd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Wd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Td(this)||Wd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}
function xf(){var a=this.L();Td(this)||Wd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Cf(){var a=this.L();!Xd(this)!=!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Xd(this)==!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Wd(this)||!Xd(this)!=!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Wd(this)||!Xd(this)!=!Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Gf(){this.re[this.W()].call(this,Me,this.W);this.A-=0>this.Fa?1:this.B.Ch}function wd(){this.re[this.W()].call(this,Qe,Je)}function xd(){this.Qc[this.W()].call(this,Re,Je)}function Hf(){var a=this.K()<<(this.yc>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.$l}function If(){D(this,this.Ea());this.A-=this.B.Xl}
function yd(){var a=this.K(),b=this.W()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.ha;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H&~this.ra.ha|this.H-this.yc&this.ra.ha,z(this,ad(this,this.ra,this.H&this.ra.ha));z(this,c)}this.H=this.H&~this.ra.ha|c;y(this,w(this)&~this.ra.ha|w(this)-a&this.ra.ha)}function zd(){y(this,w(this)&~this.ra.ha|this.H&this.ra.ha);this.H=this.H&~this.fa|this.Ea()&this.fa;this.A-=5}function Jf(){nf.call(this,this.K());this.A-=this.B.Zl}
function Kf(){nf.call(this,0);this.A-=this.B.Yl}function Lf(){this.sb[this.W()].call(this,bf);this.A-=8}function Mf(){this.Q|=36;this.A-=this.B.ee}function Ad(){S.call(this)}
var ed=[function(){var a=this.W();this.$c[a].call(this,qe)},function(){this.Bc[this.W()].call(this,ye)},function(){this.ad[this.W()].call(this,qe)},function(){this.sb[this.W()].call(this,ye)},function(){this.G=this.G&-256|qe.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|ye.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.Na.ta);this.A-=this.B.rg},function(){Sd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,re)},function(){this.Bc[this.W()].call(this,
ze)},function(){this.ad[this.W()].call(this,re)},function(){this.sb[this.W()].call(this,ze)},function(){this.G=this.G&-256|re.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|ze.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.na.ta);this.A-=this.B.rg},function(){Qd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,se)},function(){this.Bc[this.W()].call(this,Ae)},function(){this.ad[this.W()].call(this,se)},function(){this.sb[this.W()].call(this,
Ae)},function(){this.G=this.G&-256|se.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ae.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.ra.ta);this.A-=this.B.rg},function(){Zc(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,te)},function(){this.Bc[this.W()].call(this,Be)},function(){this.ad[this.W()].call(this,te)},function(){this.sb[this.W()].call(this,Be)},function(){this.G=this.G&-256|te.call(this,this.G&255,this.W());this.A--},
function(){this.G=this.G&~this.fa|Be.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.eb.ta);this.A-=this.B.rg},function(){Rd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,ue)},function(){this.Bc[this.W()].call(this,Ce)},function(){this.ad[this.W()].call(this,ue)},function(){this.sb[this.W()].call(this,Ce)},function(){this.G=this.G&-256|ue.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ce.call(this,this.G&this.fa,this.K());
this.A--},function(){this.Q|=20;this.fb=this.Nc=this.Na;this.A-=this.B.ee},function(){var a=this.G&255,b=Vd(this),c=this.P&this.T;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|(this.P=this.V=a&255);this.T=65536;c&&(this.P|=this.T);b?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,ve)},function(){this.Bc[this.W()].call(this,De)},function(){this.ad[this.W()].call(this,ve)},function(){this.sb[this.W()].call(this,De)},function(){this.G=this.G&-256|ve.call(this,
this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|De.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.na;this.A-=this.B.ee},function(){var a=this.G&255,b=Vd(this),c=this.P&this.T;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.P=this.V=a&255);this.T=65536;c&&(this.P|=this.T);b?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,we)},function(){this.Bc[this.W()].call(this,Ee)},function(){this.ad[this.W()].call(this,
we)},function(){this.sb[this.W()].call(this,Ee)},function(){this.G=this.G&-256|we.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ee.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.ra;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Vd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,
xe)},function(){this.Bc[this.W()].call(this,Fe)},function(){this.ad[this.W()].call(this,xe)},function(){this.sb[this.W()].call(this,Fe)},function(){xe.call(this,this.G&255,this.W());this.A--},function(){Fe.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Vd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?de(this):$d(this);
this.A-=this.B.Me},function(){this.V=(this.da=this.G)+1;this.G=this.V&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.I)+1;this.I=this.V&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.J)+1;this.J=this.V&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.C)+1;this.C=this.V&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;
this.V=(this.da=w(this))+1;y(this,a=this.da&~this.fa|this.V&this.fa);this.P=(a&this.fa)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.H)+1;this.H=this.V&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.F)+1;this.F=this.V&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.D)+1;this.D=this.V&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=
2},function(){this.V=(this.da=this.G)-1;this.G=this.V&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.I)-1;this.I=this.V&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.J)-1;this.J=this.V&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.C)-1;this.C=this.V&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.V=
(this.da=w(this))-1;y(this,a=this.da&~this.fa|this.V&this.fa);this.P=(a&this.fa)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.H)-1;this.H=this.V&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.F)-1;this.F=this.V&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.D)-1;this.D=this.V&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this,
this.G&this.fa);this.A-=this.B.rc},function(){z(this,this.I&this.fa);this.A-=this.B.rc},function(){z(this,this.J&this.fa);this.A-=this.B.rc},function(){z(this,this.C&this.fa);this.A-=this.B.rc},function(){z(this,w(this)-this.yc&this.fa);this.A-=this.B.rc},function(){z(this,this.H&this.fa);this.A-=this.B.rc},function(){z(this,this.F&this.fa);this.A-=this.B.rc},function(){z(this,this.D&this.fa);this.A-=this.B.rc},function(){this.G=this.G&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.I=this.I&
~this.fa|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.fa|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.fa|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.fa|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,
Cf,Df,Ef,Ff,Gf,function(){this.Qc[this.W()].call(this,Ne,this.K);this.A-=0>this.Fa?1:this.B.Ch},Gf,function(){this.Qc[this.W()].call(this,Ne,this.L);this.A-=0>this.Fa?1:this.B.Ch},function(){this.$c[this.W()].call(this,Ye)},function(){this.Bc[this.W()].call(this,Ze)},function(){this.ad[this.Sg=this.W()].call(this,kf)},function(){this.sb[this.Sg=this.W()].call(this,lf)},function(){this.Q|=1;this.$c[this.W()].call(this,We)},function(){this.Q|=1;this.Bc[this.W()].call(this,We)},function(){this.ad[this.W()].call(this,
We)},function(){this.sb[this.W()].call(this,We)},function(){var a=this.W();switch((a&56)>>3){case 0:this.Db=this.Na.ta;break;case 1:this.Db=this.na.ta;break;case 2:this.Db=this.ra.ta;break;case 3:this.Db=this.eb.ta;break;default:S.call(this);return}this.Q|=1;this.Bc[a].call(this,Xe)},function(){this.Q|=1;this.fb=this.Nc=this.rm;this.sb[this.W()].call(this,cf)},function(){var a,b=this.W(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za||
80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,We);switch(c){case 0:Sd(this,this.G);this.G=a;break;case 1:Qd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Rd(this,this.C);this.C=a;break;case 4:Sd(this,w(this));y(this,a);break;case 5:Qd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Rd(this,this.D),this.D=a}},
function(){this.Q|=1;this.Qc[this.W()].call(this,Oe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=
2==this.yc?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.yc?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gl},function(){Ve.call(this,this.K(),this.K());this.A-=this.B.jl},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?ce(this):Zd(this);a&wb?Ud(this)||(this.V^=1):Ud(this)&&(this.V^=1);a&vb?de(this):
$d(this);a&ub?ee(this):ae(this);a&tb?fe(this):Xd(this)&&(this.V^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Fc(b,0));this.G=a|b;this.A-=this.B.pj},function(){this.G=this.G&~this.fa|ad(this,this.fb,this.K());this.A-=this.B.pj},function(){var a=this.K(),b=this.G;this.Se(this.fb.hc(a,0),b);this.A-=this.B.qj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),
b);this.A-=this.B.qj},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.I,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Fc(this.F,0));this.Se(this.Na.hc(this.D&this.ha,0),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.I,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.Aa&qb?-2:
2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.ha,1),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.I,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.Aa&qb?-1:1,e=he(this,this.fb,this.F&this.ha),f=je(this,this.Na,this.D&this.ha);xe.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;
this.A-=c-this.B.qb;this.I-=b;a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.I,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.Aa&qb?-2:2,e=ie(this,this.fb,this.F&this.ha),f=me(this,this.Na,this.D&this.ha);Fe.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c-this.B.qb;this.I-=b;a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.V=
this.da=this.G&this.W();this.T=256;this.A-=this.B.Me},function(){this.P=this.V=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Me},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.I,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.G;this.Se(this.Na.hc(this.D&this.ha,0),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.I,b=1,c=this.B.Ej,this.xa&256||
(this.A-=this.B.Dj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.ha,1),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.I,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.G=this.G&-256|this.qc(this.fb.Fc(this.F&this.ha,0)),this.F=this.F&~this.ha|this.F+(this.Aa&qb?-1:1)&this.ha,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.jj;
this.xa&192&&(a=this.I,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.G=ad(this,this.fb,this.F&this.ha),this.F=this.F&~this.ha|this.F+(this.Aa&qb?-2:2)&this.ha,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.I,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(xe.call(this,this.G&255,je(this,this.Na,this.D&this.ha)),this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha,this.A-=c-this.B.qb,this.I-=b,a&&Wd(this)==(this.xa&
64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.I,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Fe.call(this,this.G,me(this,this.Na,this.D&this.ha)),this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha,this.A-=c-this.B.qb,this.I-=b,a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.W();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.W();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.W();
this.A-=this.B.Ab},function(){this.C=this.C&-256|this.W();this.A-=this.B.Ab},function(){this.G=this.G&255|this.W()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.W()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.W()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.W()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.fa|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.fa|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.fa|this.K();this.A-=this.B.Ab},
function(){this.C=this.C&~this.fa|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.fa|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.fa|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.fa|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.fa|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.W()].call(this,ef)},function(){this.sb[this.W()].call(this,df)},function(){this.Q|=1;this.re[this.W()].call(this,Pe,this.W)},function(){this.Q|=1;this.Qc[this.W()].call(this,
Pe,this.K)},Jf,Kf,Jf,Kf,function(){oe.call(this,3,null,this.B.Al)},function(){var a=this.W(),b;a:{b=this.Gg[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.la)){b=!1;break a}b=!0}b?oe.call(this,a,null,0):this.A--},function(){Yd(this)?oe.call(this,4,null,this.B.Bl):this.A-=this.B.Cl},function(){this.A-=this.B.yl;if(this.lc&1&&this.Aa&16384){var a=this.ja(this.gb.ua+0);Wc.call(this.na,a,!1)}else{var a=this.na.Va,b=this.Ea(),c=this.Ea(),d=this.Ea();null!=Yc(this,b,c,!1)&&(Xc(this,
d,a),this.Yg&&Md(this,this.la))}},function(){this.re[this.W()].call(this,Qe,He)},function(){this.Qc[this.W()].call(this,Re,He)},function(){this.re[this.W()].call(this,Qe,Ie)},function(){this.Qc[this.W()].call(this,Re,Ie)},function(){var a=this.W(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.T=256;this.P=this.V=b;this.A-=this.B.dl},function(){var a=this.W();this.P=this.V=this.G=(this.G>>8)*a+this.G&255;this.T=256;this.A-=this.B.cl},function(){this.G=this.G&-256|(Td(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|he(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.bm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.ha)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Jl):this.A-=this.B.mj},function(){var a=this.L();!(this.I=this.I-1&this.ha)||this.P&this.T-1?this.A-=this.B.oj:(D(this,v(this)+a),this.A-=this.B.nj)},function(){var a=this.L();(this.I=this.I-1&this.ha)?(D(this,v(this)+a),this.A-=this.B.Il):this.A-=this.B.mj},function(){var a=this.L();this.I?this.A-=
this.B.oj:(D(this,v(this)+a),this.A-=this.B.nj)},function(){var a=this.W();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.gj},function(){var a=this.W();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.gj},function(){var a=this.W();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.vj},function(){var a=this.W();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.vj},function(){var a=this.K();z(this,v(this));D(this,
v(this)+a);this.A-=this.B.hl},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.hj},function(){Yc(this,this.K(),this.K());this.A-=this.B.El},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.hj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.fj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.fj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.uj},function(){Lb(this.ka,this.J,
this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.uj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Td(this)?Zd(this):ce(this);this.A-=2},function(){this.Db=-1;this.re[this.W()].call(this,Te,Ke);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Qc[this.W()].call(this,Ue,Ke);0<=this.Db&&(this.G=this.Db,this.J=this.yg)},function(){this.P&=~this.T;this.A-=
2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.fl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.W()].call(this,hd,Ke)},function(){this.Qc[this.W()].call(this,id,Ke)}],pf=[function(){var a=this.W();16>(a&56)&&(this.Q|=1);this.Qc[a].call(this,this.hk,Ke)},function(){var a=this.W();a&16||(this.Q|=1);this.Qc[a].call(this,Nf,Ke)},function(){this.sb[this.W()].call(this,hf)},function(){this.sb[this.W()].call(this,
jf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(mf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Rc=this.ja(2126)|this.qc(2128)<<16,this.ef=this.Rc+this.ja(2130),$c(this.ke,2132,
this.ja(2076)),this.Sc=this.ja(2138)|this.qc(2140)<<16,this.ff=this.Sc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,
S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Nd=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.ta},function(){this.A-=2+(0>this.aa?0:1);return this.gb.ta},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>
this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return ee(this),a;ae(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return ee(this),a;ae(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ef-this.Rc,this.Ga(this.aa+
2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.ff-this.Sc,this.Ga(this.aa+2,this.Sc),this.Ga(this.aa+4,65280|this.Sc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ef=this.Rc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Sc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Sc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=
2+(0>this.aa?0:1);return this.lc},R,function(a){mf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R];
function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Bm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Vh,b--,this.Ub|=(b&3)<<Sf.Hf;if(b=a.monitor||(this.za<Tf?"mono":"ega"),void 0!==Uf[b])this.Ub|=Uf[b]<<Rf.Hf}this.ne=Pf(a.sw2||"11110000",0);this.ho=this.za==Of?16:64;this.Xg=this.Sf=1;this.za>=Tf&&(this.Xg=this.Sf=2);this.Xd=a.scaleTimers||!1;this.xp=a.rtcDate;this.Jk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ni=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Vh:1,ONE:0,nq:64,lq:128,Lp:192,Gf:192,Hf:6},Qf=12,Rf={mq:16,Dp:32,Bm:48,Gf:48,Hf:4};k=T.prototype;
function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Dd(){this.Im[this.X()].call(this)}
function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc}function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l}
function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,gf)}function Ed(){this.Ac[this.X()].call(this,hf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,bf)}
function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,af)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Ec(this.F&this.fa,0));this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}}
function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function sf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}
function xf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Cf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Gf(){this.re[this.X()].call(this,Ne,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Re,Ke)}function xd(){this.Pc[this.X()].call(this,Se,Ke)}function Hf(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function If(){D(this,this.Ea());this.A-=this.B.bm}
function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H&~this.ra.fa|this.H-this.ed&this.ra.fa,z(this,ad(this,this.ra,this.H&this.ra.fa));z(this,c)}this.H=this.H&~this.ra.fa|c;y(this,w(this)&~this.ra.fa|w(this)-a&this.ra.fa)}function zd(){y(this,w(this)&~this.ra.fa|this.H&this.ra.fa);this.H=this.H&~this.ha|this.Ea()&this.ha;this.A-=5}function Jf(){of.call(this,this.K());this.A-=this.B.dm}
function Kf(){of.call(this,0);this.A-=this.B.cm}function Lf(){this.sb[this.X()].call(this,cf);this.A-=8}function Mf(){this.Q|=36;this.A-=this.B.ee}function Ad(){S.call(this)}
var ed=[function(){var a=this.X();this.Zc[a].call(this,re)},function(){this.Ac[this.X()].call(this,ze)},function(){this.$c[this.X()].call(this,re)},function(){this.sb[this.X()].call(this,ze)},function(){this.G=this.G&-256|re.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|ze.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.Na.sa);this.A-=this.B.sg},function(){Td(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,se)},function(){this.Ac[this.X()].call(this,
Ae)},function(){this.$c[this.X()].call(this,se)},function(){this.sb[this.X()].call(this,Ae)},function(){this.G=this.G&-256|se.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Ae.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.na.sa);this.A-=this.B.sg},function(){Rd(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,te)},function(){this.Ac[this.X()].call(this,Be)},function(){this.$c[this.X()].call(this,te)},function(){this.sb[this.X()].call(this,
Be)},function(){this.G=this.G&-256|te.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Be.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.ra.sa);this.A-=this.B.sg},function(){Zc(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,ue)},function(){this.Ac[this.X()].call(this,Ce)},function(){this.$c[this.X()].call(this,ue)},function(){this.sb[this.X()].call(this,Ce)},function(){this.G=this.G&-256|ue.call(this,this.G&255,this.X());this.A--},
function(){this.G=this.G&~this.ha|Ce.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.eb.sa);this.A-=this.B.sg},function(){Sd(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,ve)},function(){this.Ac[this.X()].call(this,De)},function(){this.$c[this.X()].call(this,ve)},function(){this.sb[this.X()].call(this,De)},function(){this.G=this.G&-256|ve.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|De.call(this,this.G&this.ha,this.K());
this.A--},function(){this.Q|=20;this.fb=this.Mc=this.Na;this.A-=this.B.ee},function(){var a=this.G&255,b=Wd(this),c=this.P&this.T;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|(this.P=this.W=a&255);this.T=65536;c&&(this.P|=this.T);b?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,we)},function(){this.Ac[this.X()].call(this,Ee)},function(){this.$c[this.X()].call(this,we)},function(){this.sb[this.X()].call(this,Ee)},function(){this.G=this.G&-256|we.call(this,
this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Ee.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.na;this.A-=this.B.ee},function(){var a=this.G&255,b=Wd(this),c=this.P&this.T;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.P=this.W=a&255);this.T=65536;c&&(this.P|=this.T);b?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,xe)},function(){this.Ac[this.X()].call(this,Fe)},function(){this.$c[this.X()].call(this,
xe)},function(){this.sb[this.X()].call(this,Fe)},function(){this.G=this.G&-256|xe.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Fe.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.ra;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,
ye)},function(){this.Ac[this.X()].call(this,Ge)},function(){this.$c[this.X()].call(this,ye)},function(){this.sb[this.X()].call(this,Ge)},function(){ye.call(this,this.G&255,this.X());this.A--},function(){Ge.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);
this.A-=this.B.Ne},function(){this.W=(this.da=this.G)+1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)+1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)+1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)+1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;
this.W=(this.da=w(this))+1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)+1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)+1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)+1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=
2},function(){this.W=(this.da=this.G)-1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)-1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)-1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)-1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.W=
(this.da=w(this))-1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)-1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)-1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)-1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this,
this.G&this.ha);this.A-=this.B.rc},function(){z(this,this.I&this.ha);this.A-=this.B.rc},function(){z(this,this.J&this.ha);this.A-=this.B.rc},function(){z(this,this.C&this.ha);this.A-=this.B.rc},function(){z(this,w(this)-this.ed&this.ha);this.A-=this.B.rc},function(){z(this,this.H&this.ha);this.A-=this.B.rc},function(){z(this,this.F&this.ha);this.A-=this.B.rc},function(){z(this,this.D&this.ha);this.A-=this.B.rc},function(){this.G=this.G&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.I=this.I&
~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,
Cf,Df,Ef,Ff,Gf,function(){this.Pc[this.X()].call(this,Oe,this.K);this.A-=0>this.Fa?1:this.B.Eh},Gf,function(){this.Pc[this.X()].call(this,Oe,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ze)},function(){this.Ac[this.X()].call(this,$e)},function(){this.$c[this.Tg=this.X()].call(this,lf)},function(){this.sb[this.Tg=this.X()].call(this,mf)},function(){this.Q|=1;this.Zc[this.X()].call(this,Xe)},function(){this.Q|=1;this.Ac[this.X()].call(this,Xe)},function(){this.$c[this.X()].call(this,
Xe)},function(){this.sb[this.X()].call(this,Xe)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.na.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:S.call(this);return}this.Q|=1;this.Ac[a].call(this,Ye)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,df)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za||
80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Xe);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}},
function(){this.Q|=1;this.Pc[this.X()].call(this,Pe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=
2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){We.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this):
ae(this);a&ub?fe(this):be(this);a&tb?ge(this):Yd(this)&&(this.W^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Ec(b,0));this.G=a|b;this.A-=this.B.rj},function(){this.G=this.G&~this.ha|ad(this,this.fb,this.K());this.A-=this.B.rj},function(){var a=this.K(),b=this.G;this.Te(this.fb.hc(a,0),b);this.A-=this.B.sj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),
b);this.A-=this.B.sj},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Ec(this.F,0));this.Te(this.Na.hc(this.D&this.fa,0),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-2:
2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=ie(this,this.fb,this.F&this.fa),f=ke(this,this.Na,this.D&this.fa);ye.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;
this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ge.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W=
this.da=this.G&this.X();this.T=256;this.A-=this.B.Ne},function(){this.P=this.W=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Ne},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||(this.A-=this.B.Fj));if(a--){var d=this.G;this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||
(this.A-=this.B.Fj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.lj;this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=this.G&-256|this.qc(this.fb.Ec(this.F&this.fa,0)),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.lj;
this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(ye.call(this,this.G&255,ke(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&
64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ge.call(this,this.G,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X();
this.A-=this.B.Ab},function(){this.C=this.C&-256|this.X();this.A-=this.B.Ab},function(){this.G=this.G&255|this.X()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.X()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.X()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.X()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.ha|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.ha|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.ha|this.K();this.A-=this.B.Ab},
function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.X()].call(this,ff)},function(){this.sb[this.X()].call(this,ef)},function(){this.Q|=1;this.re[this.X()].call(this,Qe,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this,
Qe,this.K)},Jf,Kf,Jf,Kf,function(){ne.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.la)){b=!1;break a}b=!0}b?ne.call(this,a,null,0):this.A--},function(){Zd(this)?ne.call(this,4,null,this.B.Gl):this.A-=this.B.Hl},function(){this.A-=this.B.Dl;if(this.lc&1&&this.Aa&16384){var a=this.ja(this.gb.ua+0);Wc.call(this.na,a,!1)}else{var a=this.na.Va,b=this.Ea(),c=this.Ea(),d=this.Ea();null!=Yc(this,b,c,!1)&&(Xc(this,
d,a),this.Zg&&Nd(this,this.la))}},function(){this.re[this.X()].call(this,Re,Ie)},function(){this.Pc[this.X()].call(this,Se,Ie)},function(){this.re[this.X()].call(this,Re,Je)},function(){this.Pc[this.X()].call(this,Se,Je)},function(){var a=this.X(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.T=256;this.P=this.W=b;this.A-=this.B.il},function(){var a=this.X();this.P=this.W=this.G=(this.G>>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|ie(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-=
this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.X();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.ij},function(){var a=this.X();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.ij},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.xj},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.xj},function(){var a=this.K();z(this,v(this));D(this,
v(this)+a);this.A-=this.B.ml},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.jj},function(){Yc(this,this.K(),this.K());this.A-=this.B.Jl},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.jj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.hj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.hj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.wj},function(){Lb(this.ka,this.J,
this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.wj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Ue,Le);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Ve,Le);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-=
2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,Le)},function(){this.Pc[this.X()].call(this,id,Le)}],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,Le)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Nf,Le)},function(){this.sb[this.X()].call(this,jf)},function(){this.sb[this.X()].call(this,
kf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(nf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132,
this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,
S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Od=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>
this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+
2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=
2+(0>this.aa?0:1);return this.lc},R,function(a){nf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R];
function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Xh,b--,this.Ub|=(b&3)<<Sf.If;if(b=a.monitor||(this.za<Tf?"mono":"ega"),void 0!==Uf[b])this.Ub|=Uf[b]<<Rf.If}this.ne=Pf(a.sw2||"11110000",0);this.mo=this.za==Of?16:64;this.Yg=this.Tf=1;this.za>=Tf&&(this.Yg=this.Tf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,Hf:192,If:6},Qf=12,Rf={rq:16,Ip:32,Gm:48,Hf:48,If:4};k=T.prototype;
k.Eb=function(a,b,c){switch(b){case "sw1":return this.ma[b]=c,Vf(this,b,c,this.Ub,{0:this.za==Of?"Bootable Floppy Drive":"Loop on POST",1:this.za==Of?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Of)return this.ma[b]=c,Vf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ma[b]=c,!0}return!1};
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Fh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za<Tf?(Ib(b,this,Yf),Kb(b,this,Zf)):(Ib(b,this,$f),Kb(b,this,ag))};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Zc=this.Ub;this.Ue=this.ne;bg(this);this.Ya=Array(this.Xg);for(b=0;b<this.Xg;b++)cg(this,b);this.Vb=Array(this.Sf);dg(this,0,32);1<this.Sf&&dg(this,1,160);this.hi=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)eg(this,b);this.Pf=this.fi=this.uc=this.Ug=null;this.Tg=0;if(this.za>=Tf){this.ib=16;this.sd=0;this.rd=16;this.Og=0;this.te=160;512<=fg(this)&&(this.te|=16);3==gg(this)&&(this.te|=64);this.ci=3;this.Rg=0;this.Xb=Array(7);this.gf=0;a&&(this.ba=Array(64));hg(this,
this.xp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Zc&(Rf.Gf|2|Sf.Vh|Sf.Gf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}};
function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.tg=a.Bf=0;a.cm=a.Dh=null}
function kg(a){var b;void 0===b&&(b=a.Dh);a.Bf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8}
k.save=function(){var a=new Od(this);a.set(0,[this.Ub,this.ne,this.Zc,this.Ue]);for(var b=[],c=0;c<this.Ya;c++){for(var d=this.Ya[c],e=d,f=[],g=0;g<e.vb.length;g++){var h=e.vb[g];f[g]=[h.Ad,h.Lg,h.Yb,h.Sa,h.Ua,h.mode,h.Vg,h.sp,h.up]}b[c]=[d.Pd,d.di,d.qk,d.xb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.jg,d.Pc,d.Cd,d.bd,d.Nb,d.Dc,d.ue,d.Of];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.Yb,d.wc,d.Ua,d.Ce,d.sk,d.mode,d.Nh,d.Td,d.Be,d.gd,d.ag,d.Ge,d.Bd];
a.set(3,[this.hi,b]);a.set(4,[this.Ug,this.uc,this.fi,this.Pf,this.Tg]);this.za>=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Og,this.te,this.ci]),a.set(6,[this.Rg,this.Xb,this.gf,this.ba,this.tg,this.Bf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Zc=b[2];this.Ue=b[3];b=a[1];for(c=0;c<this.Xg;c++)cg(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Sf;c++)dg(this,c,0===c?32:160,b[0][c]);b=a[3];this.hi=b[0];for(c=0;c<this.Lb.length;c++)eg(this,c,b[1][c]);b=a[4];this.Ug=b[0];this.uc=b[1];this.fi=b[2];this.Pf=b[3];this.Tg=b[4];if(b=a[5])this.ib=b[0],this.sd=b[1],this.rd=b[2],this.Og=b[3],this.te=b[4],this.ci=b[5];if(b=a[6])this.Rg=b[0],this.Xb=b[1],this.gf=b[2],this.ba=b[3],
this.tg=b[4],this.Bf=b[5],hg(this);return!0};var lg=[0,null,null,0,Array(4)];function cg(a,b,c){var d=a.Ya[b];d||(d={vb:Array(4)});c=c&&5==c.length?c:lg;d.Pd=c[0];d.di=c[1];d.qk=c[2];d.xb=c[3];d.lo=b<<2;for(var e=0;e<d.vb.length;e++)mg(d,e,c[4][e]);a.Ya[b]=d}var ng=[!0,[0,0],[0,0],[0,0],[0,0]];
function mg(a,b,c){var d=a.vb[b];d||(d={Lg:[0,0],Yb:[0,0],Sa:[0,0],Ua:[0,0]});c=c&&8==c.length?c:ng;d.Ad=c[0];d.Lg[0]=c[1][0];d.Lg[1]=c[1][1];d.Yb[0]=c[2][0];d.Yb[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.Vg=c[6];d.X=a;d.Rk=b;og(d,c[8],c[9]);a.vb[b]=d}function og(a,b,c,d){"string"==typeof b&&(b=Pa(b));b&&(a.dh=null,a.sp=b.id,a.up=c,a.ah=b,a.Ii=b[c],a.Gh=d)}var pg=[0,Array(4)];
function dg(a,b,c,d){var e=a.Vb[b];e||(e={Pc:[null,null,null,null]});d=d&&8==d.length?d:pg;e.port=c;e.Uq=b<<3;e.jg=d[0];e.Pc[0]=d[1][0];e.Pc[1]=d[1][1];e.Pc[2]=d[1][2];e.Pc[3]=d[1][3];e.Cd=d[2];e.bd=d[3];e.Nb=d[4];e.Dc=d[5];e.ue=d[6];e.Of=d[7];a.Vb[b]=e}var qg=[[0,0],[0,0],[0,0],[0,0]];
function eg(a,b,c){var d=a.Lb[b];d||(d={Yb:[0,0],wc:[0,0],Ua:[0,0],Ce:[0,0]});c=c&&13==c.length?c:qg;d.Yb[0]=c[0][0];d.Yb[1]=c[0][1];d.wc[0]=c[1][0];d.wc[1]=c[1][1];d.Ua[0]=c[2][0];d.Ua[1]=c[2][1];d.Ce[0]=c[3][0];d.Ce[1]=c[3][1];d.sk=c[4];d.mode=c[5];d.Nh=c[6];d.Td=c[7];d.Be=c[8];d.gd=c[9];d.ag=c[10];d.Ge=c[11];d.Bd=c[12];a.Lb[b]=d}function fg(a,b){return((((b?a.Ub:a.Zc)&12)>>2)+1)*a.ho+32*((b?a.ne:a.Ue)&15)}function rg(a,b){var c=b?a.Ub:a.Zc;return a.za!=Of||c&Sf.Vh?((c&Sf.Gf)>>Sf.Hf)+1:0}
function ig(a,b){if(b<rg(a)){if(!a.Jd)return 1;if(b<a.Jd.length)switch(a.Jd[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 gg(a,b){return((b?a.Ub:a.Zc)&Rf.Gf)>>Rf.Hf}
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za<Tf?(Ib(b,this,Yf),Kb(b,this,Zf)):(Ib(b,this,$f),Kb(b,this,ag))};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Yc=this.Ub;this.Ve=this.ne;bg(this);this.Ya=Array(this.Yg);for(b=0;b<this.Yg;b++)cg(this,b);this.Vb=Array(this.Tf);dg(this,0,32);1<this.Tf&&dg(this,1,160);this.ji=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)eg(this,b);this.Qf=this.hi=this.uc=this.Vg=null;this.Ug=0;if(this.za>=Tf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=fg(this)&&(this.ue|=16);3==gg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));hg(this,
this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Rf.Hf|2|Sf.Xh|Sf.Hf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}};
function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.ug=a.Cf=0;a.hm=a.Fh=null}
function kg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8}
k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c<this.Ya;c++){for(var d=this.Ya[c],e=d,f=[],g=0;g<e.vb.length;g++){var h=e.vb[g];f[g]=[h.Ad,h.Mg,h.Yb,h.Sa,h.Ua,h.mode,h.Wg,h.xp,h.zp]}b[c]=[d.Pd,d.fi,d.uk,d.xb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.kg,d.Oc,d.Cd,d.ad,d.Nb,d.Cc,d.ve,d.Pf];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.Yb,d.wc,d.Ua,d.De,d.wk,d.mode,d.Ph,d.Td,d.Ce,d.gd,d.bg,d.He,d.Bd];
a.set(3,[this.ji,b]);a.set(4,[this.Vg,this.uc,this.hi,this.Qf,this.Ug]);this.za>=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.ug,this.Cf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c<this.Yg;c++)cg(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Tf;c++)dg(this,c,0===c?32:160,b[0][c]);b=a[3];this.ji=b[0];for(c=0;c<this.Lb.length;c++)eg(this,c,b[1][c]);b=a[4];this.Vg=b[0];this.uc=b[1];this.hi=b[2];this.Qf=b[3];this.Ug=b[4];if(b=a[5])this.ib=b[0],this.sd=b[1],this.rd=b[2],this.Pg=b[3],this.ue=b[4],this.ei=b[5];if(b=a[6])this.Sg=b[0],this.Xb=b[1],this.hf=b[2],this.ba=b[3],
this.ug=b[4],this.Cf=b[5],hg(this);return!0};var lg=[0,null,null,0,Array(4)];function cg(a,b,c){var d=a.Ya[b];d||(d={vb:Array(4)});c=c&&5==c.length?c:lg;d.Pd=c[0];d.fi=c[1];d.uk=c[2];d.xb=c[3];d.qo=b<<2;for(var e=0;e<d.vb.length;e++)mg(d,e,c[4][e]);a.Ya[b]=d}var ng=[!0,[0,0],[0,0],[0,0],[0,0]];
function mg(a,b,c){var d=a.vb[b];d||(d={Mg:[0,0],Yb:[0,0],Sa:[0,0],Ua:[0,0]});c=c&&8==c.length?c:ng;d.Ad=c[0];d.Mg[0]=c[1][0];d.Mg[1]=c[1][1];d.Yb[0]=c[2][0];d.Yb[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.Wg=c[6];d.V=a;d.Wk=b;og(d,c[8],c[9]);a.vb[b]=d}function og(a,b,c,d){"string"==typeof b&&(b=Na(b));b&&(a.eh=null,a.xp=b.id,a.zp=c,a.bh=b,a.Ki=b[c],a.Ih=d)}var pg=[0,Array(4)];
function dg(a,b,c,d){var e=a.Vb[b];e||(e={Oc:[null,null,null,null]});d=d&&8==d.length?d:pg;e.port=c;e.Zq=b<<3;e.kg=d[0];e.Oc[0]=d[1][0];e.Oc[1]=d[1][1];e.Oc[2]=d[1][2];e.Oc[3]=d[1][3];e.Cd=d[2];e.ad=d[3];e.Nb=d[4];e.Cc=d[5];e.ve=d[6];e.Pf=d[7];a.Vb[b]=e}var qg=[[0,0],[0,0],[0,0],[0,0]];
function eg(a,b,c){var d=a.Lb[b];d||(d={Yb:[0,0],wc:[0,0],Ua:[0,0],De:[0,0]});c=c&&13==c.length?c:qg;d.Yb[0]=c[0][0];d.Yb[1]=c[0][1];d.wc[0]=c[1][0];d.wc[1]=c[1][1];d.Ua[0]=c[2][0];d.Ua[1]=c[2][1];d.De[0]=c[3][0];d.De[1]=c[3][1];d.wk=c[4];d.mode=c[5];d.Ph=c[6];d.Td=c[7];d.Ce=c[8];d.gd=c[9];d.bg=c[10];d.He=c[11];d.Bd=c[12];a.Lb[b]=d}function fg(a,b){return((((b?a.Ub:a.Yc)&12)>>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function rg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Of||c&Sf.Xh?((c&Sf.Hf)>>Sf.If)+1:0}
function ig(a,b){if(b<rg(a)){if(!a.Jd)return 1;if(b<a.Jd.length)switch(a.Jd[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 gg(a,b){return((b?a.Ub:a.Yc)&Rf.Hf)>>Rf.If}
function Vf(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=Ta(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),sg(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");sg(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Ub=
a.Ub&~e|(c?0:e);break;case "sw2":a.ne=a.ne&~e|(c?0:e)}bg(a)}}(a,b[g])}function sg(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function bg(a){var b=a.ma.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(fg(a,!0)+"Kb");d+=", "+c[gg(a,!0)]+" Monitor";d+=", "+rg(a,!0)+" Floppy Drives";if(null!=a.Zc&&a.Zc!=a.Ub||null!=a.Ue&&a.Ue!=a.ne)d+=" (Reset required)";b.textContent=d}}
function tg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Sa[a.xb];a.xb^=1;b||0!=c||a.xb||(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 ug(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Sa[a.xb]=c.Lg[a.xb]=d;a.xb^=1}function zg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Ua[a.xb];a.xb^=1;b||0!=c||a.xb||(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 Ag(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1}
function Bg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function Cg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<<b)|(c&4)<<b+2;a.qk=c}function Dg(a,b,c){b=a.Ya[b];var d=c&3,e=b.vb[d];e.Ad=!!(c&4);e.Ad||Eg(a,b.lo+d)}function Fg(a,b){for(var c=a.Ya[b],d=0;d<c.vb.length;d++)mg(c,d)}function Gg(a,b,c){return a.Ya[b].vb[c].Vg}function Hg(a,b,c,d){a.Ya[b].vb[c].Vg=d}function Ig(a,b,c,d,e){og(a.Ya[b>>2].vb[b&3],c,d,e)}
function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.ah&&b.Ii&&b.Gh?(c&&(b.dh=c),b.Ad||pe(a,b,!0)):c&&c(!0)}function pe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.xm=b.mode&12,b.Mk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Vg<<16|b.Sa[1]<<8|b.Sa[0],4==b.xm?(d=!0,function(c){b.Ii.call(b.ah,b.Gh,-1,function(f,g){0>f&&(b.Mk||(b.Mk=!0),f=255);b.Ad||a.ka.Se(c,f);(d=g)&&setTimeout(function(){Jg(b)||pe(a,b)},0)})}(c)):8==b.xm?(c=a.ka.qc(c),0>b.Ii.call(b.ah,b.Gh,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););}
function Jg(a){if(!a.fd&&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.Ad))return!1;var b=a.X;b.Pd=b.Pd&~(16<<a.Rk)|1<<a.Rk;a.mode&16||(a.Ad=!0,a.ah=a.Gh=null);a.dh&&(a.dh(!a.fd),a.dh=null);return!0}function Kg(a,b){var c=0,d=a.Vb[b];if(null!=d.Of)switch(d.Of&3){case 2:c=d.Nb;break;case 3:c=d.Dc}return c}
function Lg(a,b,c){var d=a.Vb[b];if(c&16)d.Cd=0,d.Pc[d.Cd++]=c,d.bd=0,d.ue=7,d.Nb=d.Dc=0,d.Of=10;else if(c&8)c&100&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW3 command: "+ea(c)),rc(a.U)),d.Of=c;else{var e=c&224;if(e&32){var f,g=0;if(96==(e&96))g=1<<(c&7);else for(f=d.ue+1;;){f&=7;var h=1<<f;if(d.Dc&h){g=h;break}if(f++==d.ue)break}d.Dc&g&&(d.Dc&=~g,Mg(a));e&128&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW2 rotate command: "+ea(c)),rc(a.U))}else 192==e?d.ue=c&7:(a.va("PIC"+b+"(0x"+ea(d.port)+
"): unsupported OCW2 automatic EOI command: "+ea(c)),rc(a.U))}}function Ng(a,b,c){var d=a.Vb[b];d.Cd<d.Pc.length?(d.Pc[d.Cd++]=c,2==d.Cd&&d.Pc[0]&2&&d.Cd++,3!=d.Cd||d.Pc[0]&1||d.Cd++):(d.bd=c,d=a.U,d.Q|=4,Mg(a,b||253!=c?0:6))}function Og(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.jg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))}
function Mg(a,b){var c,d=-1;1<a.Sf&&(c=a.Vb[1],d=~(c.Dc|c.bd)&c.Nb);c=a.Vb[0];0<=d&&(c.Nb=d?c.Nb|4:c.Nb&-5);var d=~(c.Dc|c.bd)&c.Nb,e=a.U;e.ca&&(e.kb=d?e.kb|1:e.kb&-2);d&&b&&(c.jg=b)}function ne(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.jg)c=-2,d.jg--;else for(var e=d.Nb&((d.Dc|d.bd)^255),f=d.ue+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Pc[1]+f:ne(a,1);0<=c&&(d.Dc|=g,d.Nb&=~g);break}if(f++==d.ue)break}return c}
function Qg(a,b){var c=a.Lb[b];c.Td==c.Be&&Rg(a,b);if(c.ag)return c.Ce[c.Td++];Sg(a,b);return c.Ua[c.Td++]}function Tg(a,b,c){var d=a.Lb[b];d.Td==d.Be&&Rg(a,b);d.Yb[d.Td++]=c;d.Td==d.Be&&(d.Ge&&0!=d.mode&&8!=d.mode||(d.ag=!1,d.Ua[0]=d.wc[0]=d.Yb[0],d.Ua[1]=d.wc[1]=d.Yb[1],d.Bd=yc(a.U,a.Xd),d.Ge=!0,d.gd=0!=d.mode,0==b&&(Pg(a,0),c=Ug(a,0)*a.Fh|0,6==d.mode&&(c>>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.$n=function(){return null};
k.lp=function(a,b){this.hi=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Nh=f;g.mode=e;g.sk=d;g.Yb=[0,0];g.Ua=[0,0];g.Ce=[0,0];g.gd=!1;g.ag=!1;g.Ge=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].bd&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.Ce[0]=d.Ua[0],d.Ce[1]=d.Ua[1],d.ag=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Be?256:65536);return d}
function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Be?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Nh?1:0;c.Be=48==c.Nh?2:1}
function Sg(a,b,c){var d=a.Lb[b];if(d.Ge&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Fh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.Ge=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d}
function Ac(a,b){for(var c=0;c<a.Lb.length;c++)Sg(a,c,b);if(a.za>=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Dh&&(a.tg=yc(a.U,a.Xd),a.cm=1024,a.Dh=Math.floor(a.U.S.jd/a.cm),kg(a));d>=a.Bf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Bf=d+a.Dh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.tg,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]=
0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.tg=d-e%c}}k.Sn=function(){var a=this.Ug;if(this.Pf&16)if(this.uc&128)a=this.Zc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.ep=function(a,b){this.Ug=b};k.Tn=function(){return this.uc};
k.fp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Un=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ue&15:a|this.Ue>>4&1:this.uc&8?a|this.Zc>>4:a|this.Zc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.gp=function(a,b){this.fi=b};k.Vn=function(){return this.Pf};k.hp=function(a,b){this.Pf=b};k.hn=function(){var a=this.Og;this.ib&=-258;this.Ba&&Xg(this.Ba);return a};
k.wo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.jn=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.xo=function(a,b){Vg(this,b)};k.kn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.vo=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.te);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Fd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))}
function ah(a,b){0<=b&&(a.Og=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ci=b;Bb(a.ka,!!(b&2));b&1||Fd(a.U)}function bh(a,b){a.za<Tf?Og(a,1,4):a.rd&16||a.ib&257||(ah(a,b),ch(a.Ba),Og(a,1,120))}k.yn=function(){return this.gf};k.Lo=function(a,b){this.gf=b;this.Tg=b&128?0:128};
k.zn=function(a,b){var c=this.gf&63,d;if(13>=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ba[c]^=128);else d=this.ba[c];null!=b&&12==c&&(this.ba[c]&=15,d&128&&Pg(this,8),d&64&&this.ba[11]&64&&kg(this));return d};
k.Mo=function(a,b){var c=this.gf&63,d=b^this.ba[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ba[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Qn=function(){return this.Rg};k.bp=function(a,b){this.Rg=b};k.dp=function(a,b){this.Tg=b};k.No=function(){};k.Oo=function(){};
function Pf(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 zc(a,b){if(a.ni){void 0!==b?a.Jk=b:b=a.Jk&&a.U&&a.U.ea.Ib;var c=Math.round(1193181/Ug(a,2));if(20>c||2E4<c)b=!1;b?a.pd?a.pd.frequency.value=c:(a.pd=a.ni.createOscillator(),a.pd.type=1,a.pd.connect(a.ni.destination),a.pd.frequency.value=c,a.pd.noteOn(0)):a.pd&&(a.pd.noteOff(0),a.pd.disconnect(),delete a.pd)}else b&&a.cc("BEEP",4194304)}
var Wf={0:function(){return tg(this,0,0)},1:function(){return zg(this,0,0)},2:function(){return tg(this,0,1)},3:function(){return zg(this,0,1)},4:function(){return tg(this,0,2)},5:function(){return zg(this,0,2)},6:function(){return tg(this,0,3)},7:function(){return zg(this,0,3)},8:function(){return Bg(this,0)},32:function(){return Kg(this,0)},33:function(){return this.Vb[0].bd},64:function(){return Qg(this,0)},65:function(){return Qg(this,1)},66:function(){return Qg(this,2)},67:T.prototype.$n,129:function(){return Gg(this,
0,2)},130:function(){return Gg(this,0,3)},131:function(){return Gg(this,0,1)},135:function(){return Gg(this,0,0)}},Yf={96:T.prototype.Sn,97:T.prototype.Tn,98:T.prototype.Un,99:T.prototype.Vn},$f={96:T.prototype.hn,97:T.prototype.jn,100:T.prototype.kn,112:T.prototype.yn,113:T.prototype.zn,128:T.prototype.Qn,132:function(){return this.Xb[0]},133:function(){return this.Xb[1]},134:function(){return this.Xb[2]},136:function(){return this.Xb[3]},137:function(){return Gg(this,1,2)},138:function(){return Gg(this,
1,3)},139:function(){return Gg(this,1,1)},140:function(){return this.Xb[4]},141:function(){return this.Xb[5]},142:function(){return this.Xb[6]},143:function(){return Gg(this,1,0)},160:function(){return Kg(this,1)},161:function(){return this.Vb[1].bd},192:function(){return tg(this,1,0)},194:function(){return zg(this,1,0)},196:function(){return tg(this,1,1)},198:function(){return zg(this,1,1)},200:function(){return tg(this,1,2)},202:function(){return zg(this,1,2)},204:function(){return tg(this,1,3)},
206:function(){return zg(this,1,3)},208:function(){return Bg(this,1)}},Xf={0:function(a,b){ug(this,0,0,b)},1:function(a,b){Ag(this,0,0,b)},2:function(a,b){ug(this,0,1,b)},3:function(a,b){Ag(this,0,1,b)},4:function(a,b){ug(this,0,2,b)},5:function(a,b){Ag(this,0,2,b)},6:function(a,b){ug(this,0,3,b)},7:function(a,b){Ag(this,0,3,b)},8:function(a,b){this.Ya[0].di=b},9:function(a,b){Cg(this,0,b)},10:function(a,b){Dg(this,0,b)},11:function(a,b){this.Ya[0].vb[b&3].mode=b},12:function(){this.Ya[0].xb=0},13:function(){Fg(this,
0)},32:function(a,b){Lg(this,0,b)},33:function(a,b){Ng(this,0,b)},64:function(a,b){Tg(this,0,b)},65:function(a,b){Tg(this,1,b)},66:function(a,b){Tg(this,2,b)},67:T.prototype.lp,129:function(a,b){Hg(this,0,2,b)},130:function(a,b){Hg(this,0,3,b)},131:function(a,b){Hg(this,0,1,b)},135:function(a,b){Hg(this,0,0,b)}},Zf={96:T.prototype.ep,97:T.prototype.fp,98:T.prototype.gp,99:T.prototype.hp,160:T.prototype.dp},ag={96:T.prototype.wo,97:T.prototype.xo,100:T.prototype.vo,112:T.prototype.Lo,113:T.prototype.Mo,
128:T.prototype.bp,132:function(a,b){this.Xb[0]=b},133:function(a,b){this.Xb[1]=b},134:function(a,b){this.Xb[2]=b},136:function(a,b){this.Xb[3]=b},137:function(a,b){Hg(this,1,2,b)},138:function(a,b){Hg(this,1,3,b)},139:function(a,b){Hg(this,1,1,b)},140:function(a,b){this.Xb[4]=b},141:function(a,b){this.Xb[5]=b},142:function(a,b){this.Xb[6]=b},143:function(a,b){Hg(this,1,0,b)},160:function(a,b){Lg(this,1,b)},161:function(a,b){Ng(this,1,b)},192:function(a,b){ug(this,1,0,b)},194:function(a,b){Ag(this,
1,0,b)},196:function(a,b){ug(this,1,1,b)},198:function(a,b){Ag(this,1,1,b)},200:function(a,b){ug(this,1,2,b)},202:function(a,b){Ag(this,1,2,b)},204:function(a,b){ug(this,1,3,b)},206:function(a,b){Ag(this,1,3,b)},208:function(a,b){this.Ya[1].di=b},210:function(a,b){Cg(this,1,b)},212:function(a,b){Dg(this,1,b)},214:function(a,b){this.Ya[1].vb[b&3].mode=b},216:function(){this.Ya[1].xb=0},218:function(){Fg(this,1)},240:T.prototype.No,241:T.prototype.Oo};
za(function(){for(var a=Ta(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new T(d);Sa(d,c);bg(d)}});function dh(a){n.call(this,"ROM",a,dh);this.wb=null;this.kk=a.addr;this.Sh=a.size;this.Gm=a.alias;this.zg=a.file;this.tp=ga(this.zg);this.Tk=a.notify;if(this.zg){a=this.zg;var b=ha(this.tp);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.zg+"&format=bytes&decimal=true");na(a,!0,null,this,dh.prototype.ro)}}La(n,dh);
dh.prototype.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;eh(this)};dh.prototype.bc=function(){this.ai&&(this.Wa&&this.Wa.wq(this.kk,this.Sh,this.ai),delete this.ai);return!0};dh.prototype.ac=function(){return!0};
dh.prototype.ro=function(a,b,c){if(c)this.va("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.wb=e;else if(f)for(this.wb=Array(4*f.length),c=b=0;b<f.length;b++)this.wb[c++]=f[b]&255,this.wb[c++]=f[b]>>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ai=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d<a.length;d++)this.wb[d]=parseInt(a[d],16);eh(this)}};function eh(a){if(!Va(a))if(!a.zg)p(a);else if(a.wb&&a.ka){if(a.wb.length!=a.Sh)Wa(a,"ROM size (0x"+da(a.wb.length)+") does not match specified size (0x"+da(a.Sh)+")");else if(fh(a,a.kk)&&fh(a,a.Gm)){if(a.Tk){var b=Pa(a.Tk,a.id);b&&("ega"==b.za&&gh(b,a.wb,[8752,12640],8),p(b))}delete a.wb}p(a)}}
function fh(a,b){if(null==b)return!0;if(Cb(a.ka,b,a.Sh,Qb)){for(var c=0;c<a.wb.length;c++){var d=a.ka,e=b+c;d.sa[(e&d.tb)>>>d.jb].Zj(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new dh(d);Sa(d,c)}});function hh(a){n.call(this,"RAM",a,hh);this.Mg=a.addr;this.Ed=a.size;this.cn=a.test;this.Zm=!!this.Ed;this.eh=!1}La(n,hh);hh.prototype.zc=function(a,b,c){this.ka=b;this.U=c;this.ca=bb(a,"ChipSet");p(this)};
a.Ub&~e|(c?0:e);break;case "sw2":a.ne=a.ne&~e|(c?0:e)}bg(a)}}(a,b[g])}function sg(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function bg(a){var b=a.ma.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(fg(a,!0)+"Kb");d+=", "+c[gg(a,!0)]+" Monitor";d+=", "+rg(a,!0)+" Floppy Drives";if(null!=a.Yc&&a.Yc!=a.Ub||null!=a.Ve&&a.Ve!=a.ne)d+=" (Reset required)";b.textContent=d}}
function tg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Sa[a.xb];a.xb^=1;b||0!=c||a.xb||(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 ug(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Sa[a.xb]=c.Mg[a.xb]=d;a.xb^=1}function vg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Ua[a.xb];a.xb^=1;b||0!=c||a.xb||(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 wg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1}
function xg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function yg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<<b)|(c&4)<<b+2;a.uk=c}function Dg(a,b,c){b=a.Ya[b];var d=c&3,e=b.vb[d];e.Ad=!!(c&4);e.Ad||Eg(a,b.qo+d)}function Fg(a,b){for(var c=a.Ya[b],d=0;d<c.vb.length;d++)mg(c,d)}function Gg(a,b,c){return a.Ya[b].vb[c].Wg}function Hg(a,b,c,d){a.Ya[b].vb[c].Wg=d}function Ig(a,b,c,d,e){og(a.Ya[b>>2].vb[b&3],c,d,e)}
function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||oe(a,b,!0)):c&&c(!0)}function oe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Jg(b)||oe(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););}
function Jg(a){if(!a.fd&&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.Ad))return!1;var b=a.V;b.Pd=b.Pd&~(16<<a.Wk)|1<<a.Wk;a.mode&16||(a.Ad=!0,a.bh=a.Ih=null);a.eh&&(a.eh(!a.fd),a.eh=null);return!0}function Kg(a,b){var c=0,d=a.Vb[b];if(null!=d.Pf)switch(d.Pf&3){case 2:c=d.Nb;break;case 3:c=d.Cc}return c}
function Lg(a,b,c){var d=a.Vb[b];if(c&16)d.Cd=0,d.Oc[d.Cd++]=c,d.ad=0,d.ve=7,d.Nb=d.Cc=0,d.Pf=10;else if(c&8)c&100&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW3 command: "+ea(c)),rc(a.U)),d.Pf=c;else{var e=c&224;if(e&32){var f,g=0;if(96==(e&96))g=1<<(c&7);else for(f=d.ve+1;;){f&=7;var h=1<<f;if(d.Cc&h){g=h;break}if(f++==d.ve)break}d.Cc&g&&(d.Cc&=~g,Mg(a));e&128&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW2 rotate command: "+ea(c)),rc(a.U))}else 192==e?d.ve=c&7:(a.va("PIC"+b+"(0x"+ea(d.port)+
"): unsupported OCW2 automatic EOI command: "+ea(c)),rc(a.U))}}function Ng(a,b,c){var d=a.Vb[b];d.Cd<d.Oc.length?(d.Oc[d.Cd++]=c,2==d.Cd&&d.Oc[0]&2&&d.Cd++,3!=d.Cd||d.Oc[0]&1||d.Cd++):(d.ad=c,d=a.U,d.Q|=4,Mg(a,b||253!=c?0:6))}function Og(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.kg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))}
function Mg(a,b){var c,d=-1;1<a.Tf&&(c=a.Vb[1],d=~(c.Cc|c.ad)&c.Nb);c=a.Vb[0];0<=d&&(c.Nb=d?c.Nb|4:c.Nb&-5);var d=~(c.Cc|c.ad)&c.Nb,e=a.U;e.ca&&(e.kb=d?e.kb|1:e.kb&-2);d&&b&&(c.kg=b)}function me(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.kg)c=-2,d.kg--;else for(var e=d.Nb&((d.Cc|d.ad)^255),f=d.ve+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Oc[1]+f:me(a,1);0<=c&&(d.Cc|=g,d.Nb&=~g);break}if(f++==d.ve)break}return c}
function Qg(a,b){var c=a.Lb[b];c.Td==c.Ce&&Rg(a,b);if(c.bg)return c.De[c.Td++];Sg(a,b);return c.Ua[c.Td++]}function Tg(a,b,c){var d=a.Lb[b];d.Td==d.Ce&&Rg(a,b);d.Yb[d.Td++]=c;d.Td==d.Ce&&(d.He&&0!=d.mode&&8!=d.mode||(d.bg=!1,d.Ua[0]=d.wc[0]=d.Yb[0],d.Ua[1]=d.wc[1]=d.Yb[1],d.Bd=yc(a.U,a.Xd),d.He=!0,d.gd=0!=d.mode,0==b&&(Pg(a,0),c=Ug(a,0)*a.Hh|0,6==d.mode&&(c>>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null};
k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.bg=!1;g.He=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.bg=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d}
function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1}
function Sg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d}
function Ac(a,b){for(var c=0;c<a.Lb.length;c++)Sg(a,c,b);if(a.za>=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.ug=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),kg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.ug,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]=
0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.ug=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Qf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc};
k.kp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Qf};k.mp=function(a,b){this.Qf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Xg(this.Ba);return a};
k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Vg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.ue);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))}
function ah(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function bh(a,b){a.za<Tf?Og(a,1,4):a.rd&16||a.ib&257||(ah(a,b),ch(a.Ba),Og(a,1,120))}k.Dn=function(){return this.hf};k.Qo=function(a,b){this.hf=b;this.Ug=b&128?0:128};
k.En=function(a,b){var c=this.hf&63,d;if(13>=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ba[c]^=128);else d=this.ba[c];null!=b&&12==c&&(this.ba[c]&=15,d&128&&Pg(this,8),d&64&&this.ba[11]&64&&kg(this));return d};
k.Ro=function(a,b){var c=this.hf&63,d=b^this.ba[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ba[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){};
function Pf(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 zc(a,b){if(a.pi){void 0!==b?a.Nk=b:b=a.Nk&&a.U&&a.U.ea.Ib;var c=Math.round(1193181/Ug(a,2));if(20>c||2E4<c)b=!1;b?a.pd?a.pd.frequency.value=c:(a.pd=a.pi.createOscillator(),a.pd.type=1,a.pd.connect(a.pi.destination),a.pd.frequency.value=c,a.pd.noteOn(0)):a.pd&&(a.pd.noteOff(0),a.pd.disconnect(),delete a.pd)}else b&&a.cc("BEEP",4194304)}
var Wf={0:function(){return tg(this,0,0)},1:function(){return vg(this,0,0)},2:function(){return tg(this,0,1)},3:function(){return vg(this,0,1)},4:function(){return tg(this,0,2)},5:function(){return vg(this,0,2)},6:function(){return tg(this,0,3)},7:function(){return vg(this,0,3)},8:function(){return xg(this,0)},32:function(){return Kg(this,0)},33:function(){return this.Vb[0].ad},64:function(){return Qg(this,0)},65:function(){return Qg(this,1)},66:function(){return Qg(this,2)},67:T.prototype.fo,129:function(){return Gg(this,
0,2)},130:function(){return Gg(this,0,3)},131:function(){return Gg(this,0,1)},135:function(){return Gg(this,0,0)}},Yf={96:T.prototype.Xn,97:T.prototype.Yn,98:T.prototype.Zn,99:T.prototype.$n},$f={96:T.prototype.nn,97:T.prototype.on,100:T.prototype.pn,112:T.prototype.Dn,113:T.prototype.En,128:T.prototype.Vn,132:function(){return this.Xb[0]},133:function(){return this.Xb[1]},134:function(){return this.Xb[2]},136:function(){return this.Xb[3]},137:function(){return Gg(this,1,2)},138:function(){return Gg(this,
1,3)},139:function(){return Gg(this,1,1)},140:function(){return this.Xb[4]},141:function(){return this.Xb[5]},142:function(){return this.Xb[6]},143:function(){return Gg(this,1,0)},160:function(){return Kg(this,1)},161:function(){return this.Vb[1].ad},192:function(){return tg(this,1,0)},194:function(){return vg(this,1,0)},196:function(){return tg(this,1,1)},198:function(){return vg(this,1,1)},200:function(){return tg(this,1,2)},202:function(){return vg(this,1,2)},204:function(){return tg(this,1,3)},
206:function(){return vg(this,1,3)},208:function(){return xg(this,1)}},Xf={0:function(a,b){ug(this,0,0,b)},1:function(a,b){wg(this,0,0,b)},2:function(a,b){ug(this,0,1,b)},3:function(a,b){wg(this,0,1,b)},4:function(a,b){ug(this,0,2,b)},5:function(a,b){wg(this,0,2,b)},6:function(a,b){ug(this,0,3,b)},7:function(a,b){wg(this,0,3,b)},8:function(a,b){this.Ya[0].fi=b},9:function(a,b){yg(this,0,b)},10:function(a,b){Dg(this,0,b)},11:function(a,b){this.Ya[0].vb[b&3].mode=b},12:function(){this.Ya[0].xb=0},13:function(){Fg(this,
0)},32:function(a,b){Lg(this,0,b)},33:function(a,b){Ng(this,0,b)},64:function(a,b){Tg(this,0,b)},65:function(a,b){Tg(this,1,b)},66:function(a,b){Tg(this,2,b)},67:T.prototype.qp,129:function(a,b){Hg(this,0,2,b)},130:function(a,b){Hg(this,0,3,b)},131:function(a,b){Hg(this,0,1,b)},135:function(a,b){Hg(this,0,0,b)}},Zf={96:T.prototype.jp,97:T.prototype.kp,98:T.prototype.lp,99:T.prototype.mp,160:T.prototype.ip},ag={96:T.prototype.Bo,97:T.prototype.Co,100:T.prototype.Ao,112:T.prototype.Qo,113:T.prototype.Ro,
128:T.prototype.gp,132:function(a,b){this.Xb[0]=b},133:function(a,b){this.Xb[1]=b},134:function(a,b){this.Xb[2]=b},136:function(a,b){this.Xb[3]=b},137:function(a,b){Hg(this,1,2,b)},138:function(a,b){Hg(this,1,3,b)},139:function(a,b){Hg(this,1,1,b)},140:function(a,b){this.Xb[4]=b},141:function(a,b){this.Xb[5]=b},142:function(a,b){this.Xb[6]=b},143:function(a,b){Hg(this,1,0,b)},160:function(a,b){Lg(this,1,b)},161:function(a,b){Ng(this,1,b)},192:function(a,b){ug(this,1,0,b)},194:function(a,b){wg(this,
1,0,b)},196:function(a,b){ug(this,1,1,b)},198:function(a,b){wg(this,1,1,b)},200:function(a,b){ug(this,1,2,b)},202:function(a,b){wg(this,1,2,b)},204:function(a,b){ug(this,1,3,b)},206:function(a,b){wg(this,1,3,b)},208:function(a,b){this.Ya[1].fi=b},210:function(a,b){yg(this,1,b)},212:function(a,b){Dg(this,1,b)},214:function(a,b){this.Ya[1].vb[b&3].mode=b},216:function(){this.Ya[1].xb=0},218:function(){Fg(this,1)},240:T.prototype.So,241:T.prototype.To};
za(function(){for(var a=Ta(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new T(d);Sa(d,c);bg(d)}});function dh(a){n.call(this,"ROM",a,dh);this.wb=null;this.ok=a.addr;this.Uh=a.size;this.Mf=a.alias;this.Ag=a.file;this.yp=ga(this.Ag);this.Yk=a.notify;if(this.Ag){a=this.Ag;var b=ha(this.yp);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.Ag+"&format=bytes&decimal=true");na(a,!0,null,this,dh.prototype.wo)}}La(n,dh);
dh.prototype.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;eh(this)};dh.prototype.bc=function(){this.ci&&(this.Wa&&this.Wa.Bq(this.ok,this.Uh,this.ci),delete this.ci);return!0};dh.prototype.ac=function(){return!0};
dh.prototype.wo=function(a,b,c){if(c)this.va("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.wb=e;else if(f)for(this.wb=Array(4*f.length),c=b=0;b<f.length;b++)this.wb[c++]=f[b]&255,this.wb[c++]=f[b]>>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d<a.length;d++)this.wb[d]=parseInt(a[d],16);eh(this)}};
function eh(a){if(!Va(a))if(!a.Ag)p(a);else if(a.wb&&a.ka){if(a.wb.length!=a.Uh)Wa(a,"ROM size (0x"+da(a.wb.length)+") does not match specified size (0x"+da(a.Uh)+")");else if(fh(a,a.ok)){var b=[];"number"==typeof a.Mf?b.push(a.Mf):null!=a.Mf&&a.Mf.length&&(b=a.Mf);for(var c=0;c<b.length;c++)fh(a,b[c]);a.Yk&&(b=Na(a.Yk,a.id))&&("ega"==b.za&&gh(b,a.wb,[8752,12640],8),p(b));delete a.wb}p(a)}}
function fh(a,b){if(Cb(a.ka,b,a.Uh,Qb)){for(var c=0;c<a.wb.length;c++){var d=a.ka,e=b+c;d.ta[(e&d.tb)>>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new dh(d);Sa(d,c)}});function hh(a){n.call(this,"RAM",a,hh);this.Ng=a.addr;this.Ed=a.size;this.hn=a.test;this.dn=!!this.Ed;this.fh=!1}La(n,hh);hh.prototype.yc=function(a,b,c){this.ka=b;this.U=c;this.ca=bb(a,"ChipSet");p(this)};
hh.prototype.bc=function(a,b){b||this.reset();return!0};hh.prototype.ac=function(){return!0};
hh.prototype.reset=function(){if(!this.Mg&&!this.Zm&&this.ca){var a=1024*fg(this.ca);this.Ed&&a!=this.Ed&&(Eb(this.ka,this.Mg,this.Ed),this.eh=!1);this.Ed=a}!this.eh&&this.Ed&&Cb(this.ka,this.Mg,this.Ed,1)&&(this.eh=!0,this.status(Math.floor(this.Ed/1024)+"Kb"));if(this.eh){if(this.cn||Gb(this.ka,1138,4660),this.ca&&(a=this.ca,a.ba)){var b=1048576>this.Mg?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")};
za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new hh(d);Sa(d,c)}});function ih(a){n.call(this,"Keyboard",a,ih);this.Gk=ua("Mobi");this.$m=ua("MSIE");this.cc("mobile keyboard support: "+(this.Gk?"true":"false"));this.vk=0;this.jh=!0;this.Fi=this.Ai=!1;this.Gb=[];this.jo=500;this.ko=100;this.io=50;this.Bk=!1;p(this)}La(n,ih);
var V={Ep:1,Fp:3,Gp: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,Bp:65,Cp:66,ck:67,zm:68,E:69,Jp:70,Mp:71,dk:72,Op:73,Pp:74,Qp:75,Rp:76,Sp:77,Wh:78,Up:79,Vp:80,Xp:81,fk:82,aq:83,kq:84,oq:85,pq:86,qq:87,sq:88,tq:89,uq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,vq:97,xq:98,zq:99,Gq:100,Hq:101,Iq:102,Kq:103,Mq:104,Oq:105,Pq:106,Qq:107,
Rq:108,Sq:109,Tq:110,Vq:111,Wq:112,Xq:113,Yq:114,Zq:115,ar:116,br:117,cr:118,dr:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},jh={};jh[186]=V[";"];jh[187]=V["="];jh[188]=V[","];jh[189]=V["-"];jh[190]=V["."];jh[191]=V["/"];jh[192]=V["`"];jh[219]=V["["];jh[220]=V["\\"];jh[221]=V["]"];jh[222]=V["'"];jh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"];
hh.prototype.reset=function(){if(!this.Ng&&!this.dn&&this.ca){var a=1024*fg(this.ca);this.Ed&&a!=this.Ed&&(Eb(this.ka,this.Ng,this.Ed),this.fh=!1);this.Ed=a}!this.fh&&this.Ed&&Cb(this.ka,this.Ng,this.Ed,1)&&(this.fh=!0,this.status(Math.floor(this.Ed/1024)+"Kb"),"ramCPQ"==this.th&&(this.V=new ih,Cb(this.ka,jh,1,4,this.V)));if(this.fh){if(this.hn||Gb(this.ka,1138,4660),this.ca&&(a=this.ca,a.ba)){var b=1048576>this.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")};
function ih(){this.Km=kh;this.Lm=lh}var jh=2160066560,kh=255,lh=0;function mh(){return this.V.Lm}function nh(a,b){this.V.Km=b}var oh=[mh,mh,mh,nh,nh,nh];ih.prototype.Tk=function(){return[null,0]};ih.prototype.Li=function(){return oh};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new hh(d);Sa(d,c)}});
function ph(a){n.call(this,"Keyboard",a,ph);this.Kk=ua("Mobi");this.en=ua("MSIE");this.cc("mobile keyboard support: "+(this.Kk?"true":"false"));this.zk=0;this.kh=!0;this.Hi=this.Ci=!1;this.Gb=[];this.oo=500;this.po=100;this.no=50;this.Fk=!1;p(this)}La(n,ph);
var V={Jp:1,Kp:3,Lp: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,Gp:65,Hp:66,ek:67,Em:68,E:69,Op:70,Rp:71,fk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,Yh:78,Zp:79,$p:80,bq:81,hk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Cq:98,Eq:99,Lq:100,Mq:101,Nq:102,Pq:103,Rq:104,Tq:105,Uq:106,Vq:107,
Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qh={};qh[186]=V[";"];qh[187]=V["="];qh[188]=V[","];qh[189]=V["-"];qh[190]=V["."];qh[191]=V["/"];qh[192]=V["`"];qh[219]=V["["];qh[220]=V["\\"];qh[221]=V["]"];qh[222]=V["'"];qh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"];
W[186]=V[":"];W[187]=V["+"];W[188]=V["<"];W[189]=V._;W[190]=V[">"];W[191]=V["?"];W[192]=V["~"];W[219]=V["{"];W[220]=V["|"];W[221]=V["}"];W[222]=V['"'];W[173]=V._;W[61]=V["+"];W[59]=V[":"];
var kh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},lh={TAB:1009,ESC:1027,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:4008,CTRL_ALT_DEL:4046},mh={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13,
var rh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sh={TAB:1009,ESC:1027,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:4008,CTRL_ALT_DEL:4046},th={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13,
ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":V[";"],quote:V["'"],"`":V["`"],shift:1016,"\\":V["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":V[","],".":V["."],"/":V["/"],"right-shift":3016,prtsc:1044,alt:1018,space:V[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035,
"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},nh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16;
"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},uh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16;
X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[V["["]]=26;X[V["{"]]=10778;X[V["]"]]=27;X[V["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[V[";"]]=39;
X[V[":"]]=10791;X[V["'"]]=40;X[V['"']]=10792;X[V["`"]]=41;X[V["~"]]=10793;X[1016]=42;X[V["\\"]]=43;X[V["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[V[","]]=51;X[V["<"]]=10803;X[V["."]]=52;X[V[">"]]=10804;X[V["/"]]=53;X[V["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[V[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66;
X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ih.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return oh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Bk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Fi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||ph(d,a,!0);return b},c.onkeyup=function(a){return oh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,
1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==lh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();qh(a,c,!0);ph(a,c,!0)}}(this,f,lh[f]),!0;if(void 0!==mh[b])return this.vk++,this.ma[e]=c,a=function(a,b,c){return function(){ph(a,c)}}(this,b,mh[b]),b=
function(a,b,c){return function(){rh(a,c)}}(this,b,mh[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function sh(a,b,c){if(a.vk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=jh[d])&&(b=d);break}for(var e in mh)if((d=mh[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=mh[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.zi!==c&&(a.zi=a.Ei=c);a.ih!==b&&(a.ih=b)&&!a.Ei&&ch(a,!0);a.ih&&a.Ei&&($g(a,!0),a.Ei=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0<a.Mb.length&&(a.Mb.shift(),b&&a.Mb.length&&a.ca&&bh(a.ca,a.Mb[0]))}
k.bc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd();this.Pb=this.dd=0;this.Mb=[]};k.save=function(){var a=new Od(this);a.set(0,this.Xj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[]);this.zi=a[b++];this.ih=a[b];return!0};k.Xj=function(){var a=0,b=[];b[a++]=this.zi;b[a]=this.ih;return b};
function qh(a,b,c,d){if(X[b]){var e=Math.floor(b/1E3)&2;if(b=kh[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.dd:a.Pb)&b):d||b&255&&(b=255);if(c){a.dd&=~b;d&&(a.dd|=b);c=b;var f,g;for(g in nh)d="led-"+g,e=nh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.dd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1}
function ph(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){kh[b]&&a.Gb.length&&0<a.Gb[0].md&&(a.Gb[0].md=0);for(var d,e=0;e<a.Gb.length;e++)if(d=a.Gb[e],d.me==b){if(!c||0<=d.md){e=-1;break}0<e&&(0<a.Gb[0].md&&(a.Gb[0].md=0),a.Gb.splice(e,1));break}0>e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,sh(a,b,!0),e++),0<e&&a.Gb.splice(0,0,d),d.$f=!0,d.md=c?-1:kh[b]?0:1,th(a,d))}}
function rh(a,b,c){if(!X[b]||!(c||a.U&&a.U.ea.Ib))return!1;for(var d=!1,e=0;e<a.Gb.length;e++){var f=a.Gb[e];if(f.me==b||f.me==W[b]){a.Gb.splice(e,1);f.um&&clearTimeout(f.um);f.$f&&!c&&uh(a,f.me,!1);sh(a,b,!1);d=!0;break}}!a.Gb.length&&a.Fi&&(qh(a,1020),a.Fi=!1);return d}
function th(a,b){if(a.U&&a.U.ea.Ib){if(uh(a,b.me,b.$f),b.md){var c;if(0>b.md){if(!b.$f){rh(a,b.me);return}b.$f=!1;c=a.io}else c=1==b.md++?a.jo:a.ko;b.um=setTimeout(function(a){return function(){th(a,b)}}(a),c)}}else rh(a,b.me,!0)}function vh(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=jh[b])d=a;return d}k.Hh=function(a){this.jh=a;a||(this.Pb&=-256)};
function oh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=vh(a,g,!0);a.Ai&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),qh(a,h,!1,c)){if(20==g||144==g||145==g)a.$m||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r<a.Gb.length;r++){var t=a.Gb[r];t.$f=!1;0<t.md&&(t.md=0)}}else 8==g&&8==(a.Pb&40)&&(h=4008),d=!1;else if(X[h]&&a.Pb&60&&(d=!1),!a.Bk&&d&&c||a.Pb&192)f=!0;d||b.preventDefault();f||a.Gk&&d||(c?ph(a,h,e):rh(a,h)||(b=vh(a,g,!1),b!=h&&rh(a,b)));return d}
function uh(a,b,c){qh(a,b,!0,c);var d=X[b]||X[b+1E3];if(void 0!==d){14==d&&40==(a.Pb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.dd&3||a.dd&512&&b||(g=h):29==h?a.dd&12||(g=h):56==h?a.dd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Mb&&(20>d.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}}
za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new ih(d);Sa(d,c)}});
function Y(a,b,c,d,e){n.call(this,"Video",a,Y);this.za=a.model;this.Uc=0;"ega"==this.za&&(this.pm=a.switches,this.Uc=a.memory||0);this.ld=a.mode;if(void 0===this.ld||void 0===wh[this.ld])this.ld=xh;this.zh=a.charCols;this.Xi=a.charRows;if(void 0===this.zh||void 0===this.Xi)this.zh=wh[this.ld][0],this.Xi=wh[this.ld][1];this.vd=a.screenWidth;this.Vd=a.screenHeight;this.bn=a.scale;this.Ym=12<=Math.round(this.vd/this.zh);this.dn=a.touchScreen;this.Uf=b;this.Wc=c;this.Ca=(this.yp=d)||b||null;this.ae=null;
this.Wm=a.autoLock;this.Ra=this.Kb=0;this.Kd=[];this.qd=Array(16);this.jh=!1;var f=this;if(this.Vc=e)this.Vc.lf=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.Vc.lf&&(b=function(){var a=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?!0:!1;f.cc("notifyFullScreen("+a+")",!0);f.Ba&&(f.Ba.Ai=a)},"onfullscreenchange"in document?document.addEventListener("fullscreenchange",b,!1):
"onmozfullscreenchange"in document?document.addEventListener("mozfullscreenchange",b,!1):"onwebkitfullscreenchange"in document?document.addEventListener("webkitfullscreenchange",b,!1):"onmsfullscreenchange"in document&&document.addEventListener("msfullscreenchange",b,!1));this.Ca&&(this.Ca.onfocus=function(){return f.Hh(!0)},this.Ca.onblur=function(){return f.Hh(!1)},this.Ca.Je=this.Ca.requestPointerLock||this.Ca.mozRequestPointerLock||this.Ca.webkitRequestPointerLock,this.Ca.vm=this.Ca.exitPointerLock||
this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Je&&(b=function(){f.ug(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"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=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.so)}La(n,Y);var yh={2:{$i:15700,Zi:208,Nj:85,Oj:96},3:{$i:18432,Zi:364,Nj:85,Oj:96},4:{$i:21850,Zi:364,Nj:85,Oj:96}},zh={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]},xh=7,wh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];wh[xh]=[80,25,1,0,1];wh[13]=[320,200,16];wh[14]=[640,200,16];wh[15]=[640,350,16];
wh[16]=[640,350,16];wh[0]=wh[1];wh[2]=wh[3];wh[5]=wh[4];var Ah=Array(5);Ah[0]=[0,0,0,255];Ah[1]=[127,192,127,255];Ah[2]=[127,192,127,255];Ah[3]=[127,255,127,255];Ah[4]=[127,255,127,255];var Bh=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Ch=Array(16);Ch[0]=[0,0,0,255];Ch[1]=[0,0,170,255];Ch[2]=[0,170,0,255];Ch[3]=[0,170,170,255];Ch[4]=[170,0,0,255];Ch[5]=[170,0,170,255];Ch[6]=[170,85,0,255];Ch[7]=[170,170,170,255];Ch[8]=[85,85,85,255];Ch[9]=[85,85,255,255];Ch[10]=[85,255,85,255];Ch[11]=[85,255,255,255];
Ch[12]=[255,85,85,255];Ch[13]=[255,85,255,255];Ch[14]=[255,255,85,255];Ch[15]=[255,255,255,255];var Dh=[2,4,6],Eh=[3,5,7],Fh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Gh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Hh=[0];Hh[128]=1;Hh[32768]=2;Hh[32896]=3;Hh[8388608]=4;Hh[8388736]=5;Hh[8421376]=6;Hh[8421504]=7;Hh[-2147483648]=8;Hh[-2147483520]=9;Hh[-2147450880]=10;Hh[-2147450752]=11;Hh[-2139095040]=12;Hh[-2139094912]=13;
Hh[-2139062272]=14;Hh[-2139062144]=15;
function Ih(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Jh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Kh)];this.rh=b;this.Ra=e[2];this.Kb=e[3];this.Uc=d||e[4];65536<=this.Uc&&720896<=this.Ra&&(this.Kb=Math.min(this.Uc>>2,32768));this.Xc=c[0];this.Ac=c[1];this.Vf=c[2];this.Cg=c[3];this.Ic=c[4]&255;this.qh=c[4]>>8&255;this.mc=c[5];this.Qi=Kh;if(5==b){this.Qi=Lh;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.Kb,this.Uc],Array(this.Uc>>
2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Ie=b[1];this.pe=b[2];this.Yj=b[3];this.uh=b[4];this.Hi=b[5];this.wf=b[6];this.Jg=b[7];this.Ji=b[8];this.Ki=b[9];this.vf=b[10];this.$e=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Uc>>2;if((this.se=b[14])&&this.se.length<d){for(var e=this.se,g=0,h=Array(d),r=0;r<e.length-1;){for(var t=e[r++],B=e[r++];t--;)h[g]=B,g+=2;g==d&&(g=1)}this.se=h}this.Rh(b[15]);this.Kj=b[16];this.bb=b[17];this.kd=b[18];
this.lb=b[19];this.Eh=b[20];this.ge=b[21];this.Ne=b[22];this.Si=b[23];this.Ti=b[24]}f=yh[f]||yh[3];this.Ui=a.U.S.jd/f.$i|0;this.mo=this.Ui*f.Nj/100|0;this.bl=this.Ui*f.Zi;this.oo=this.bl*f.Oj/100|0;this.aj=null==c[7]?0:c[7]}}var Kh=18,Lh=25;function Mh(a){return this.Cb(a)|this.Cb(a+1)<<8}function Nh(a){return this.Cb(a)|this.Cb(a+1)<<8|this.Cb(a+2)<<16|this.Cb(a+3)<<24}function Oh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8)}
function Ph(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Qh=[,,function(a){a+=this.offset;return(this.X.yb=this.ia[a])>>this.X.Kj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Qh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.X.Si&this.X.Ti,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Qh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.X.bb|(b|b<<8|b<<16|b<<24)&this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d&=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d|=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d^=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.X.lb|this.X.yb&~this.X.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Qh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.X.bb|this.X.yb&this.X.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Qh[8192]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[24576]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d&this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[40960]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d|this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[57344]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d^this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
function Rh(a){var b=[];if(void 0!==a.rh){b[0]=a.Xc;b[1]=a.Ac;b[2]=a.Vf;b[3]=a.Cg;b[4]=a.Ic|a.qh<<8;b[5]=a.mc;if(5==a.rh){var c=[];c[0]=a.Wd;c[1]=a.Ie;c[2]=a.pe;c[3]=a.Yj;c[4]=a.uh;c[5]=a.Hi;c[6]=a.wf;c[7]=a.Jg;c[8]=a.Ji;c[9]=a.Ki;c[10]=a.vf;c[11]=a.$e;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Uc];var d;a:if(d=a.se){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 r=d[h],t=h+2;t<d.length&&d[t]===r;)t+=2;f[e++]=t-h>>1;f[e++]=r;h=t}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Pi;c[16]=a.Kj;c[17]=a.bb;c[18]=a.kd;c[19]=a.lb;c[20]=a.Eh;c[21]=a.ge;c[22]=a.Ne;c[23]=a.Si;c[24]=a.Ti;b[6]=c}b[7]=a.aj}return b}Ih.prototype.Rh=function(a){if(null!=a&&a!=this.Pi){var b=a&255,c=Qh[b];c||b&1&&(c=Qh[1]);var b=a&65280,d=Qh[b];d||b&256&&(d=Qh[256]);this.Mf||(this.Mf=[null,Mh,Nh,null,Oh,Ph]);this.Mf[0]=c;this.Mf[3]=d;this.Pi=a}};var Jh=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Y.prototype;
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;Ib(b,this,Sh);Kb(b,this,Th);"ega"==this.za&&(Ib(b,this,Uh),Kb(b,this,Vh));if((this.Ba=bb(a,"Keyboard"))&&this.Uf){for(var e in this.ma)0<e.indexOf("lock")&&this.Ba.Eb("led",e,this.ma[e]);this.Ba.Eb(this.yp?"textarea":"canvas","kbd",this.Ca)}this.Pg=9;(this.ca=bb(a,"ChipSet"))&&this.pm&&(this.Pg=Pf(this.pm,this.Pg));this.Ba&&this.dn&&Wh(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ma[b])switch(this.ma[b]=c,b){case "fullScreen":return this.Vc&&this.Vc.lf?c.onclick=function(){d.lf()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.vp=c.textContent,this.Ca&&this.Ca.Je?c.onclick=function(){d.Je(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){sc(d,!0)},!0}return!1};k.od=function(){this.Ca&&this.Ca.focus()};
k.lf=function(){var a=!1;this.Vc&&(this.Vc.lf&&(this.Vc.style.width=this.Vc.style.height="100%",this.Vc.style.backgroundColor="black",this.Vc.lf(),a=!0),this.od());return a};k.Je=function(a){var b=!1;this.Ca&&(a?this.Ca.Je&&(this.Ca.Je(),this.ae.ug(!0),b=!0):this.Ca.vm&&(this.Ca.vm(),this.ae.ug(!1),b=!0),this.od());return b};k.ug=function(a){this.ae&&(this.ae.ug(a),this.Ba&&(this.Ba.Ai=a));var b=this.ma.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vp)};
function Wh(a){var b=a.Ca;b&&!a.yi&&(b.addEventListener("touchstart",function(b){Xh(a,b)},!1),b.addEventListener("touchmove",function(b){Xh(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.yi=!0)}k.Hh=function(a){this.jh=a;this.Ba&&this.Ba.Hh(a)};
function Xh(a,b){a.jh&&b.preventDefault();var c=0,d=0,e=a.Uf;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.vd/a.Uf.offsetWidth,e=a.Vd/a.Uf.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.vd/3)|0;d=(h-d)*e/(a.Vd/3)|0;1!=d?d?ph(a.Ba,1040,!0):ph(a.Ba,1038,!0):1!=c&&(c?ph(a.Ba,1039,!0):ph(a.Ba,1037,!0))}
X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ph.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return vh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Fk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||wh(d,a,!0);return b},c.onkeyup=function(a){return vh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,
1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==sh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();xh(a,c,!0);wh(a,c,!0)}}(this,f,sh[f]),!0;if(void 0!==th[b])return this.zk++,this.ma[e]=c,a=function(a,b,c){return function(){wh(a,c)}}(this,b,th[b]),b=
function(a,b,c){return function(){yh(a,c)}}(this,b,th[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zh(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=qh[d])&&(b=d);break}for(var e in th)if((d=th[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=th[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&ch(a,!0);a.jh&&a.Gi&&($g(a,!0),a.Gi=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0<a.Mb.length&&(a.Mb.shift(),b&&a.Mb.length&&a.ca&&bh(a.ca,a.Mb[0]))}
k.bc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd();this.Pb=this.cd=0;this.Mb=[]};k.save=function(){var a=new Pd(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[]);this.Bi=a[b++];this.jh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Bi;b[a]=this.jh;return b};
function xh(a,b,c,d){if(X[b]){var e=Math.floor(b/1E3)&2;if(b=rh[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in uh)d="led-"+g,e=uh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1}
function wh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){rh[b]&&a.Gb.length&&0<a.Gb[0].md&&(a.Gb[0].md=0);for(var d,e=0;e<a.Gb.length;e++)if(d=a.Gb[e],d.me==b){if(!c||0<=d.md){e=-1;break}0<e&&(0<a.Gb[0].md&&(a.Gb[0].md=0),a.Gb.splice(e,1));break}0>e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,zh(a,b,!0),e++),0<e&&a.Gb.splice(0,0,d),d.ag=!0,d.md=c?-1:rh[b]?0:1,Ah(a,d))}}
function yh(a,b,c){if(!X[b]||!(c||a.U&&a.U.ea.Ib))return!1;for(var d=!1,e=0;e<a.Gb.length;e++){var f=a.Gb[e];if(f.me==b||f.me==W[b]){a.Gb.splice(e,1);f.zm&&clearTimeout(f.zm);f.ag&&!c&&Bh(a,f.me,!1);zh(a,b,!1);d=!0;break}}!a.Gb.length&&a.Hi&&(xh(a,1020),a.Hi=!1);return d}
function Ah(a,b){if(a.U&&a.U.ea.Ib){if(Bh(a,b.me,b.ag),b.md){var c;if(0>b.md){if(!b.ag){yh(a,b.me);return}b.ag=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Ah(a,b)}}(a),c)}}else yh(a,b.me,!0)}function Ch(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=qh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)};
function vh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ch(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r<a.Gb.length;r++){var t=a.Gb[r];t.ag=!1;0<t.md&&(t.md=0)}}else 8==g&&8==(a.Pb&40)&&(h=4008),d=!1;else if(X[h]&&a.Pb&60&&(d=!1),!a.Fk&&d&&c||a.Pb&192)f=!0;d||b.preventDefault();f||a.Kk&&d||(c?wh(a,h,e):yh(a,h)||(b=Ch(a,g,!1),b!=h&&yh(a,b)));return d}
function Bh(a,b,c){xh(a,b,!0,c);var d=X[b]||X[b+1E3];if(void 0!==d){14==d&&40==(a.Pb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Mb&&(20>d.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}}
za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new ph(d);Sa(d,c)}});
function Y(a,b,c,d,e){n.call(this,"Video",a,Y);this.za=a.model;this.Tc=0;"ega"==this.za&&(this.um=a.switches,this.Tc=a.memory||0);this.ld=a.mode;if(void 0===this.ld||void 0===Dh[this.ld])this.ld=Eh;this.Bh=a.charCols;this.Zi=a.charRows;if(void 0===this.Bh||void 0===this.Zi)this.Bh=Dh[this.ld][0],this.Zi=Dh[this.ld][1];this.vd=a.screenWidth;this.Vd=a.screenHeight;this.gn=a.scale;this.cn=12<=Math.round(this.vd/this.Bh);this.jn=a.touchScreen;this.Vf=b;this.Vc=c;this.Ca=(this.Dp=d)||b||null;this.ae=null;
this.an=a.autoLock;this.Ra=this.Kb=0;this.Kd=[];this.qd=Array(16);this.kh=!1;var f=this;if(this.Uc=e)this.Uc.mf=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.Uc.mf&&(b=function(){var a=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?!0:!1;f.cc("notifyFullScreen("+a+")",!0);f.Ba&&(f.Ba.Ci=a)},"onfullscreenchange"in document?document.addEventListener("fullscreenchange",b,!1):
"onmozfullscreenchange"in document?document.addEventListener("mozfullscreenchange",b,!1):"onwebkitfullscreenchange"in document?document.addEventListener("webkitfullscreenchange",b,!1):"onmsfullscreenchange"in document&&document.addEventListener("msfullscreenchange",b,!1));this.Ca&&(this.Ca.onfocus=function(){return f.Jh(!0)},this.Ca.onblur=function(){return f.Jh(!1)},this.Ca.Ke=this.Ca.requestPointerLock||this.Ca.mozRequestPointerLock||this.Ca.webkitRequestPointerLock,this.Ca.Am=this.Ca.exitPointerLock||
this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Ke&&(b=function(){f.vg(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"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=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.xo)}La(n,Y);var Fh={2:{bj:15700,aj:208,Pj:85,Qj:96},3:{bj:18432,aj:364,Pj:85,Qj:96},4:{bj:21850,aj:364,Pj:85,Qj:96}},Gh={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]},Eh=7,Dh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Dh[Eh]=[80,25,1,0,1];Dh[13]=[320,200,16];Dh[14]=[640,200,16];Dh[15]=[640,350,16];
Dh[16]=[640,350,16];Dh[0]=Dh[1];Dh[2]=Dh[3];Dh[5]=Dh[4];var Hh=Array(5);Hh[0]=[0,0,0,255];Hh[1]=[127,192,127,255];Hh[2]=[127,192,127,255];Hh[3]=[127,255,127,255];Hh[4]=[127,255,127,255];var Ih=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Jh=Array(16);Jh[0]=[0,0,0,255];Jh[1]=[0,0,170,255];Jh[2]=[0,170,0,255];Jh[3]=[0,170,170,255];Jh[4]=[170,0,0,255];Jh[5]=[170,0,170,255];Jh[6]=[170,85,0,255];Jh[7]=[170,170,170,255];Jh[8]=[85,85,85,255];Jh[9]=[85,85,255,255];Jh[10]=[85,255,85,255];Jh[11]=[85,255,255,255];
Jh[12]=[255,85,85,255];Jh[13]=[255,85,255,255];Jh[14]=[255,255,85,255];Jh[15]=[255,255,255,255];var Kh=[2,4,6],Lh=[3,5,7],Mh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Nh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Oh=[0];Oh[128]=1;Oh[32768]=2;Oh[32896]=3;Oh[8388608]=4;Oh[8388736]=5;Oh[8421376]=6;Oh[8421504]=7;Oh[-2147483648]=8;Oh[-2147483520]=9;Oh[-2147450880]=10;Oh[-2147450752]=11;Oh[-2139095040]=12;Oh[-2139094912]=13;
Oh[-2139062272]=14;Oh[-2139062144]=15;
function Ph(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Qh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Rh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Wf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Rh;if(5==b){this.Si=Sh;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.Kb,this.Tc],Array(this.Tc>>
2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Je=b[1];this.pe=b[2];this.$j=b[3];this.wh=b[4];this.Ji=b[5];this.xf=b[6];this.Kg=b[7];this.Mi=b[8];this.Ni=b[9];this.wf=b[10];this.af=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Tc>>2;if((this.te=b[14])&&this.te.length<d){for(var e=this.te,g=0,h=Array(d),r=0;r<e.length-1;){for(var t=e[r++],B=e[r++];t--;)h[g]=B,g+=2;g==d&&(g=1)}this.te=h}this.Th(b[15]);this.Mj=b[16];this.bb=b[17];this.kd=b[18];
this.lb=b[19];this.Gh=b[20];this.ge=b[21];this.Oe=b[22];this.Ui=b[23];this.Vi=b[24]}f=Fh[f]||Fh[3];this.Wi=a.U.S.jd/f.bj|0;this.ro=this.Wi*f.Pj/100|0;this.gl=this.Wi*f.aj;this.to=this.gl*f.Qj/100|0;this.cj=null==c[7]?0:c[7]}}var Rh=18,Sh=25;function Th(a){return this.Cb(a)|this.Cb(a+1)<<8}function Uh(a){return this.Cb(a)|this.Cb(a+1)<<8|this.Cb(a+2)<<16|this.Cb(a+3)<<24}function Vh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8)}
function Wh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Xh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Xh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Xh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Xh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Xh[8192]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[24576]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[40960]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[57344]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
function Yh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Wf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){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 r=d[h],t=h+2;t<d.length&&d[t]===r;)t+=2;f[e++]=t-h>>1;f[e++]=r;h=t}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Ri;c[16]=a.Mj;c[17]=a.bb;c[18]=a.kd;c[19]=a.lb;c[20]=a.Gh;c[21]=a.ge;c[22]=a.Oe;c[23]=a.Ui;c[24]=a.Vi;b[6]=c}b[7]=a.cj}return b}Ph.prototype.Tk=function(a){return[this.te,a-this.Ra]};Ph.prototype.Li=function(){return this.Og};Ph.prototype.Th=function(a){if(null!=a&&a!=this.Ri){var b=a&255,c=Xh[b];c||b&1&&(c=Xh[1]);var b=a&65280,d=Xh[b];d||b&256&&(d=Xh[256]);this.Og||(this.Og=[null,Th,Uh,null,Vh,Wh]);this.Og[0]=c;this.Og[3]=d;this.Ri=a}};
var Qh=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Y.prototype;
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;Ib(b,this,Zh);Kb(b,this,$h);"ega"==this.za&&(Ib(b,this,ai),Kb(b,this,bi));if((this.Ba=bb(a,"Keyboard"))&&this.Vf){for(var e in this.ma)0<e.indexOf("lock")&&this.Ba.Eb("led",e,this.ma[e]);this.Ba.Eb(this.Dp?"textarea":"canvas","kbd",this.Ca)}this.Qg=9;(this.ca=bb(a,"ChipSet"))&&this.um&&(this.Qg=Pf(this.um,this.Qg));this.Ba&&this.jn&&ci(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ma[b])switch(this.ma[b]=c,b){case "fullScreen":return this.Uc&&this.Uc.mf?c.onclick=function(){d.mf()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.Ap=c.textContent,this.Ca&&this.Ca.Ke?c.onclick=function(){d.Ke(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){sc(d,!0)},!0}return!1};k.od=function(){this.Ca&&this.Ca.focus()};
k.mf=function(){var a=!1;this.Uc&&(this.Uc.mf&&(this.Uc.style.width=this.Uc.style.height="100%",this.Uc.style.backgroundColor="black",this.Uc.mf(),a=!0),this.od());return a};k.Ke=function(a){var b=!1;this.Ca&&(a?this.Ca.Ke&&(this.Ca.Ke(),this.ae.vg(!0),b=!0):this.Ca.Am&&(this.Ca.Am(),this.ae.vg(!1),b=!0),this.od());return b};k.vg=function(a){this.ae&&(this.ae.vg(a),this.Ba&&(this.Ba.Ci=a));var b=this.ma.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.Ap)};
function ci(a){var b=a.Ca;b&&!a.Ai&&(b.addEventListener("touchstart",function(b){di(a,b)},!1),b.addEventListener("touchmove",function(b){di(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ai=!0)}k.Jh=function(a){this.kh=a;this.Ba&&this.Ba.Jh(a)};
function di(a,b){a.kh&&b.preventDefault();var c=0,d=0,e=a.Vf;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.vd/a.Vf.offsetWidth,e=a.Vd/a.Vf.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.vd/3)|0;d=(h-d)*e/(a.Vd/3)|0;1!=d?d?wh(a.Ba,1040,!0):wh(a.Ba,1038,!0):1!=c&&(c?wh(a.Ba,1039,!0):wh(a.Ba,1037,!0))}
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ca&&(b=gg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=zh[this.Pg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Tc=this.ji=new Ih(this,1);this.gc=this.$g=new Ih(this,3);c?(this.ga=new Ih(this,5,null,this.Uc),Yh(this)):this.ga=new Ih;Zh(this);this.ce=null;this.ld=3==b?xh:3;this.ye=this.Jc=-1;this.xe=0;$h(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.ki;for(b=this.Da.Ra;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.de?(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),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function Yh(a){a.ga.uh&1?(a.Tc=a.ji,a.gc=a.ga):(a.Tc=a.ga,a.gc=a.$g)}k.save=function(){var a=new Od(this);a.set(0,Rh(this.ji));a.set(1,Rh(this.$g));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Rh(this.ga));return a.data()};
k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Tc=this.ji=new Ih(this,1,a[0]);this.gc=this.$g=new Ih(this,3,a[1]);this.ga=new Ih(this,5,a[3],this.Uc);this.ga.Xc&&Yh(this);Zh(this);if(!ai(this))return!1;bi(this);return!0};
k.so=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}};
function ci(a,b){if(1==b)return a.qd[0]=Ch[0],a.qd[1]=Ch[7],a.qd;if(2==b){var c=a.Da.Vf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Ch[c&15];c=c&32?Eh:Dh;for(d=0;d<c.length;d++)a.qd[d+1]=Ch[c[d]];return a.qd}if(a.gc===a.$g)return Ch;c=null!=a.ga.pe[15]?a.ga.pe:Fh;for(d=0;d<a.qd.length;d++){var e=c[d]||0;a.qd[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.qd}function gh(a,b,c,d){a.Kg=b;a.$h=c;a.De=d}
function Zh(a){var b=!1;if(window&&a.Kg){var c=a.De?0:2048,d=a.De?a.De:9;di(a,1,a.$h[0],c,d,14,a.Kg,Ah,Bh)&&(b=!0);c=ci(a);d=a.De?a.De:8;di(a,3,a.$h[1],0,d,8,a.Kg,c)&&(b=!0);a.De&&di(a,5,a.$h[0],0,a.De,14,a.Kg,c)&&(b=!0)}return b}function di(a,b,c,d,e,f,g,h,r){var t=!1;ei(a,b,c,d,e,f,g,h,r)&&(t=!0);a.Ym&&ei(a,b<<1,c,d,e,f,g,h,r)&&(t=!0);return t}
function ei(a,b,c,d,e,f,g,h,r){var t=!1,B=b&1?0:1,I=a.Kd[b];I||(I={nc:e<<B,oc:f<<B,Ze:Array(h.length),ik:h.slice(),If:r,Yh:Array(h.length)});for(r=0;r<h.length;r++){var H=h[r],L=I.Ze[r]?I.ik[r]:[];if(H[0]!==L[0]||H[1]!==L[1]||H[2]!==L[2]){var t=I,L=r,U=B,ba=c,fa=d,Ca=e,Na=f,mb=g,oc=[0,0,0,0],fd=window.document.createElement("canvas");fd.width=t.nc<<4;fd.height=t.oc<<4;for(var vg=fd.getContext("2d"),Oa=void 0,Tb=void 0,nb=void 0,gd=8>Na||!fa?Na:8,ke=vg.createImageData(t.nc,t.oc),Oa=0;256>Oa;Oa++){for(nb=
0;nb<Na;nb++)for(var ej=t.If&&L&1&&nb>=Na-2,fj=mb[nb<gd?ba+Oa*gd+nb:fa+Oa*gd+nb-gd],le=0;le<=U;le++)for(Tb=0;Tb<Ca;Tb++){var wg=Tb<<U,xg=(nb<<U)+le,yg=ej||fj&128>>(8<=Tb&&176<=Oa&&223>=Oa?7:Tb)?H:oc;fi(ke,wg,xg,yg);U&&fi(ke,wg+1,xg,yg)}vg.putImageData(ke,(Oa&15)*t.nc,(Oa>>4)*t.oc)}t.Ze[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.ik[L]=H;t.Yh[L]=fd;t=!0}}a.Kd[b]=I;return t}function gi(a){0<a.xe||0<=a.Jc?0>a.ye&&(a.ye=0):a.ye=-1}
function bi(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)hi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Jc!=c&&(hi(a),a.Jc=c);d=d-b+1;if(a.ym!=b||a.yk!=d)a.ym=b,a.yk=d;a.Ud=e+1;gi(a)}}}
function hi(a){if(0<=a.Jc){if(void 0!==a.fc){var b=a.fc[a.Jc];if(b&131072){var b=b&-131073,c=a.Jc%a.zb,d=Math.floor(a.Jc/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.kf&&ii(a,c,d,b,a.kf),ii(a,c,d,b));a.fc[a.Jc]=b}}a.Jc=-1}}
function ji(a){var b;a=a.Da;var c=a.$e[5];if(null!=c){b=2;var d=512,e=a.$e[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.kd=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.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Pi&&(b.Rh(a),this.ka.Rh(b.Ra,b.Kb,b.Mf))};
function ai(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.rh)d=xh;else if(5==e.rh){var d=null,f=e.Uc>>2,g=32768<f?32768:f,h=e.$e[6];if(null!=h){switch(h&12){case 0:e.Ra=655360;e.Kb=f;d=255;break;case 4:e.Ra=655360;e.Kb=f;d=3==a.de?15:16;break;case 8:e.Ra=720896;e.Kb=g;d=xh;break;case 12:e.Ra=753664,e.Kb=g,d=3==a.de?2:3}c=e.Jg[1]&8;f=e.mc[6]|(e.mc[7]&1)<<8;255!=d&&(h&1?753664==e.Ra?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=ji(a)}}else e.Ac&8&&(e.Ac&2?(d=e.Ac&16?6:5,e.Ac&4||--d):(d=e.Ac&1?3:1,e.Ac&4&&--d));
else a.ce=null,null==d&&(d=a.ld);if(!$h(a,d,b))return!1;a.le(c);return!0}
function $h(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Im=0;a.ce=b;b=a.Da||(b==xh?a.Tc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){hi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Xc=!1)}a.Da=b;b.Xc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.zh;a.sc=a.Xi;a.Ri=wh[xh][2];b=0;var d=wh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ri=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.Zk=a.zb*a.sc;a.wh=a.Zk/a.Ri;a.ki=(a.wh<<1)+b;a.wk=
b?a.ki+b>>1:0;13<=a.ce&&(a.wh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.bn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Xf=a.Yf=0,b&&(a.Xf=a.zb*b.nc,a.Yf=a.sc*b.oc)):(a.wd=a.xd=1,a.Xf=a.zb,a.Yf=a.sc),a.sh=a.Wc.createImageData(a.Xf,a.Yf),a.hf=window.document.createElement("canvas"),a.hf.width=a.Xf,a.hf.height=a.Yf,a.kf=a.hf.getContext("2d"),a.ak=a.bk=0,a.qi=a.vd,a.ri=a.Vd,
b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0<b&&(a.ak=b>>1,a.qi-=b),0<d&&(a.bk=d>>1,a.ri-=d),b||d)&&(a.Wc.fillStyle=a.Uf.style.backgroundColor,a.Wc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ki(a,!0)}return!0}function fi(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function ki(a,b){var c;if(b){if(c=a.wh,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.xe=-1}
function ii(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Kd[a.Qb];h.If&&(d=h.If[d]);var r=g>>4&15;h.If&&(r=h.If[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.Ze[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ak,c=c*a.xd+a.bk,a.Wc.fillStyle=h.Ze[r],a.Wc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.Yh[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Wc.drawImage(h.Yh[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.ym,g=a.yk,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)),
e.fillStyle=h.Ze[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Wc.fillStyle=h.Ze[d],a.Wc.fillRect(b,c+f,a.wd,g)))}
function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Ie&32&&(c=!0):a.Da.Ac&8&&(c=!0));if(c||b){if(b)ki(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Im&15)&&0<=a.ye&&(a.ye++,d=!0);var e=0,f=a.Zk,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.ki;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0<r&&B<h.sa.length;)h.sa[B].Ha&&(h.sa[B].Ha=t=!1,h.sa[B].Ck=!0),r-=h.Hb,B++;h=t}if(h){if(!d)return;if(!a.xe){if(0>a.Jc)return;e=a.Jc;f=
e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.xe=0;r=1048575;a.Da.Ac&32&&(h=32768,r&=~h,a.ye&2||(r&=-65537));for(c+=e<<1;c<g&&e<f;)t=Fb(a.ka,c),t|=65536,t&h&&(a.xe++,t&=r),e==a.Jc&&(t|=a.ye&1?131072:0),B=a.fc[e],B!=t&&(ii(a,e%a.zb,Math.floor(e/a.zb),t,a.kf),a.fc[e]=t,d++),c+=2,e++;d&&a.kf&&a.Wc.drawImage(a.hf,0,0,a.Xf,a.Yf,a.ak,a.bk,a.qi,a.ri);gi(a)}}else if(a.wk){for(var f=g,I,H,e=c,g=a.xe=0,d=a.Ri,h=16==d?65536:196608,r=16==d?1:2,t=ci(a,r),L=B=0,U=a.zb,ba=0,fa=a.sc,Ca=0;e<f;){I=Fb(a.ka,e);H=a.fc[g];if(H===
I)B+=d;else{a.fc[g]=I;I=I>>8|(I&255)<<8;H=h;var Na=16;B<U&&(U=B);for(var mb=0;mb<d;mb++){var oc=(I&(H>>=r))>>(Na-=r);fi(a.sh,B++,L,t[oc])}B>ba&&(ba=B);L<fa&&(fa=L);L>=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.wk)}}U<a.zb&&(a.kf.putImageData(a.sh,0,0,U,fa,ba-U,Ca-fa),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}else{f=g;e=a.xe=0;g=ci(a);d=a.Da.se;r=h=0;t=a.zb;B=0;L=a.sc;for(U=0;c<f;){ba=c++-a.Ra;ba=d[ba];fa=a.fc[e];if(fa===ba)h+=8;else{a.fc[e]=ba;h<t&&(t=h);
for(fa=0;8>fa;fa++)Ca=Hh[ba&-2139062144]||0,fi(a.sh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.kf.putImageData(a.sh,0,0,t,L,B-t,U-L),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Nn=function(){return this.Tc.Ic};k.$o=function(a,b){var c=this.Tc;c.qh=c.Ic;c.Ic=b&31};k.Mn=function(){return li(this.Tc)};k.Zo=function(a,b){mi(this,this.Tc,b)};k.On=function(){return this.Tc.Ac};k.ap=function(a,b){this.Tc.Ac=b;ai(this,!1)};
k.Pn=function(){return ni(this,this.Tc)};k.em=function(a,b){this.ga.Hi=this.ga.Hi&-4|b&3};k.Uk=function(){var a=this.ga.Wd?this.ga.pe[this.ga.Ie&31]:this.ga.Ie;this.ga.Wd=!this.ga.Wd;return a};k.dm=function(a,b){var c=this.ga.Ie&32;if(this.ga.Wd){var d=this.ga.Ie&31;if(16<=d||!c)this.ga.pe[d]=b;this.ga.Wd=!1}else this.ga.Ie=b,this.ga.Wd=!0,b&32&&!c&&Zh(this)&&sc(this,!0)};k.Zn=function(){var a=3-((this.ga.uh&12)>>2),a=this.ga.Yj&-17|(this.Pg&1<<a)<<4-a;return this.ga.Yj=a};
k.cp=function(a,b){this.ga.uh=b;Yh(this)};k.Yn=function(){return this.ga.wf};k.jp=function(a,b){this.ga.wf=b};k.Xn=function(){return this.ga.Jg[this.ga.wf]};k.ip=function(a,b){this.ga.Jg[this.ga.wf]=b;2==this.ga.wf&&(this.ga.bb=Gh[b&15])};k.Fn=function(){return this.ga.Ji};k.Uo=function(a,b){this.ga.Ji=b};k.Gn=function(){return this.ga.Ki};k.Vo=function(a,b){this.ga.Ki=b};k.En=function(){return this.ga.vf};k.To=function(a,b){this.ga.vf=b};k.Dn=function(){return this.ga.$e[this.ga.vf]};
k.So=function(a,b){this.ga.$e[this.ga.vf]=b;switch(this.ga.vf){case 0:this.ga.Eh=Gh[b&15];this.ga.Ne=this.ga.Eh&~this.ga.ge;break;case 1:this.ga.ge=~Gh[b&15];this.ga.Ne=this.ga.Eh&~this.ga.ge;break;case 2:this.ga.Si=Gh[b&15]&-2139062144;break;case 3:case 5:this.le(ji(this));break;case 4:this.ga.Kj=(b&3)<<3;break;case 6:ai(this,!1);break;case 7:this.ga.Ti=Gh[b&15^15]&-2139062144;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.vn=function(){return this.gc.Ic};
k.Jo=function(a,b){var c=this.gc;c.qh=c.Ic;c.Ic=b&31};k.un=function(){return li(this.gc)};k.Io=function(a,b){mi(this,this.gc,b)};k.wn=function(){return this.gc.Ac};k.Ko=function(a,b){this.gc.Ac=b;ai(this,!1)};k.tn=function(){return this.gc.Vf};k.Ho=function(a,b){this.gc.Vf!==b&&(this.gc.Vf=b,ki(this,!1))};k.xn=function(){return ni(this,this.gc)};function li(a){var b;a.Ic<a.Qi&&(b=a.mc[a.Ic]);return b}function mi(a,b,c){b.Ic<b.Qi&&(b.mc[b.Ic]=c,9==b.Ic&&8!=b.qh&&ai(a,!0),bi(a))}
function ni(a,b){var c=0,d=yc(a.U),e=d-b.aj;0>e&&(e=0);e%b.Ui>b.mo&&(c|=1);e%=b.bl;e>b.oo&&(c|=8);b.aj=d-e;b===a.ga?(c|=b.Cg&48^48,b.Wd=!1):c=(b.Cg^=9)|240;return b.Cg=c}
var Sh={948:Y.prototype.Nn,949:Y.prototype.Mn,952:Y.prototype.On,954:Y.prototype.Pn,980:Y.prototype.vn,981:Y.prototype.un,984:Y.prototype.wn,985:Y.prototype.tn,986:Y.prototype.xn},Th={948:Y.prototype.$o,949:Y.prototype.Zo,952:Y.prototype.ap,980:Y.prototype.Jo,981:Y.prototype.Io,984:Y.prototype.Ko,985:Y.prototype.Ho},Uh={960:Y.prototype.Uk,961:Y.prototype.Uk,962:Y.prototype.Zn,964:Y.prototype.Yn,965:Y.prototype.Xn,970:Y.prototype.Gn,972:Y.prototype.Fn,974:Y.prototype.En,975:Y.prototype.Dn},Vh={954:Y.prototype.em,
960:Y.prototype.dm,961:Y.prototype.dm,962:Y.prototype.cp,964:Y.prototype.jp,965:Y.prototype.ip,970:Y.prototype.Vo,972:Y.prototype.Uo,974:Y.prototype.To,975:Y.prototype.So,986:Y.prototype.em};
k.reset=function(){var a=!0,b=0;this.ca&&(b=gg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=Gh[this.Qg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Sc=this.li=new Ph(this,1);this.gc=this.ah=new Ph(this,3);c?(this.ga=new Ph(this,5,null,this.Tc),ei(this)):this.ga=new Ph;fi(this);this.ce=null;this.ld=3==b?Eh:3;this.ze=this.Ic=-1;this.ye=0;gi(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.mi;for(b=this.Da.Ra;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.de?(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),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function ei(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Yh(this.li));a.set(1,Yh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Yh(this.ga));return a.data()};
k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Ph(this,1,a[0]);this.gc=this.ah=new Ph(this,3,a[1]);this.ga=new Ph(this,5,a[3],this.Tc);this.ga.Wc&&ei(this);fi(this);if(!hi(this))return!1;ii(this);return!0};
k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}};
function ji(a,b){if(1==b)return a.qd[0]=Jh[0],a.qd[1]=Jh[7],a.qd;if(2==b){var c=a.Da.Wf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Jh[c&15];c=c&32?Lh:Kh;for(d=0;d<c.length;d++)a.qd[d+1]=Jh[c[d]];return a.qd}if(a.gc===a.ah)return Jh;c=null!=a.ga.pe[15]?a.ga.pe:Mh;for(d=0;d<a.qd.length;d++){var e=c[d]||0;a.qd[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.qd}function gh(a,b,c,d){a.Lg=b;a.bi=c;a.Ee=d}
function fi(a){var b=!1;if(window&&a.Lg){var c=a.Ee?0:2048,d=a.Ee?a.Ee:9;ki(a,1,a.bi[0],c,d,14,a.Lg,Hh,Ih)&&(b=!0);c=ji(a);d=a.Ee?a.Ee:8;ki(a,3,a.bi[1],0,d,8,a.Lg,c)&&(b=!0);a.Ee&&ki(a,5,a.bi[0],0,a.Ee,14,a.Lg,c)&&(b=!0)}return b}function ki(a,b,c,d,e,f,g,h,r){var t=!1;li(a,b,c,d,e,f,g,h,r)&&(t=!0);a.cn&&li(a,b<<1,c,d,e,f,g,h,r)&&(t=!0);return t}
function li(a,b,c,d,e,f,g,h,r){var t=!1,B=b&1?0:1,I=a.Kd[b];I||(I={nc:e<<B,oc:f<<B,$e:Array(h.length),mk:h.slice(),Jf:r,$h:Array(h.length)});for(r=0;r<h.length;r++){var H=h[r],L=I.$e[r]?I.mk[r]:[];if(H[0]!==L[0]||H[1]!==L[1]||H[2]!==L[2]){var t=I,L=r,U=B,ba=c,fa=d,Ca=e,Pa=f,mb=g,oc=[0,0,0,0],gd=window.document.createElement("canvas");gd.width=t.nc<<4;gd.height=t.oc<<4;for(var zg=gd.getContext("2d"),Qa=void 0,Tb=void 0,nb=void 0,hd=8>Pa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb=
0;nb<Pa;nb++)for(var lj=t.Jf&&L&1&&nb>=Pa-2,mj=mb[nb<hd?ba+Qa*hd+nb:fa+Qa*hd+nb-hd],qe=0;qe<=U;qe++)for(Tb=0;Tb<Ca;Tb++){var Ag=Tb<<U,Bg=(nb<<U)+qe,Cg=lj||mj&128>>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;mi(pe,Ag,Bg,Cg);U&&mi(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function ni(a){0<a.ye||0<=a.Ic?0>a.ze&&(a.ze=0):a.ze=-1}
function ii(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)oi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(oi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;ni(a)}}}
function oi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&pi(a,c,d,b,a.lf),pi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}}
function qi(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[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.kd=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.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))};
function hi(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Eh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768<f?32768:f,h=e.af[6];if(null!=h){switch(h&12){case 0:e.Ra=655360;e.Kb=f;d=255;break;case 4:e.Ra=655360;e.Kb=f;d=3==a.de?15:16;break;case 8:e.Ra=720896;e.Kb=g;d=Eh;break;case 12:e.Ra=753664,e.Kb=g,d=3==a.de?2:3}c=e.Kg[1]&8;f=e.mc[6]|(e.mc[7]&1)<<8;255!=d&&(h&1?753664==e.Ra?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=qi(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d));
else a.ce=null,null==d&&(d=a.ld);if(!gi(a,d,b))return!1;a.le(c);return!0}
function gi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Eh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){oi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Dh[Eh][2];b=0;var d=Dh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak=
b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Yf=a.Zf=0,b&&(a.Yf=a.zb*b.nc,a.Zf=a.sc*b.oc)):(a.wd=a.xd=1,a.Yf=a.zb,a.Zf=a.sc),a.uh=a.Vc.createImageData(a.Yf,a.Zf),a.jf=window.document.createElement("canvas"),a.jf.width=a.Yf,a.jf.height=a.Zf,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd,
b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0<b&&(a.ck=b>>1,a.si-=b),0<d&&(a.dk=d>>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Vf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ri(a,!0)}return!0}function mi(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function ri(a,b){var c;if(b){if(c=a.yh,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.ye=-1}
function pi(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Kd[a.Qb];h.Jf&&(d=h.Jf[d]);var r=g>>4&15;h.Jf&&(r=h.Jf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)),
e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Vc.fillStyle=h.$e[d],a.Vc.fillRect(b,c+f,a.wd,g)))}
function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)ri(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0<r&&B<h.ta.length;)h.ta[B].Ha&&(h.ta[B].Ha=t=!1,h.ta[B].Gk=!0),r-=h.Hb,B++;h=t}if(h){if(!d)return;if(!a.ye){if(0>a.Ic)return;e=a.Ic;f=
e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c<g&&e<f;)t=Fb(a.ka,c),t|=65536,t&h&&(a.ye++,t&=r),e==a.Ic&&(t|=a.ze&1?131072:0),B=a.fc[e],B!=t&&(pi(a,e%a.zb,Math.floor(e/a.zb),t,a.lf),a.fc[e]=t,d++),c+=2,e++;d&&a.lf&&a.Vc.drawImage(a.jf,0,0,a.Yf,a.Zf,a.ck,a.dk,a.si,a.ti);ni(a)}}else if(a.Ak){for(var f=g,I,H,e=c,g=a.ye=0,d=a.Ti,h=16==d?65536:196608,r=16==d?1:2,t=ji(a,r),L=B=0,U=a.zb,ba=0,fa=a.sc,Ca=0;e<f;){I=Fb(a.ka,e);H=a.fc[g];if(H===
I)B+=d;else{a.fc[g]=I;I=I>>8|(I&255)<<8;H=h;var Pa=16;B<U&&(U=B);for(var mb=0;mb<d;mb++){var oc=(I&(H>>=r))>>(Pa-=r);mi(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L<fa&&(fa=L);L>=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}U<a.zb&&(a.lf.putImageData(a.uh,0,0,U,fa,ba-U,Ca-fa),a.Vc.drawImage(a.jf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}else{f=g;e=a.ye=0;g=ji(a);d=a.Da.te;r=h=0;t=a.zb;B=0;L=a.sc;for(U=0;c<f;){ba=c++-a.Ra;ba=d[ba];fa=a.fc[e];if(fa===ba)h+=8;else{a.fc[e]=ba;h<t&&(t=h);
for(fa=0;8>fa;fa++)Ca=Oh[ba&-2139062144]||0,mi(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.lf.putImageData(a.uh,0,0,t,L,B-t,U-L),a.Vc.drawImage(a.jf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Sn=function(){return this.Sc.Hc};k.ep=function(a,b){var c=this.Sc;c.rh=c.Hc;c.Hc=b&31};k.Rn=function(){return si(this.Sc)};k.dp=function(a,b){ti(this,this.Sc,b)};k.Tn=function(){return this.Sc.zc};k.fp=function(a,b){this.Sc.zc=b;hi(this,!1)};
k.Un=function(){return ui(this,this.Sc)};k.jm=function(a,b){this.ga.Ji=this.ga.Ji&-4|b&3};k.Zk=function(){var a=this.ga.Wd?this.ga.pe[this.ga.Je&31]:this.ga.Je;this.ga.Wd=!this.ga.Wd;return a};k.im=function(a,b){var c=this.ga.Je&32;if(this.ga.Wd){var d=this.ga.Je&31;if(16<=d||!c)this.ga.pe[d]=b;this.ga.Wd=!1}else this.ga.Je=b,this.ga.Wd=!0,b&32&&!c&&fi(this)&&sc(this,!0)};k.eo=function(){var a=3-((this.ga.wh&12)>>2),a=this.ga.$j&-17|(this.Qg&1<<a)<<4-a;return this.ga.$j=a};
k.hp=function(a,b){this.ga.wh=b;ei(this)};k.co=function(){return this.ga.xf};k.op=function(a,b){this.ga.xf=b};k.bo=function(){return this.ga.Kg[this.ga.xf]};k.np=function(a,b){this.ga.Kg[this.ga.xf]=b;2==this.ga.xf&&(this.ga.bb=Nh[b&15])};k.Kn=function(){return this.ga.Mi};k.Zo=function(a,b){this.ga.Mi=b};k.Ln=function(){return this.ga.Ni};k.$o=function(a,b){this.ga.Ni=b};k.Jn=function(){return this.ga.wf};k.Yo=function(a,b){this.ga.wf=b};k.In=function(){return this.ga.af[this.ga.wf]};
k.Xo=function(a,b){this.ga.af[this.ga.wf]=b;switch(this.ga.wf){case 0:this.ga.Gh=Nh[b&15];this.ga.Oe=this.ga.Gh&~this.ga.ge;break;case 1:this.ga.ge=~Nh[b&15];this.ga.Oe=this.ga.Gh&~this.ga.ge;break;case 2:this.ga.Ui=Nh[b&15]&-2139062144;break;case 3:case 5:this.le(qi(this));break;case 4:this.ga.Mj=(b&3)<<3;break;case 6:hi(this,!1);break;case 7:this.ga.Vi=Nh[b&15^15]&-2139062144;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.An=function(){return this.gc.Hc};
k.Oo=function(a,b){var c=this.gc;c.rh=c.Hc;c.Hc=b&31};k.zn=function(){return si(this.gc)};k.No=function(a,b){ti(this,this.gc,b)};k.Bn=function(){return this.gc.zc};k.Po=function(a,b){this.gc.zc=b;hi(this,!1)};k.yn=function(){return this.gc.Wf};k.Mo=function(a,b){this.gc.Wf!==b&&(this.gc.Wf=b,ri(this,!1))};k.Cn=function(){return ui(this,this.gc)};function si(a){var b;a.Hc<a.Si&&(b=a.mc[a.Hc]);return b}function ti(a,b,c){b.Hc<b.Si&&(b.mc[b.Hc]=c,9==b.Hc&&8!=b.rh&&hi(a,!0),ii(a))}
function ui(a,b){var c=0,d=yc(a.U),e=d-b.cj;0>e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c}
var Zh={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},$h={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},ai={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},bi={954:Y.prototype.jm,
960:Y.prototype.im,961:Y.prototype.im,962:Y.prototype.hp,964:Y.prototype.op,965:Y.prototype.np,970:Y.prototype.$o,972:Y.prototype.Zo,974:Y.prototype.Yo,975:Y.prototype.Xo,986:Y.prototype.jm};
za(function(){for(var a=Ta(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=Ra(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.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(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.onresize());c.appendChild(e);var f=window.document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Y(d,e,g,f,c);Sa(d,c)}});
function oi(a){this.Qk=a.adapter;switch(this.Qk){case 1:this.Pj=1016;this.mg=4;break;case 2:this.Pj=760;this.mg=3;break;default:m("Unrecognized serial adapter #"+this.Qk);return}this.Sd=null;n.call(this,"SerialPort",a,oi);var b=a.binding,c;a=pi;b&&(void 0===c&&(c="Panel"),(c=Qa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,oi);var pi="buffer";k=oi.prototype;k.lk=function(a,b){return a==this.Mi?(this.ae=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case pi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),qi(d,[b]))},c.onkeypress=function(a){a=a||window.event;qi(d,[a.which||a.keyCode])},!0}return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,ri,this.Pj);Kb(b,this,si,this.Pj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Od(this),b=0,c=[];c[b++]=this.gi;c[b++]=this.rk;c[b++]=this.Ve;c[b++]=this.Qg;c[b++]=this.Nd;c[b++]=this.ve;c[b++]=this.cd;c[b++]=this.Ec;c[b++]=this.pk;c[b]=this.Jf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])};
k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.gi=a[b++];this.rk=a[b++];this.Ve=a[b++];this.Qg=a[b++];this.Nd=a[b++];this.ve=a[b++];this.cd=a[b++];this.Ec=a[b++];this.pk=a[b++];this.Jf=a[b];return!0};function qi(a,b){a.Jf=a.Jf.concat(b);ti(a)}function ti(a){0<a.Jf.length&&!(a.Ec&1)&&(a.gi=a.Jf.shift(),a.Ec|=1);var b=-1;a.Ec&1&&a.Qg&1&&(b=4);0<=b?(a.Nd&=-8,a.Nd|=b,a.ca&&a.mg&&Og(a.ca,a.mg)):(a.Nd|=1,a.ca&&a.mg&&Pg(a.ca,a.mg))}
k.Wn=function(){var a=this.ve&128?this.Ve&255:this.gi;this.Ec&=-2;ti(this);return a};k.Hn=function(){return this.ve&128?this.Ve>>8:this.Qg};k.In=function(){return this.Nd};k.Jn=function(){return this.ve};k.Ln=function(){return this.cd};k.Kn=function(){return this.Ec};k.Rn=function(){return this.pk};
k.kp=function(a,b){if(this.ve&128)this.Ve=this.Ve&-256|b;else{this.rk=b;this.Ec&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Ec|=96)}};k.Wo=function(a,b){this.ve&128?this.Ve=this.Ve&255|b<<8:this.Qg=b};k.Xo=function(a,b){this.ve=b};
k.Yo=function(a,b){var c=this.cd;this.cd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.cd,e=3==(d&3);if(e){if(!c.Xc){var f=!1;c.cd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.cd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(qi(c.Wf,[77,77]),c.cc("serial mouse ID sent"));ui(c,c.Ca);c.setActive(e)}}else c.Xc&&(c.cc("serial mouse inactive"),vi(c.Ca),c.setActive(e));c.cd=d}};
var ri={0:oi.prototype.Wn,1:oi.prototype.Hn,2:oi.prototype.In,3:oi.prototype.Jn,4:oi.prototype.Ln,5:oi.prototype.Kn,6:oi.prototype.Rn},si={0:oi.prototype.kp,1:oi.prototype.Wo,3:oi.prototype.Xo,4:oi.prototype.Yo};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new oi(d);Sa(d,c)}});function wi(a){n.call(this,"Mouse",a,wi);if(this.Li=a.serial)this.Tj="SerialPort";this.setActive(!1);this.kh=!1;p(this)}La(n,wi);k=wi.prototype;
k.zc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.video=bb(this.ya,"Video")};k.setActive=function(a){this.Xc=a};k.bc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Tj&&!this.Wf){for(var c=null;(c=bb(this.ya,this.Tj,c))&&(!c.lk||!(this.Wf=c.lk(this.Li,this))););this.Wf?this.video&&(c=this.video,c.ae=this,this.Ca=c.Ca):m(this.id+": "+this.Tj+" "+this.Li+" unavailable")}this.Xc?ui(this,this.Ca):vi(this.Ca)}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Od(this);a.set(0,this.Xj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Hd=a[b++];this.Id=a[b++];this.We=a[b++];this.Xe=a[b++];this.fh=a[b++];this.gh=a[b++];this.cd=a[b];return!0};
k.Xj=function(){var a=0,b=[];b[a++]=this.Xc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.We;b[a++]=this.Xe;b[a++]=this.fh;b[a++]=this.gh;b[a]=this.cd;return b};k.ug=function(a){this.kh=a};function ui(a,b){b&&(a.yi||(b.addEventListener("mousemove",function(b){a.Wk(b)},!1),b.addEventListener("mousedown",function(b){a.mi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.mi(b.button,!1)},!1),a.yi=!0),b.style.cursor="none")}function vi(a){a&&(a.style.cursor="auto")}
k.Wk=function(a){if(this.Xc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.kh?(this.We=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Xe=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.We=a.clientX-this.Hd,this.Xe=a.clientY-this.Id);(this.We||this.Xe)&&xi(this);this.Hd=a.clientX;this.Id=a.clientY}};
k.mi=function(a,b){if(this.Xc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.kh)&&(c=this.video)&&(c=this.video,c=c.Wm?c.Je(!0):!1);c||(this.kh=null);switch(a){case 0:this.fh!=b&&(this.fh=b,xi(this));break;case 2:this.gh!=b&&(this.gh=b,xi(this))}}};function xi(a){qi(a.Wf,[64|(a.fh?32:0)|(a.gh?16:0)|(a.Xe&192)>>4|(a.We&192)>>6,a.We&63,a.Xe&63]);a.We=a.Xe=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new wi(d);Sa(d,c)}});
function yi(a,b,c){n.call(this,"Disk",{id:a.Sk+".disk"+ ++zi},yi);this.X=a;this.ya=a.ya;this.Wa=a.Wa;this.La=b;this.nd=b.name;this.qf=b.qf;this.lh=this.yd=!1;this.create(c,b.nb,b.ob,b.rb,b.ab);this.qe=[];this.Fg=[];this.Fd=null;this.Yk=0;this.Gi=!1;p(this)}var zi=0;La(n,yi);k=yi.prototype;k.zc=function(a,b,c,d){this.Wa=d};k.bc=function(a,b){b||!this.lh||this.yd||(p(this,!1),this.load(this.nd,this.Qe,null,this.Tm,this));return!0};k.Tm=function(){p(this,!0)};
k.ac=function(a,b){if(this.yd){var c,d=0;if(this.Gi&&!pa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Ai(this,!1);)if(d=c[0]){this.X.va('Unable to save "'+this.nd+'" (error '+d+")");break}b&&this.yd&&(c="action=close&volume="+this.Qe,c+="&machine="+this.X.sf(),c+="&user="+this.X.Yd(),na(oa()+"/api/v1/disk?"+c,!0),this.yd=!1);!d&&a&&this.X.va(this.nd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.rb=d;this.ab=e;this.Qa=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.rb);for(var f=1;f<=e.length;f++)e[f-1]=Bi(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Qa=a}this.nf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.He)if(this.nd=a,this.Qe=b,this.He=d,this.Nm=e||this.X,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.nb=d[0];g.ob=d[1];g.rb=d[2];g.ab=512;b=g.ab>>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;c<g.Qa.length;c++)for(var f=g.Qa[c]=Array(g.ob),U=0;U<f.length;U++)for(var ba=f[U]=Array(g.rb),fa=0;fa<ba.length;fa++){for(var Ca=Bi(null,c,U,fa+1,g.ab,0),Na=Ca.data,mb=0;mb<b;mb++,e+=4)var oc=Na[mb]=
a.getInt32(e,!0),d=d+oc&-1;Ca.vc=b;ba[fa]=Ca}g.nf=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.He&&(g.He.call(g.X,g.La,b,g.nd,g.Qe),g.He=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=Ci(this,b),this.lh=!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=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.qf?"":d)+"&format=json")),na(f,!0,null,this,this.Rm,b)};
k.Rm=function(a,b,c,d){var e=null;this.rf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.lh)c?this.X.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.X.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0<ga(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.nd]:0>b.indexOf("0x")&&
function vi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.ng=4;break;case 2:this.Rj=760;this.ng=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,vi);var b=a.binding,c;a=wi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,vi);var wi="buffer";k=vi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case wi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),xi(d,[b]))},c.onkeypress=function(a){a=a||window.event;xi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,yi,this.Rj);Kb(b,this,zi,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Kf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])};
k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Kf=a[b];return!0};function xi(a,b){a.Kf=a.Kf.concat(b);Ai(a)}function Ai(a){0<a.Kf.length&&!(a.Dc&1)&&(a.ii=a.Kf.shift(),a.Dc|=1);var b=-1;a.Dc&1&&a.Rg&1&&(b=4);0<=b?(a.Nd&=-8,a.Nd|=b,a.ca&&a.ng&&Og(a.ca,a.ng)):(a.Nd|=1,a.ca&&a.ng&&Pg(a.ca,a.ng))}
k.ao=function(){var a=this.we&128?this.We&255:this.ii;this.Dc&=-2;Ai(this);return a};k.Mn=function(){return this.we&128?this.We>>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk};
k.pp=function(a,b){if(this.we&128)this.We=this.We&-256|b;else{this.vk=b;this.Dc&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Dc|=96)}};k.ap=function(a,b){this.we&128?this.We=this.We&255|b<<8:this.Rg=b};k.bp=function(a,b){this.we=b};
k.cp=function(a,b){var c=this.bd;this.bd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.bd,e=3==(d&3);if(e){if(!c.Wc){var f=!1;c.bd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.bd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(xi(c.Xf,[77,77]),c.cc("serial mouse ID sent"));Bi(c,c.Ca);c.setActive(e)}}else c.Wc&&(c.cc("serial mouse inactive"),Ci(c.Ca),c.setActive(e));c.bd=d}};
var yi={0:vi.prototype.ao,1:vi.prototype.Mn,2:vi.prototype.Nn,3:vi.prototype.On,4:vi.prototype.Qn,5:vi.prototype.Pn,6:vi.prototype.Wn},zi={0:vi.prototype.pp,1:vi.prototype.ap,3:vi.prototype.bp,4:vi.prototype.cp};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new vi(d);Sa(d,c)}});function Di(a){n.call(this,"Mouse",a,Di);if(this.Oi=a.serial)this.Vj="SerialPort";this.setActive(!1);this.lh=!1;p(this)}La(n,Di);k=Di.prototype;
k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.video=bb(this.ya,"Video")};k.setActive=function(a){this.Wc=a};k.bc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Vj&&!this.Xf){for(var c=null;(c=bb(this.ya,this.Vj,c))&&(!c.pk||!(this.Xf=c.pk(this.Oi,this))););this.Xf?this.video&&(c=this.video,c.ae=this,this.Ca=c.Ca):m(this.id+": "+this.Vj+" "+this.Oi+" unavailable")}this.Wc?Bi(this,this.Ca):Ci(this.Ca)}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Hd=a[b++];this.Id=a[b++];this.Xe=a[b++];this.Ye=a[b++];this.gh=a[b++];this.hh=a[b++];this.bd=a[b];return!0};
k.Zj=function(){var a=0,b=[];b[a++]=this.Wc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.Xe;b[a++]=this.Ye;b[a++]=this.gh;b[a++]=this.hh;b[a]=this.bd;return b};k.vg=function(a){this.lh=a};function Bi(a,b){b&&(a.Ai||(b.addEventListener("mousemove",function(b){a.al(b)},!1),b.addEventListener("mousedown",function(b){a.oi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.oi(b.button,!1)},!1),a.Ai=!0),b.style.cursor="none")}function Ci(a){a&&(a.style.cursor="auto")}
k.al=function(a){if(this.Wc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Ei(this);this.Hd=a.clientX;this.Id=a.clientY}};
k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Ei(this));break;case 2:this.hh!=b&&(this.hh=b,Ei(this))}}};function Ei(a){xi(a.Xf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Di(d);Sa(d,c)}});
function Fi(a,b,c){n.call(this,"Disk",{id:a.Xk+".disk"+ ++Gi},Fi);this.V=a;this.ya=a.ya;this.Wa=a.Wa;this.La=b;this.nd=b.name;this.rf=b.rf;this.mh=this.yd=!1;this.create(c,b.nb,b.ob,b.rb,b.ab);this.qe=[];this.Gg=[];this.Fd=null;this.cl=0;this.Ii=!1;p(this)}var Gi=0;La(n,Fi);k=Fi.prototype;k.yc=function(a,b,c,d){this.Wa=d};k.bc=function(a,b){b||!this.mh||this.yd||(p(this,!1),this.load(this.nd,this.Re,null,this.Ym,this));return!0};k.Ym=function(){p(this,!0)};
k.ac=function(a,b){if(this.yd){var c,d=0;if(this.Ii&&!pa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Hi(this,!1);)if(d=c[0]){this.V.va('Unable to save "'+this.nd+'" (error '+d+")");break}b&&this.yd&&(c="action=close&volume="+this.Re,c+="&machine="+this.V.tf(),c+="&user="+this.V.Yd(),na(oa()+"/api/v1/disk?"+c,!0),this.yd=!1);!d&&a&&this.V.va(this.nd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.rb=d;this.ab=e;this.Qa=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.rb);for(var f=1;f<=e.length;f++)e[f-1]=Ii(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Qa=a}this.of=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Ie)if(this.nd=a,this.Re=b,this.Ie=d,this.Sm=e||this.V,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.nb=d[0];g.ob=d[1];g.rb=d[2];g.ab=512;b=g.ab>>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;c<g.Qa.length;c++)for(var f=g.Qa[c]=Array(g.ob),U=0;U<f.length;U++)for(var ba=f[U]=Array(g.rb),fa=0;fa<ba.length;fa++){for(var Ca=Ii(null,c,U,fa+1,g.ab,0),Pa=Ca.data,mb=0;mb<b;mb++,e+=4)var oc=Pa[mb]=
a.getInt32(e,!0),d=d+oc&-1;Ca.vc=b;ba[fa]=Ca}g.of=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.Ie&&(g.Ie.call(g.V,g.La,b,g.nd,g.Re),g.Ie=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=Ji(this,b),this.mh=!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=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.rf?"":d)+"&format=json")),na(f,!0,null,this,this.Wm,b)};
k.Wm=function(a,b,c,d){var e=null;this.sf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.mh)c?this.V.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.V.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0<ga(a,!0).toLowerCase().indexOf("-readonly"))this.sf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.sf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.nd]: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)m(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.rb=h[0][0].length;var r=h[0][0][0];this.ab=r&&r.length||512;for(b=a=0;b<this.nb;b++)for(c=0;c<this.ob;c++)for(d=0;d<this.rb;d++)if(r=h[b][c][d]){var t=r.length;void 0===t&&(t=r.length=512);var t=t>>2,B=r.pattern;void 0===B&&(B=r.pattern=0);var I=r.data;if(void 0===I){var H=r.bytes;if(void 0!==H&&H.length){for(var f=
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Bi(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&-1}this.Qa=h;this.nf=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.He&&(this.He.call(this.Nm,this.La,e,this.nd,this.Qe),this.He=null)};function Bi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.en=b;a.gn=c;a.Yc=a.vc=0;a.Ha=!1;return a}
function Ci(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;c+="&machine="+a.X.sf();c+="&user="+a.X.Yd();return oa()+"/api/v1/disk?"+c}function Di(a,b,c,d,e,f,g){if(a.yd){var h;h="action=read&volume="+a.Qe;h+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.X.sf());h+="&user="+a.X.Yd();na(oa()+"/api/v1/disk?"+h,f,null,a,a.Um,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Um=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var r=this.seek(a,f,g,!0);if(!r)break;this.fill(r,b,e);e+=r.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.Vm=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.Qa.length&&0<=b&&b<this.Qa[a].length)for(--e;0<f--&&0<=e&&e<this.Qa[a][b].length;e++){var g=this.Qa[a][b][e];c?Ei(this,g,!1):g.Ha||(g.Yc=g.vc=0)}d&&Fi(this)};
function Ei(a,b,c){b.Ha=!0;var d=a.qe.indexOf(b);0<=d&&(a.qe.splice(d,1),a.Fg.splice(d,1));a.qe.push(b);a.Fg.push(ka());c&&Fi(a)}function Fi(a){if(a.qe.length){var b=a.Fg[0]+2E3;a.Fd&&a.Yk<b&&(clearTimeout(a.Fd),a.Fd=null);if(!a.Fd){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Fd=setTimeout(function(){Ai(a,!0)},b);a.Yk=c+b}}else a.Fd&&(clearTimeout(a.Fd),a.Fd=null)}
function Ai(a,b){b&&(a.Fd=null);var c=a.qe[0];if(c){for(var d=c.en,e=c.gn,c=c.sector,f=0,g=[],h=c-1;h<a.Qa[d][e].length;h++){var r=a.Qa[d][e][h];if(!r.Ha)break;var t=a.qe.indexOf(r);a.qe.splice(t,1);a.Fg.splice(t,1);g=g.concat(Gi(r));r.Ha=!1;f++}a.yd?(h={},a.Gi=!0,h.action="write",h.volume=a.Qe,h.chs=a.nb+":"+a.ob+":"+a.rb+":"+a.ab,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.X.sf(),h.user=a.X.Yd(),h.data=JSON.stringify(g),d=na(oa()+"/api/v1/disk",b,h,a,a.Vm,[d,e,c,f,b])):d=!1;return b||d}return!1}
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Ii(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&-1}this.Qa=h;this.of=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.Ie&&(this.Ie.call(this.Sm,this.La,e,this.nd,this.Re),this.Ie=null)};function Ii(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.kn=b;a.mn=c;a.Xc=a.vc=0;a.Ha=!1;return a}
function Ji(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;c+="&machine="+a.V.tf();c+="&user="+a.V.Yd();return oa()+"/api/v1/disk?"+c}function Ki(a,b,c,d,e,f,g){if(a.yd){var h;h="action=read&volume="+a.Re;h+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.V.tf());h+="&user="+a.V.Yd();na(oa()+"/api/v1/disk?"+h,f,null,a,a.Zm,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Zm=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var r=this.seek(a,f,g,!0);if(!r)break;this.fill(r,b,e);e+=r.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.$m=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ii=!1;if(0<=a&&a<this.Qa.length&&0<=b&&b<this.Qa[a].length)for(--e;0<f--&&0<=e&&e<this.Qa[a][b].length;e++){var g=this.Qa[a][b][e];c?Li(this,g,!1):g.Ha||(g.Xc=g.vc=0)}d&&Mi(this)};
function Li(a,b,c){b.Ha=!0;var d=a.qe.indexOf(b);0<=d&&(a.qe.splice(d,1),a.Gg.splice(d,1));a.qe.push(b);a.Gg.push(ka());c&&Mi(a)}function Mi(a){if(a.qe.length){var b=a.Gg[0]+2E3;a.Fd&&a.cl<b&&(clearTimeout(a.Fd),a.Fd=null);if(!a.Fd){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Fd=setTimeout(function(){Hi(a,!0)},b);a.cl=c+b}}else a.Fd&&(clearTimeout(a.Fd),a.Fd=null)}
function Hi(a,b){b&&(a.Fd=null);var c=a.qe[0];if(c){for(var d=c.kn,e=c.mn,c=c.sector,f=0,g=[],h=c-1;h<a.Qa[d][e].length;h++){var r=a.Qa[d][e][h];if(!r.Ha)break;var t=a.qe.indexOf(r);a.qe.splice(t,1);a.Gg.splice(t,1);g=g.concat(Ni(r));r.Ha=!1;f++}a.yd?(h={},a.Ii=!0,h.action="write",h.volume=a.Re,h.chs=a.nb+":"+a.ob+":"+a.rb+":"+a.ab,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.V.tf(),h.user=a.V.Yd(),h.data=JSON.stringify(g),d=na(oa()+"/api/v1/disk",b,h,a,a.$m,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.info=function(){return this.Qa.length?[this.Qa.length,this.Qa[0].length,this.Qa[0][0].length,this.Qa[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.La,h=this.Qa[a];if(h){var r=h[b];if(!r&&g.ei&&b<g.ob)for(r=h[b]=Array(g.Od),h=0;h<r.length;h++)r[h]=Bi(null,a,b,h+1,g.mb,0);if(r){for(h=0;h<r.length;h++)if(r[h]&&r[h].sector==c){f=r[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<r.length;)null===r[h].pattern&&d++;Di(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.ei&&9==g.Za&&(f=r[h]=Bi(null,a,b,g.Za,g.mb,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 Gi(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 Hi(a,b){var c=-1;if(a&&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!=Hi(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.vc?f<a.Yc?(a.vc+=a.Yc-f,a.Yc=f):f>=a.Yc+a.vc&&(a.vc+=f-(a.Yc+a.vc)+1):(a.Yc=f,a.vc=1);d[f]=d[f]&~(255<<b)|c<<b;this.yd&&Ei(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Qe,this.nf,this.nb,this.ob,this.rb,this.ab];if(!this.yd&&!this.rf)for(var c=this.Qa,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.vc){for(var h=[],r=0,t=g.Yc,B=g.Yc+g.vc;t<B;)h[r++]=g.data[t++];b[a++]=[d,e,f,g.Yc,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.Qa.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.nf&&e[1]!=this.nf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.nf+")",b=-2));for(this.Qa.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],r=g[f++],t=g[f++];if(h>=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") 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.Qa[h][r][t]){for(r=h.data.length;r<e;)h.data[r++]=h.pattern;r=0;h.Yc=e;for(h.vc=f.length;e<g;)h.data[e++]=f[r++];b++}}}0>b&&-2!=b&&this.X.va("Unable to restore disk '"+this.nd+": "+c);return b};
k.seek=function(a,b,c,d,e){var f=null,g=this.La,h=this.Qa[a];if(h){var r=h[b];if(!r&&g.gi&&b<g.ob)for(r=h[b]=Array(g.Od),h=0;h<r.length;h++)r[h]=Ii(null,a,b,h+1,g.mb,0);if(r){for(h=0;h<r.length;h++)if(r[h]&&r[h].sector==c){f=r[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<r.length;)null===r[h].pattern&&d++;Ki(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.gi&&9==g.Za&&(f=r[h]=Ii(null,a,b,g.Za,g.mb,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 Ni(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 Oi(a,b){var c=-1;if(a&&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.sf)return!1;if(b<a.length){if(c!=Oi(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.vc?f<a.Xc?(a.vc+=a.Xc-f,a.Xc=f):f>=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<<b)|c<<b;this.yd&&Li(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Re,this.of,this.nb,this.ob,this.rb,this.ab];if(!this.yd&&!this.sf)for(var c=this.Qa,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.vc){for(var h=[],r=0,t=g.Xc,B=g.Xc+g.vc;t<B;)h[r++]=g.data[t++];b[a++]=[d,e,f,g.Xc,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.Qa.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.of&&e[1]!=this.of&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.of+")",b=-2));for(this.Qa.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],r=g[f++],t=g[f++];if(h>=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") out of range ("+
b+" changes applied)";b=-1;break}if(this.sf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.Qa[h][r][t]){for(r=h.data.length;r<e;)h.data[r++]=h.pattern;r=0;h.Xc=e;for(h.vc=f.length;e<g;)h.data[e++]=f[r++];b++}}}0>b&&-2!=b&&this.V.va("Unable to restore disk '"+this.nd+": "+c);return b};
k.toJSON=function(){var a=JSON.stringify(this.Qa),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":')};
function Ii(a){n.call(this,"FDC",a,Ii);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaFormat=this.Om;this.ze=null;if(a.autoMount&&(this.ze=a.autoMount,"string"==typeof this.ze))try{this.ze=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ze=null}this.tc=[];this.Fk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Ii);l={};aa={};
var Ji={3:{ud:3,Rd:0,name:aa.fq},4:{ud:2,Rd:1,name:aa.dq},5:{ud:9,Rd:7,name:aa.rq},6:{ud:9,Rd:7,name:aa.Yp},7:{ud:2,Rd:0,name:aa.$p},8:{ud:1,Rd:2,name:aa.eq},10:{ud:2,Rd:7,name:aa.Zp},13:{ud:6,Rd:7,name:aa.Kp},15:{ud:3,Rd:0,name:aa.cq}};k=Ii.prototype;
function Pi(a){n.call(this,"FDC",a,Pi);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaFormat=this.Tm;this.Ae=null;if(a.autoMount&&(this.Ae=a.autoMount,"string"==typeof this.Ae))try{this.Ae=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ae=null}this.tc=[];this.Jk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Pi);l={};aa={};
var Qi={3:{ud:3,Rd:0,name:aa.kq},4:{ud:2,Rd:1,name:aa.iq},5:{ud:9,Rd:7,name:aa.wq},6:{ud:9,Rd:7,name:aa.cq},7:{ud:2,Rd:0,name:aa.eq},8:{ud:1,Rd:2,name:aa.jq},10:{ud:2,Rd:7,name:aa.dq},13:{ud:6,Rd:7,name:aa.Pp},15:{ud:3,Rd:0,name:aa.hq}};k=Pi.prototype;
k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ma[b]=c,c.onchange=function(){var a=d.ma.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){m("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r)}a=g;null!=a&&Ki(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Li(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fk?
(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Li(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Mi);Kb(b,this,Ni);this.Fk&&Oi(this,"Local Disk","?");Oi(this,"Remote Disk","??");this.Nf()||p(this)};
k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Di){this.tc=[];for(var c=0;c<this.wa.length;c++)Pi(this,c,!0);this.Nf(!0)}}else if(!this.restore(a))return!1;if(c=this.ma.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Yi;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Yi&&(c.value="0",Ki(this,0))}}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.zd()};k.save=function(){var a=new Od(this);a.set(0,this.Uj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=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.qa=a[b++];this.ec=a[b++];this.ub=a[b++];this.cb=a[b++];this.Ef=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.tc=c);void 0===this.wa&&(this.Yi=4,this.ca&&(this.Yi=rg(this.ca)),this.wa=Array(4));for(c=0;c<this.wa.length;c++){var f=this.wa[c];if(void 0===f){var f=this.wa[c]={},g;if(this.ca)a:{g=this.ca;if(c<rg(g)){if(!g.Jd){g=360;break a}if(c<g.Jd.length){g=g.Jd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.ob=
1;default:f.nb=40;f.rb=9;break;case 720:f.nb=80;f.rb=9;break;case 1200:f.nb=80;f.rb=15;break;case 1440:f.nb=80,f.rb=18}}this.Ni(f,c,e[c])||(d=!1)}this.ie=a[b++]||0;this.hm=a[b]||0;return d};k.Uj=function(){var a=0,b=[];b[a++]=this.$a;b[a++]=0;b[a++]=this.qa;b[a++]=this.ec;b[a++]=this.ub;b[a++]=this.cb;b[a++]=this.Ef;b[a++]=this.Wj();for(var c=a++,d=0;d<this.wa.length;d++){var e=this.wa[d];e.pa&&Qi(this,e.Re,e.pa)}b[c]=this.tc;b[a++]=this.ie;b[a]=this.hm;return b};
k.Ni=function(a,b,c){var d=0,e=!0;a.$a=b;a.Hc=a.of=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.nb||40,a.ob||c[3],a.rb||9,a.ab||512,c[1],a.Ah,a.kg,a.lg]);a.Xa=c[d++];var f=c[d++];a.name=f[0];a.nb=f[1];a.ob=f[2];a.rb=f[3];a.ab=f[4];a.qf=f[5];(a.Ah=f[6])?(a.kg=f[7],a.lg=f[8]):(a.Ah=a.nb,a.kg=a.ob,a.lg=a.rb);a.Ka=c[d++];a.Md=c[d++];a.pb=c[d++];a.Md=100<=a.Md?a.Md-100:a.Md-a.pb;a.Za=c[d++];a.Od=c[d++];a.mb=c[d++];a.Ma=c[d++];a.Ja=null;a.pa||(a.Re="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.wa[b],Pi(this,b,!0,!0),d.of=!0,b=new yi(this,d,"preload"),this.zk(d,b,f,c,!0)):Ri(this,b,f,c,!0)?a.pa&&c&&Si(this,f,c,a.pa):p(this,!1)):void 0!==g&&a.pa&&0>a.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Wj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Vj(this.wa[c]);return b};
k.Vj=function(a){var b=0,c=[];c[b++]=a.Xa;c[b++]=[a.name,a.nb,a.ob,a.rb,a.ab,a.qf,a.Ah,a.kg,a.lg];c[b++]=a.Ka;c[b++]=a.Md+100;c[b++]=a.pb;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b++]=a.of;c[b++]=a.om;c[b]=a.Re;return c};k.Nf=function(a){a||(this.we=0);if(this.ze)for(var b in this.ze){var c=this.ze[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.wa.length){!Ri(this,d,c.name,c.path,!0)&&a&&p(this,!1);continue}}this.va("Unrecognized auto-mount specification for drive "+b)}return!!this.we};
function Li(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.wa.length)if(c)if("?"==c)a.va('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=ga(c);a.kc("Attempting to load "+c+' as "'+b+'"')}for(a.kc("loading disk "+c+"...");Ri(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}Pi(a,e,!1,!0)}}else Pi(a,e);else a.va("Nothing to load")}function Ri(a,b,c,d,e,f){var g=a.wa[b];if(d&&g.Re!=d){Pi(a,b,e,!0);if(g.Hc)return a.va("Drive "+b+" busy"),!0;g.Hc=!0;e&&(g.Fe=!0,a.we++);g.of=!!f;(new yi(a,g,"preload")).load(c,d,f,a.zk);return!1}return!0}
k.zk=function(a,b,c,d,e){var f;a.Hc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.om=c,a.Re=d,Si(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Fe||e),a.Ah=f[0],a.kg=f[1],a.lg=f[2]):a.of=!1;a.Fe&&(a.Fe=!1,--this.we||p(this));Ki(this,a.$a)};
function Oi(a,b,c){if(a=a.ma.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.textContent=b;a.appendChild(d)}}function Ki(a,b){if(0<=b&&b<a.wa.length){var c=a.wa[b],d=a.ma.listDisks,e=a.ma.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.of?"?":c.Re,!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 Pi(a,b,c,d){var e=a.wa[b];e.pa&&(Qi(a,e.Re,e.pa),e.om="",e.Re="",e.pa=null,e.of=!1,a.ie|=128,d||a.va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ki(a,b))}function Si(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 Qi(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.Ro=function(a,b){b&4?this.Ef&4||this.Ef&8&&this.ca&&Og(this.ca,6):this.zd();this.Ef=b};k.Cn=function(){return this.qa};
k.An=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.Ef&8&&this.ca&&Pg(this.ca,6);++this.ub>=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a};
k.Qo=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Ji[c]&&this.cb>=Ji[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.gq);this.Ia(l.Np);this.Ob();break;case 4:f=this.Ia(l.Ff);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.jq);break;case 5:case 6:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ck);g=this.Ia(l.dk);h=e.Za=this.Ia(l.fk);r=this.Ia(l.Wh);e.mb=128<<
r;e.Od=this.Ia(l.Ip);this.Ia(l.Am);this.Ia(l.Hp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.rf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));Ti(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Ff);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Cm);this.dc(e.pb,l.Wp);this.$a=
this.$a+1&3;break;case 10:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;Ti(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Wh);e.mb=128<<r;e.Od=this.Ia(l.bq);this.Ia(l.Am);e.ok=this.Ia(l.zm);t=e;t.Xa=72;t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(t.jf=0,t.Cc=Array(4),t.ei=!0,t.Zg=0,Ig(this.ca,2,this,"dmaFormat",t),Eg(this.ca,
2),t.ei=!1));Ti(this,e,c,d,f,g,h,r);d=!0;break;case 15:f=this.Ia(l.Ff),this.$a=f&3,e=this.wa[this.$a],e.Ka=f>>2&1,f=this.Ia(l.Tp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0<this.cb&&(this.qa|=80);this.Ef&8&&(!e||e.Xa&8||!d||this.ca&&Og(this.ca,6))}};k.Bn=function(){var a=this.ie;this.ie&=-129;return a};k.Po=function(a,b){this.hm=b};
function Ti(a,b,c,d,e,f,g,h){a.Ob();a.dc(b.$a|b.Ka<<2|b.Xa&255,l.Cm);a.dc((b.Xa&65280)>>>8,l.hq);a.dc((b.Xa&16711680)>>>16,l.iq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ck);a.dc(f,l.dk);a.dc(g,l.fk);a.dc(h,l.Wh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.si=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.ti=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};
k.Om=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Hi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Lf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Lf(a)}while(1);return b};
k.Lf=function(a){a.Za++;a.Za>=a.lg+1&&(a.Za=1,a.Ka++,a.Ka>=a.kg&&(a.Ka=0,a.pb++))};k.$j=function(a,b){if(a.Xa)return-1;a.Cc[a.jf++]=b;if(a.jf==a.Cc.length){a.pb=a.Cc[0];a.Ka=a.Cc[1];a.Za=a.Cc[2];a.mb=128<<a.Cc[3];for(var c=a.jf=0;c<a.mb;c++)if(0>this.Fb(a,a.ok))return-1;a.Zg++}a.Zg>=a.Od&&(b=-1);return b};var Mi={1012:Ii.prototype.Cn,1013:Ii.prototype.An,1015:Ii.prototype.Bn},Ni={1010:Ii.prototype.Ro,1013:Ii.prototype.Qo,1015:Ii.prototype.Po};
za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Ii(d);Sa(d,c)}});function Z(a){n.call(this,"HDC",a,Z);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaWriteBuffer=this.Pm;this.dmaWriteFormat=this.Qm;this.Zh=[];if(a.drives)try{this.Zh=eval("("+a.drives+")")}catch(b){m("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.bg=(this.Ee="at"==a.type)?1:0;this.fn=this.Ee?2:3}La(n,Z);
var Ui=[{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=Z.prototype;k.Eb=function(){return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");Ib(b,this,this.Ee?Vi:Wi);Kb(b,this,this.Ee?Xi:Yi);Ld(c,19,this,this.eo);Ld(c,64,this,this.fo);this.reset();this.Nf()||p(this)};
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.zd(),this.ya.Di&&this.Nf(!0);else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};k.sf=function(){return this.ya?this.ya.sf():""};k.Yd=function(){return this.ya?this.ya.Yd():""};k.reset=function(){this.zd(null,!0)};k.save=function(){var a=new Od(this);a.set(0,this.Uj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=function(a,b){var c=0,d=!0;if(this.Ee)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.he=a[c++],this.nm=a[c++],this.je=a[c++],this.Mh=a[c++],this.Kh=a[c++],this.Jh=a[c++],this.Df=a[c++],this.qa=a[c++],this.Rj=a[c++],this.Lh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.wg=a[c++];this.qa=a[c++];this.ec=a[c++];this.ub=a[c++];this.cb=a[c++];this.mm=a[c++];this.lm=a[c++];this.km=a[c++];var e=a[c++];void 0!==e?this.uf=e:void 0===this.uf&&(this.uf=-1)}void 0===this.wa&&(this.wa=Array(this.Zh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.wa.length;e++){void 0===this.wa[e]&&(this.wa[e]={});var f=this.wa[e];this.Ni(e,f,this.Zh[e],c[e],b)||(d=!1);null!=this.wg&&1>=e&&(this.wg|=(f.type&3)<<(1-e<<1))}return d};
k.Uj=function(){var a=0,b=[];this.Ee?(b[a++]=this.he,b[a++]=this.nm,b[a++]=this.je,b[a++]=this.Mh,b[a++]=this.Kh,b[a++]=this.Jh,b[a++]=this.Df,b[a++]=this.qa,b[a++]=this.Rj,b[a++]=this.Lh):(b[a++]=this.wg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.mm,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.uf);b[a]=this.Wj();return b};
k.Ni=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.sm=d[f++];b.qf=d[f++];b.cf=d[f++];b.df=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Wg=this.Ee?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.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ui[this.bg][b.type])b.type=this.fn;c=Ui[this.bg][b.type];
b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Zi(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Wg)));return g};k.Wj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Vj(this.wa[c]);return b};
k.Vj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.qf;c[b++]=a.cf;c[b++]=a.df;c[b++]=a.Ka;c[b++]=a.ob;c[b++]=a.oe;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b]=a.pa?a.pa.save():null;return c};
function Zi(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.cf[2])?e=b.cf[0]<<8|b.cf[1]:c=b.type);null==c||d||(d=Ui[a.bg][c][1],e=Ui[a.bg][c][0]);d&&((c=Ui[a.bg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new yi(a,b,b.mode)))}}
k.Nf=function(a){a||(this.we=0);for(var b=0;b<this.wa.length;b++){var c=this.wa[b];if(c.name&&c.path){if(!(a&&c.pa&&c.pa.lh)){var d;d=c.name;var c=c.path,e=this.wa[b];e.Hc?(this.va("Drive "+b+" busy"),d=!0):(e.Hc=!0,e.Fe=!0,this.we++,(e.pa||new yi(this,e,e.mode)).load(d,c,null,this.Sm),d=!1);!d&&a&&p(this,!1)}}else a&&void 0!==c.type&&(c.pa=null,Zi(this,c,c.type))}return!!this.we};
k.Sm=function(a,b,c){a.Hc=!1;(a.pa=b)&&this.va('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.$a),a.Fe);a.Fe&&(a.Fe=!1,--this.we||p(this))};k.bo=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.ca&&Pg(this.ca,5);this.qa&=-33;++this.ub>=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.mp=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=12!=this.ec[0]?6:this.ec.length;6==this.cb&&(this.qa&=-2);this.cb>=c&&(this.qa|=2,this.qa&=-2,$i(this))};
k.co=function(){var a=this.qa;this.ub<this.cb&&(this.qa|=1);return a};k.pp=function(a,b){this.mm=b;this.ca&&Pg(this.ca,5);this.zd()};k.ao=function(){return this.wg};k.op=function(a,b){this.lm=b;this.qa=13};k.np=function(a,b){this.km=b};k.Mj=function(){};
k.nn=function(){var a=-1;if(this.La){var b=this,a=this.Cb(this.La,function(){});1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,this.La.mb>=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(aj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a};
k.Bo=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,aj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.pn=function(){return this.he};k.Go=function(a,b){this.nm=b};k.qn=function(){return this.je};k.Eo=function(a,b){this.je=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.mn=function(){return this.Kh};k.Ao=function(a,b){this.Kh=b};k.ln=function(){return this.Jh};
k.zo=function(a,b){this.Jh=b};k.on=function(){return this.Df};k.Co=function(a,b){this.Df=b;this.qa=this.wa[this.Df&16?1:0]?this.qa|64:this.qa&-65};k.sn=function(){return this.qa};k.yo=function(a,b){this.Rj=b;this.ca&&Pg(this.ca,14);bj(this)};k.Do=function(a,b){this.Lh&4&&!(b&4)&&(this.he=1);this.Lh=b};
function bj(a){var b=!1,c=a.Rj,d=a.Df&16?1:0,e=a.Df&15,f=a.Kh|(a.Jh&3)<<8,g=a.Mh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(aj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&aj(a)}
function aj(a){!a.ca||a.Lh&2||Og(a.ca,14,120)}
function $i(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&c<H.cf.length&&(H.cf[c++]=b);H&&Zi(a,H);b=0;H||a.uf!=e||(a.uf=-1,b=2);a.Ob(b|d);b=-1;break;case 224:case 228:a.Ob(0|d),b=-1}if(0<=b)switch(void 0===H?b=-1:(H.errorCode=0,H.sm=0),b){case 0:a.Ob(0|d);break;case 1:H.yq=
I;a.Ob(0|d);break;case 5:a.Ob(0|d);break;case 8:cj(a,H,function(b){a.Ob(b|d)});break;case 10:dj(a,H,function(b){a.Ob(b|d)});break;case 15:gj(a,H,function(b){a.Ob(b|d)});break;default:a.Ob(2|d)}}k.Ia=function(){var a=-1;this.ub<this.cb&&(a=this.ec[this.ub++]);return a};k.Ob=function(a){this.ub=this.cb=0;void 0!==a&&this.dc(a);this.ca&&Og(this.ca,5);this.qa|=32};k.dc=function(a){this.ec[this.cb++]=a};k.si=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};
k.ti=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Pm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma<a.df.length?a.df[a.Ma++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Qm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};function cj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaRead",b);Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function dj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaWrite",b);Eg(a.ca,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function gj(a,b,c){b.errorCode=4;b.df&&b.df.length==b.mb||(b.df=Array(b.mb));b.Ma=0;a.ca?(b.errorCode=0,Ig(a.ca,3,a,"dmaWriteBuffer",b),Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cb=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ja&&(f=a.Ma,d=Hi(a.Ja,a.Ma),a.Ma+=g,0<=d))return e=a.Ja,b&&b(d,!1,e,f),d;if(b){var h=this;if(a.pa)return a.pa.seek(a.oe,a.Ka,a.Za+a.Wg,!1,function(c,t){(a.Ja=c)?(e=c,f=a.Ma=0,h.Lf(a),d=Hi(a.Ja,a.Ma),a.Ma+=g):a.errorCode=20;b(d,t,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
k.Fb=function(a,b){if(a.errorCode)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.pa&&a.pa.seek(a.oe,a.Ka,a.Za+a.Wg,!0,function(b){a.Ja=b});if(!a.Ja){a.errorCode=20;b=-1;break}a.Ma=0;this.Lf(a)}while(1);return b};k.Lf=function(a){a.Za++;var b=1-a.Wg;a.Za>=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))};
k.$j=function(a,b){if(a.errorCode)return-1;a.Cc[a.jf++]=b;if(a.jf==a.Cc.length){a.oe=a.Cc[0];a.Ka=a.Cc[1];a.Za=a.Cc[2];a.mb=128<<a.Cc[3];for(var c=a.jf=0;c<a.mb;c++)if(0>this.Fb(a,a.ok))return-1;a.Zg++}a.Zg>=a.Od&&(b=-1);return b};k.eo=function(){var a=this.U.J&255;!(this.U.G>>8)&&128<a&&(this.uf=a-128);return!0};k.fo=function(){var a;(a=this.U.G>>8||!this.ca)||(a=!(this.ca.Vb[0].bd&64));return a?!0:!1};
var Wi={800:Z.prototype.bo,801:Z.prototype.co,802:Z.prototype.ao},Vi={496:Z.prototype.nn,497:Z.prototype.pn,498:Z.prototype.qn,499:Z.prototype.rn,500:Z.prototype.mn,501:Z.prototype.ln,502:Z.prototype.on,503:Z.prototype.sn},Yi={800:Z.prototype.mp,801:Z.prototype.pp,802:Z.prototype.op,803:Z.prototype.np,807:Z.prototype.Mj,811:Z.prototype.Mj,815:Z.prototype.Mj},Xi={496:Z.prototype.Bo,497:Z.prototype.Go,498:Z.prototype.Eo,499:Z.prototype.Fo,500:Z.prototype.Ao,501:Z.prototype.zo,502:Z.prototype.Co,503:Z.prototype.yo,
1014:Z.prototype.Do};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Z(d);Sa(d,c)}});function Od(a,b,c){this.id=a.id;this.key=hj(a,b,c);this.Wa=a.Wa;ij(this,a.qp)}function hj(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}
Od.prototype={constructor:Od,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:ra()&&(a=sa(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){m(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){ij(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}},cc:function(){}};function ij(a,b){a[a.id]={};b&&a.set("parms",b);a.Ci=!1}
function jj(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ta(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function kj(a,b,c){n.call(this,"Computer",a,kj);this.ea.Zb=!1;this.yf=a.buswidth;this.Lc=lj;this.Ag=null;this.mh=!1;this.url=b?b.url:null;this.wp=(Math.random()+.1).toString(36).substr(2,12);this.Mc=mj(this);if(this.U=Qa("CPU",this.id)){this.Wa=Qa("Debugger",this.id);this.ka=new zb({id:this.Sk+".bus",buswidth:this.yf},this.U,this.Wa);var d,e=Ma(this.id);if((this.Dd=Qa("Panel",this.id))&&this.Dd.oi)for(b=0;b<e.length;b++)d=e[b],d.va=this.Dd.va,d.kc=this.Dd.kc,d.oi=this.Dd.oi;for(b=0;b<e.length;b++)d=
e[b],d.zc&&d.zc(this,this.ka,this.U,this.Wa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Ph=d:this.Lc=parseInt(d,10));var f;if(a=Ga&&Ga.state||(f=!0,a.state))b=this.qm=a,f||(this.mh=!0,this.Lc=lj),this.Lc&&(this.Th=new Od(this,"1.17.2"),this.Th.load()?b=null:delete this.Th);!b&&this.Lc&&(f=null,this.Mc&&(f=oa()+"/api/v1/user?req=load&user="+this.Mc+"&state="+hj(this,"1.17.2")),b=f)&&(this.mh=!0);b?na(b,!0,null,this,this.to):p(this);c||nj(this,this.Ih)}else m("Unable to find CPU component")}
La(n,kj);var lj=0;k=kj.prototype;k.sf=function(){return this.wp};k.Yd=function(){return this.Mc?this.Mc:""};k.to=function(a,b,c){c?(this.Ph=null,this.mh=!1,this.va("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Ag=b;p(this)};function nj(a,b,c){for(var d=Ma(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Va(f)){Va(f,function(){nj(a,b,c)});return}}b.call(a,c)}
function oj(a,b){var c=new Od(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Ih=function(a){void 0===a&&(a=this.Lc||(this.Ag?1:lj));var b=!1,c=!1;this.Ik=!1;var d=this.Th||new Od(this,"1.17.2");if(-1==a)b=!0;else if(a>lj){if(d.load(this.Ag)){this.Te=new Od(this,"1.17.2","failsafe");this.Te.load()&&(pj(this,d),a=2,ij(this.Te));this.Te.set("timestamp",la());jj(this.Te);var e=this.Lc&&!this.mh;if(1==a||pa("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.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Mc=null)):this.kc(f+": "+g),ij(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&oj(this,c?d:null)}else 2==a&&d.clear()}else oj(this);delete this.Ag;delete this.Th}e=Ma(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=qj(this,g,d,b,c));b=[d,a,c];-1!=a?nj(this,this.Ak,b):this.Ak(b)};
function qj(a,b,c,d,e){if(!b.ea.Zb){b.ea.Zb=!0;if(b.bc){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.bc(f,d)&&f&&(m("Unable to restore state for "+b.type),a.qm&&!a.Ag?(c.clear(),a.Lc=lj,window&&window.location.reload()):a.Ik=!0,b.bc(null),e=!1)}if(!d&&b.xk)for(a=b.xk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ak=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ek||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ek=!0);this.U&&(qj(this,this.U,b,c,a),qc(this.U));this.Ik&&(pj(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function pj(a,b){if(pa("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.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}}
function rj(a,b,c){var d,e="none",f=new Od(a,"1.17.2"),g=new Od(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Mc&&sj(a,a.Mc,f.toString()),jj(g)&&jj(f)||(e=null,d=h=!0)):a.Lc&&(d=!0,h=3==a.Lc),d&&f.clear(h)):e=f.toString());c&&(a.ea.Zb=!1);return e}k.reset=function(){this.ka&&this.ka.reset&&(this.cc("Resetting "+this.ka.type),this.ka.reset());for(var a=Ma(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Ri(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Si(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk?
(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Si(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ti);Kb(b,this,Ui);this.Jk&&Vi(this,"Local Disk","?");Vi(this,"Remote Disk","??");this.Of()||p(this)};
k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;c<this.wa.length;c++)Wi(this,c,!0);this.Of(!0)}}else if(!this.restore(a))return!1;if(c=this.ma.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.$i;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.$i&&(c.value="0",Ri(this,0))}}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.zd()};k.save=function(){var a=new Pd(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=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.qa=a[b++];this.ec=a[b++];this.ub=a[b++];this.cb=a[b++];this.Ff=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.tc=c);void 0===this.wa&&(this.$i=4,this.ca&&(this.$i=rg(this.ca)),this.wa=Array(4));for(c=0;c<this.wa.length;c++){var f=this.wa[c];if(void 0===f){var f=this.wa[c]={},g;if(this.ca)a:{g=this.ca;if(c<rg(g)){if(!g.Jd){g=360;break a}if(c<g.Jd.length){g=g.Jd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.ob=
1;default:f.nb=40;f.rb=9;break;case 720:f.nb=80;f.rb=9;break;case 1200:f.nb=80;f.rb=15;break;case 1440:f.nb=80,f.rb=18}}this.Pi(f,c,e[c])||(d=!1)}this.ie=a[b++]||0;this.mm=a[b]||0;return d};k.Wj=function(){var a=0,b=[];b[a++]=this.$a;b[a++]=0;b[a++]=this.qa;b[a++]=this.ec;b[a++]=this.ub;b[a++]=this.cb;b[a++]=this.Ff;b[a++]=this.Yj();for(var c=a++,d=0;d<this.wa.length;d++){var e=this.wa[d];e.pa&&Xi(this,e.Se,e.pa)}b[c]=this.tc;b[a++]=this.ie;b[a]=this.mm;return b};
k.Pi=function(a,b,c){var d=0,e=!0;a.$a=b;a.Gc=a.pf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.nb||40,a.ob||c[3],a.rb||9,a.ab||512,c[1],a.Ch,a.lg,a.mg]);a.Xa=c[d++];var f=c[d++];a.name=f[0];a.nb=f[1];a.ob=f[2];a.rb=f[3];a.ab=f[4];a.rf=f[5];(a.Ch=f[6])?(a.lg=f[7],a.mg=f[8]):(a.Ch=a.nb,a.lg=a.ob,a.mg=a.rb);a.Ka=c[d++];a.Md=c[d++];a.pb=c[d++];a.Md=100<=a.Md?a.Md-100:a.Md-a.pb;a.Za=c[d++];a.Od=c[d++];a.mb=c[d++];a.Ma=c[d++];a.Ja=null;a.pa||(a.Se="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.wa[b],Wi(this,b,!0,!0),d.pf=!0,b=new Fi(this,d,"preload"),this.Dk(d,b,f,c,!0)):Yi(this,b,f,c,!0)?a.pa&&c&&Zi(this,f,c,a.pa):p(this,!1)):void 0!==g&&a.pa&&0>a.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Xj(this.wa[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.Xa;c[b++]=[a.name,a.nb,a.ob,a.rb,a.ab,a.rf,a.Ch,a.lg,a.mg];c[b++]=a.Ka;c[b++]=a.Md+100;c[b++]=a.pb;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b++]=a.pf;c[b++]=a.tm;c[b]=a.Se;return c};k.Of=function(a){a||(this.xe=0);if(this.Ae)for(var b in this.Ae){var c=this.Ae[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.wa.length){!Yi(this,d,c.name,c.path,!0)&&a&&p(this,!1);continue}}this.va("Unrecognized auto-mount specification for drive "+b)}return!!this.xe};
function Si(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.wa.length)if(c)if("?"==c)a.va('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=ga(c);a.kc("Attempting to load "+c+' as "'+b+'"')}for(a.kc("loading disk "+c+"...");Yi(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}Wi(a,e,!1,!0)}}else Wi(a,e);else a.va("Nothing to load")}function Yi(a,b,c,d,e,f){var g=a.wa[b];if(d&&g.Se!=d){Wi(a,b,e,!0);if(g.Gc)return a.va("Drive "+b+" busy"),!0;g.Gc=!0;e&&(g.Ge=!0,a.xe++);g.pf=!!f;(new Fi(a,g,"preload")).load(c,d,f,a.Dk);return!1}return!0}
k.Dk=function(a,b,c,d,e){var f;a.Gc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,Zi(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.lg=f[1],a.mg=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Ri(this,a.$a)};
function Vi(a,b,c){if(a=a.ma.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.textContent=b;a.appendChild(d)}}function Ri(a,b){if(0<=b&&b<a.wa.length){var c=a.wa[b],d=a.ma.listDisks,e=a.ma.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.pf?"?":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 Wi(a,b,c,d){var e=a.wa[b];e.pa&&(Xi(a,e.Se,e.pa),e.tm="",e.Se="",e.pa=null,e.pf=!1,a.ie|=128,d||a.va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ri(a,b))}function Zi(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 Xi(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.Wo=function(a,b){b&4?this.Ff&4||this.Ff&8&&this.ca&&Og(this.ca,6):this.zd();this.Ff=b};k.Hn=function(){return this.qa};
k.Fn=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.Ff&8&&this.ca&&Pg(this.ca,6);++this.ub>=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a};
k.Vo=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Qi[c]&&this.cb>=Qi[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<<
r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));$i(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a=
this.$a+1&3;break;case 10:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;$i(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<<r;e.Od=this.Ia(l.gq);this.Ia(l.Fm);e.sk=this.Ia(l.Em);t=e;t.Xa=72;t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(t.kf=0,t.Bc=Array(4),t.gi=!0,t.$g=0,Ig(this.ca,2,this,"dmaFormat",t),Eg(this.ca,
2),t.gi=!1));$i(this,e,c,d,f,g,h,r);d=!0;break;case 15:f=this.Ia(l.Gf),this.$a=f&3,e=this.wa[this.$a],e.Ka=f>>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0<this.cb&&(this.qa|=80);this.Ff&8&&(!e||e.Xa&8||!d||this.ca&&Og(this.ca,6))}};k.Gn=function(){var a=this.ie;this.ie&=-129;return a};k.Uo=function(a,b){this.mm=b};
function $i(a,b,c,d,e,f,g,h){a.Ob();a.dc(b.$a|b.Ka<<2|b.Xa&255,l.Hm);a.dc((b.Xa&65280)>>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};
k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Oi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Nf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b};
k.Nf=function(a){a.Za++;a.Za>=a.mg+1&&(a.Za=1,a.Ka++,a.Ka>=a.lg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<<a.Bc[3];for(var c=a.kf=0;c<a.mb;c++)if(0>this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ti={1012:Pi.prototype.Hn,1013:Pi.prototype.Fn,1015:Pi.prototype.Gn},Ui={1010:Pi.prototype.Wo,1013:Pi.prototype.Vo,1015:Pi.prototype.Uo};
za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Pi(d);Sa(d,c)}});function Z(a){n.call(this,"HDC",a,Z);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaWriteBuffer=this.Um;this.dmaWriteFormat=this.Vm;this.ai=[];if(a.drives)try{this.ai=eval("("+a.drives+")")}catch(b){m("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.cg=(this.Fe="at"==a.type)?1:0;this.ln=this.Fe?2:3}La(n,Z);
var aj=[{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=Z.prototype;k.Eb=function(){return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");Ib(b,this,this.Fe?bj:cj);Kb(b,this,this.Fe?dj:ej);Md(c,19,this,this.ko);Md(c,64,this,this.lo);this.reset();this.Of()||p(this)};
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.zd(),this.ya.Fi&&this.Of(!0);else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};k.tf=function(){return this.ya?this.ya.tf():""};k.Yd=function(){return this.ya?this.ya.Yd():""};k.reset=function(){this.zd(null,!0)};k.save=function(){var a=new Pd(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=function(a,b){var c=0,d=!0;if(this.Fe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.he=a[c++],this.sm=a[c++],this.je=a[c++],this.Oh=a[c++],this.Mh=a[c++],this.Lh=a[c++],this.Ef=a[c++],this.qa=a[c++],this.Tj=a[c++],this.Nh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.xg=a[c++];this.qa=a[c++];this.ec=a[c++];this.ub=a[c++];this.cb=a[c++];this.rm=a[c++];this.qm=a[c++];this.pm=a[c++];var e=a[c++];void 0!==e?this.vf=e:void 0===this.vf&&(this.vf=-1)}void 0===this.wa&&(this.wa=Array(this.ai.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.wa.length;e++){void 0===this.wa[e]&&(this.wa[e]={});var f=this.wa[e];this.Pi(e,f,this.ai[e],c[e],b)||(d=!1);null!=this.xg&&1>=e&&(this.xg|=(f.type&3)<<(1-e<<1))}return d};
k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.xg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b};
k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?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.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===aj[this.cg][b.type])b.type=this.ln;c=aj[this.cg][b.type];
b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Xj(this.wa[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.xm;c[b++]=a.rf;c[b++]=a.df;c[b++]=a.ef;c[b++]=a.Ka;c[b++]=a.ob;c[b++]=a.oe;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b]=a.pa?a.pa.save():null;return c};
function fj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.df[2])?e=b.df[0]<<8|b.df[1]:c=b.type);null==c||d||(d=aj[a.cg][c][1],e=aj[a.cg][c][0]);d&&((c=aj[a.cg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new Fi(a,b,b.mode)))}}
k.Of=function(a){a||(this.xe=0);for(var b=0;b<this.wa.length;b++){var c=this.wa[b];if(c.name&&c.path){if(!(a&&c.pa&&c.pa.mh)){var d;d=c.name;var c=c.path,e=this.wa[b];e.Gc?(this.va("Drive "+b+" busy"),d=!0):(e.Gc=!0,e.Ge=!0,this.xe++,(e.pa||new Fi(this,e,e.mode)).load(d,c,null,this.Xm),d=!1);!d&&a&&p(this,!1)}}else a&&void 0!==c.type&&(c.pa=null,fj(this,c,c.type))}return!!this.xe};
k.Xm=function(a,b,c){a.Gc=!1;(a.pa=b)&&this.va('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.$a),a.Ge);a.Ge&&(a.Ge=!1,--this.xe||p(this))};k.io=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.ca&&Pg(this.ca,5);this.qa&=-33;++this.ub>=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=12!=this.ec[0]?6:this.ec.length;6==this.cb&&(this.qa&=-2);this.cb>=c&&(this.qa|=2,this.qa&=-2,gj(this))};
k.jo=function(){var a=this.qa;this.ub<this.cb&&(this.qa|=1);return a};k.up=function(a,b){this.rm=b;this.ca&&Pg(this.ca,5);this.zd()};k.ho=function(){return this.xg};k.tp=function(a,b){this.qm=b;this.qa=13};k.sp=function(a,b){this.pm=b};k.Oj=function(){};
k.sn=function(){var a=-1;if(this.La){var b=this,a=this.Cb(this.La,function(){});1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,this.La.mb>=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(hj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a};
k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,hj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh};
k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Pg(this.ca,14);ij(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b};
function ij(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(hj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&hj(a)}
function hj(a){!a.ca||a.Nh&2||Og(a.ca,14,120)}
function gj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&c<H.df.length&&(H.df[c++]=b);H&&fj(a,H);b=0;H||a.vf!=e||(a.vf=-1,b=2);a.Ob(b|d);b=-1;break;case 224:case 228:a.Ob(0|d),b=-1}if(0<=b)switch(void 0===H?b=-1:(H.errorCode=0,H.xm=0),b){case 0:a.Ob(0|d);break;case 1:H.Dq=
I;a.Ob(0|d);break;case 5:a.Ob(0|d);break;case 8:jj(a,H,function(b){a.Ob(b|d)});break;case 10:kj(a,H,function(b){a.Ob(b|d)});break;case 15:nj(a,H,function(b){a.Ob(b|d)});break;default:a.Ob(2|d)}}k.Ia=function(){var a=-1;this.ub<this.cb&&(a=this.ec[this.ub++]);return a};k.Ob=function(a){this.ub=this.cb=0;void 0!==a&&this.dc(a);this.ca&&Og(this.ca,5);this.qa|=32};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};
k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma<a.ef.length?a.ef[a.Ma++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Vm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};function jj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaRead",b);Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function kj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaWrite",b);Eg(a.ca,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function nj(a,b,c){b.errorCode=4;b.ef&&b.ef.length==b.mb||(b.ef=Array(b.mb));b.Ma=0;a.ca?(b.errorCode=0,Ig(a.ca,3,a,"dmaWriteBuffer",b),Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cb=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ja&&(f=a.Ma,d=Oi(a.Ja,a.Ma),a.Ma+=g,0<=d))return e=a.Ja,b&&b(d,!1,e,f),d;if(b){var h=this;if(a.pa)return a.pa.seek(a.oe,a.Ka,a.Za+a.Xg,!1,function(c,t){(a.Ja=c)?(e=c,f=a.Ma=0,h.Nf(a),d=Oi(a.Ja,a.Ma),a.Ma+=g):a.errorCode=20;b(d,t,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
k.Fb=function(a,b){if(a.errorCode)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.pa&&a.pa.seek(a.oe,a.Ka,a.Za+a.Xg,!0,function(b){a.Ja=b});if(!a.Ja){a.errorCode=20;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b};k.Nf=function(a){a.Za++;var b=1-a.Xg;a.Za>=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))};
k.bk=function(a,b){if(a.errorCode)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.oe=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<<a.Bc[3];for(var c=a.kf=0;c<a.mb;c++)if(0>this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};k.ko=function(){var a=this.U.J&255;!(this.U.G>>8)&&128<a&&(this.vf=a-128);return!0};k.lo=function(){var a;(a=this.U.G>>8||!this.ca)||(a=!(this.ca.Vb[0].ad&64));return a?!0:!1};
var cj={800:Z.prototype.io,801:Z.prototype.jo,802:Z.prototype.ho},bj={496:Z.prototype.sn,497:Z.prototype.un,498:Z.prototype.vn,499:Z.prototype.wn,500:Z.prototype.rn,501:Z.prototype.qn,502:Z.prototype.tn,503:Z.prototype.xn},ej={800:Z.prototype.rp,801:Z.prototype.up,802:Z.prototype.tp,803:Z.prototype.sp,807:Z.prototype.Oj,811:Z.prototype.Oj,815:Z.prototype.Oj},dj={496:Z.prototype.Go,497:Z.prototype.Lo,498:Z.prototype.Jo,499:Z.prototype.Ko,500:Z.prototype.Fo,501:Z.prototype.Eo,502:Z.prototype.Ho,503:Z.prototype.Do,
1014:Z.prototype.Io};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Z(d);Sa(d,c)}});function Pd(a,b,c){this.id=a.id;this.key=oj(a,b,c);this.Wa=a.Wa;pj(this,a.vp)}function oj(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}
Pd.prototype={constructor:Pd,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.Ei=!0):this.Ei?!0:ra()&&(a=sa(this.key))?(this[this.id]=a,this.Ei=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){m(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){pj(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}},cc:function(){}};function pj(a,b){a[a.id]={};b&&a.set("parms",b);a.Ei=!1}
function qj(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ta(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function rj(a,b,c){n.call(this,"Computer",a,rj);this.ea.Zb=!1;this.zf=a.buswidth;this.Kc=sj;this.Bg=null;this.nh=!1;this.url=b?b.url:null;this.Bp=(Math.random()+.1).toString(36).substr(2,12);this.Lc=tj(this);if(this.U=Oa("CPU",this.id)){this.Wa=Oa("Debugger",this.id);this.ka=new zb({id:this.Xk+".bus",buswidth:this.zf},this.U,this.Wa);var d,e=Ma(this.id);if((this.Dd=Oa("Panel",this.id))&&this.Dd.qi)for(b=0;b<e.length;b++)d=e[b],d.va=this.Dd.va,d.kc=this.Dd.kc,d.qi=this.Dd.qi;for(b=0;b<e.length;b++)d=
e[b],d.yc&&d.yc(this,this.ka,this.U,this.Wa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Rh=d:this.Kc=parseInt(d,10));var f;if(a=Ga&&Ga.state||(f=!0,a.state))b=this.vm=a,f||(this.nh=!0,this.Kc=sj),this.Kc&&(this.Vh=new Pd(this,"1.17.2"),this.Vh.load()?b=null:delete this.Vh);!b&&this.Kc&&(f=null,this.Lc&&(f=oa()+"/api/v1/user?req=load&user="+this.Lc+"&state="+oj(this,"1.17.2")),b=f)&&(this.nh=!0);b?na(b,!0,null,this,this.yo):p(this);c||uj(this,this.Kh)}else m("Unable to find CPU component")}
La(n,rj);var sj=0;k=rj.prototype;k.tf=function(){return this.Bp};k.Yd=function(){return this.Lc?this.Lc:""};k.yo=function(a,b,c){c?(this.Rh=null,this.nh=!1,this.va("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Bg=b;p(this)};function uj(a,b,c){for(var d=Ma(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Va(f)){Va(f,function(){uj(a,b,c)});return}}b.call(a,c)}
function vj(a,b){var c=new Pd(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Kh=function(a){void 0===a&&(a=this.Kc||(this.Bg?1:sj));var b=!1,c=!1;this.Mk=!1;var d=this.Vh||new Pd(this,"1.17.2");if(-1==a)b=!0;else if(a>sj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(wj(this,d),a=2,pj(this.Ue));this.Ue.set("timestamp",la());qj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("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.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),pj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&vj(this,c?d:null)}else 2==a&&d.clear()}else vj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=xj(this,g,d,b,c));b=[d,a,c];-1!=a?uj(this,this.Ek,b):this.Ek(b)};
function xj(a,b,c,d,e){if(!b.ea.Zb){b.ea.Zb=!0;if(b.bc){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.bc(f,d)&&f&&(m("Unable to restore state for "+b.type),a.vm&&!a.Bg?(c.clear(),a.Kc=sj,window&&window.location.reload()):a.Mk=!0,b.bc(null),e=!1)}if(!d&&b.Bk)for(a=b.Bk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ek=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ik=!0);this.U&&(xj(this,this.U,b,c,a),qc(this.U));this.Mk&&(wj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)};
function wj(a,b){if(pa("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.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}}
function yj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Lc&&zj(a,a.Lc,f.toString()),qj(g)&&qj(f)||(e=null,d=h=!0)):a.Kc&&(d=!0,h=3==a.Kc),d&&f.clear(h)):e=f.toString());c&&(a.ea.Zb=!1);return e}k.reset=function(){this.ka&&this.ka.reset&&(this.cc("Resetting "+this.ka.type),this.ka.reset());for(var a=Ma(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ma(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=Ma(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ma[b]=c,c.onclick=function(){var a=mj(d,!0);if(a){var b=!(!d.Lc||d.Ph),c=rj(d,b);b?sj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.ma[b]=c,c.onclick=function(){tc(d)},!0}return!1};
function mj(a,b){var c=a.Mc;c||(c=sa("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=tj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c}
function tj(a,b){a.Mc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Mc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Mc}
function sj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=hj(a,"1.17.2");d.data=c;b=na(oa()+"/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.va("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.va(c),ta("user",""),a.Mc=null)}}
function tc(a){if(a.Lc&&!a.Ph){var b=pa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rj(a,b,!0);!b&&a.qm?window&&window.location.reload():(b||(a.Di=!0),a.Ih(lj),a.Di=!1)}else a.reset(),a.U&&qc(a.U)}function bb(a,b,c){a=Ma(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}
za(function(){for(var a=Ta(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ra(c),c=Ta(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Ra(f),g=new kj(g,d,!0);Sa(g,f);nj(g,g.Ih)}});va.show.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Qa("Computer",c.id))&&c.Ek&&!c.ea.Zb&&c.Ih(-1)}});
va.exit.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Qa("Computer",c.id))&&c.ea.Zb&&rj(c,!(!c.Lc||c.Ph),!0)}});var uj=0;function vj(a,b,c,d,e,f){e("Loading "+a+"...");na(a,!0,null,null,function(g,h,r){r?(h||(h="unable to load "+a+" ("+r+")"),f(h,null)):wj(h,a,b,c,d,e,f)})}
function wj(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(I){h=
null,a=I.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?xj(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function xj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(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 r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);xj(a,b,c)}})}else c(a,null)}
function yj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--uj||Ba(!0));r=!1}var g,h,r=!0;uj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--uj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--uj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?vj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?vj(b,a,d,!0,e,t):wj(b,null,a,d,!1,e,t)}else f("missing machine element: "+
a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return yj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})();
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ma[b]=c,c.onclick=function(){var a=tj(d,!0);if(a){var b=!(!d.Kc||d.Rh),c=yj(d,b);b?zj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.ma[b]=c,c.onclick=function(){tc(d)},!0}return!1};
function tj(a,b){var c=a.Lc;c||(c=sa("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=Aj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c}
function Aj(a,b){a.Lc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Lc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Lc}
function zj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=oj(a,"1.17.2");d.data=c;b=na(oa()+"/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.va("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.va(c),ta("user",""),a.Lc=null)}}
function tc(a){if(a.Kc&&!a.Rh){var b=pa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yj(a,b,!0);!b&&a.vm?window&&window.location.reload():(b||(a.Fi=!0),a.Kh(sj),a.Fi=!1)}else a.reset(),a.U&&qc(a.U)}function bb(a,b,c){a=Ma(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}
za(function(){for(var a=Ta(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ra(c),c=Ta(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Ra(f),g=new rj(g,d,!0);Sa(g,f);uj(g,g.Kh)}});va.show.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Oa("Computer",c.id))&&c.Ik&&!c.ea.Zb&&c.Kh(-1)}});
va.exit.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Oa("Computer",c.id))&&c.ea.Zb&&yj(c,!(!c.Kc||c.Rh),!0)}});var Bj=0;function Cj(a,b,c,d,e,f){e("Loading "+a+"...");na(a,!0,null,null,function(g,h,r){r?(h||(h="unable to load "+a+" ("+r+")"),f(h,null)):Dj(h,a,b,c,d,e,f)})}
function Dj(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(I){h=
null,a=I.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Ej(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Ej(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(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 r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Ej(a,b,c)}})}else c(a,null)}
function Fj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Bj||Ba(!0));r=!1}var g,h,r=!0;Bj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Bj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Bj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Cj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Cj(b,a,d,!0,e,t):Dj(b,null,a,d,!1,e,t)}else f("missing machine element: "+
a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Fj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})();

View file

@ -68,20 +68,24 @@
* avoid display problems near the right edge. BASIC will let you choose a width SMALLER than
* 24 but not larger. So, while the video buffer supports a theoretical maximum of 32 rows x 32
* columns, the practical maximum is 25 rows x 24 columns; the last 4 rows of the video buffer
* are never used, and while content DOES scroll through the top 4 lines of the buffer, it should
* are never used, and while content DOES scroll through the top 3 lines of the buffer, it should
* never be assumed that you can see the top 3 lines.
*
* This is partially confirmed by the "C1P Character Graphics Reference Manual", p3, which says
* that the "the visible character field consists of 25 lines of 25 columns" and that the "first
* visible character in the upper left of the screen is accessed via address 53379," or 0xD083.
* However, they were wrong about both the number of columns and the first visible character.
*
* They actually meant 0xD085, because as mentioned earlier, the C1P indents every row by 5
* characters, not 3. Even so, the difference between 0xD365 (where the bottom line starts)
* and 0xD085 is 0x2E0, or 736. And 736 divided by 32 gives 23; add the bottom row, and that
* gives you 24 visible rows, not 25. Since we now have screenshots of a C1P monitor displaying
* 25 rows (courtesy of Stephan Mühlstrasser <stephan.muehlstrasser@web.de>), C1Pjs now assumes
* 25 rows, which means that only the first 3 lines are not visible, which necessarily puts
* the address of the first visible character at 0xD065.
* They probably meant 0xD085, because as mentioned earlier, the C1P indents every row by 5
* characters, not 3. But that's not correct either, because the difference between 0xD365
* (where the bottom line starts) and 0xD085 is 0x2E0, or 736. 736 divided by 32 equals 23;
* add the bottom row, and that would give you 24 visible rows, not 25. Since we now have
* screenshots of a C1P monitor displaying 25 rows (courtesy of Stephan Mühlstrasser), C1Pjs
* now assumes that only the first 3 lines are not visible, and that the address of the first
* visible character is actually 0xD065 (53349), yielding 25 visible rows.
*
* All of this explains why we now use setDimensions(iRowTop=3, nRowsVisible=25) instead of
* setDimensions(iRowTop=4, nRowsVisible=24) for the Model 600.
*
* Model 540 Video Board vs. Model 600 "Superboard II"
* ---------------------------------------------------

File diff suppressed because it is too large Load diff

View file

@ -125,6 +125,13 @@ var BUGS_8086 = false;
*/
var I386 = true;
/**
* @define {boolean}
*
* Enables Compaq DeskPro 386 support.
*/
var COMPAQ386 = true;
if (typeof module !== 'undefined') {
global.PCJSCLASS = PCJSCLASS;
global.DEBUGGER = DEBUGGER;
@ -135,6 +142,7 @@ if (typeof module !== 'undefined') {
global.SAMPLER = SAMPLER;
global.BUGS_8086 = BUGS_8086;
global.I386 = I386;
global.COMPAQ386 = COMPAQ386;
/*
* TODO: When we're "required" by Node, should we return anything via module.exports?
*/

View file

@ -218,7 +218,8 @@ Memory.TYPE = {
RAM: 1,
ROM: 2,
VIDEO: 3,
NAMES: ["NONE", "RAM", "ROM", "VIDEO"],
CTRL: 4,
NAMES: ["NONE", "RAM", "ROM", "VIDEO", "H/W"],
COLORS: ["black", "blue", "green", "cyan"]
};

View file

@ -447,17 +447,18 @@ Panel.prototype.updateMouse = function(event, fDown)
this.yMouse = y;
if (MAXDEBUG) this.log("Panel.moveMouse(" + x + "," + y + ")");
this.assert(x >= 0 && x < Panel.LIVECANVAS.CX && y >= 0 && y < Panel.LIVECANVAS.CY);
/*
* Convert the mouse position into the corresponding memory address, assuming it's over the live memory area
*/
var addr = this.findAddress(x, y);
if (addr != X86.ADDR_INVALID) {
addr &= ~0xf;
if (addr != this.addrDumpLast) {
this.dumpMemory(addr, true);
this.addrDumpLast = addr;
if (x >= 0 && x < Panel.LIVECANVAS.CX && y >= 0 && y < Panel.LIVECANVAS.CY) {
/*
* Convert the mouse position into the corresponding memory address, assuming it's over the live memory area
*/
var addr = this.findAddress(x, y);
if (addr != X86.ADDR_INVALID) {
addr &= ~0xf;
if (addr != this.addrDumpLast) {
this.dumpMemory(addr, true);
this.addrDumpLast = addr;
}
}
}
};

View file

@ -54,8 +54,8 @@ if (typeof module !== 'undefined') {
* @extends Component
* @param {Object} parmsRAM
*/
function RAM(parmsRAM) {
function RAM(parmsRAM)
{
Component.call(this, "RAM", parmsRAM, RAM);
this.addrRAM = parmsRAM['addr'];
@ -76,7 +76,8 @@ Component.subclass(Component, RAM);
* @param {X86CPU} cpu
* @param {Debugger} dbg
*/
RAM.prototype.initBus = function(cmp, bus, cpu, dbg) {
RAM.prototype.initBus = function(cmp, bus, cpu, dbg)
{
this.bus = bus;
this.cpu = cpu;
this.chipset = cmp.getComponentByType("ChipSet");
@ -91,7 +92,8 @@ RAM.prototype.initBus = function(cmp, bus, cpu, dbg) {
* @param {boolean} [fRepower]
* @return {boolean} true if successful, false if failure
*/
RAM.prototype.powerUp = function(data, fRepower) {
RAM.prototype.powerUp = function(data, fRepower)
{
if (!fRepower) {
/*
* The Computer powers up the CPU last, at which point the X86 state is restored,
@ -117,7 +119,8 @@ RAM.prototype.powerUp = function(data, fRepower) {
* @param {boolean} fSave
* @return {Object|boolean}
*/
RAM.prototype.powerDown = function(fSave) {
RAM.prototype.powerDown = function(fSave)
{
/*
* The Computer powers down the CPU first, at which point the X86 state is saved,
* which includes the Bus state, and since we use the Bus component to allocate all
@ -148,7 +151,8 @@ RAM.prototype.powerDown = function(fSave) {
*
* @this {RAM}
*/
RAM.prototype.reset = function() {
RAM.prototype.reset = function()
{
if (!this.addrRAM && !this.fInstalled && this.chipset) {
var baseRAM = this.chipset.getSWMemorySize() * 1024;
if (this.sizeRAM && baseRAM != this.sizeRAM) {
@ -168,6 +172,30 @@ RAM.prototype.reset = function() {
* for these components, which the Computer component will display as it "powers up" components.
*/
if (MAXDEBUG && this.fInstalled) this.status("specified size overrides SW1");
/*
* Memory with an ID of "ramCPQ" is reserved for built-in memory located just below the 16Mb
* boundary on Compaq DeskPro 386 machines.
*
* Technically, that memory is part of the first 1Mb of memory that also provides up to 640Kb
* of conventional memory (ie, memory below 1Mb).
*
* However, PCjs doesn't support individual memory allocations that (a) are discontiguous
* or (b) dynamically change location. Components must simulate those features by performing
* a separate allocation for each starting address, and removing/adding memory allocations
* whenever their starting address changes.
*
* Therefore, a DeskPro 386's first 1Mb of physical memory is allocated by PCjs in two pieces,
* and the second piece must have an ID of "ramCPQ", triggering the additional allocation of
* Compaq-specific memory-mapped registers.
*
* See CompaqController for more details.
*/
if (COMPAQ386) {
if (this.idComponent == "ramCPQ") {
this.controller = new CompaqController(this);
this.bus.addMemory(CompaqController.ADDR, 1, Memory.TYPE.CTRL, this.controller);
}
}
}
}
if (this.fAllocated) {
@ -193,7 +221,8 @@ RAM.prototype.reset = function() {
* attribute, invoking the constructor to create a RAM component, and then binding
* any associated HTML controls to the new component.
*/
RAM.init = function() {
RAM.init = function()
{
var aeRAM = Component.getElementsByClass(window.document, PCJSCLASS, "ram");
for (var iRAM = 0; iRAM < aeRAM.length; iRAM++) {
var eRAM = aeRAM[iRAM];
@ -203,6 +232,121 @@ RAM.init = function() {
}
};
/**
* CompaqController(ram)
*
* DeskPro 386 machines came with a minimum of 1Mb of RAM, which could be configured (via jumpers)
* for 256Kb, 512Kb or 640Kb of conventional memory, starting at address 0x00000000, with the
* remainder (768Kb, 512Kb, or 384Kb) accessible only at addresses just below 0x01000000. This
* second chunk of RAM must have an ID of "ramCPQ".
*
* The typical configuration was 640Kb of conventional memory, leaving 384Kb accessible at 0x00FA0000.
* Presumably, the other configurations (256Kb and 512Kb) would leave 768Kb and 512Kb accessible at
* 0x00F40000 and 0x00F80000, respectively.
*
* The DeskPro 386 also contained two memory-mapped registers at 0x80C00000. The first is a write-only
* mapping register that provides the ability to map the 128Kb at 0x00FE0000 to 0x000E0000, replacing
* any ROMs in the range 0x000E0000-0x000FFFFF, and optionally write-protecting that 128Kb. The second
* register is a read-only diagnostics register that indicates jumper configuration and parity errors.
*
* To emulate the memory-mapped registers at 0x80C00000, the RAM component allocates a block at that
* address using this custom controller once it sees an allocation for "ramCPQ".
*
* Later, when the addressibility of "ramCPQ" memory is altered, we record the blocks in all the
* memory slots spanning 0x000E0000-0x000FFFFF, and then update those slots with the blocks from
* 0x00FE0000-0x00FFFFFF. Note that only the top 128Kb of "ramCPQ" addressibility is affected; the
* rest of that memory, ranging anywhere from 256Kb to 640Kb, remains addressible at its original
* location. Compaq's CEMM and VDISK utilities were generally the only software able to access that
* remaining memory.
*
* @constructor
* @param {RAM} ram
*/
function CompaqController(ram)
{
this.ram = ram;
this.bMapping = CompaqController.MAPPING.DEFAULT;
this.bSettings = CompaqController.SETTINGS.BASE_640KB;
}
CompaqController.ADDR = 0x80C00000;
/*
* Bit definitions for the 8-bit write-only memory-mapping register (bMapping)
*/
CompaqController.MAPPING = {
NORELOC: 0x01, // is this bit is CLEAR, the last 128Kb (at 0x00FE0000) is relocated to 0x000E0000
READWRITE: 0x02, // if this bit is CLEAR, the last 128Kb (at 0x00FE0000) is read-only (ie, write-protected)
RESERVED: 0xFC, // the remaining 6 bits are reserved and should always be SET
DEFAULT: 0xFF
};
/*
* Bit definitions for the 8-bit read-only settings/diagnostics register (bSettings)
*/
CompaqController.SETTINGS = {
B0_PARITY: 0x01,
B1_PARITY: 0x02,
B2_PARITY: 0x04,
B3_PARITY: 0x08,
BASE_640KB: 0x00,
BASE_ERROR: 0x10,
BASE_512KB: 0x20,
BASE_256KB: 0x30,
ADDED_1MB: 0x40,
PIGGYBACK: 0x80
};
/**
* readByte(off)
*
* @this {Memory}
* @param {number} off
* @return {number}
*/
CompaqController.readByte = function readCompaqControllerByte(off)
{
return this.controller.bSettings;
};
/**
* writeByte(off, b)
*
* @this {Memory}
* @param {number} off
* @param {number} b (which should already be pre-masked to 8 bits; see Bus.prototype.setByteDirect)
*/
CompaqController.writeByte = function writeCompaqControllerByte(off, b)
{
this.controller.bMapping = b;
};
CompaqController.ACCESS = [CompaqController.readByte, CompaqController.readByte, CompaqController.readByte,
CompaqController.writeByte, CompaqController.writeByte, CompaqController.writeByte];
/**
* getMemoryBuffer(addr)
*
* @this {CompaqController}
* @param {number} addr
* @return {Array} containing the buffer (and an offset within that buffer)
*/
CompaqController.prototype.getMemoryBuffer = function(addr)
{
return [null, 0];
};
/**
* getMemoryAccess()
*
* @this {CompaqController}
* @return {Array.<function()>}
*/
CompaqController.prototype.getMemoryAccess = function()
{
return CompaqController.ACCESS;
};
/*
* Initialize all the RAM modules on the page.
*/

View file

@ -68,7 +68,20 @@ function ROM(parmsROM)
this.abROM = null;
this.addrROM = parmsROM['addr'];
this.sizeROM = parmsROM['size'];
this.addrROMAlias = parmsROM['alias'];
/*
* The new 'alias' property can now be EITHER a single physical address (like 'addr') OR an array of
* physical addresses; eg:
*
* [0xf0000,0xffff0000,0xffff8000]
*
* We could have overloaded 'addr' to accomplish the same thing, but I think it's better to have any
* aliased locations listed under a separate property.
*
* Most ROMs are not aliased, in which case the 'alias' property should have the default value of null.
*/
this.addrAlias = parmsROM['alias'];
this.sFilePath = parmsROM['file'];
this.sFileName = str.getBaseName(this.sFilePath);
this.idNotify = parmsROM['notify'];
@ -274,7 +287,17 @@ ROM.prototype.copyROM = function()
*/
this.setError("ROM size (0x" + str.toHex(this.abROM.length) + ") does not match specified size (0x" + str.toHex(this.sizeROM) + ")");
}
else if (this.addROM(this.addrROM) && this.addROM(this.addrROMAlias)) {
else if (this.addROM(this.addrROM)) {
var aliases = [];
if (typeof this.addrAlias == "number") {
aliases.push(this.addrAlias);
} else if (this.addrAlias != null && this.addrAlias.length) {
aliases = this.addrAlias;
}
for (var i = 0; i < aliases.length; i++) {
this.addROM(aliases[i]);
}
/*
* If there's a component we should notify, notify it now, and give it the internal byte array, so that
* it doesn't have to ask the CPU for the data. Currently, the only component that uses this notification
@ -306,16 +329,12 @@ ROM.prototype.copyROM = function()
/**
* addROM(addr)
*
* If addr is null or undefined, then it's presumably an unused addrROMAlias, which we simply ignore (it's not
* considered a failure condition).
*
* @this {ROM}
* @param {number} addr
* @return {boolean}
*/
ROM.prototype.addROM = function(addr)
{
if (addr == null) return true;
if (this.bus.addMemory(addr, this.sizeROM, Memory.TYPE.ROM)) {
if (DEBUG) this.log("addROM(): copying ROM to 0x" + str.toHex(addr) + " (0x" + str.toHex(this.abROM.length) + " bytes)");
var bto = null;

View file

@ -84,11 +84,12 @@ var X86 = {
* Machine Status Word (MSW) bit definitions
*/
MSW: {
PE: 0x0001, // protected-mode enabled
MP: 0x0002, // monitor processor extension (ie, coprocessor)
EM: 0x0004, // emulate processor extension
TS: 0x0008, // task switch indicator
ON: 0xfff0 // on the 80286, these bits are always on (TODO: Verify)
PE: 0x0001, // protected-mode enabled
MP: 0x0002, // monitor processor extension (ie, coprocessor)
EM: 0x0004, // emulate processor extension
TS: 0x0008, // task switch indicator
ON: 0xfff0, // on the 80286, these bits are always on (TODO: Verify)
MASK: 0xffff // these are the only (MSW) bits that the 80286 can access (within CR0)
},
ET: 0x00000010, // coprocessor type (80287 or 80387); always 1 on post-80386 CPUs
PG: 0x80000000|0 // 0: paging disabled
@ -147,7 +148,7 @@ var X86 = {
SHIFT: 13
},
PRESENT: 0x8000,
INVALID: 0 // use X86.DESC.ACC.INVALID for invalid ACC values
INVALID: 0 // use X86.DESC.ACC.INVALID for invalid ACC values
},
EXT: { // descriptor extension word (reserved on the 80286; "must be zero")
OFFSET: 0x6,

View file

@ -706,9 +706,9 @@ X86CPU.prototype.initProcessor = function()
*/
this.CYCLES = (this.model >= X86.MODEL_80286? X86CPU.CYCLES_80286 : X86CPU.CYCLES_8088);
this.aOps = X86OpXX.aOps.slice(); // make copies of aOps and others before modifying them
this.aOpGrp4b = X86Grps.aOpGrp4b.slice();
this.aOpGrp4w = X86Grps.aOpGrp4w.slice();
this.aOps = X86OpXX.aOps;
this.aOpGrp4b = X86Grps.aOpGrp4b;
this.aOpGrp4w = X86Grps.aOpGrp4w;
this.aOpGrp6 = X86Op0F.aOpGrp6Real; // setProtMode() will ensure that aOpGrp6 is switched
if (this.model >= X86.MODEL_80186) {
@ -720,6 +720,9 @@ X86CPU.prototype.initProcessor = function()
* Instruction handlers that contain "hard-coded" 80286 cycle times include: opINSb, opINSw, opOUTSb,
* opOUTSw, opENTER, and opLEAVE.
*/
this.aOps = X86OpXX.aOps.slice(); // make copies of aOps and others before modifying them
this.aOpGrp4b = X86Grps.aOpGrp4b.slice();
this.aOpGrp4w = X86Grps.aOpGrp4w.slice();
this.nShiftCountMask = 0x1f; // on newer processors, all shift counts are MOD 32
this.aOps[0x0F] = X86Help.opHelpInvalid;
this.aOps[X86.OPCODE.PUSHA] = X86OpXX.opPUSHA;
@ -753,16 +756,38 @@ X86CPU.prototype.initProcessor = function()
this.OPFLAG_NOINTR8086 = 0; // used with instructions that should *not* set NOINTR on an 80286 (eg, non-SS segment loads)
this.aOps0F = X86Op0F.aOps0F;
this.aOps[0x0F] = X86OpXX.op0F;
this.aOps[X86.OPCODE.ARPL] = X86OpXX.opARPL;
this.aOps[X86.OPCODE.PUSHSP] = X86OpXX.opPUSHSP;
if (I386 && this.model >= X86.MODEL_80386) {
this.aOps[X86.OPCODE.FS] = X86OpXX.opFS;
this.aOps[X86.OPCODE.GS] = X86OpXX.opGS;
this.aOps[X86.OPCODE.OS] = X86OpXX.opOS;
this.aOps[X86.OPCODE.AS] = X86OpXX.opAS;
this.aOps0F = X86Op0F.aOps0F.slice();
this.aOps0F[0x20] = X86Op0F.opMOVrcr;
this.aOps0F[0x22] = X86Op0F.opMOVcrr;
}
}
}
/*
* The memory dispatch tables; opMem refers to the active set, based on the current OPERAND size (dataSize),
* which is based foremost on segCS.dataSize, but can also be overridden by an OPERAND size instruction prefix.
*/
this.aaOpMem = [];
this.aaOpMem[2] = {
getWord: this.getShort.bind(this),
setWord: this.setShort.bind(this)
};
if (I386) {
this.aaOpMem[4] = {
getWord: this.getLong.bind(this),
setWord: this.setLong.bind(this)
};
}
};
/**
@ -928,35 +953,10 @@ X86CPU.prototype.resetRegs = function()
*/
this.intFlags = X86.INTFLAG.NONE;
/*
* The following contain the (default) OPERAND size (2 for 16 bits, 4 for 32 bits), and the corresponding masks
* for isolating the (src) bits of an OPERAND and clearing the (dst) bits of an OPERAND. These are reset to
* their segCS counterparts at the start of every new instruction, but are also set here for documentation purposes.
*/
this.dataSize = this.segCS.dataSize;
this.dataMask = this.segCS.dataMask;
/*
* Similarly, the following contain the (default) ADDRESS size (2 for 16 bits, 4 for 32 bits), and the corresponding
* masks for isolating the (src) bits of an address and clearing the (dst) bits of an address. Like the OPERAND size
* properties, these are reset to their segCS counterparts at the start of every new instruction.
*/
this.addrSize = this.segCS.addrSize;
this.addrMask = this.segCS.addrMask;
/*
* It's also worth noting that instructions that implicitly use the stack also rely on something called STACK size,
* which is based on the BIG bit of the last descriptor loaded into SS; use the following segSS properties:
*
* segSS.addrSize (2 or 4)
* segSS.addrMask (0xffff or 0xffffffff)
*
* As there is no STACK size instruction prefix override, there's no need to propagate these segSS properties
* to separate X86CPU properties, as we do for the OPERAND size and ADDRESS size properties.
*/
this.setCSIP(0, 0xffff); // this should be called before the first setPS() call
if (!I386) this.setSizes();
if (BACKTRACK) {
/*
* Initialize the backtrack indexes for all registers to zero. And while, yes, it IS possible
@ -1029,35 +1029,17 @@ X86CPU.prototype.resetRegs = function()
* Now that all the segment registers have been created, it's safe to set the current addressing mode.
*/
this.setProtMode();
/*
* The memory dispatch tables; opMem refers to the active set, based on the current OPERAND size (dataSize),
* which is based foremost on segCS.dataSize, but can also be overridden by an OPERAND size instruction prefix.
*/
this.aaOpMem = [];
this.aaOpMem[2] = {
getWord: this.getShort.bind(this),
setWord: this.setShort.bind(this)
};
if (I386) {
this.aaOpMem[4] = {
getWord: this.getLong.bind(this),
setWord: this.setLong.bind(this)
};
}
this.opMem = this.aaOpMem[this.segCS.dataSize];
this.setOpMod();
};
/**
* setOpMod()
* setAddrSize()
*
* Select the appropriate ModRM dispatch tables, based on the current ADDRESS size (addrSize), which
* is based foremost on segCS.addrSize, but can also be overridden by an ADDRESS size instruction prefix.
*
* @this {X86CPU}
*/
X86CPU.prototype.setOpMod = function()
X86CPU.prototype.setAddrSize = function()
{
if (!I386) {
this.aOpModRegByte = X86ModB.aOpModReg;
@ -1085,6 +1067,54 @@ X86CPU.prototype.setOpMod = function()
}
};
/**
* setDataSize()
*
* @this {X86CPU}
*/
X86CPU.prototype.setDataSize = function()
{
this.opMem = this.aaOpMem[this.dataSize];
};
/**
* setSizes()
*
* @this {X86CPU}
*/
X86CPU.prototype.setSizes = function()
{
/*
* The following contain the (default) ADDRESS size (2 for 16 bits, 4 for 32 bits), and the corresponding
* masks for isolating the (src) bits of an address and clearing the (dst) bits of an address. Like the
* OPERAND size properties, these are reset to their segCS counterparts at the start of every new instruction.
*/
this.addrSize = this.segCS.addrSize;
this.addrMask = this.segCS.addrMask;
/*
* It's also worth noting that instructions that implicitly use the stack also rely on STACK size,
* which is based on the BIG bit of the last descriptor loaded into SS; use the following segSS properties:
*
* segSS.addrSize (2 or 4)
* segSS.addrMask (0xffff or 0xffffffff)
*
* As there is no STACK size instruction prefix override, there's no need to propagate these segSS properties
* to separate X86CPU properties, as we do for the OPERAND size and ADDRESS size properties.
*/
this.setAddrSize();
/*
* The following contain the (default) OPERAND size (2 for 16 bits, 4 for 32 bits), and the corresponding masks
* for isolating the (src) bits of an OPERAND and clearing the (dst) bits of an OPERAND. These are reset to
* their segCS counterparts at the start of every new instruction, but are also set here for documentation purposes.
*/
this.dataSize = this.segCS.dataSize;
this.dataMask = this.segCS.dataMask;
this.setDataSize();
};
/**
* getChecksum()
*
@ -1230,6 +1260,10 @@ X86CPU.prototype.setProtMode = function(fProt)
this.segDS.updateMode(fProt);
this.segSS.updateMode(fProt);
this.segES.updateMode(fProt);
if (I386 && this.model >= X86.MODEL_80386) {
this.segFS.updateMode(fProt);
this.segGS.updateMode(fProt);
}
};
/**
@ -1303,8 +1337,7 @@ X86CPU.prototype.save = function()
*/
X86CPU.prototype.restore = function(data)
{
var a;
a = data[0];
var a = data[0];
this.regEAX = a[0];
this.regEBX = a[1];
this.regECX = a[2];
@ -1314,6 +1347,7 @@ X86CPU.prototype.restore = function(data)
this.regESI = a[6];
this.regEDI = a[7];
this.nIOPL = a[8] || 0;
a = data[1];
this.segCS.restore(a[1]);
this.segDS.restore(a[2]);
@ -1321,21 +1355,24 @@ X86CPU.prototype.restore = function(data)
this.segES.restore(a[4]);
this.restoreProtMode(a[5]);
this.setPS(a[6]);
/*
* Since we're not using setCS(), it's important to call setIP() *after* segCS is restored, so that the
* CPU's linear IP register (regLIP) will be updated properly.
* It's important to call setCSIP(), both to ensure that the CPU's linear IP register (regLIP) is updated
* properly AND to ensure the CPU's default ADDRESS and OPERAND sizes are set properly.
*/
this.setIP(a[0]);
this.setCSIP(a[0], this.segCS.sel);
/*
* It's also important to call setSP(), so that the linear SP register (regLSP) will be updated properly;
* we also need to call setSS(), to ensure that the lower and upper stack limits are properly initialized.
*/
this.setSP(regESP);
this.setSS(this.segSS.sel);
if (I386 && this.model >= X86.MODEL_80386) {
this.segFS.restore(a[7]);
this.segGS.restore(a[8]);
}
a = data[2];
this.segData = a[0] != null && this.getSeg(a[0]) || this.segDS;
this.segStack = a[1] != null && this.getSeg(a[1]) || this.segSS;
@ -1344,6 +1381,7 @@ X86CPU.prototype.restore = function(data)
this.intFlags = a[4];
this.regEA = a[5];
this.regEAWrite = a[6]; // save/restore of last EA calculation(s) isn't strictly necessary, but they may be of some interest to, say, the Debugger
a = data[3]; // a[0] was previously nBurstDivisor (no longer used)
this.nTotalCycles = a[1];
this.setSpeed(a[2]); // if we're restoring an old state that doesn't contain a value from getSpeed(), that's OK; setSpeed() checks for an undefined value
@ -1407,6 +1445,7 @@ X86CPU.prototype.setCS = function(sel)
var regEIP = this.getIP();
this.regLIP = this.segCS.load(sel) + regEIP;
this.regLIPLimit = this.segCS.base + this.segCS.limit;
if (I386) this.setSizes();
if (!BUGS_8086) this.opFlags |= this.OPFLAG_NOINTR8086;
if (PREFETCH) this.flushPrefetch(this.regLIP);
};
@ -1593,7 +1632,6 @@ X86CPU.prototype.setIP = function(off)
*/
X86CPU.prototype.setCSIP = function(off, sel, fCall)
{
this.assert((off & this.addrMask) == off);
this.segCS.fCall = fCall;
/*
* We break this operation into the following discrete steps (eg, set IP, load CS, and then update IP) so
@ -1607,6 +1645,7 @@ X86CPU.prototype.setCSIP = function(off, sel, fCall)
if (base != X86.ADDR_INVALID) {
this.regLIP = base + this.regEIP;
this.regLIPLimit = base + this.segCS.limit;
if (I386) this.setSizes();
if (PREFETCH) this.flushPrefetch(this.regLIP);
return this.segCS.fStackSwitch;
}
@ -2983,14 +3022,14 @@ X86CPU.prototype.stepCPU = function(nMinCycles)
var fDebugCheck = this.aFlags.fDebugCheck = (DEBUGGER && this.dbg && this.dbg.checksEnabled());
/*
* fDebugSkip is checked only when fDebugCheck is true, and its sole purpose is to tell the first call
* nDebugState is checked only when fDebugCheck is true, and its sole purpose is to tell the first call
* to checkInstruction() that it can skip breakpoint checks, and that will be true ONLY when fStarting is
* true OR nMinCycles is zero (the latter means the Debugger is single-stepping).
*
* Once we snap fStarting, we clear it, because technically, we've moved beyond "starting" and have
* officially "started" now.
*/
var fDebugSkip = this.aFlags.fStarting || !nMinCycles;
var nDebugState = nMinCycles == 0? -1 : (this.aFlags.fStarting? 0 : 1);
this.aFlags.fStarting = false;
/*
@ -3044,13 +3083,7 @@ X86CPU.prototype.stepCPU = function(nMinCycles)
this.segStack = this.segSS;
this.regEA = this.regEAWrite = X86.ADDR_INVALID;
if (I386) {
this.dataSize = this.segCS.dataSize;
this.dataMask = this.segCS.dataMask;
this.addrSize = this.segCS.addrSize;
this.addrMask = this.segCS.addrMask;
this.opMem = this.aaOpMem[this.dataSize];
}
if (I386) this.setSizes();
this.opPrefixes = this.opFlags & X86.OPFLAG.REPEAT;
if (this.intFlags) {
@ -3088,11 +3121,11 @@ X86CPU.prototype.stepCPU = function(nMinCycles)
}
if (DEBUGGER && fDebugCheck) {
if (this.dbg.checkInstruction(this.regLIP, fDebugSkip)) {
if (this.dbg.checkInstruction(this.regLIP, nDebugState)) {
this.stopCPU();
break;
}
fDebugSkip = false;
nDebugState = 1;
}
if (SAMPLER) {

View file

@ -54,7 +54,7 @@ var X86Help = {
* @param {number} src (new value)
* @return {number} dst (src is overridden, replaced with regMD16, as specified by opMOVwsr())
*/
opHelpMOVSegSrc: function(dst, src) {
opHelpMOVMD16: function(dst, src) {
return X86Help.opHelpMOV.call(this, dst, this.regMD16);
},
/**
@ -468,8 +468,8 @@ var X86Help = {
* This instruction is always allowed to set MSW.PE, but it cannot clear MSW.PE once set;
* therefore, we always OR the previous value of MSW.PE into the new value before loading.
*/
w |= (this.regCR0 & X86.CR0.MSW.PE);
this.regCR0 = (this.regCR0 & X86.CR0.MSW.ON) | (w & ~X86.CR0.MSW.ON);
w |= (this.regCR0 & X86.CR0.MSW.PE) | X86.CR0.MSW.ON;
this.regCR0 = (this.regCR0 & ~X86.CR0.MSW.MASK) | (w & X86.CR0.MSW.MASK);
/*
* Since the 80286 cannot return to real-mode via this instruction, the only transition we
* must worry about is to protected-mode. And don't worry, there's no harm calling setProtMode()
@ -478,6 +478,20 @@ var X86Help = {
*/
if (this.regCR0 & X86.CR0.MSW.PE) this.setProtMode(true);
},
/**
* opHelpLCR0(l)
*
* This called on behalf of 80386 opcodes only (ie, MOV CR0,reg).
*
* TODO: Determine which CR0 bits, if any, cannot be modified by MOV CR0,reg.
*
* @this {X86CPU}
* @param {number} l
*/
opHelpLCR0: function(l) {
this.regCR0 = l;
this.setProtMode(!!(this.regCR0 & X86.CR0.MSW.PE));
},
/**
* opHelpCALLF(off, sel)
*

View file

@ -40,9 +40,9 @@ if (typeof module !== 'undefined') {
var X86Op0F = {
/**
* @this {X86CPU}
* op=0x0F,0x00 (GRP6 rm)
*
* op=0x0F,0x00 (grp6 rm)
* @this {X86CPU}
*/
opGrp6: function() {
var bModRM = this.getIPByte();
@ -52,9 +52,9 @@ var X86Op0F = {
this.aOpModGrpWord[bModRM].call(this, this.aOpGrp6, X86Grps.opGrpNoSrc);
},
/**
* @this {X86CPU}
* op=0x0F,0x01 (GRP7 rm)
*
* op=0x0F,0x01 (grp7 rm)
* @this {X86CPU}
*/
opGrp7: function() {
var bModRM = this.getIPByte();
@ -64,17 +64,21 @@ var X86Op0F = {
this.aOpModGrpWord[bModRM].call(this, X86Op0F.aOpGrp7, X86Grps.opGrpNoSrc);
},
/**
* @this {X86CPU}
* opLAR()
*
* op=0x0F,0x02 (lar reg,rm)
* op=0x0F,0x02 (LAR reg,rm)
*
* @this {X86CPU}
*/
opLAR: function() {
this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLAR);
},
/**
* @this {X86CPU}
* opLSL()
*
* op=0x0F,0x03 (lsl reg,rm)
* op=0x0F,0x03 (LSL reg,rm)
*
* @this {X86CPU}
*/
opLSL: function() {
this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLSL);
@ -82,6 +86,8 @@ var X86Op0F = {
/**
* opLOADALL()
*
* op=0x0F,0x05 (LOADALL)
*
* From the "Undocumented iAPX 286 Test Instruction" document at http://www.pcjs.org/pubs/pc/reference/intel/80286/loadall/:
*
* Physical Address (Hex) Associated CPU Register
@ -117,8 +123,6 @@ var X86Op0F = {
* no particular reason.
*
* @this {X86CPU}
*
* op=0x0F,0x05 (loadall)
*/
opLOADALL: function() {
if (this.segCS.cpl) {
@ -168,9 +172,11 @@ var X86Op0F = {
if (DEBUG && DEBUGGER && (this.regCR0 & X86.CR0.MSW.PE)) this.stopCPU();
},
/**
* @this {X86CPU}
* opCLTS()
*
* op=0x0F,0x06 (clts)
* op=0x0F,0x06 (CLTS)
*
* @this {X86CPU}
*/
opCLTS: function() {
if (this.segCS.cpl) {
@ -181,6 +187,10 @@ var X86Op0F = {
this.nStepCycles -= 2;
},
/**
* opSLDT(dst, src)
*
* op=0x0F,0x00,reg=0x0 (GRP6:SLDT)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -191,6 +201,10 @@ var X86Op0F = {
return this.segLDT.sel;
},
/**
* opSTR(dst, src)
*
* op=0x0F,0x00,reg=0x1 (GRP6:STR)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -201,6 +215,10 @@ var X86Op0F = {
return this.segTSS.sel;
},
/**
* opLLDT(dst, src)
*
* op=0x0F,0x00,reg=0x2 (GRP6:LLDT)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -213,6 +231,10 @@ var X86Op0F = {
return dst;
},
/**
* opLTR(dst, src)
*
* op=0x0F,0x00,reg=0x3 (GRP6:LTR)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -228,6 +250,10 @@ var X86Op0F = {
return dst;
},
/**
* opVERR(dst, src)
*
* op=0x0F,0x00,reg=0x4 (GRP6:VERR)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -264,6 +290,10 @@ var X86Op0F = {
return dst;
},
/**
* opVERW(dst, src)
*
* op=0x0F,0x00,reg=0x5 (GRP6:VERW)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -295,6 +325,10 @@ var X86Op0F = {
return dst;
},
/**
* opSGDT(dst, src)
*
* op=0x0F,0x01,reg=0x0 (GRP7:SGDT)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -349,6 +383,10 @@ var X86Op0F = {
return dst;
},
/**
* opSIDT(dst, src)
*
* op=0x0F,0x01,reg=0x1 (GRP7:SIDT)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -378,6 +416,8 @@ var X86Op0F = {
/**
* opLGDT(dst, src)
*
* op=0x0F,0x01,reg=0x2 (GRP7:LGDT)
*
* The 80286 LGDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address;
* the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the
* limit, so we must fetch the remaining 24 bits ourselves.
@ -401,6 +441,8 @@ var X86Op0F = {
/**
* opLIDT(dst, src)
*
* op=0x0F,0x01,reg=0x3 (GRP7:LIDT)
*
* The 80286 LIDT instruction expects a 40-bit operand: a 16-bit limit, followed by a 24-bit address;
* the ModRM decoder has already supplied the first word of the operand (in dst), which corresponds to the
* limit, so we must fetch the remaining 24 bits ourselves.
@ -422,6 +464,10 @@ var X86Op0F = {
return dst;
},
/**
* opSMSW(dst, src)
*
* op=0x0F,0x01,reg=0x4 (GRP7:SMSW)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -432,6 +478,10 @@ var X86Op0F = {
return this.regCR0;
},
/**
* opLMSW(dst, src)
*
* op=0x0F,0x01,reg=0x6 (GRP7:LMSW)
*
* @this {X86CPU}
* @param {number} dst
* @param {number} src (null)
@ -442,6 +492,118 @@ var X86Op0F = {
this.nStepCycles -= (this.regEA < 0? 3 : 6);
this.opFlags |= X86.OPFLAG.NOWRITE;
return dst;
},
/**
* opMOVrcr()
*
* op=0x0F,0x20 (MOV reg,cr)
*
* NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move
* the appropriate control register into a special variable (regMD16), which our helper function
* (opHelpMOVMD16) will use to replace the decoder's src operand.
*
* @this {X86CPU}
*/
opMOVrcr: function() {
var bModRM = this.getIPByte() | 0xc0;
/*
* Unlike, say, opcode 0x8C (MOV word,sr), this opcode supports only registers, not memory;
* however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0.
*
if ((bModRM & 0xc0) != 0xc0) {
X86Help.opHelpInvalid.call(this);
return;
}
*/
var reg = (bModRM & 0x38) >> 3;
switch (reg) {
case 0x0:
this.regMD16 = this.regCR0;
break;
case 0x1:
this.regMD16 = this.regCR1;
break;
case 0x2:
this.regMD16 = this.regCR2;
break;
case 0x3:
this.regMD16 = this.regCR3;
break;
default:
X86Help.opHelpUndefined.call(this);
return;
}
/*
* Like other MOV operations, the destination does not need to be read, just written;
* however, it's moot, because we've already restricted this opcode to registers only.
*
* this.opFlags |= X86.OPFLAG.NOREAD;
*/
this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOVMD16);
},
/**
* opMOVcrr()
*
* op=0x0F,0x22 (MOV cr,reg)
*
* NOTE: Since the ModRM decoders deal only with general-purpose registers, we have to
* make a note of which general-purpose register will be overwritten, so that we can restore it
* after moving the modified value to the correct control register.
*
* @this {X86CPU}
*/
opMOVcrr: function() {
var temp;
var bModRM = this.getIPByte() | 0xc0;
/*
* Unlike, say, opcode 0x8E (MOV sr,word), this opcode supports only registers, not memory;
* however, the 80386 apparently ignores the mod bits, treating any combination as if it was 0xc0.
*
if ((bModRM & 0xc0) != 0xc0) {
X86Help.opHelpInvalid.call(this);
return;
}
*/
var reg = (bModRM & 0x38) >> 3;
switch(reg) {
case 0x0:
temp = this.regEAX;
break;
case 0x1:
temp = this.regECX; // TODO: Is setting CR1 actually allowed on an 80386?
break;
case 0x2:
temp = this.regEDX;
break;
case 0x3:
temp = this.regEBX;
break;
default:
X86Help.opHelpInvalid.call(this);
return;
}
this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOV);
switch (reg) {
case 0x0:
reg = this.regEAX;
this.regEAX = temp;
X86Help.opHelpLCR0.call(this, reg);
break;
case 0x1:
this.regCR1 = this.regECX;
this.regECX = temp;
break;
case 0x2:
this.regCR2 = this.regEDX;
this.regEDX = temp;
break;
case 0x3:
this.regCR3 = this.regEBX;
this.regEBX = temp;
break;
default:
break; // there IS no other case, but JavaScript inspections don't know that
}
}
};

View file

@ -218,7 +218,7 @@ var X86OpXX = {
* @this {X86CPU}
*/
op0F: function() {
X86Op0F.aOps0F[this.getIPByte()].call(this);
this.aOps0F[this.getIPByte()].call(this);
},
/**
* op=0x10 (ADC byte,reg)
@ -1327,6 +1327,36 @@ var X86OpXX = {
opARPL: function() {
this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpARPL);
},
/**
* op=0x64 (FS:)
*
* @this {X86CPU}
*/
opFS: function() {
/*
* NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes;
* the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway.
*/
this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR;
this.segData = this.segStack = this.segFS;
this.nStepCycles -= this.CYCLES.nOpCyclesPrefix;
this.stopCPU();
},
/**
* op=0x65 (GS:)
*
* @this {X86CPU}
*/
opGS: function() {
/*
* NOTE: The fact that we're setting NOINTR along with SEG is really just for documentation purposes;
* the way stepCPU() is written, the presence of any prefix bypasses normal interrupt processing anyway.
*/
this.opFlags |= X86.OPFLAG.SEG | X86.OPFLAG.NOINTR;
this.segData = this.segStack = this.segGS;
this.nStepCycles -= this.CYCLES.nOpCyclesPrefix;
this.stopCPU();
},
/**
* op=0x66 (OS:) (80386 and up)
*
@ -1339,8 +1369,9 @@ var X86OpXX = {
this.opFlags |= X86.OPFLAG.SEG;
this.dataSize ^= 0x6; // that which is 2 shall become 4, and vice versa
this.dataMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa
this.opMem = this.aaOpMem[this.dataSize];
this.setDataSize();
this.nStepCycles -= this.CYCLES.nOpCyclesPrefix;
this.stopCPU();
}
},
/**
@ -1355,8 +1386,9 @@ var X86OpXX = {
this.opFlags |= X86.OPFLAG.SEG;
this.addrSize ^= 0x06; // that which is 2 shall become 4, and vice versa
this.addrMask ^= (0xffff0000|0); // that which is 0x0000ffff shall become 0xffffffff, and vice versa
this.setOpMod();
this.setAddrSize();
this.nStepCycles -= this.CYCLES.nOpCyclesPrefix;
this.stopCPU();
}
},
/**
@ -1929,7 +1961,7 @@ var X86OpXX = {
*
* NOTE: Since the ModRM decoders deal only with general-purpose registers, we must move
* the appropriate segment register into a special variable (regMD16), which our helper function
* (opHelpMOVSegSrc) will use to replace the decoder's src operand.
* (opHelpMOVMD16) will use to replace the decoder's src operand.
*
* @this {X86CPU}
*/
@ -1957,7 +1989,7 @@ var X86OpXX = {
* Like other MOV operations, the destination does not need to be read, just written.
*/
this.opFlags |= X86.OPFLAG.NOREAD;
this.aOpModMemWord[bModRM].call(this, X86Help.opHelpMOVSegSrc);
this.aOpModMemWord[bModRM].call(this, X86Help.opHelpMOVMD16);
},
/**
* op=0x8D (LEA reg,word)

View file

@ -569,6 +569,12 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress)
var ext = cpu.getShort(addrDesc + X86.DESC.EXT.OFFSET);
var selMasked = sel & X86.SEL.MASK;
if (I386 && cpu.model >= X86.MODEL_80386) {
base |= (ext & X86.DESC.EXT.BASE2431) << 16;
limit |= (ext & X86.DESC.EXT.LIMIT1619) << 16;
if (ext & X86.DESC.EXT.GRANULARITY) limit = (limit << 12) | 0xfff;
}
while (true) {
var selCode, cplPrev, addrTSS, offSP, offSS, regSPPrev, regSSPrev;
@ -863,11 +869,11 @@ X86Seg.prototype.updateMode = function(fProt)
this.cpl = this.sel & X86.SEL.RPL;
this.dpl = (this.acc & X86.DESC.ACC.DPL.MASK) >> X86.DESC.ACC.DPL.SHIFT;
if (this.cpu.model < X86.MODEL_80386 || !(this.ext & X86.DESC.EXT.BIG)) {
this.dataSize = 2;
this.dataMask = 0xffff;
this.addrSize = 2;
this.addrMask = 0xffff;
} else {
this.dataSize = 4;
this.dataMask = (0xffffffff|0);
this.addrSize = 4;
this.addrMask = (0xffffffff|0);
}
} else {
this.load = X86Seg.loadReal;
@ -877,11 +883,11 @@ X86Seg.prototype.updateMode = function(fProt)
this.limit = 0xffff;
this.cpl = this.dpl = 0;
this.addrDesc = X86.ADDR_INVALID;
this.dataSize = 2;
this.dataMask = 0xffff;
this.addrSize = 2;
this.addrMask = 0xffff;
}
this.addrSize = this.dataSize;
this.addrMask = this.dataMask;
this.dataSize = this.addrSize;
this.dataMask = this.addrMask;
return fProt;
};
@ -904,7 +910,7 @@ X86Seg.prototype.messageSeg = function(sel, base, limit, acc, ext)
if (this.id == X86Seg.ID.CODE) sDPL += " cpl=" + this.cpl;
this.dbg.message("loadSeg(" + this.sName + "):" + ch + "sel=" + str.toHexWord(sel) + " base=" + str.toHex(base) + " limit=" + str.toHexWord(limit) + " acc=" + str.toHexWord(acc) + sDPL);
}
this.cpu.assert(/* base != X86.ADDR_INVALID && */ (!ext || ext == X86.DESC.EXT.AVAIL));
this.cpu.assert(/* base != X86.ADDR_INVALID && */ (this.cpu.model >= X86.MODEL_80386 || !ext || ext == X86.DESC.EXT.AVAIL));
}
};

View file

@ -88,7 +88,7 @@ str.parseInt = function(s, base)
}
var v;
if (str.isValidInt(s, base) && !isNaN(v = parseInt(s, base))) {
value = v;
value = v|0;
}
}
return value;

File diff suppressed because it is too large Load diff

View file

@ -6,117 +6,118 @@ a,b);t.setRequestHeader("Content-type","application/x-www-form-urlencoded");t.se
function ra(){if(null==qa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}qa=a}return qa}function sa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ta(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}
function ua(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 va={init:[],show:[],exit:[]},wa=!1,xa=!0;function ya(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){va.init.push(a)}
function Aa(a){if(xa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){m("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks.")}}function Ba(a){!xa&&a?(xa=!0,wa&&Da("init")):xa=a}function Da(a){va[a]&&Aa(va[a])}ya("onload",function(){wa=!0;Aa(va.init)});ya("onpageshow",function(){Aa(va.show)});ya(ua("Opera")||ua("iOS")?"onunload":"onbeforeunload",function(){Aa(va.exit)});
function n(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.xk=b.comment;this.qp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Sk=this.id.substr(0,b),this.Mi=this.id.substr(b+1)):this.Mi=this.id;this[a]=c;this.ea={pf:!1,Hc:!1,wi:!1,Zb:!1,fd:!1};this.oh=null;this.ea.fd=!1;this.ma={};this.Wa=null;Ea[Ea.length]=this}var Fa=void 0,Ga={};
function n(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.Bk=b.comment;this.vp=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.Xk=this.id.substr(0,b),this.th=this.id.substr(b+1)):this.th=this.id;this[a]=c;this.ea={qf:!1,Gc:!1,yi:!1,Zb:!1,fd:!1};this.ph=null;this.ea.fd=!1;this.ma={};this.Wa=null;Ea[Ea.length]=this}var Fa=void 0,Ga={};
if(window){Fa||(Fa=window.location.search.substr(1));for(var Ha,Ia=/\+/g,Ja=/([^&=]+)=?([^&]*)/g;Ha=Ja.exec(Fa);)Ga[decodeURIComponent(Ha[1].replace(Ia," "))]=decodeURIComponent(Ha[2].replace(Ia," "))}function Ka(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 La(a,b){b.prototype=Ka(a.prototype);b.prototype.constructor=b;b.prototype.parent=a.prototype}var Ea=[];function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ea.length;b++){var d=Ea[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Pa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ea.length;c++)if(Ea[c].id===a)return Ea[c]}return null}
function Qa(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<Ea.length;d++)if(c)c==Ea[d]&&(c=null);else if(!(a!=Ea[d].type||b&&Ea[d].id.indexOf(b)))return Ea[d]}return null}function Ra(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){m(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function La(a,b){b.prototype=Ka(a.prototype);b.prototype.constructor=b;b.prototype.parent=a.prototype}var Ea=[];function Ma(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ea.length;b++){var d=Ea[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Na(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ea.length;c++)if(Ea[c].id===a)return Ea[c]}return null}
function Oa(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<Ea.length;d++)if(c)c==Ea[d]&&(c=null);else if(!(a!=Ea[d].type||b&&Ea[d].id.indexOf(b)))return Ea[d]}return null}function Ra(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){m(c.message+" ("+a+")")}return b}window&&!window.document.ELEMENT_NODE&&(window.document.ELEMENT_NODE=1);
function Sa(a,b){for(var c=Ta(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 r=h.split(" "),t=0;t<r.length;t++)switch(h=r[t],h){case "pcjs-binding":(h=Ra(g))&&h.binding&&a.Eb(h.type,h.binding,g),t=r.length}}}}
function Ta(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}
n.prototype={constructor:n,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ma[b]||(this.ma[b]=c,c.onclick=function(a){return function(){a.ma.print&&(a.ma.print.value="")}}(this)),!0;case "print":return this.ma[b]||(this.oi=this.ma[b]=c,c.value="",this.kc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.va=function(a,b,c){this.kc(a,"notice",c)}),!0;default:return!1}},log:function(){},assert:function(){},kc:function(){},status:function(a){this.kc(this.Mi+": "+a)},va:function(a,b){b||m(a)},bc:function(){return this.ea.Zb=!0},ac:function(a,b){b&&(this.ea.Zb=!1);return!0},cc:function(){return!1}};function Ua(a,b){if(a.ea.wi)return a.ea.Hc&&(a.ea.Hc=!1),a.ea.wi=!1;if(a.ea.fd)return a.kc(a.toString()+" error"),!1;a.ea.Hc=b;return a.ea.Hc}
function p(a,b){if(!a.ea.fd&&(a.ea.pf=!1!==b,a.ea.pf)){var c=a.oh;a.oh=null;c&&c()}}function Va(a,b){b&&(a.ea.pf?b():a.oh=b);return a.ea.pf}function Wa(a,b){a.ea.fd=!0;a.va("Fatal error: "+b)}var Xa="undefined"!==typeof ArrayBuffer;function Ya(a){n.call(this,"Panel",a,Ya);this.canvas=null;this.Hd=this.Id=this.cg=-1}La(n,Ya);
function Za(a,b,c,d){this.Pe=[a,b,c,d];this.Qh=null;void 0===a&&(this.Pe[0]=256*Math.random()|0,this.Pe[1]=256*Math.random()|0,this.Pe[2]=256*Math.random()|0,this.Pe[3]=255,this.Qh=null)}Za.prototype.toString=function(){this.Qh||(this.Qh="#"+ea(this.Pe[0])+ea(this.Pe[1])+ea(this.Pe[2]));return this.Qh};function $a(a,b,c,d){this.x=a;this.y=b;this.xc=c;this.Gc=d}$a.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.xc&&b>=this.y&&b<this.y+this.Gc};
function ab(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Gc*b/c|0),a.y+=b.Gc,a.Gc-=b.Gc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Gc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.zc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0};
k.mi=function(a,b){a.button||(this.cg=b?0:-1,db(this,a,b))};k.Wk=function(a){db(this,a)};
function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.cg||(a.cg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.cg?b=a.Id:2==a.cg&&(d=a.Hd));a.Hd=d;a.Id=b;a:{c=d;if(960>c&&a.Oa&&a.Oa.af)for(f=0;f<a.Oa.af.length;f++)if(e=a.Oa.af[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.Oa.bf[f],g=a.Oa.Xh[d&eb]&eb,f=g*a.ka.Hb,d=(g+(d>>fb&gb))*a.ka.Hb-1;0<b&&(f+=e.xc*(b-1)*a.fm);f+=c*a.fm;f|=0;f>d&&(f=
d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.jk&&(hb(a,c,!0),a.jk=c))}
k.Gd=function(){if(this.canvas&&this.bh&&this.Qd&&this.Ae){var a=this.Qd.width,b=this.Qd.height;this.Ae.fillStyle="black";this.Ae.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Ae,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Ke.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.po=16;this.qo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.ta,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX",
this.U.C,2);u(this,"ES",this.U.Na.ta,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.ta,2);u(this,"SS",this.U.ra.ta,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.jk);
this.bh.drawImage(this.Qd,0,0,a,b,this.gr,this.jr,this.Cq,this.Fq)}};
function hb(a,b,c){if(a.bh&&a.Qd&&a.Ae){var d=a.Qd.width;a.Ae.fillStyle="black";a.Ae.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Ae,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.bh.drawImage(a.Qd,0,360,d,360,a.er,a.hr,a.Aq,a.Dq)}}
function ib(a,b,c,d,e){var f,g=a.Ap=10;a.Oc=g;a.Ye=b;a.tf=a.Pk=18;f||(f=a.Nk||a.Pk+"px Monaco, Lucida Console, Courier New");a.ph=a.Nk=f;c&&(a.Jm=c);d&&(a.ed=d,a.Lm=e||"white")}function jb(a,b){a.pi=a.Jm.width/b|0}function kb(a,b){a.Oc=a.Ap;a.Ye+=(a.tf+2)*(b||1)}function u(a,b,c,d,e){a.ed.font=a.ph;a.ed.fillStyle=a.Lm;a.ed.fillText(b,a.Oc,a.Ye);a.Oc+=a.pi;null!=c&&(b=c.toString(),16==a.po&&(b="0x"+da(c,a.qo)),a.ed.fillText(b,a.Oc,a.Ye),a.Oc+=a.pi);d&&(a.Oc+=a.pi*d);e&&kb(a,e)}
function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ra(d),f=Pa(e.id);f||(a=!0,f=new Ya(e));Sa(f,d);a&&p(f)}}za(cb);function zb(a,b,c){n.call(this,"Bus",a,zb);this.U=b;this.Wa=c;this.yf=a.buswidth||20;this.bi=Math.pow(2,this.yf);this.Hm=this.tb=this.bi-1|0;this.jb=20>=this.yf?12:24>=this.yf?14:15;this.Hb=1<<this.jb;this.tk=this.Hb>>2;this.Ta=this.Hb-1;this.Qf=this.bi/this.Hb|0;this.td=this.Qf-1;this.Hg=[];this.Ig=[];this.Oi();p(this)}La(n,zb);
var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Oi=function(){this.sa=Array(this.Qf);for(var a=0;a<this.Qf;a++)this.sa[a]=new Ab(a*this.Hb);this.U.Oi(this.sa,this.jb,this.Ta,this.td);this.U.tb=this.tb};k.reset=function(){Bb(this,!0)};k.bc=function(a,b){b||this.reset();return!0};
function Cb(a,b,c,d,e){for(var f=b>>>a.jb;0<c&&f<a.sa.length;){var g=a.sa[f],h=f*a.Hb,r=c>a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.X==e){if(b+c<=g.Kf)return g.Uh+=g.Kf-b,g.Kf=b,!0;if(b>=g.Kf+g.Uh){r=g.size-(b-h);r>c&&(r=c);g.Uh=b-g.Kf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.sa[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0<c?Db(2,b,c):!0}function Bb(a,b){if(void 0!==b&&20<a.yf){var c=a.tb&-1048577|(b?1048576:0);c!=a.tb&&(a.tb=c,a.U&&(a.U.tb=c))}}
k.Rh=function(a,b,c){if(!(a&this.Ta||!b||b&this.Ta)){for(var d=a>>>this.jb;0<b;){var e=this.sa[d];if(!e.X)return Db(5,a,b);e.le(c);b-=this.Hb;d++}return!0}return Db(3,a,b)};function Eb(a,b,c){if(!(b&a.Ta||!c||c&a.Ta)){for(var d=b>>>a.jb;0<c;)b=d*a.Hb,a.sa[d++]=new Ab(b),c-=a.Hb;return!0}return Db(4,b,c)}k.qc=function(a){return this.sa[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.sa[(b&a.tb)>>>a.jb].Qj(b&a.Ta)}
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.sa[a].gm(b):this.sa[a++].Cb(b)|this.sa[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.sa[d].rp(c):a.sa[d++].Qj(c)|a.sa[d&a.td].Qj(0)<<8}k.Se=function(a,b){this.sa[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.sa[d].wm(c,b&65535):(this.sa[d++].Fb(c,b&255),this.sa[d&this.td].Fb(0,b>>8&255))};
function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.sa[b].zp(d,c&65535):(a.sa[b++].Zj(d,c&255),a.sa[b&a.td].Zj(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d<a.Qf;d++){var e=a.sa[d];if(e.Ha||e.Ck){c[b++]=d;var f=b++;a:if(e=e.save()){for(var g=0,h=0,r=[];g<e.length;){for(var t=e[g],B=g+1;B<e.length&&e[B]===t;)B++;r[h++]=B-g;r[h++]=t;g=B}if(r.length<e.length){e=r;break a}}c[f]=e}}c[b]=a.Hm==a.tb;return c}
function Ib(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Hg[t]?m("Input port "+da(t,4)+" registered by "+f.Hg[t][0].id+", ignoring "+h.id):f.Hg[t]=[h,r,!1,!1]}}function Jb(a,b,c){var d=255;a=a.Hg[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function Kb(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Ig[t]?m("Output port "+da(t,4)+" registered by "+f.Ig[t][0].id+", ignoring "+h.id):f.Ig[t]=[h,r,!1,!1]}}function Lb(a,b,c,d){a=a.Ig[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Db(a,b,c){m("Memory block error ("+a+","+da(b)+","+da(c)+")");return!1}var Mb;
n.prototype={constructor:n,parent:null,toString:function(){return this.name?this.name:this.id||this.type},Eb:function(a,b,c){switch(b){case "clear":return this.ma[b]||(this.ma[b]=c,c.onclick=function(a){return function(){a.ma.print&&(a.ma.print.value="")}}(this)),!0;case "print":return this.ma[b]||(this.qi=this.ma[b]=c,c.value="",this.kc=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.va=function(a,b,c){this.kc(a,"notice",c)}),!0;default:return!1}},log:function(){},assert:function(){},kc:function(){},status:function(a){this.kc(this.th+": "+a)},va:function(a,b){b||m(a)},bc:function(){return this.ea.Zb=!0},ac:function(a,b){b&&(this.ea.Zb=!1);return!0},cc:function(){return!1}};function Ua(a,b){if(a.ea.yi)return a.ea.Gc&&(a.ea.Gc=!1),a.ea.yi=!1;if(a.ea.fd)return a.kc(a.toString()+" error"),!1;a.ea.Gc=b;return a.ea.Gc}
function p(a,b){if(!a.ea.fd&&(a.ea.qf=!1!==b,a.ea.qf)){var c=a.ph;a.ph=null;c&&c()}}function Va(a,b){b&&(a.ea.qf?b():a.ph=b);return a.ea.qf}function Wa(a,b){a.ea.fd=!0;a.va("Fatal error: "+b)}var Xa="undefined"!==typeof ArrayBuffer;function Ya(a){n.call(this,"Panel",a,Ya);this.canvas=null;this.Hd=this.Id=this.dg=-1}La(n,Ya);
function Za(a,b,c,d){this.Qe=[a,b,c,d];this.Sh=null;void 0===a&&(this.Qe[0]=256*Math.random()|0,this.Qe[1]=256*Math.random()|0,this.Qe[2]=256*Math.random()|0,this.Qe[3]=255,this.Sh=null)}Za.prototype.toString=function(){this.Sh||(this.Sh="#"+ea(this.Qe[0])+ea(this.Qe[1])+ea(this.Qe[2]));return this.Sh};function $a(a,b,c,d){this.x=a;this.y=b;this.xc=c;this.Fc=d}$a.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.xc&&b>=this.y&&b<this.y+this.Fc};
function ab(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new $a(a.x,a.y,a.xc,a.Fc*b/c|0),a.y+=b.Fc,a.Fc-=b.Fc):(b=new $a(a.x,a.y,a.xc*b/c|0,a.Fc),a.x+=b.xc,a.xc-=b.xc);return b}k=Ya.prototype;k.Eb=function(a,b,c){return this.ya&&this.ya.Eb(a,b,c)||this.U&&this.U.Eb(a,b,c)||this.Ba&&this.Ba.Eb(a,b,c)?!0:this.parent.Eb.call(this,a,b,c)};k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.Ba=bb(a,"Keyboard")};k.bc=function(a,b){b||cb();return!0};k.ac=function(){return!0};
k.oi=function(a,b){a.button||(this.dg=b?0:-1,db(this,a,b))};k.al=function(a){db(this,a)};
function db(a,b,c){var d=1280/a.canvas.offsetWidth,e=720/a.canvas.offsetHeight,f=a.canvas.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.dg||(a.dg=Math.abs(a.Hd-d)>Math.abs(a.Id-b)?1:2),1==a.dg?b=a.Id:2==a.dg&&(d=a.Hd));a.Hd=d;a.Id=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.Pa&&a.Pa.bf)for(f=0;f<a.Pa.bf.length;f++)if(e=a.Pa.bf[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.Pa.cf[f],g=a.Pa.Zh[d&eb]&eb,f=g*a.ka.Hb,d=(g+(d>>fb&gb))*a.ka.Hb-1;0<b&&(f+=e.xc*(b-
1)*a.km);f+=c*a.km;f|=0;f>d&&(f=d);c=f;break a}c=q}c!=q&&(c&=-16,c!=a.nk&&(hb(a,c,!0),a.nk=c))}}
k.Gd=function(){if(this.canvas&&this.dh&&this.Qd&&this.Be){var a=this.Qd.width,b=this.Qd.height;this.Be.fillStyle="black";this.Be.fillRect(0,0,a,b);ib(this,18,this.Qd,this.Be,this.canvas.style.color);jb(this,3);u(this,"CPU");u(this,"Target");u(this,"Current");kb(this);u(this,this.U.za);u(this,this.U.S.Le.toFixed(2)+"Mhz");u(this,lb(this.U));kb(this,2);jb(this,8);this.uo=16;this.vo=4;u(this,"AX",this.U.G,2);u(this,"DS",this.U.eb.sa,0,1);u(this,"DX",this.U.J,2);u(this,"SI",this.U.F,0,1.5);u(this,"BX",
this.U.C,2);u(this,"ES",this.U.Na.sa,0,1);u(this,"CX",this.U.I,2);u(this,"DI",this.U.D,0,1.5);u(this,"CS",this.U.na.sa,2);u(this,"SS",this.U.ra.sa,0,1);u(this,"IP",v(this.U),2);u(this,"SP",w(this.U),0,1.5);var c;u(this,"PS",c=ob(this.U),2);u(this,"BP",this.U.H,0,1.5);jb(this,9);u(this,"V"+(c&pb?1:0));u(this,"D"+(c&qb?1:0));u(this,"I"+(c&rb?1:0));u(this,"T"+(c&sb?1:0));u(this,"S"+(c&tb?1:0));u(this,"Z"+(c&ub?1:0));u(this,"A"+(c&vb?1:0));u(this,"P"+(c&wb?1:0));u(this,"C"+(c&xb?1:0),0,2);hb(this,this.nk);
this.dh.drawImage(this.Qd,0,0,a,b,this.lr,this.or,this.Hq,this.Kq)}};
function hb(a,b,c){if(a.dh&&a.Qd&&a.Be){var d=a.Qd.width;a.Be.fillStyle="black";a.Be.fillRect(0,360,d,360);ib(a,378,a.Qd,a.Be,a.canvas.style.color);jb(a,24);if(null==b)u(a,"Mouse over memory to dump");else{u(a,"0x"+da(b),null,0,1);for(var e=1;16>=e;e++){for(var f="",g=1;8>=g;g++){var h=yb(a.ka,b++);u(a,ea(h),null,1);f+=32<=h&&128>h?String.fromCharCode(h):"."}u(a,f,null,0,1)}}c&&a.dh.drawImage(a.Qd,0,360,d,360,a.jr,a.mr,a.Fq,a.Iq)}}
function ib(a,b,c,d,e){var f,g=a.Fp=10;a.Nc=g;a.Ze=b;a.uf=a.Uk=18;f||(f=a.Rk||a.Uk+"px Monaco, Lucida Console, Courier New");a.qh=a.Rk=f;c&&(a.Om=c);d&&(a.dd=d,a.Qm=e||"white")}function jb(a,b){a.ri=a.Om.width/b|0}function kb(a,b){a.Nc=a.Fp;a.Ze+=(a.uf+2)*(b||1)}function u(a,b,c,d,e){a.dd.font=a.qh;a.dd.fillStyle=a.Qm;a.dd.fillText(b,a.Nc,a.Ze);a.Nc+=a.ri;null!=c&&(b=c.toString(),16==a.uo&&(b="0x"+da(c,a.vo)),a.dd.fillText(b,a.Nc,a.Ze),a.Nc+=a.ri);d&&(a.Nc+=a.ri*d);e&&kb(a,e)}
function cb(){for(var a=!1,b=Ta(window.document,"pcjs","panel"),c=0;c<b.length;c++){var d=b[c],e=Ra(d),f=Na(e.id);f||(a=!0,f=new Ya(e));Sa(f,d);a&&p(f)}}za(cb);function zb(a,b,c){n.call(this,"Bus",a,zb);this.U=b;this.Wa=c;this.zf=a.buswidth||20;this.di=Math.pow(2,this.zf);this.Mm=this.tb=this.di-1|0;this.jb=20>=this.zf?12:24>=this.zf?14:15;this.Hb=1<<this.jb;this.xk=this.Hb>>2;this.Ta=this.Hb-1;this.Rf=this.di/this.Hb|0;this.td=this.Rf-1;this.Ig=[];this.Jg=[];this.Qi();p(this)}La(n,zb);
var eb=131071,fb=18,gb=1023;k=zb.prototype;k.Qi=function(){this.ta=Array(this.Rf);for(var a=0;a<this.Rf;a++)this.ta[a]=new Ab(a*this.Hb);this.U.Qi(this.ta,this.jb,this.Ta,this.td);this.U.tb=this.tb};k.reset=function(){Bb(this,!0)};k.bc=function(a,b){b||this.reset();return!0};
function Cb(a,b,c,d,e){for(var f=b>>>a.jb;0<c&&f<a.ta.length;){var g=a.ta[f],h=f*a.Hb,r=c>a.Hb?a.Hb:c;if(g&&g.size){if(g.type==d&&g.V==e){if(b+c<=g.Lf)return g.Wh+=g.Lf-b,g.Lf=b,!0;if(b>=g.Lf+g.Wh){r=g.size-(b-h);r>c&&(r=c);g.Wh=b-g.Lf+r;c-=r;b=h+a.Hb;continue}}return Db(1,b,c)}a.ta[f++]=new Ab(b,r,a.Hb,d,e);c-=r;b=h+a.Hb}return 0<c?Db(2,b,c):!0}function Bb(a,b){if(void 0!==b&&20<a.zf){var c=a.tb&-1048577|(b?1048576:0);c!=a.tb&&(a.tb=c,a.U&&(a.U.tb=c))}}
k.Th=function(a,b,c){if(!(a&this.Ta||!b||b&this.Ta)){for(var d=a>>>this.jb;0<b;){var e=this.ta[d];if(!e.V)return Db(5,a,b);e.le(c);b-=this.Hb;d++}return!0}return Db(3,a,b)};function Eb(a,b,c){if(!(b&a.Ta||!c||c&a.Ta)){for(var d=b>>>a.jb;0<c;)b=d*a.Hb,a.ta[d++]=new Ab(b),c-=a.Hb;return!0}return Db(4,b,c)}k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};function yb(a,b){return a.ta[(b&a.tb)>>>a.jb].Sj(b&a.Ta)}
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;return b!=this.Ta?this.ta[a].lm(b):this.ta[a++].Cb(b)|this.ta[a&this.td].Cb(0)<<8};function Fb(a,b){var c=b&a.Ta,d=(b&a.tb)>>>a.jb;return c!=a.Ta?a.ta[d].wp(c):a.ta[d++].Sj(c)|a.ta[d&a.td].Sj(0)<<8}k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;c!=this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))};
function Gb(a,b,c){var d=b&a.Ta;b=(b&a.tb)>>>a.jb;d!=a.Ta?a.ta[b].Ep(d,c&65535):(a.ta[b++].ak(d,c&255),a.ta[b&a.td].ak(0,c>>8&255))}function Hb(a){for(var b=0,c=[],d=0;d<a.Rf;d++){var e=a.ta[d];if(e.Ha||e.Gk){c[b++]=d;var f=b++;a:if(e=e.save()){for(var g=0,h=0,r=[];g<e.length;){for(var t=e[g],B=g+1;B<e.length&&e[B]===t;)B++;r[h++]=B-g;r[h++]=t;g=B}if(r.length<e.length){e=r;break a}}c[f]=e}}c[b]=a.Mm==a.tb;return c}
function Ib(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Ig[t]?m("Input port "+da(t,4)+" registered by "+f.Ig[t][0].id+", ignoring "+h.id):f.Ig[t]=[h,r,!1,!1]}}function Jb(a,b,c){var d=255;a=a.Ig[b];void 0!==a&&a[1]&&(d=a[1].call(a[0],b,c));return d}
function Kb(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,r=c[e];if(void 0!==r)for(var t=e+d;t<=g;t++)void 0!==f.Jg[t]?m("Output port "+da(t,4)+" registered by "+f.Jg[t][0].id+", ignoring "+h.id):f.Jg[t]=[h,r,!1,!1]}}function Lb(a,b,c,d){a=a.Jg[b];void 0!==a&&a[1]&&a[1].call(a[0],b,c,d)}function Db(a,b,c){m("Memory block error ("+a+","+da(b)+","+da(c)+")");return!1}var Mb;
if(Xa){var Nb=new ArrayBuffer(2);(new DataView(Nb)).setUint16(0,256,!0);Mb=256===(new Uint16Array(Nb))[0]}else Mb=!1;var Ob=Mb;
function Ab(a,b,c,d,e){this.ia=null;this.offset=0;this.Kf=a;this.Uh=b;this.size=c||0;this.type=d||Pb;this.Hk=d==Qb;this.X=null;this.Ha=this.Ck=!1;if(c)if(e)this.X=e,a=[e.se,a-e.Ra],this.ia=a[0],this.offset=a[1],this.le(e.Mf);else if(Xa)this.buffer=new ArrayBuffer(c),this.mf=new DataView(this.buffer,0,c),this.Wb=new Uint8Array(this.buffer,0,c),this.mk=new Uint16Array(this.buffer,0,c>>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e<this.ia.length;e++)this.ia[e]=
0;this.le(Ub)}else this.le()}var Pb=0,Qb=2,Vb=["NONE","RAM","ROM","VIDEO"],Wb=["black","blue","green","cyan"];function Xb(){return 0}function Yb(){}function Zb(a){return this.Wb[a]}function $b(a){return this.Wb[a]}function ac(a){return this.mf.getUint16(a,!0)}function bc(a){return a&1?this.Wb[a]|this.Wb[a+1]<<8:this.mk[a>>1]}function cc(a){return this.mf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]}
function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.mf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.mk[a>>1]=b;this.Ha=!0}function ic(a,b){this.mf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0}
function Ab(a,b,c,d,e){this.ia=null;this.offset=0;this.Lf=a;this.Wh=b;this.size=c||0;this.type=d||Pb;this.Lk=d==Qb;this.V=null;this.Ha=this.Gk=!1;if(c)if(e)this.V=e,a=e.Tk(a),this.ia=a[0],this.offset=a[1],this.le(e.Li());else if(Xa)this.buffer=new ArrayBuffer(c),this.nf=new DataView(this.buffer,0,c),this.Wb=new Uint8Array(this.buffer,0,c),this.qk=new Uint16Array(this.buffer,0,c>>1),this.ia=new Int32Array(this.buffer,0,c>>2),this.le(Ob?Rb:Sb);else{this.ia=Array(c>>2);for(e=0;e<this.ia.length;e++)this.ia[e]=
0;this.le(Ub)}else this.le()}var Pb=0,Qb=2,Vb=["NONE","RAM","ROM","VIDEO","H/W"],Wb=["black","blue","green","cyan"];function Xb(){return 0}function Yb(){}function Zb(a){return this.Wb[a]}function $b(a){return this.Wb[a]}function ac(a){return this.nf.getUint16(a,!0)}function bc(a){return a&1?this.Wb[a]|this.Wb[a+1]<<8:this.qk[a>>1]}function cc(a){return this.nf.getInt32(a,!0)}function dc(a){return a&3?this.Wb[a]|this.Wb[a+1]<<8|this.Wb[a+2]<<16|this.Wb[a+3]<<24:this.ia[a>>2]}
function ec(a,b){this.Wb[a]=b;this.Ha=!0}function fc(a,b){this.Wb[a]=b;this.Ha=!0}function gc(a,b){this.nf.setUint16(a,b,!0);this.Ha=!0}function hc(a,b){a&1?(this.Wb[a]=b,this.Wb[a+1]=b>>8):this.qk[a>>1]=b;this.Ha=!0}function ic(a,b){this.nf.setInt32(a,b,!0);this.Ha=!0}function jc(a,b){a&3?(this.Wb[a]=b,this.Wb[a+1]=b>>8,this.Wb[a+2]=b>>16,this.Wb[a+3]=b>>24):this.ia[a>>2]=b;this.Ha=!0}
var Ub=[function(a){return this.ia[a>>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b]>>a;return 24>a?c&65535:c&255|(this.ia[b+1]&255)<<8},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ia[b];a&&(c=c>>>a|this.ia[b+1]<<32-a);return c},function(a,b){var c=a>>2,d=(a&3)<<3;this.ia[c]=this.ia[c]&~(255<<d)|b<<d;this.Ha=!0},function(a,b){var c=a>>2,d=(a&3)<<3;24>d?this.ia[c]=this.ia[c]&~(65535<<d)|b<<d:(this.ia[c]=this.ia[c]&16777215|b<<24,c++,this.ia[c]=this.ia[c]&-256|b>>8);this.Ha=
!0},function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<<d;this.ia[c]=this.ia[c]&~e|b<<d;c++;this.ia[c]=this.ia[c]&e|b>>>32-d}else this.ia[c]=b;this.Ha=!0}];if(Xa)var Sb=[Zb,ac,cc,ec,gc,ic],Rb=[$b,bc,dc,fc,hc,jc];
Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.X)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.mf.getInt32(b<<2,!0);else a=this.ia;return a},restore:function(a){if(this.X)return null==a;if(a&&this.size==a.length<<2){var b;if(Xa)for(b=0;b<a.length;b++)this.mf.setInt32(b<<2,a[b],!0);else this.ia=a;return this.Ha=!0}return!1},le:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cb=c[0]||Xb;this.gm=c[1]||Xb;b&&(this.Qj=c[0]||Xb,this.rp=c[1]||
Xb);c=a;this.Fb=!this.Hk&&c[3]||Yb;this.wm=!this.Hk&&c[4]||Yb;b&&(this.Zj=c[3]||Yb,this.zp=c[4]||Yb)}};
function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.th=Math.round(this.S.jd/1E4)/100;this.S.Ke=this.S.th*this.S.be;this.ea.Ib=!1;this.ea.Kk=!1;this.ea.vi=a.autoStart;this.ea.Dk=!1;c=Ga.autostart;void 0!==c&&(this.ea.vi="true"==c?!0:"false"==c?!1:null);this.ea.hh=!1;this.S.xh=this.S.zf=0;this.S.yh=a.csStart;this.S.dg=a.csInterval;this.S.eg=a.csStop;var e=this;this.uo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype;
k.zc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.vi||null===a.ea.vi&&void 0===a.ma.run)&&lc(a)}k.Ok=function(){return 0};
function nc(a){void 0===a.S.yh&&(a.S.yh=0);void 0===a.S.dg&&(a.S.dg=-1);void 0===a.S.eg&&(a.S.eg=-1);a.ea.hh=0<=a.S.yh&&0<a.S.dg;a.ea.hh&&(a.S.xh=0,a.S.zf=a.S.yh-a.Oe)}function x(a,b,c,d){a.ma[b]&&(void 0===d&&(d=4),void 0===c&&(Wa(a,"Register "+b+" is invalid"),rc(a)),c=!a.ea.Ib||a.ea.Dk?da(c,d):"----".substr(0,d),a.ma[b].textContent!=c&&(a.ma[b].textContent=c))}k.Gd=function(){this.ya&&this.ya.Dd&&this.ya.Dd.Gd()};
function pc(a){a.video&&sc(a.video);if(a.ya&&a.ya.Dd&&(a=a.ya.Dd,a.an)){ib(a,18,a.Tf,a.Mm,a.canvas.style.color);if(a.Jq){var b=a.ka,c=a.Oa,d,e;null==d&&(d=0);null==e&&(e=b.bi-d|0);null==c&&(c={li:0,Rf:0,Xh:Array(b.Qf)});var f=d>>>b.jb;d=d+e-1>>>b.jb;c.li=0;for(c.Rf=0;f<=d;){e=b.sa[f];c.li+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Xh[c.Rf++]=g}f++}a.Oa=c;a.fm=a.Oa.Rf*a.ka.Hb/691200;e=0;a.Oa.ii=0;a.Oa.bf||(a.Oa.bf=[]);d=-1;for(var g=0,h=-1,b=0;b<a.Oa.Rf;b++){f=a.Oa.Xh[b];c=f>>>28;f&=eb;if(c!=d||f!=
h+1){if(h=b-g)d=a.Oa.bf[a.Oa.ii++]=g|h<<fb|d<<28,e+=d;d=c;g=b}h=f}b=a.Oa.bf[a.Oa.ii++]=g|b-g<<fb|d<<28;e+=b;b=a.Oa.Km!=e;a.Oa.Km=e;if(b){c=new $a(0,0,a.Tf.width,a.Tf.height);a.Oa.af=[];f=a.Oa.Rf;for(b=0;b<a.Oa.ii;b++)d=a.Oa.bf[b]>>fb&gb,a.Oa.af.push(ab(c,d,f,0==b)),f-=d;for(b=0;b<a.Oa.af.length;b++){f=a.Oa.bf[b];c=f>>28&7;f=f>>fb&gb;d=e=a.Oa.af[b];g=a.Mm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Gc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc,
d.Gc);d=a;g=e;d.ph=d.Nk;d.tf=d.Pk;e=g.x+(g.xc>>1);var h=g.y+(g.Gc>>1),r=g.Gc;g.xc<g.Gc&&(r=g.xc,d.Lk=!0,d.ed.save(),d.ed.translate(e,h),d.ed.rotate(-Math.PI/2),e=h=0);r<d.tf&&(d.tf=r,d.ph=d.tf+"px Monaco, Lucida Console, Courier New");g=h;d.Oc=e;d.Ye=g;d=a;c=Vb[c]+" ("+(f*a.ka.Hb/1024|0)+"Kb)";d.ed.font=d.ph;d.Oc-=d.ed.measureText(c).width>>1;d.Ye+=(d.tf>>1)-2;u(d,c);d.Lk&&(d.ed.restore(),d.Lk=!1)}}}else u(a,"This space intentionally left blank");a.bh.drawImage(a.Tf,0,0,a.Tf.width,a.Tf.height,a.fr,
a.ir,a.Bq,a.Eq);a.an=!1}}k.od=function(){this.video&&this.video.od()};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ea.pf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ea.Zb);c++);c==h.length&&(b=a);m("The "+b.type+" component ("+b.id+") is not "+(b.ea.pf?"powered yet":"ready yet"+(b.oh?" (waiting for notification)":""))+".");a=!1}a&&(d.ea.Ib?rc(d,!0):lc(d,!0))};a=!0;break;case "reset":this.ma[b]=c;c.onclick=
function(){d.ya&&tc(d.ya)};a=!0;break;case "speed":this.ma[b]=c;a=!0;break;case "setSpeed":this.ma[b]=c,c.onclick=function(){uc(d,d.S.be<<1,!0)},c.textContent=this.S.Ke.toFixed(2)+"Mhz",a=!0}return a};function vc(a,b){if(a.ea.Ib){var c=a.A-b;a.A-=c;a.hd-=c}}function wc(a,b,c){a.Oe+=b;c&&(a.hd=a.A=0)}
function xc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.S.be&&a.S.$d&&(d=a.S.$d/a.S.th);a.S.Xk=Math.round(1E3/30);a.S.no=Math.floor(a.S.jd/c*d);a.S.Vi=Math.floor(a.S.jd/30*d);a.S.al=Math.floor(a.S.jd/60*d);a.S.$k=Math.floor(a.S.jd/2*d);b||(a.S.hg=a.S.Vi,a.S.gg=a.S.al,a.S.fg=a.S.$k);a.S.Wi=0}function yc(a,b){var c=a.Oe+a.fe+a.hd-a.A;b&&1<a.S.be&&a.S.$d>a.S.th&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Oe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)}
function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Ke&&(b=1);a.S.be=b;b=a.S.th*a.S.be;if(a.S.Ke!=b){a.S.Ke=b;b=a.S.Ke.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.xf=ka();a.S.Le=0;xc(a)}
function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.xf,yc(a));a.ea.Ib=!0;a.ea.Kk=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Wi>=a.S.jd&&xc(a,!0);a.S.ig=0;a.S.vh=ka();a.S.Le&&(c=a.S.vh-a.S.Le,c>a.S.Xk&&(a.S.xf+=c,a.S.xf>a.S.vh&&(a.S.xf=a.S.vh)));try{do{var d=a.ea.hh?1:a.S.no;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.Ge){var g=(yc(e.U,e.Xd)-f.Bd)/e.Fh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Fh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t=
a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Bf-yc(t.U,t.Xd);0<B&&c>B&&(c=B)}d=c}a.tm(d);var I=a.hd-a.A;a.fe+=I;a.S.ig+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.hh){var L=!1;c.S.xh=c.S.xh+c.Ok()|0;c.S.zf-=H;0>=c.S.zf&&(c.S.zf+=c.S.dg,L=!0);0<=c.S.eg&&c.S.eg<=yc(c)&&(c.S.dg=c.S.eg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.xh))}a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.al,pc(a));a.S.fg-=I;0>=a.S.fg&&(a.S.fg+=a.S.$k,a.Gd());a.S.hg-=I;if(0>=a.S.hg){a.S.hg+=a.S.Vi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a);
a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.uo;a.S.Le=ka();f=a.S.Xk;a.S.ig&&(f=Math.round(f*a.S.ig/a.S.Vi));f-=a.S.Le-a.S.vh;if(g=a.S.Le-a.S.xf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Oe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$d<a.S.Ke)f=0;a.S.Wi+=a.S.ig;a.S.Le+=f;d(e,f)}else pc(a),a.Gd(),a.ya&&a.ya.stop(ka(),yc(a))}k.tm=function(){return 0};
function rc(a,b){a.ea.Hc&&(a.ea.wi=!0);a.hd-=a.A;a.A=0;wc(a,a.fe);a.fe=0;if(a.ea.Ib){a.ea.Ib=!1;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Run")}a.ea.Zf=b}var q=-4,xb=1,wb=4,vb=16,ub=64,tb=128,sb=256,rb=512,qb=1024,pb=2048,Cc=sb|rb|qb,Dc=xb|wb|vb|ub|tb|pb,Ec=xb|wb|vb|ub|tb;
function Fc(a,b,c,d){this.U=a;this.Wa=a.Wa;this.id=b;this.Oh=c||"";this.ua=this.ta=0;this.$b=65535;this.ui=this.hb=0;this.Ld=q;this.pc=this.Va=0;this.nk=this.id==Gc?Array(32):[];this.xi=null;this.Bi=this.nh=!1;Hc(this,d)}var Gc=1;function Ic(a){this.ta=a;this.yc=this.Ng=2;this.fa=this.ha=65535;return this.ua=a<<4}function Jc(a,b){var c,d,e=this.U;a&4?(c=e.ke.ua,d=c+e.ke.$b):(c=e.Rc,d=e.ef);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Kc(this,c,a,b);b||Lc.call(e,13,a)}return q}
function Mc(a){var b=this.U;a=b.Sc+(a<<2);var c=b.ja(a);b.Aa&=~(sb|rb);return this.load(b.ja(a+2))+c}function Nc(a){var b=this.U;a<<=3;var c=b.Sc+a;if(c+7<=b.ff)return Kc(this,c,a)+b.Sj;Lc.call(b,13,a|3,!0);return q}function Oc(a){return this.ua+a|0}function Pc(a){return this.ua+a|0}function Qc(a,b,c){return a+b<=this.$b?this.ua+a:Rc.call(this,0,0,c)}function Sc(a,b,c){return a+b>this.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q}
Ab.prototype={constructor:Ab,parent:null,save:function(){var a,b;if(this.V)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.nf.getInt32(b<<2,!0);else a=this.ia;return a},restore:function(a){if(this.V)return null==a;if(a&&this.size==a.length<<2){var b;if(Xa)for(b=0;b<a.length;b++)this.nf.setInt32(b<<2,a[b],!0);else this.ia=a;return this.Ha=!0}return!1},le:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.Cb=c[0]||Xb;this.lm=c[1]||Xb;b&&(this.Sj=c[0]||Xb,this.wp=c[1]||
Xb);c=a;this.Fb=!this.Lk&&c[3]||Yb;this.Bm=!this.Lk&&c[4]||Yb;b&&(this.ak=c[3]||Yb,this.Ep=c[4]||Yb)}};
function kc(a,b){n.call(this,"CPU",a,kc);var c=a.cycles||b,d=a.multiplier||1;this.S={};this.S.jd=c;this.S.be=d;this.S.vh=Math.round(this.S.jd/1E4)/100;this.S.Le=this.S.vh*this.S.be;this.ea.Ib=!1;this.ea.Ok=!1;this.ea.xi=a.autoStart;this.ea.Hk=!1;c=Ga.autostart;void 0!==c&&(this.ea.xi="true"==c?!0:"false"==c?!1:null);this.ea.ih=!1;this.S.zh=this.S.Af=0;this.S.Ah=a.csStart;this.S.eg=a.csInterval;this.S.fg=a.csStop;var e=this;this.zo=function(){lc(e)};p(this)}La(n,kc);k=kc.prototype;
k.yc=function(a,b,c,d){this.ka=b;this.Wa=d;this.ya=a;this.video=bb(a,"Video");this.ca=bb(a,"ChipSet");p(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.bc=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.kc("No debugger detected")}pc(this);this.Gd();return!0};k.ac=function(a){return a&&this.save?this.save():!0};function qc(a){(!0===a.ea.xi||null===a.ea.xi&&void 0===a.ma.run)&&lc(a)}k.Sk=function(){return 0};
function nc(a){void 0===a.S.Ah&&(a.S.Ah=0);void 0===a.S.eg&&(a.S.eg=-1);void 0===a.S.fg&&(a.S.fg=-1);a.ea.ih=0<=a.S.Ah&&0<a.S.eg;a.ea.ih&&(a.S.zh=0,a.S.Af=a.S.Ah-a.Pe)}function x(a,b,c,d){a.ma[b]&&(void 0===d&&(d=4),void 0===c&&(Wa(a,"Register "+b+" is invalid"),rc(a)),c=!a.ea.Ib||a.ea.Hk?da(c,d):"----".substr(0,d),a.ma[b].textContent!=c&&(a.ma[b].textContent=c))}k.Gd=function(){this.ya&&this.ya.Dd&&this.ya.Dd.Gd()};
function pc(a){a.video&&sc(a.video);if(a.ya&&a.ya.Dd&&(a=a.ya.Dd,a.fn)){ib(a,18,a.Uf,a.Rm,a.canvas.style.color);if(a.Oq){var b=a.ka,c=a.Pa,d,e;null==d&&(d=0);null==e&&(e=b.di-d|0);null==c&&(c={ni:0,Sf:0,Zh:Array(b.Rf)});var f=d>>>b.jb;d=d+e-1>>>b.jb;c.ni=0;for(c.Sf=0;f<=d;){e=b.ta[f];c.ni+=e.size;if(e.size){var g=f,g=g|e.type<<28;c.Zh[c.Sf++]=g}f++}a.Pa=c;a.km=a.Pa.Sf*a.ka.Hb/691200;e=0;a.Pa.ki=0;a.Pa.cf||(a.Pa.cf=[]);d=-1;for(var g=0,h=-1,b=0;b<a.Pa.Sf;b++){f=a.Pa.Zh[b];c=f>>>28;f&=eb;if(c!=d||f!=
h+1){if(h=b-g)d=a.Pa.cf[a.Pa.ki++]=g|h<<fb|d<<28,e+=d;d=c;g=b}h=f}b=a.Pa.cf[a.Pa.ki++]=g|b-g<<fb|d<<28;e+=b;b=a.Pa.Pm!=e;a.Pa.Pm=e;if(b){c=new $a(0,0,a.Uf.width,a.Uf.height);a.Pa.bf=[];f=a.Pa.Sf;for(b=0;b<a.Pa.ki;b++)d=a.Pa.cf[b]>>fb&gb,a.Pa.bf.push(ab(c,d,f,0==b)),f-=d;for(b=0;b<a.Pa.bf.length;b++){f=a.Pa.cf[b];c=f>>28&7;f=f>>fb&gb;d=e=a.Pa.bf[b];g=a.Rm;(h=Wb[c])||(h=new Za);g.strokeStyle="black";g.strokeRect(d.x,d.y,d.xc,d.Fc);g.fillStyle="string"==typeof h?h:h.toString();g.fillRect(d.x,d.y,d.xc,
d.Fc);d=a;g=e;d.qh=d.Rk;d.uf=d.Uk;e=g.x+(g.xc>>1);var h=g.y+(g.Fc>>1),r=g.Fc;g.xc<g.Fc&&(r=g.xc,d.Pk=!0,d.dd.save(),d.dd.translate(e,h),d.dd.rotate(-Math.PI/2),e=h=0);r<d.uf&&(d.uf=r,d.qh=d.uf+"px Monaco, Lucida Console, Courier New");g=h;d.Nc=e;d.Ze=g;d=a;c=Vb[c]+" ("+(f*a.ka.Hb/1024|0)+"Kb)";d.dd.font=d.qh;d.Nc-=d.dd.measureText(c).width>>1;d.Ze+=(d.uf>>1)-2;u(d,c);d.Pk&&(d.dd.restore(),d.Pk=!1)}}}else u(a,"This space intentionally left blank");a.dh.drawImage(a.Uf,0,0,a.Uf.width,a.Uf.height,a.kr,
a.nr,a.Gq,a.Jq);a.fn=!1}}k.od=function(){this.video&&this.video.od()};
k.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.ma[b]=c;c.onclick=function(){var a;if(a=d.ya)if(a=d.ya,a.ea.Zb)a=!0;else{var b=null,c,h=Ma(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ea.qf);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ea.Zb);c++);c==h.length&&(b=a);m("The "+b.type+" component ("+b.id+") is not "+(b.ea.qf?"powered yet":"ready yet"+(b.ph?" (waiting for notification)":""))+".");a=!1}a&&(d.ea.Ib?rc(d,!0):lc(d,!0))};a=!0;break;case "reset":this.ma[b]=c;c.onclick=
function(){d.ya&&tc(d.ya)};a=!0;break;case "speed":this.ma[b]=c;a=!0;break;case "setSpeed":this.ma[b]=c,c.onclick=function(){uc(d,d.S.be<<1,!0)},c.textContent=this.S.Le.toFixed(2)+"Mhz",a=!0}return a};function vc(a,b){if(a.ea.Ib){var c=a.A-b;a.A-=c;a.hd-=c}}function wc(a,b,c){a.Pe+=b;c&&(a.hd=a.A=0)}
function xc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.S.be&&a.S.$d&&(d=a.S.$d/a.S.vh);a.S.bl=Math.round(1E3/30);a.S.so=Math.floor(a.S.jd/c*d);a.S.Xi=Math.floor(a.S.jd/30*d);a.S.fl=Math.floor(a.S.jd/60*d);a.S.el=Math.floor(a.S.jd/2*d);b||(a.S.ig=a.S.Xi,a.S.hg=a.S.fl,a.S.gg=a.S.el);a.S.Yi=0}function yc(a,b){var c=a.Pe+a.fe+a.hd-a.A;b&&1<a.S.be&&a.S.$d>a.S.vh&&(c=Math.round(c/a.S.be));return c}function mc(a){a.S.$d=0;a.Pe=a.fe=a.hd=a.A=0;nc(a);uc(a,1)}
function lb(a){return a.ea.Ib&&a.S.$d?a.S.$d.toFixed(2)+"Mhz":"Stopped"}function uc(a,b,c){if(void 0!==b){.8>a.S.$d/a.S.Le&&(b=1);a.S.be=b;b=a.S.vh*a.S.be;if(a.S.Le!=b){a.S.Le=b;b=a.S.Le.toFixed(2)+"Mhz";var d=a.ma.setSpeed;d&&(d.textContent=b);a.kc("target speed: "+b)}c&&a.od()}wc(a,a.fe);a.fe=0;a.S.yf=ka();a.S.Me=0;xc(a)}
function lc(a,b){if(Ua(a,!0)){if(!a.ea.Ib){uc(a);a.ya&&a.ya.start(a.S.yf,yc(a));a.ea.Ib=!0;a.ea.Ok=!0;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Halt");a.Gd(!0);b&&a.od()}a.S.Yi>=a.S.jd&&xc(a,!0);a.S.jg=0;a.S.xh=ka();a.S.Me&&(c=a.S.xh-a.S.Me,c>a.S.bl&&(a.S.yf+=c,a.S.yf>a.S.xh&&(a.S.yf=a.S.xh)));try{do{var d=a.ea.ih?1:a.S.so;if(a.ca){Ac(a.ca);var e=a.ca,c=d,f=e.Lb[0];if(f.He){var g=(yc(e.U,e.Xd)-f.Bd)/e.Hh|0,h=Bc(e,0)-g;6==f.mode&&(h-=g);var r=h*e.Hh|0;6==f.mode&&(r>>=1);c>r&&(c=r)}var d=c,t=
a.ca,c=d;if(t.ba&&t.ba[11]&64){var B=t.Cf-yc(t.U,t.Xd);0<B&&c>B&&(c=B)}d=c}a.ym(d);var I=a.hd-a.A;a.fe+=I;a.S.jg+=I;wc(a,0,!0);var c=a,H=I;if(c.ea.ih){var L=!1;c.S.zh=c.S.zh+c.Sk()|0;c.S.Af-=H;0>=c.S.Af&&(c.S.Af+=c.S.eg,L=!0);0<=c.S.fg&&c.S.fg<=yc(c)&&(c.S.eg=c.S.fg=-1,nc(c),rc(c),L=!0);L&&c.kc(yc(c)+" cycles: checksum="+da(c.S.zh))}a.S.hg-=I;0>=a.S.hg&&(a.S.hg+=a.S.fl,pc(a));a.S.gg-=I;0>=a.S.gg&&(a.S.gg+=a.S.el,a.Gd());a.S.ig-=I;if(0>=a.S.ig){a.S.ig+=a.S.Xi;break}}while(a.ea.Ib)}catch(U){rc(a);pc(a);
a.Gd();a.ya&&a.ya.stop(ka(),yc(a));Ua(a,!1);Wa(a,U.message);return}d=setTimeout;e=a.zo;a.S.Me=ka();f=a.S.bl;a.S.jg&&(f=Math.round(f*a.S.jg/a.S.Xi));f-=a.S.Me-a.S.xh;if(g=a.S.Me-a.S.yf)a.S.$d=Math.round(a.fe/(10*g))/100,864E5<=g&&(a.Pe=0,a.ca&&Ac(a.ca,!0),uc(a));if(0>f||a.S.$d<a.S.Le)f=0;a.S.Yi+=a.S.jg;a.S.Me+=f;d(e,f)}else pc(a),a.Gd(),a.ya&&a.ya.stop(ka(),yc(a))}k.ym=function(){return 0};
function rc(a,b){a.ea.Gc&&(a.ea.yi=!0);a.hd-=a.A;a.A=0;wc(a,a.fe);a.fe=0;if(a.ea.Ib){a.ea.Ib=!1;a.ca&&zc(a.ca);var c=a.ma.run;c&&(c.textContent="Run")}a.ea.$f=b}var q=-4,xb=1,wb=4,vb=16,ub=64,tb=128,sb=256,rb=512,qb=1024,pb=2048,Cc=sb|rb|qb,Dc=xb|wb|vb|ub|tb|pb,Ec=xb|wb|vb|ub|tb;
function Fc(a,b,c,d){this.U=a;this.Wa=a.Wa;this.id=b;this.Qh=c||"";this.ua=this.sa=0;this.$b=65535;this.wi=this.hb=0;this.Ld=q;this.pc=this.Va=0;this.rk=this.id==Gc?Array(32):[];this.zi=null;this.Di=this.oh=!1;Hc(this,d)}var Gc=1;function Ic(a){this.sa=a;this.ed=this.se=2;this.ha=this.fa=65535;return this.ua=a<<4}function Jc(a,b){var c,d,e=this.U;a&4?(c=e.ke.ua,d=c+e.ke.$b):(c=e.Qc,d=e.ff);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Kc(this,c,a,b);b||Lc.call(e,13,a)}return q}
function Mc(a){var b=this.U;a=b.Rc+(a<<2);var c=b.ja(a);b.Aa&=~(sb|rb);return this.load(b.ja(a+2))+c}function Nc(a){var b=this.U;a<<=3;var c=b.Rc+a;if(c+7<=b.gf)return Kc(this,c,a)+b.Uj;Lc.call(b,13,a|3,!0);return q}function Oc(a){return this.ua+a|0}function Pc(a){return this.ua+a|0}function Qc(a,b,c){return a+b<=this.$b?this.ua+a:Rc.call(this,0,0,c)}function Sc(a,b,c){return a+b>this.$b?this.ua+a:Rc.call(this,0,0,c)}function Rc(a,b,c){c||Lc.call(this.U,13,0);return q}
function Tc(a,b,c){return a+b<=this.$b?this.ua+a:Uc.call(this,0,0,c)}function Vc(a,b,c){return a+b>this.$b?this.ua+a:Uc.call(this,0,0,c)}function Uc(a,b,c){c||Lc.call(this.U,13,0);return q}
function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.ta;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.ta);c.Ga(d+36,c.na.ta);c.Ga(d+38,c.ra.ta);c.Ga(d+
40,c.eb.ta);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va<e&&(h=(this.Va<<2)+2,d=h+2);Zc(c,c.ja(g+d),!0);y(c,c.ja(g+h));c.ke.load(c.ja(g+42));b&&c.Ga(g+0,f);c.lc|=8;return!0}function $c(a,b,c){var d=a.U,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.ta=c;a.ua=f;a.$b=d;a.hb=e&65280;a.type=e&7936;a.ui=0;a.Ld=b;Hc(a)}
function Kc(a,b,c,d){for(var e=a.U,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,r=e.ja(b+2)|(g&255)<<16,t=e.ja(b+6),B=c&65528;;){var I;if(a.id==Gc){a.nh=!1;var B=a.xi,H,L,U=c&3,ba=(g&24576)>>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.nh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,U<a.Va&&(U=a.Va);else if(1536==h)H=!0,L=~(16384|sb|rb),I=c|1;else if(1792==h)H=!0,L=~(16384|sb),I=c|1;else if(1280==h){if(!Wc.call(a,r&65535,!0)){r=q;break}return a.ua}if(H){b=
r&65535;if(U<=ba){d=a.Va;if(a.load(b,!0)==q){r=q;break}e.Sj=f;if(a.Va<d){if(!0!==B){r=q;break}H=w(e);f=0;for(g&=31;g--;)a.nk[f++]=ad(e,e.ra,H),H+=2;g=e.gb.ua;d=(a.Va<<2)+2;B=d+2;b=e.ra.ta;I=w(e);Zc(e,e.ja(g+B),!0);y(e,e.ja(g+d));z(e,b);for(z(e,I);f;)z(e,a.nk[--f]);a.nh=!0}e.Aa&=L;return a.ua}d||Lc.call(e,13,I,!0);r=q;break}else if(!1!==H){d||Lc.call(e,13,c,!0);r=q;break}}else if(2==a.id){if(B&&(4096>h||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d||
Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call(e,10,c,!0);r=q;break}}else if(6==a.id&&!(g&4096)&&768<h){r=q;break}a.ta=c;a.ua=r;a.$b=f;a.hb=g;a.type=h;a.ui=t;a.Ld=b;Hc(a);break}return r}Fc.prototype.save=function(){return[this.ta,this.ua,this.$b,this.hb,this.id,this.Oh,this.Va,this.pc,this.Ld]};
Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ta=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Oh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])};
function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Bi=!1;if(b){a.load=Jc;a.Vk=Nc;a.Fc=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Fc==Qc&&(a.Fc=Sc),a.hc==Tc&&(a.hc=Vc),a.Bi=!0)}a.Va=a.ta&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.ui&64)?(a.yc=2,a.fa=65535):(a.yc=4,a.fa=-1)}else a.load=Ic,a.Vk=Mc,a.Fc=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.yc=2,a.fa=65535;a.Ng=a.yc;a.ha=a.fa}
function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.ek=61442;this.Eg=Cc;this.Dg=4;this.Cf=255;this.B=80286<=this.za?cd:dd;this.Pa=ed.slice();this.Dm=hd.slice();this.Em=id.slice();this.hk=jd;80186<=this.za&&(this.Cf=31,this.Pa[15]=kd,this.Pa[96]=ld,this.Pa[97]=md,this.Pa[98]=nd,this.Pa[99]=kd,this.Pa[100]=kd,this.Pa[101]=kd,this.Pa[102]=kd,this.Pa[103]=kd,this.Pa[104]=od,this.Pa[105]=pd,this.Pa[106]=qd,
this.Pa[107]=rd,this.Pa[108]=sd,this.Pa[109]=td,this.Pa[110]=ud,this.Pa[111]=vd,this.Pa[192]=wd,this.Pa[193]=xd,this.Pa[200]=yd,this.Pa[201]=zd,this.Pa[241]=Ad,this.Dm[7]=Bd,this.Em[7]=Bd,80286<=this.za&&(this.ek=2,this.Eg|=28672,this.Dg=0,this.Pa[15]=Cd,this.Pa[99]=Dd,this.Pa[84]=Ed));this.Gg=[];this.gk=[];this.hd=this.Yg=0;this.ea.Zf=this.ea.Xm=!1;this.uk=0;this.sa=[];this.tb=this.jb=this.Ta=this.td=0;Fd(this)}La(kc,bd);
var dd={Lj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Me:4,cl:60,dl:83,Rb:3,qb:9,ic:16,Ch:1,hl:19,jl:28,ll:16,kl:21,il:37,fl:2,ej:9,gl:5,el:33,gj:10,fj:8,og:3,ng:15,zl:51,Al:1,Bl:2,Cl:4,yl:32,hj:15,El:15,Sb:16,Tb:4,Gl:11,Fl:18,Dl:24,Ab:4,Hl:2,ij:16,Il:17,nj:18,Jl:19,mj:5,oj:6,Ol:2,Nl:8,Ll:9,Ml:10,Kl:10,pj:10,qj:10,nl:80,pl:144,ml:86,ol:154,rl:101,tl:165,ql:107,sl:171,Ql:70,Sl:113,Pl:76,Rl:124,vl:80,xl:128,ul:86,wl:134,qg:3,pg:16,vj:10,uj:8,Tl:51,jc:8,Ul:17,Vl:36,rc:11,Wl:16,rg:10,ee:2,bj:18,cj:7,dj:15,jj:12,
kj:7,lj:11,rj:18,sj:7,tj:15,wj:15,xj:7,yj:13,Cj:11,Dj:7,Ej:8,Xl:8,$l:12,Yl:18,Zl:17,am:15,Aj:8,zj:20,Bj:2,Hj:3,sg:9,Gj:5,Fj:11,Jj:4,Ij:17,bm:11},cd={Lj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Me:3,cl:14,dl:16,Rb:2,qb:7,ic:7,Ch:0,hl:7,jl:13,ll:7,kl:11,il:16,fl:3,ej:6,gl:2,el:13,gj:5,fj:5,og:2,ng:7,zl:23,Al:0,Bl:1,Cl:3,yl:17,hj:7,El:11,Sb:7,Tb:3,Gl:7,Fl:11,Dl:15,Ab:2,Hl:3,ij:7,Il:8,nj:8,Jl:8,mj:4,oj:4,Ol:2,Nl:3,Ll:5,Ml:2,Kl:3,pj:5,qj:3,nl:14,pl:22,ml:17,ol:25,rl:17,tl:25,ql:20,sl:28,Ql:13,Sl:21,Pl:16,Rl:24,
vl:13,xl:21,ul:16,wl:24,qg:2,pg:7,vj:5,uj:5,Tl:19,jc:5,Ul:5,Vl:17,rc:3,Wl:5,rg:3,ee:0,bj:8,cj:5,dj:9,jj:5,kj:5,lj:4,rj:5,sj:5,tj:4,wj:7,xj:5,yj:8,Cj:3,Dj:4,Ej:3,Xl:11,$l:11,Yl:15,Zl:15,am:7,Aj:5,zj:8,Bj:0,Hj:2,sg:6,Gj:3,Fj:6,Jj:3,Ij:5,bm:5};k=bd.prototype;k.Oi=function(a,b,c,d){this.sa=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Fd(this);mc(this);this.ea.fd=!1};
function Fd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.yg=-1;a.Sg=0;a.lc=65520;a.Sc=0;a.ff=1023;a.Af=0;a.Bh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.rm=new Fc(a,0,"NULL");a.fb=a.eb;a.Nc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;a.yc=a.na.yc;a.fa=a.na.fa;a.Ng=a.na.Ng;a.ha=a.na.ha;Yc(a,0,65535);if(80286<=a.za){a.Rc=0;a.ef=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb=new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=
v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.xg=b+a.na.$b}Xc(a,0);Gd(a);a.Fm=[];a.Fm[2]={Lq:a.ja.bind(a),$q:a.Ga.bind(a)};a.ad=A;a.$c=Hd;a.re=Id;a.sb=C;a.Bc=Jd;a.Qc=Kd}k.Ok=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.ta+this.eb.ta+this.ra.ta+this.Na.ta+ob(this)|0};function Ld(a,b,c,d){void 0!==d&&(void 0===a.Gg[b]&&(a.Gg[b]=[]),a.Gg[b].push([c,d]))}
function Md(a,b){var c=a.gk[b];null!=c&&(c(--a.Yg),delete a.gk[b])}function Gd(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.hk=b?Nd:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)}
k.save=function(){var a=new Od(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Af]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Rc?[this.lc,this.Rc,this.ef,this.Sc,this.ff,this.ke.save(),this.gb.save(),this.Af]:null,ob(this)]);a.set(2,[this.fb.Oh,this.Nc.Oh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Oe,this.S.be]);a.set(4,Hb(this.ka));return a.data()};
k.restore=function(a){var b;b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Af=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Rc=d[1],this.ef=d[2],this.Sc=d[3],this.ff=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Af=d[7],Gd(this));Xc(this,b[6]);D(this,b[0]);y(this,c);Zc(this,this.ra.ta);b=a[2];this.fb=null!=b[0]&&Pd(this,b[0])||this.eb;
this.Nc=null!=b[1]&&Pd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Oe=b[1];uc(this,b[2]);a:{b=this.ka;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.tk){for(var f=0,g=Array(b.tk),h=0;h<e.length-1;)for(var r=e[h++],t=e[h++];r--;)g[f++]=t;e=g}f=b.sa[d];if(!f||!f.restore(e)){m("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Bb(b,a[c]);b=!0}return b};
function Pd(a,b){switch(b){case "CS":return a.na;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.rm;default:return[0,b,0,0,""]}}function Qd(a,b){var c=v(a);a.la=a.na.load(b)+c;a.xg=a.na.ua+a.na.$b;a.Q|=a.Dg}function Rd(a,b){a.eb.load(b);a.Q|=a.Dg}function Zc(a,b,c){var d=w(a);a.Kc=a.ra.load(b)+d;a.ra.Bi?(a.im=a.ra.ua+a.ra.ha,a.jm=a.ra.ua+a.ra.$b):(a.im=a.ra.ua+a.ra.$b,a.jm=a.ra.ua);c||(a.Q|=4)}function Sd(a,b){a.Na.load(b);a.Q|=a.Dg}
function v(a){return a.la-a.na.ua}function D(a,b){a.la=a.na.ua+(b&65535)}function Yc(a,b,c,d){a.na.xi=d;a.Sj=b;b=a.na.load(c);return b!=q?(a.la=b+a.Sj,a.xg=b+a.na.$b,a.na.nh):null}function w(a){return a.Kc-a.ra.ua}function y(a,b){a.Kc=a.ra.ua+b}function Td(a){return a.P&a.T?xb:0}function Ud(a){a=a.V;return 27030>>((a^a>>4)&15)&1?0:wb}function Vd(a){return(a.V^a.da)&16?vb:0}function Wd(a){return a.P&a.T-1?0:ub}function Xd(a){return a.V&a.T>>1?tb:0}
function Yd(a){return(a.V^a.da^a.V>>1)&a.T>>1?pb:0}function Zd(a){a.P&=~a.T}function $d(a){a.da=a.V&16|a.da&-17}function ae(a){a.P|=a.T-1}function be(a){a.V&=~a.T;a.da=a.V&32896|a.da&-32897}function ce(a){a.P|=a.T}function de(a){a.da=~(a.V&16)&16|a.da&-17}function ee(a){a.P&=~(a.T-1)}function fe(a){Xd(a)||(a.V^=a.T>>1|a.T>>2,a.da^=32896)}function ge(a){a.V|=a.T;a.da=a.V&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Td(a)|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)}
function Xc(a,b,c){a.T=256;a.P=a.V=a.da=0;b&xb&&ce(a);b&wb||(a.V|=1);b&vb&&(a.da|=16);b&ub||ae(a);b&tb&&fe(a);b&pb&&ge(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Af=(b&12288)>>12;c>a.Af&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Eg|b&a.Eg|a.ek;a.Aa&sb&&(a.kb|=2,a.Q|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){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 "V":this.ma[b]=c;this.uk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.sa[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Lj;return b<this.Ta?this.sa[a].gm(b):this.sa[a].Cb(b)|this.sa[a+1&this.td].Cb(0)<<8};k.Se=function(a,b){this.sa[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Lj;c<this.Ta?this.sa[d].wm(c,b&65535):(this.sa[d++].Fb(c,b&255),this.sa[d&this.td].Fb(0,b>>8&255))};function he(a,b,c){a.Bg=b;a.aa=b.Fc(a.vg=c,0);return a.Q&1?0:a.qc(a.aa)}
function E(a,b){return he(a,a.fb,b&65535)}function F(a,b){return he(a,a.Nc,b&65535)}function ie(a,b,c){a.Bg=b;a.aa=b.Fc(a.vg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return ie(a,a.fb,b&65535)}function J(a,b){return ie(a,a.Nc,b&65535)}function je(a,b,c){a.Bg=b;a.Fa=a.aa=b.Fc(a.vg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return je(a,a.fb,b&65535)}function M(a,b){return je(a,a.Nc,b&65535)}function me(a,b,c){a.Bg=b;a.Fa=a.aa=b.Fc(a.vg=c,1);return a.Q&1?0:a.ja(a.aa)}
function N(a,b){return me(a,a.fb,b&65535)}function O(a,b){return me(a,a.Nc,b&65535)}function P(a,b){a.Q&2||a.Se(a.Bg.hc(a.vg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Bg.hc(a.vg,1),b)}function ad(a,b,c){return a.ja(b.Fc(c,1))}k.W=function(){var a=this.qc(this.la);++this.la>this.xg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.xg&&D(this,this.la-this.na.ua);return a&65535};
k.K=function(){var a=this.ja(this.la);this.la+=this.Ng;this.la>this.xg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Kc);this.Kc+=2;this.Kc>this.im&&y(this,this.Kc-this.ra.ua);return a};function z(a,b){a.Kc-=2;a.Kc<a.jm&&y(a,a.Kc-a.ra.ua);a.Ga(a.Kc,b)}
k.Gd=function(a){if(this.uk&&(a||!this.ea.Ib||this.ea.Dk)){x(this,"AX",this.G);x(this,"BX",this.C);x(this,"CX",this.I);x(this,"DX",this.J);x(this,"SP",w(this));x(this,"BP",this.H);x(this,"SI",this.F);x(this,"DI",this.D);x(this,"CS",this.na.ta);x(this,"DS",this.eb.ta);x(this,"SS",this.ra.ta);x(this,"ES",this.Na.ta);x(this,"IP",v(this));var b=ob(this);x(this,"PS",b);x(this,"V",b&pb?1:0,1);x(this,"D",b&qb?1:0,1);x(this,"I",b&rb?1:0,1);x(this,"T",b&sb?1:0,1);x(this,"S",b&tb?1:0,1);x(this,"Z",b&ub?1:0,
function Wc(a,b){var c=this.U,d=c.gb.ua,e=this.Va,f=c.gb.sa;if(!b){if(768!=c.gb.type)return Lc.call(c,10,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb&-769|256)}if(c.gb.load(a)==q)return!1;var g=c.gb.ua;if(b){if(768==c.gb.type)return Lc.call(c,13,a,!0),!1;c.Ga(c.gb.Ld+4,c.gb.hb|=768);c.gb.type=768}c.Ga(d+14,v(c));c.Ga(d+16,ob(c));c.Ga(d+18,c.G);c.Ga(d+20,c.I);c.Ga(d+22,c.J);c.Ga(d+24,c.C);c.Ga(d+26,w(c));c.Ga(d+28,c.H);c.Ga(d+30,c.F);c.Ga(d+32,c.D);c.Ga(d+34,c.Na.sa);c.Ga(d+36,c.na.sa);c.Ga(d+38,c.ra.sa);c.Ga(d+
40,c.eb.sa);var d=38,h=26;Xc(c,c.ja(g+16)|(b?16384:0));c.G=c.ja(g+18);c.I=c.ja(g+20);c.J=c.ja(g+22);c.C=c.ja(g+24);c.H=c.ja(g+28);c.F=c.ja(g+30);c.D=c.ja(g+32);c.Na.load(c.ja(g+34));c.eb.load(c.ja(g+40));Yc(c,c.ja(g+14),c.ja(g+36));this.Va<e&&(h=(this.Va<<2)+2,d=h+2);Zc(c,c.ja(g+d),!0);y(c,c.ja(g+h));c.ke.load(c.ja(g+42));b&&c.Ga(g+0,f);c.lc|=8;return!0}function $c(a,b,c){var d=a.U,e=d.ja(b+2),f=d.ja(b)|(e&255)<<16,d=d.ja(b+4);a.sa=c;a.ua=f;a.$b=d;a.hb=e&65280;a.type=e&7936;a.wi=0;a.Ld=b;Hc(a)}
function Kc(a,b,c,d){for(var e=a.U,f=e.ja(b+0),g=e.ja(b+4),h=g&7936,r=e.ja(b+2)|(g&255)<<16,t=e.ja(b+6),B=c&65528;;){var I;if(a.id==Gc){a.oh=!1;var B=a.zi,H,L,U=c&3,ba=(g&24576)>>13;if(6144<=h){U=c&3;if(U>a.Va){if(!1!==B&&!(ba==a.Va||g&1024&&ba<=a.Va)){r=q;break}H=e.Ea();Zc(e,e.Ea(),!0);y(e,H);a.oh=!0}H=!1}else if(1024==h)H=!0,L=-1,I=c,U<a.Va&&(U=a.Va);else if(1536==h)H=!0,L=~(16384|sb|rb),I=c|1;else if(1792==h)H=!0,L=~(16384|sb),I=c|1;else if(1280==h){if(!Wc.call(a,r&65535,!0)){r=q;break}return a.ua}if(H){b=
r&65535;if(U<=ba){d=a.Va;if(a.load(b,!0)==q){r=q;break}e.Uj=f;if(a.Va<d){if(!0!==B){r=q;break}H=w(e);f=0;for(g&=31;g--;)a.rk[f++]=ad(e,e.ra,H),H+=2;g=e.gb.ua;d=(a.Va<<2)+2;B=d+2;b=e.ra.sa;I=w(e);Zc(e,e.ja(g+B),!0);y(e,e.ja(g+d));z(e,b);for(z(e,I);f;)z(e,a.rk[--f]);a.oh=!0}e.Aa&=L;return a.ua}d||Lc.call(e,13,I,!0);r=q;break}else if(!1!==H){d||Lc.call(e,13,c,!0);r=q;break}}else if(2==a.id){if(B&&(4096>h||2048==(h&2560))){d||Lc.call(e,13,c,!!g);r=q;break}}else if(3==a.id){if(!B||4096>h||2048==(h&2560)){d||
Lc.call(e,13,c,!0);r=q;break}}else if(4==a.id){if(!B||256!=h&&768!=h){d||Lc.call(e,10,c,!0);r=q;break}}else if(6==a.id&&!(g&4096)&&768<h){r=q;break}a.sa=c;a.ua=r;a.$b=f;a.hb=g;a.type=h;a.wi=t;a.Ld=b;Hc(a);break}return r}Fc.prototype.save=function(){return[this.sa,this.ua,this.$b,this.hb,this.id,this.Qh,this.Va,this.pc,this.Ld]};
Fc.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.sa=a[0],this.ua=a[1],this.$b=a[2],this.hb=a[3],this.id=a[4],this.Qh=a[5],this.Va=a[6],this.pc=a[7],this.Ld=a[8])};
function Hc(a,b){void 0===b&&(b=!!(a.U.lc&1));a.Di=!1;if(b){a.load=Jc;a.$k=Nc;a.Ec=Qc;a.hc=Tc;if(a.hb&4096){6144==(a.hb&6656)&&(a.hc=Rc);if(a.hb&2048||!(a.hb&512))a.hc=Uc;1024==(a.hb&3072)&&(a.Ec==Qc&&(a.Ec=Sc),a.hc==Tc&&(a.hc=Vc),a.Di=!0)}a.Va=a.sa&3;a.pc=(a.hb&24576)>>13;80386>a.U.za||!(a.wi&64)?(a.se=2,a.fa=65535):(a.se=4,a.fa=-1)}else a.load=Ic,a.$k=Mc,a.Ec=Oc,a.hc=Pc,a.$b=65535,a.Va=a.pc=0,a.Ld=q,a.se=2,a.fa=65535;a.ed=a.se;a.ha=a.fa}
function bd(a){this.za=a.model||8088;var b=0;switch(this.za){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}kc.call(this,a,b);this.gk=61442;this.Fg=Cc;this.Eg=4;this.Df=255;this.B=80286<=this.za?cd:dd;this.Oa=ed;this.jk=fd;this.kk=id;this.lk=jd;80186<=this.za&&(this.Oa=ed.slice(),this.jk=fd.slice(),this.kk=id.slice(),this.Df=31,this.Oa[15]=kd,this.Oa[96]=ld,this.Oa[97]=md,this.Oa[98]=nd,this.Oa[99]=kd,this.Oa[100]=kd,this.Oa[101]=kd,this.Oa[102]=kd,this.Oa[103]=kd,this.Oa[104]=od,
this.Oa[105]=pd,this.Oa[106]=qd,this.Oa[107]=rd,this.Oa[108]=sd,this.Oa[109]=td,this.Oa[110]=ud,this.Oa[111]=vd,this.Oa[192]=wd,this.Oa[193]=xd,this.Oa[200]=yd,this.Oa[201]=zd,this.Oa[241]=Ad,this.jk[7]=Bd,this.kk[7]=Bd,80286<=this.za&&(this.gk=2,this.Fg|=28672,this.Eg=0,this.Im=Cd,this.Oa[15]=Dd,this.Oa[99]=Ed,this.Oa[84]=Fd));this.Jm=[];this.Jm[2]={Qq:this.ja.bind(this),er:this.Ga.bind(this)};this.Hg=[];this.ik=[];this.hd=this.Zg=0;this.ea.$f=this.ea.bn=!1;this.yk=0;this.ta=[];this.tb=this.jb=this.Ta=
this.td=0;Gd(this)}La(kc,bd);
var dd={Nj:4,R:5,oa:6,Y:7,Z:8,M:9,N:11,O:12,Ne:4,hl:60,il:83,Rb:3,qb:9,ic:16,Eh:1,ml:19,ol:28,ql:16,pl:21,nl:37,kl:2,gj:9,ll:5,jl:33,ij:10,hj:8,pg:3,og:15,El:51,Fl:1,Gl:2,Hl:4,Dl:32,jj:15,Jl:15,Sb:16,Tb:4,Ll:11,Kl:18,Il:24,Ab:4,Ml:2,kj:16,Nl:17,pj:18,Ol:19,oj:5,qj:6,Tl:2,Sl:8,Ql:9,Rl:10,Pl:10,rj:10,sj:10,sl:80,ul:144,rl:86,tl:154,wl:101,yl:165,vl:107,xl:171,Vl:70,Xl:113,Ul:76,Wl:124,Al:80,Cl:128,zl:86,Bl:134,rg:3,qg:16,xj:10,wj:8,Yl:51,jc:8,Zl:17,$l:36,rc:11,am:16,sg:10,ee:2,dj:18,ej:7,fj:15,lj:12,
mj:7,nj:11,tj:18,uj:7,vj:15,yj:15,zj:7,Aj:13,Ej:11,Fj:7,Gj:8,bm:8,em:12,cm:18,dm:17,fm:15,Cj:8,Bj:20,Dj:2,Jj:3,tg:9,Ij:5,Hj:11,Lj:4,Kj:17,gm:11},cd={Nj:0,R:0,oa:0,Y:0,Z:0,M:0,N:1,O:1,Ne:3,hl:14,il:16,Rb:2,qb:7,ic:7,Eh:0,ml:7,ol:13,ql:7,pl:11,nl:16,kl:3,gj:6,ll:2,jl:13,ij:5,hj:5,pg:2,og:7,El:23,Fl:0,Gl:1,Hl:3,Dl:17,jj:7,Jl:11,Sb:7,Tb:3,Ll:7,Kl:11,Il:15,Ab:2,Ml:3,kj:7,Nl:8,pj:8,Ol:8,oj:4,qj:4,Tl:2,Sl:3,Ql:5,Rl:2,Pl:3,rj:5,sj:3,sl:14,ul:22,rl:17,tl:25,wl:17,yl:25,vl:20,xl:28,Vl:13,Xl:21,Ul:16,Wl:24,
Al:13,Cl:21,zl:16,Bl:24,rg:2,qg:7,xj:5,wj:5,Yl:19,jc:5,Zl:5,$l:17,rc:3,am:5,sg:3,ee:0,dj:8,ej:5,fj:9,lj:5,mj:5,nj:4,tj:5,uj:5,vj:4,yj:7,zj:5,Aj:8,Ej:3,Fj:4,Gj:3,bm:11,em:11,cm:15,dm:15,fm:7,Cj:5,Bj:8,Dj:0,Jj:2,tg:6,Ij:3,Hj:6,Lj:3,Kj:5,gm:5};k=bd.prototype;k.Qi=function(a,b,c,d){this.ta=a;this.jb=b;this.Ta=c;this.td=d};k.reset=function(){this.ea.Ib&&rc(this);Gd(this);mc(this);this.ea.fd=!1};
function Gd(a){a.G=0;a.C=0;a.I=0;a.J=0;a.H=0;a.F=0;a.D=0;a.Db=a.zg=-1;a.Tg=0;a.lc=65520;a.Rc=0;a.gf=1023;a.Bf=0;a.Dh=-1;a.na=new Fc(a,Gc,"CS");a.eb=new Fc(a,2,"DS");a.Na=new Fc(a,2,"ES");a.ra=new Fc(a,3,"SS");y(a,0);Zc(a,0);a.wm=new Fc(a,0,"NULL");a.fb=a.eb;a.Mc=a.ra;a.Q=a.xa=0;a.aa=a.Fa=q;a.kb=0;Yc(a,0,65535);a.se=a.na.se;a.fa=a.na.fa;a.$c=A;a.Zc=Hd;a.re=Id;a.sb=C;a.Ac=Jd;a.Pc=Kd;a.ed=a.na.ed;a.ha=a.na.ha;if(80286<=a.za){a.Qc=0;a.ff=65535;a.ke=new Fc(a,5,"LDT",!0);a.gb=new Fc(a,4,"TSS",!0);a.Jb=
new Fc(a,6,"VER",!0);Yc(a,65520,61440);var b,c=v(a);b=a.na;var d=-65536;80386>b.U.za&&(d&=16777215);b=b.ua=d;a.la=b+c;a.yg=b+a.na.$b}Xc(a,0);Ld(a)}k.Sk=function(){var a=this.G+this.C+this.I+this.J+w(this)+this.H+this.F+this.D|0;return a=a+v(this)+this.na.sa+this.eb.sa+this.ra.sa+this.Na.sa+ob(this)|0};function Md(a,b,c,d){void 0!==d&&(void 0===a.Hg[b]&&(a.Hg[b]=[]),a.Hg[b].push([c,d]))}function Nd(a,b){var c=a.ik[b];null!=c&&(c(--a.Zg),delete a.ik[b])}
function Ld(a,b){void 0===b&&(b=!!(a.lc&1));b||a.cc("returning to real-mode");a.lk=b?Od:jd;Hc(a.na,b);Hc(a.eb,b);Hc(a.ra,b);Hc(a.Na,b)}
k.save=function(){var a=new Pd(this);a.set(0,[this.G,this.C,this.I,this.J,w(this),this.H,this.F,this.D,this.Bf]);a.set(1,[v(this),this.na.save(),this.eb.save(),this.ra.save(),this.Na.save(),null!=this.Qc?[this.lc,this.Qc,this.ff,this.Rc,this.gf,this.ke.save(),this.gb.save(),this.Bf]:null,ob(this)]);a.set(2,[this.fb.Qh,this.Mc.Qh,this.Q,this.xa,this.kb,this.aa,this.Fa]);a.set(3,[0,this.Pe,this.S.be]);a.set(4,Hb(this.ka));return a.data()};
k.restore=function(a){var b=a[0];this.G=b[0];this.C=b[1];this.I=b[2];this.J=b[3];var c=b[4];this.H=b[5];this.F=b[6];this.D=b[7];this.Bf=b[8]||0;b=a[1];this.na.restore(b[1]);this.eb.restore(b[2]);this.ra.restore(b[3]);this.Na.restore(b[4]);var d=b[5];d&&d.length&&(this.lc=d[0],this.Qc=d[1],this.ff=d[2],this.Rc=d[3],this.gf=d[4],this.ke.restore(d[5]),this.gb.restore(d[6]),this.Bf=d[7],Ld(this));Xc(this,b[6]);Yc(this,b[0],this.na.sa);y(this,c);Zc(this,this.ra.sa);b=a[2];this.fb=null!=b[0]&&Qd(this,b[0])||
this.eb;this.Mc=null!=b[1]&&Qd(this,b[1])||this.ra;this.Q=b[2];this.xa=b[3];this.kb=b[4];this.aa=b[5];this.Fa=b[6];b=a[3];this.Pe=b[1];uc(this,b[2]);a:{b=this.ka;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.xk){for(var f=0,g=Array(b.xk),h=0;h<e.length-1;)for(var r=e[h++],t=e[h++];r--;)g[f++]=t;e=g}f=b.ta[d];if(!f||!f.restore(e)){m("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Bb(b,a[c]);b=!0}return b};
function Qd(a,b){switch(b){case "CS":return a.na;case "DS":return a.eb;case "SS":return a.ra;case "ES":return a.Na;case "NULL":return a.wm;default:return[0,b,0,0,""]}}function Rd(a,b){var c=v(a);a.la=a.na.load(b)+c;a.yg=a.na.ua+a.na.$b;a.Q|=a.Eg}function Sd(a,b){a.eb.load(b);a.Q|=a.Eg}function Zc(a,b,c){var d=w(a);a.Jc=a.ra.load(b)+d;a.ra.Di?(a.nm=a.ra.ua+a.ra.fa,a.om=a.ra.ua+a.ra.$b):(a.nm=a.ra.ua+a.ra.$b,a.om=a.ra.ua);c||(a.Q|=4)}function Td(a,b){a.Na.load(b);a.Q|=a.Eg}
function v(a){return a.la-a.na.ua}function D(a,b){a.la=a.na.ua+(b&65535)}function Yc(a,b,c,d){a.na.zi=d;a.Uj=b;b=a.na.load(c);return b!=q?(a.la=b+a.Uj,a.yg=b+a.na.$b,a.na.oh):null}function w(a){return a.Jc-a.ra.ua}function y(a,b){a.Jc=a.ra.ua+b}function Ud(a){return a.P&a.T?xb:0}function Vd(a){a=a.W;return 27030>>((a^a>>4)&15)&1?0:wb}function Wd(a){return(a.W^a.da)&16?vb:0}function Xd(a){return a.P&a.T-1?0:ub}function Yd(a){return a.W&a.T>>1?tb:0}
function Zd(a){return(a.W^a.da^a.W>>1)&a.T>>1?pb:0}function $d(a){a.P&=~a.T}function ae(a){a.da=a.W&16|a.da&-17}function be(a){a.P|=a.T-1}function ce(a){a.W&=~a.T;a.da=a.W&32896|a.da&-32897}function de(a){a.P|=a.T}function ee(a){a.da=~(a.W&16)&16|a.da&-17}function fe(a){a.P&=~(a.T-1)}function ge(a){Yd(a)||(a.W^=a.T>>1|a.T>>2,a.da^=32896)}function he(a){a.W|=a.T;a.da=a.W&32896|a.da&-32897}function ob(a){return a.Aa&~Dc|Ud(a)|Vd(a)|Wd(a)|Xd(a)|Yd(a)|Zd(a)}
function Xc(a,b,c){a.T=256;a.P=a.W=a.da=0;b&xb&&de(a);b&wb||(a.W|=1);b&vb&&(a.da|=16);b&ub||be(a);b&tb&&ge(a);b&pb&&he(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.na.Va);c?b=b&-12289|a.Aa&12288:a.Bf=(b&12288)>>12;c>a.Bf&&(b=b&~rb|a.Aa&rb);a.Aa=a.Aa&~a.Fg|b&a.Fg|a.gk;a.Aa&sb&&(a.kb|=2,a.Q|=4)}
k.Eb=function(a,b,c){var d=!1;switch(b){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 "V":this.ma[b]=c;this.yk++;d=!0;break;default:d=this.parent.Eb.call(this,a,b,c)}return d};k.qc=function(a){return this.ta[(a&this.tb)>>>this.jb].Cb(a&this.Ta)};
k.ja=function(a){var b=a&this.Ta;a=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;return b<this.Ta?this.ta[a].lm(b):this.ta[a].Cb(b)|this.ta[a+1&this.td].Cb(0)<<8};k.Te=function(a,b){this.ta[(a&this.tb)>>>this.jb].Fb(a&this.Ta,b&255)};k.Ga=function(a,b){var c=a&this.Ta,d=(a&this.tb)>>>this.jb;this.A-=this.B.Nj;c<this.Ta?this.ta[d].Bm(c,b&65535):(this.ta[d++].Fb(c,b&255),this.ta[d&this.td].Fb(0,b>>8&255))};function ie(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}
function E(a,b){return ie(a,a.fb,b&65535)}function F(a,b){return ie(a,a.Mc,b&65535)}function je(a,b,c){a.Cg=b;a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}function G(a,b){return je(a,a.fb,b&65535)}function J(a,b){return je(a,a.Mc,b&65535)}function ke(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,0);return a.Q&1?0:a.qc(a.aa)}function K(a,b){return ke(a,a.fb,b&65535)}function M(a,b){return ke(a,a.Mc,b&65535)}function le(a,b,c){a.Cg=b;a.Fa=a.aa=b.Ec(a.wg=c,1);return a.Q&1?0:a.ja(a.aa)}
function N(a,b){return le(a,a.fb,b&65535)}function O(a,b){return le(a,a.Mc,b&65535)}function P(a,b){a.Q&2||a.Te(a.Cg.hc(a.wg,0),b)}function Q(a,b){a.Q&2||a.Ga(a.Cg.hc(a.wg,1),b)}function ad(a,b,c){return a.ja(b.Ec(c,1))}k.X=function(){var a=this.qc(this.la);++this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.L=function(){var a=this.qc(this.la)<<24>>24;++this.la>this.yg&&D(this,this.la-this.na.ua);return a&65535};
k.K=function(){var a=this.ja(this.la);this.la+=this.se;this.la>this.yg&&D(this,this.la-this.na.ua);return a};k.Ea=function(){var a=this.ja(this.Jc);this.Jc+=2;this.Jc>this.nm&&y(this,this.Jc-this.ra.ua);return a};function z(a,b){a.Jc-=2;a.Jc<a.om&&y(a,a.Jc-a.ra.ua);a.Ga(a.Jc,b)}
k.Gd=function(a){if(this.yk&&(a||!this.ea.Ib||this.ea.Hk)){x(this,"AX",this.G);x(this,"BX",this.C);x(this,"CX",this.I);x(this,"DX",this.J);x(this,"SP",w(this));x(this,"BP",this.H);x(this,"SI",this.F);x(this,"DI",this.D);x(this,"CS",this.na.sa);x(this,"DS",this.eb.sa);x(this,"SS",this.ra.sa);x(this,"ES",this.Na.sa);x(this,"IP",v(this));var b=ob(this);x(this,"PS",b);x(this,"V",b&pb?1:0,1);x(this,"D",b&qb?1:0,1);x(this,"I",b&rb?1:0,1);x(this,"T",b&sb?1:0,1);x(this,"S",b&tb?1:0,1);x(this,"Z",b&ub?1:0,
1);x(this,"A",b&vb?1:0,1);x(this,"P",b&wb?1:0,1);x(this,"C",b&xb?1:0,1)}if(b=this.ma.speed)b.textContent=lb(this);this.parent.Gd.call(this,a)};
k.tm=function(a){this.ea.Zf=!0;this.ea.Xm=!1;this.ea.Kk=!1;this.hd=this.A=a;this.ca&&!a&&Ac(this.ca);a||(this.Q|=4);do{if(a=this.Q&240)this.xa|=a;else if(this.Bb=this.la,this.fb=this.eb,this.Nc=this.ra,this.aa=this.Fa=q,this.xa=this.Q&256,this.kb){a:{if(!(this.Q&4))if(this.kb&1&&this.Aa&rb){if(a=ne(this.ca),-1<=a&&(this.kb&=-2,0<=a)){this.kb&=-5;oe.call(this,a,null,11);break a}}else if(this.kb&2){this.kb&=-3;oe.call(this,1,null,11);break a}if(a=this.kb&8){a=this.ca;for(var b=!1,c=0;c<a.Ya;c++)for(var d=
a.Ya[c],e=0;e<d.vb.length;e++){var f=d.vb[e];f.Ad||(pe(a,f),f.Ad||(b=!0))}a=!b}a&&(this.kb&=-9)}if(this.kb&4){this.Q=this.A=0;break}}this.Q=0;this.Pa[this.W()].call(this)}while(0<this.A);return this.ea.Zf?this.hd-this.A:void 0===this.ea.Zf?0:-1};za(function(){for(var a=Ta(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new bd(d);Sa(d,c)}});function qe(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a+b)&255}
function re(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a|b)&255}function se(a,b){this.da=a^b;this.P=this.V=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function te(a,b){this.da=a^b;this.P=this.V=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}
function ue(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a&b)&255}function ve(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a-b)&255}function we(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a^b)&255}
function xe(a,b){this.da=a^b;this.T=256;this.P=this.V=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.ej:this.B.qb;this.Q|=2;return a}function ye(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a+b)&65535}function ze(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a|b)&65535}
function Ae(a,b){this.da=a^b;this.P=this.V=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Be(a,b){this.da=a^b;this.P=this.V=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a&b)&65535}
function De(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=a-b)&65535}function Ee(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.V=this.da=a^b)&65535}function Fe(a,b){this.da=a^b;this.T=65536;this.P=this.V=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.ej:this.B.qb;this.Q|=2;return a}function Ge(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?ge(this):be(this)}
function He(){this.A-=0>this.aa?2:this.B.am;return 1}function Ie(){var a=this.I&this.Cf;this.A-=(0>this.aa?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function Je(){var a=this.W();this.A-=(0>this.aa?this.B.Aj:this.B.zj)+(a<<this.B.Bj);return a}function Ke(){return null}function Le(a){Lc.call(this,13,0);return a}function Bd(a){kd.call(this);return a}function R(a){S.call(this);return a}
var Me=[qe,re,se,te,ue,ve,we,xe],Ne=[ye,ze,Ae,Be,Ce,De,Ee,Fe],Oe=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Ul;return b},Le,Le,Le,Le,Le,Le,Le],Pe=[function(a,b){this.A-=0>this.Fa?this.B.Ml:this.B.Kl;return b},R,R,R,R,R,R,R],Qe=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;Ge.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);Ge.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Cf)%9)?(d=a<<
d|(this.P&this.T?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;Ge.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Cf)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,Ge.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8<b?this.P=this.V=0:(this.P=this.V=a<<b)&255,this.da=0,this.T=256);return c},function(a,b){if(b){var c=8<b?0:a>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8<b&&(b=9);var c=
a<<24>>24>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Re=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;Ge.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);Ge.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Cf)%17)?(d=a<<d|(this.P&this.T?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;Ge.call(this,d,65536)}return c},
function(a,b){var c=a;b&&(c=(b&this.Cf)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,Ge.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16<b?this.P=this.V=0:(this.P=this.V=a<<b)&65535,this.da=0,this.T=65536);return c},function(a,b){if(b){var c=16<b?0:a>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.P=this.V=c>>1;this.P=c&1?this.P|65536:this.P&-65537;
this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Te=[function(a,b){b=this.W();this.P=this.V=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Gj:this.B.Fj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.qg:this.B.pg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.qg:this.B.pg;return(this.P=this.V=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.V=this.P;this.T=256;this.G&65280?(ce(this),ge(this)):(Zd(this),be(this));this.A-=
0>this.aa?this.B.Ql:this.B.Pl;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.V=b;this.T=256;127<b||-128>b?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.vl:this.B.ul;this.Q|=2;return a},function(a){if(!a)return Se.call(this),a;var b=this.G/a;if(255<b)return Se.call(this),a;this.Db=this.G=b&255|(this.G%a&255)<<8;this.V=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.nl:this.B.ml;this.Q|=2;return a},function(a){if(!a)return Se.call(this),
a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Se.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.V=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.rl:this.B.ql;this.Q|=2;return a}],Ue=[function(a,b){b=this.K();this.P=this.V=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Gj:this.B.Fj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.qg:this.B.pg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.qg:
this.B.pg;return(this.P=this.V=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.yg=this.J=this.P>>16&65535;this.da=this.V=this.P;this.T=65536;this.J?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.Sl:this.B.Rl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.yg=b>>16&65535;this.P=this.da=this.V=b;this.T=65536;32767<b||-32768>b?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?this.B.xl:this.B.wl;this.Q|=
2;return a},function(a,b){if(!a)return Se.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Se.call(this),a;this.Db=this.G=c&65535;this.yg=this.J=b%a&65535;this.V=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.pl:this.B.ol;this.Q|=2;return a},function(a,b){if(!a)return Se.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Se.call(this),a;this.Db=this.G=d&65535;this.yg=this.J=b%c&65535;this.V=this.da=this.P=
d|65536;this.T=65536;this.A-=0>this.aa?this.B.tl:this.B.sl;this.Q|=2;return a}],hd=[function(a){this.da=a;a=(this.V=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.og:this.B.ng;return a},function(a){this.da=a;a=(this.V=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.og:this.B.ng;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.V=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.og:this.B.ng;return a},
function(a){this.da=a;a=(this.V=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.og:this.B.ng;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ll:this.B.kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Ve.call(this,a,this.ja(this.aa+2));this.A-=this.B.il;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Gl:this.B.Fl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+
2));this.Yg&&Md(this,this.la);this.A-=this.B.Dl;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.Wl;this.Q|=2;return a},Le];function We(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Ol:this.B.Nl:this.B.Ll;return b}function Xe(){return We.call(this,0,this.Db)}function Ye(a,b){this.P=this.V=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Hj:this.B.sg:this.B.sg;this.Q|=2;return a}
function Ze(a,b){this.P=this.V=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Hj:this.B.sg:this.B.sg;this.Q|=2;return a}function $e(a,b){var c=(b<<16>>16)*(this.W()<<24>>24);this.P=this.da=this.V=c;this.T=256;32767<c||-32768>c?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?21:24;return c&65535}
function af(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.V=c;this.T=65536;32767<c||-32768>c?(ce(this),ge(this)):(Zd(this),be(this));this.A-=0>this.aa?21:24;return c&65535}function bf(a){return a}function cf(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Hl;return this.aa}function df(a,b){if(0>this.aa)return S.call(this),a;Rd(this,this.ja(this.aa+2));this.A-=this.B.ij;return b}
function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.ij;return b}function ff(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.el;if(b<c||b>d)D(this,this.Bb-this.na.ua),oe.call(this,5,null,0);this.Q|=2;return a}function gf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,ee(this),a;ae(this);return a}
function hf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return ee(this),this.Jb.hb&65280;ae(this);return a}function jf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return ee(this),this.Jb.$b;ae(this);return a}
function kf(a,b){if(0>this.aa){switch(this.Sg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Jj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Ij;return b}
function lf(a,b){if(0>this.aa){switch(this.Sg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Jj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Ij;return b}function mf(a){a|=this.lc&1;this.lc=this.lc&65520|a&-65521;this.lc&1&&Gd(this,!0)}function Ve(a,b){var c=this.na.ta,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}
function nf(a){var b=this.Ea(),c=this.Ea();(a<<=this.yc>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.ta&65528&&this.eb.pc<this.na.Va&&7168!=(this.eb.hb&7168)&&this.eb.load(0),this.Na.ta&65528&&this.Na.pc<this.na.Va&&7168!=(this.Na.hb&7168)&&this.Na.load(0));2==a&&this.Yg&&Md(this,this.la)}function oe(a,b,c){this.A-=this.B.zl+c;this.na.xi=!0;c=ob(this);var d=this.na.ta,e=v(this);a=this.na.Vk(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Bh=-1)}
function Se(){D(this,this.Bb-this.na.ua);oe.call(this,0,null,2)}function Lc(a,b,c){if(this.ea.Zf){var d=!1;if(80186<=this.za)if(0>this.Bh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Bh)b=0,a=8,d=!0;else{of.call(this,-1,0,c);Fd(this);return}of.call(this,a,b,c)&&(d=!1);d&&oe.call(this,this.Bh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)}
function of(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Nq(v(this),this.na.ta)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)}
k.ym=function(a){this.ea.$f=!0;this.ea.bn=!1;this.ea.Ok=!1;this.hd=this.A=a;this.ca&&!a&&Ac(this.ca);a||(this.Q|=4);do{if(a=this.Q&240)this.xa|=a;else if(this.Bb=this.la,this.fb=this.eb,this.Mc=this.ra,this.aa=this.Fa=q,this.xa=this.Q&256,this.kb){a:{if(!(this.Q&4))if(this.kb&1&&this.Aa&rb){if(a=me(this.ca),-1<=a&&(this.kb&=-2,0<=a)){this.kb&=-5;ne.call(this,a,null,11);break a}}else if(this.kb&2){this.kb&=-3;ne.call(this,1,null,11);break a}if(a=this.kb&8){a=this.ca;for(var b=!1,c=0;c<a.Ya;c++)for(var d=
a.Ya[c],e=0;e<d.vb.length;e++){var f=d.vb[e];f.Ad||(oe(a,f),f.Ad||(b=!0))}a=!b}a&&(this.kb&=-9)}if(this.kb&4){this.Q=this.A=0;break}}this.Q=0;this.Oa[this.X()].call(this)}while(0<this.A);return this.ea.$f?this.hd-this.A:void 0===this.ea.$f?0:-1};za(function(){for(var a=Ta(window.document,"pcjs","cpu"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new bd(d);Sa(d,c)}});function re(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&255}
function se(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&255}function te(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}function ue(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&255}
function ve(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&255}function we(a,b){this.da=a^b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&255}function xe(a,b){this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&255}
function ye(a,b){this.da=a^b;this.T=256;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function ze(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a+b)&65535}function Ae(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a|b)&65535}
function Be(a,b){this.da=a^b;this.P=this.W=a+b+(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function Ce(a,b){this.da=a^b;this.P=this.W=a-b-(this.P&this.T?1:0);this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return this.P&65535}function De(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a&b)&65535}
function Ee(a,b){this.da=a^b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=a-b)&65535}function Fe(a,b){this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.qb:this.B.ic;return(this.P=this.W=this.da=a^b)&65535}function Ge(a,b){this.da=a^b;this.T=65536;this.P=this.W=a-b;this.A-=0>this.Fa?0>this.aa?this.B.Rb:this.B.gj:this.B.qb;this.Q|=2;return a}function He(a,b){this.P=this.P&this.T-1|(a&b?this.T:0);(a^a>>1)&b>>1?he(this):ce(this)}
function Ie(){this.A-=0>this.aa?2:this.B.fm;return 1}function Je(){var a=this.I&this.Df;this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<<this.B.Dj);return a}function Ke(){var a=this.X();this.A-=(0>this.aa?this.B.Cj:this.B.Bj)+(a<<this.B.Dj);return a}function Le(){return null}function Me(a){Lc.call(this,13,0);return a}function Bd(a){kd.call(this);return a}function R(a){S.call(this);return a}
var Ne=[re,se,te,ue,ve,we,xe,ye],Oe=[ze,Ae,Be,Ce,De,Ee,Fe,Ge],Pe=[function(a,b){this.A-=0>this.Fa?this.B.jc:this.B.Zl;return b},Me,Me,Me,Me,Me,Me,Me],Qe=[function(a,b){this.A-=0>this.Fa?this.B.Rl:this.B.Pl;return b},R,R,R,R,R,R,R],Re=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<<e|a>>8-e)&255:d=a<<8;He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);He.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%9)?(d=a<<
d|(this.P&this.T?1:0)<<d-1|a>>9-d,c=d&255):d=a|(this.P&this.T?1:0)<<8;He.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Df)%9,c=a>>c|(this.P&this.T?1:0)<<8-c|a<<9-c,He.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8<b?this.P=this.W=0:(this.P=this.W=a<<b)&255,this.da=0,this.T=256);return c},function(a,b){if(b){var c=8<b?0:a>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255},R,function(a,b){if(b){8<b&&(b=9);var c=
a<<24>>24>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|256:this.P&-257;this.da=a^this.P;this.T=256;a=this.P}return a&255}],Se=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<<e|a>>16-e)&65535:d=a<<16;He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);He.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Df)%17)?(d=a<<d|(this.P&this.T?1:0)<<d-1|a>>17-d,c=d&65535):d=a|(this.P&this.T?1:0)<<16;He.call(this,d,65536)}return c},
function(a,b){var c=a;b&&(c=(b&this.Df)%17,c=a>>c|(this.P&this.T?1:0)<<16-c|a<<17-c,He.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16<b?this.P=this.W=0:(this.P=this.W=a<<b)&65535,this.da=0,this.T=65536);return c},function(a,b){if(b){var c=16<b?0:a>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;this.da=a^this.P;this.T=65536;a=this.P}return a&65535},R,function(a,b){if(b){16<b&&(b=17);var c=a<<16>>16>>b-1;this.P=this.W=c>>1;this.P=c&1?this.P|65536:this.P&-65537;
this.da=a^this.P;this.T=65536;a=this.P}return a&65535}],Ue=[function(a,b){b=this.X();this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^255},function(a,b){b=0;this.da=a^b;this.T=256;this.A-=0>this.aa?this.B.rg:this.B.qg;return(this.P=this.W=b-a)&255},function(a){this.G=this.Db=(this.P=(this.G&255)*a)&65535;this.da=this.W=this.P;this.T=256;this.G&65280?(de(this),he(this)):($d(this),ce(this));this.A-=
0>this.aa?this.B.Vl:this.B.Ul;this.Q|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Db=b&65535;this.P=this.da=this.W=b;this.T=256;127<b||-128>b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Al:this.B.zl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),a;var b=this.G/a;if(255<b)return Te.call(this),a;this.Db=this.G=b&255|(this.G%a&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.sl:this.B.rl;this.Q|=2;return a},function(a){if(!a)return Te.call(this),
a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Te.call(this),a;this.Db=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.W=this.da=this.P=b|256;this.T=256;this.A-=0>this.aa?this.B.wl:this.B.vl;this.Q|=2;return a}],Ve=[function(a,b){b=this.K();this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.aa?this.B.Ij:this.B.Hj;this.Q|=2;return a},R,function(a){this.A-=0>this.aa?this.B.rg:this.B.qg;return a^65535},function(a,b){b=0;this.da=a^b;this.T=65536;this.A-=0>this.aa?this.B.rg:
this.B.qg;return(this.P=this.W=b-a)&65535},function(a){this.Db=this.G=(this.P=this.G*a)&65535;this.zg=this.J=this.P>>16&65535;this.da=this.W=this.P;this.T=65536;this.J?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Xl:this.B.Wl;this.Q|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Db=b&65535;this.J=this.zg=b>>16&65535;this.P=this.da=this.W=b;this.T=65536;32767<b||-32768>b?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?this.B.Cl:this.B.Bl;this.Q|=
2;return a},function(a,b){if(!a)return Te.call(this),a;b=this.G+65536*this.J;var c=Math.floor(b/a);if(65536<=c)return Te.call(this),a;this.Db=this.G=c&65535;this.zg=this.J=b%a&65535;this.W=this.da=this.P=c|65536;this.T=65536;this.A-=0>this.aa?this.B.ul:this.B.tl;this.Q|=2;return a},function(a,b){if(!a)return Te.call(this),a;var c=a<<16>>16;b=this.J<<16|this.G;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Te.call(this),a;this.Db=this.G=d&65535;this.zg=this.J=b%c&65535;this.W=this.da=this.P=
d|65536;this.T=65536;this.A-=0>this.aa?this.B.yl:this.B.xl;this.Q|=2;return a}],fd=[function(a){this.da=a;a=(this.W=a+1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){this.da=a;a=(this.W=a-1)&255;this.P=a|(this.P&this.T?1:0)<<8;this.T=256;this.A-=0>this.aa?this.B.pg:this.B.og;return a},R,R,R,R,R,R],id=[function(a){this.da=a;a=(this.W=a+1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},
function(a){this.da=a;a=(this.W=a-1)&65535;this.P=a|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=0>this.aa?this.B.pg:this.B.og;return a},function(a){z(this,v(this));D(this,a);this.A-=0>this.aa?this.B.ql:this.B.pl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);We.call(this,a,this.ja(this.aa+2));this.A-=this.B.nl;this.Q|=2;return a},function(a){D(this,a);this.A-=0>this.aa?this.B.Ll:this.B.Kl;this.Q|=2;return a},function(a){if(0>this.aa)return R.call(this,a);Yc(this,a,this.ja(this.aa+
2));this.Zg&&Nd(this,this.la);this.A-=this.B.Il;this.Q|=2;return a},function(a){var b=a;this.Q&512&&(a=a-2&65535,80286>this.za&&(b=a));z(this,b);this.A-=0>this.aa?this.B.rc:this.B.am;this.Q|=2;return a},Me];function Xe(a,b){this.A-=0>this.Fa?0>this.aa?this.B.Tl:this.B.Sl:this.B.Ql;return b}function Ye(){return Xe.call(this,0,this.Db)}function Ze(a,b){this.P=this.W=this.da=a&b;this.T=256;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}
function $e(a,b){this.P=this.W=this.da=a&b;this.T=65536;this.A-=0>this.Fa?0>this.aa?this.B.Jj:this.B.tg:this.B.tg;this.Q|=2;return a}function af(a,b){var c=(b<<16>>16)*(this.X()<<24>>24);this.P=this.da=this.W=c;this.T=256;32767<c||-32768>c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}
function bf(a,b){var c=(b<<16>>16)*(this.K()<<16>>16);this.P=this.da=this.W=c;this.T=65536;32767<c||-32768>c?(de(this),he(this)):($d(this),ce(this));this.A-=0>this.aa?21:24;return c&65535}function cf(a){return a}function df(a){if(0>this.aa)return S.call(this),a;this.A-=this.B.Ml;return this.aa}function ef(a,b){if(0>this.aa)return S.call(this),a;Sd(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}
function ff(a,b){if(0>this.aa)return S.call(this),a;Td(this,this.ja(this.aa+2));this.A-=this.B.kj;return b}function gf(a){if(0>this.aa)return kd.call(this),a;var b=a<<16>>16,c=this.ja(this.aa)<<16>>16,d=this.ja(this.aa+2)<<16>>16;this.A-=this.B.jl;if(b<c||b>d)D(this,this.Bb-this.na.ua),ne.call(this,5,null,0);this.Q|=2;return a}function hf(a,b){this.A-=10+(0>this.aa?0:1);if((a&3)<(b&3))return a=a&-4|b&3,fe(this),a;be(this);return a}
function jf(a,b){this.A-=14+(0>this.aa?0:2);if(this.Jb.load(b,!0)!=q&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(b&3))return fe(this),this.Jb.hb&65280;be(this);return a}function kf(a,b){this.A-=14+(0>this.aa?0:2);if(b&65528&&this.Jb.load(b,!0)!=q&&(7168==(this.Jb.hb&7168)||this.Jb.pc>=this.na.Va)&&this.Jb.pc>=(b&3))return fe(this),this.Jb.$b;be(this);return a}
function lf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.J=this.J&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.I=this.I&255|a<<8;break;case 6:this.J=this.J&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Lj}else this.Fa=this.aa,P(this,a),this.A-=this.B.Kj;return b}
function mf(a,b){if(0>this.aa){switch(this.Tg&7){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.J=a;break;case 3:this.C=a;break;case 4:y(this,a);break;case 5:this.H=a;break;case 6:this.F=a;break;case 7:this.D=a}this.A-=this.B.Lj}else this.Fa=this.aa,Q(this,a),this.A-=this.B.Kj;return b}function nf(a){a=a|this.lc&1|65520;this.lc=this.lc&-65536|a&65535;this.lc&1&&Ld(this,!0)}function We(a,b){var c=this.na.sa,d=v(this);null!=Yc(this,a,b,!0)&&(z(this,c),z(this,d))}
function of(a){var b=this.Ea(),c=this.Ea();(a<<=this.ed>>2)&&y(this,w(this)+a);Yc(this,b,c,!1)&&(a&&y(this,w(this)+a),this.eb.sa&65528&&this.eb.pc<this.na.Va&&7168!=(this.eb.hb&7168)&&this.eb.load(0),this.Na.sa&65528&&this.Na.pc<this.na.Va&&7168!=(this.Na.hb&7168)&&this.Na.load(0));2==a&&this.Zg&&Nd(this,this.la)}function ne(a,b,c){this.A-=this.B.El+c;this.na.zi=!0;c=ob(this);var d=this.na.sa,e=v(this);a=this.na.$k(a);a!=q&&(this.la=a,z(this,c),z(this,d),z(this,e),null!=b&&z(this,b),this.Dh=-1)}
function Te(){D(this,this.Bb-this.na.ua);ne.call(this,0,null,2)}function Lc(a,b,c){if(this.ea.$f){var d=!1;if(80186<=this.za)if(0>this.Dh)D(this,this.Bb-this.na.ua),d=!0;else if(8!=this.Dh)b=0,a=8,d=!0;else{pf.call(this,-1,0,c);Gd(this);return}pf.call(this,a,b,c)&&(d=!1);d&&ne.call(this,this.Dh=a,b,0);this.Q&=-4}else this.cc("Fault "+ea(a)+" blocked by Debugger",536870912),D(this,this.Bb-this.na.ua)}
function pf(a,b,c){var d=32,e=yb(this.ka,this.la);204==e&&(c=!1,d|=1);983040<=this.la&&1048575>=this.la&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ea(a)+(null!=b?" ("+da(b,4)+")":"")+" on opcode 0x"+ea(e)+" at "+this.Wa.Sq(v(this),this.na.sa)+" (%"+da(this.la,6)+")",b=this.ea.Ib,this.cc(a,d)?c&&(c=b,rc(this.Wa)):(this.va(a),rc(this)));return c}function kd(){Lc.call(this,6);rc(this)}
function S(){D(this,this.Bb-this.na.ua);Wa(this,"Undefined opcode 0x"+ea(yb(this.ka,this.la))+" at 0x"+da(this.la));rc(this)}
var A=[function(a){a=a.call(this,this.G&255,E(this,this.C+this.F));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.C+this.D));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.F));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,F(this,this.H+this.D));this.G=this.G&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&255,E(this,this.F));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=
a.call(this,this.G&255,E(this,this.D));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,E(this,this.K()));this.G=this.G&-256|a;this.A-=this.B.oa},function(a){a=a.call(this,this.G&255,E(this,this.C));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.I&255,E(this,this.C+this.F));this.I=this.I&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.I&255,E(this,this.C+this.D));this.I=this.I&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.I&255,F(this,
@ -366,303 +367,306 @@ a[2].call(this,this.F,b.call(this))},function(a,b){this.D=a[2].call(this,this.D,
function(a,b){this.D=a[3].call(this,this.D,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){y(this,a[4].call(this,w(this),b.call(this)))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.D=a[4].call(this,
this.D,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.C=a[5].call(this,this.C,b.call(this))},function(a,b){y(this,a[5].call(this,w(this),b.call(this)))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.D=a[5].call(this,this.D,b.call(this))},function(a,b){this.G=
a[6].call(this,this.G,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))},function(a,b){y(this,a[6].call(this,w(this),b.call(this)))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.D=a[6].call(this,this.D,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},
function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Cd(){pf[this.W()].call(this)}
function Ed(){z(this,w(this)&this.fa);this.A-=this.B.rc}function ld(){var a=w(this)&this.fa;z(this,this.G&this.fa);z(this,this.I&this.fa);z(this,this.J&this.fa);z(this,this.C&this.fa);z(this,a);z(this,this.H&this.fa);z(this,this.F&this.fa);z(this,this.D&this.fa);this.A-=this.B.Vl}
function md(){this.D=this.D&~this.fa|this.Ea();this.F=this.F&~this.fa|this.Ea();this.H=this.H&~this.fa|this.Ea();y(this,w(this)+this.yc);this.C=this.C&~this.fa|this.Ea();this.J=this.J&~this.fa|this.Ea();this.I=this.I&~this.fa|this.Ea();this.G=this.G&~this.fa|this.Ea();this.A-=this.B.Tl}function nd(){this.sb[this.W()].call(this,ff)}function Dd(){this.Bc[this.W()].call(this,gf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.W()].call(this,af)}
function qd(){z(this,this.W());this.A-=this.B.rc}function rd(){this.sb[this.W()].call(this,$e)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Se(this.Na.hc(this.D&this.ha,0),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.ha,1),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Fc(this.F&this.ha,0));this.F=this.F&~this.ha|this.F+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}}
function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.ha);this.F=this.F&~this.ha|this.F+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function sf(){var a=this.L();Td(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Td(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Wd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Wd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Td(this)||Wd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}
function xf(){var a=this.L();Td(this)||Wd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Cf(){var a=this.L();!Xd(this)!=!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Xd(this)==!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Wd(this)||!Xd(this)!=!Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Wd(this)||!Xd(this)!=!Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Gf(){this.re[this.W()].call(this,Me,this.W);this.A-=0>this.Fa?1:this.B.Ch}function wd(){this.re[this.W()].call(this,Qe,Je)}function xd(){this.Qc[this.W()].call(this,Re,Je)}function Hf(){var a=this.K()<<(this.yc>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.$l}function If(){D(this,this.Ea());this.A-=this.B.Xl}
function yd(){var a=this.K(),b=this.W()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.ha;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H&~this.ra.ha|this.H-this.yc&this.ra.ha,z(this,ad(this,this.ra,this.H&this.ra.ha));z(this,c)}this.H=this.H&~this.ra.ha|c;y(this,w(this)&~this.ra.ha|w(this)-a&this.ra.ha)}function zd(){y(this,w(this)&~this.ra.ha|this.H&this.ra.ha);this.H=this.H&~this.fa|this.Ea()&this.fa;this.A-=5}function Jf(){nf.call(this,this.K());this.A-=this.B.Zl}
function Kf(){nf.call(this,0);this.A-=this.B.Yl}function Lf(){this.sb[this.W()].call(this,bf);this.A-=8}function Mf(){this.Q|=36;this.A-=this.B.ee}function Ad(){S.call(this)}
var ed=[function(){var a=this.W();this.$c[a].call(this,qe)},function(){this.Bc[this.W()].call(this,ye)},function(){this.ad[this.W()].call(this,qe)},function(){this.sb[this.W()].call(this,ye)},function(){this.G=this.G&-256|qe.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|ye.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.Na.ta);this.A-=this.B.rg},function(){Sd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,re)},function(){this.Bc[this.W()].call(this,
ze)},function(){this.ad[this.W()].call(this,re)},function(){this.sb[this.W()].call(this,ze)},function(){this.G=this.G&-256|re.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|ze.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.na.ta);this.A-=this.B.rg},function(){Qd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,se)},function(){this.Bc[this.W()].call(this,Ae)},function(){this.ad[this.W()].call(this,se)},function(){this.sb[this.W()].call(this,
Ae)},function(){this.G=this.G&-256|se.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ae.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.ra.ta);this.A-=this.B.rg},function(){Zc(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,te)},function(){this.Bc[this.W()].call(this,Be)},function(){this.ad[this.W()].call(this,te)},function(){this.sb[this.W()].call(this,Be)},function(){this.G=this.G&-256|te.call(this,this.G&255,this.W());this.A--},
function(){this.G=this.G&~this.fa|Be.call(this,this.G&this.fa,this.K());this.A--},function(){z(this,this.eb.ta);this.A-=this.B.rg},function(){Rd(this,this.Ea());this.A-=this.B.jc},function(){this.$c[this.W()].call(this,ue)},function(){this.Bc[this.W()].call(this,Ce)},function(){this.ad[this.W()].call(this,ue)},function(){this.sb[this.W()].call(this,Ce)},function(){this.G=this.G&-256|ue.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ce.call(this,this.G&this.fa,this.K());
this.A--},function(){this.Q|=20;this.fb=this.Nc=this.Na;this.A-=this.B.ee},function(){var a=this.G&255,b=Vd(this),c=this.P&this.T;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|(this.P=this.V=a&255);this.T=65536;c&&(this.P|=this.T);b?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,ve)},function(){this.Bc[this.W()].call(this,De)},function(){this.ad[this.W()].call(this,ve)},function(){this.sb[this.W()].call(this,De)},function(){this.G=this.G&-256|ve.call(this,
this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|De.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.na;this.A-=this.B.ee},function(){var a=this.G&255,b=Vd(this),c=this.P&this.T;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.P=this.V=a&255);this.T=65536;c&&(this.P|=this.T);b?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,we)},function(){this.Bc[this.W()].call(this,Ee)},function(){this.ad[this.W()].call(this,
we)},function(){this.sb[this.W()].call(this,Ee)},function(){this.G=this.G&-256|we.call(this,this.G&255,this.W());this.A--},function(){this.G=this.G&~this.fa|Ee.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.ra;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Vd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?de(this):$d(this);this.A-=this.B.Me},function(){this.$c[this.W()].call(this,
xe)},function(){this.Bc[this.W()].call(this,Fe)},function(){this.ad[this.W()].call(this,xe)},function(){this.sb[this.W()].call(this,Fe)},function(){xe.call(this,this.G&255,this.W());this.A--},function(){Fe.call(this,this.G&this.fa,this.K());this.A--},function(){this.Q|=20;this.fb=this.Nc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Vd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?de(this):$d(this);
this.A-=this.B.Me},function(){this.V=(this.da=this.G)+1;this.G=this.V&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.I)+1;this.I=this.V&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.J)+1;this.J=this.V&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.C)+1;this.C=this.V&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;
this.V=(this.da=w(this))+1;y(this,a=this.da&~this.fa|this.V&this.fa);this.P=(a&this.fa)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.H)+1;this.H=this.V&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.F)+1;this.F=this.V&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.D)+1;this.D=this.V&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=
2},function(){this.V=(this.da=this.G)-1;this.G=this.V&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.I)-1;this.I=this.V&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.J)-1;this.J=this.V&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.C)-1;this.C=this.V&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.V=
(this.da=w(this))-1;y(this,a=this.da&~this.fa|this.V&this.fa);this.P=(a&this.fa)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.H)-1;this.H=this.V&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.F)-1;this.F=this.V&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.V=(this.da=this.D)-1;this.D=this.V&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this,
this.G&this.fa);this.A-=this.B.rc},function(){z(this,this.I&this.fa);this.A-=this.B.rc},function(){z(this,this.J&this.fa);this.A-=this.B.rc},function(){z(this,this.C&this.fa);this.A-=this.B.rc},function(){z(this,w(this)-this.yc&this.fa);this.A-=this.B.rc},function(){z(this,this.H&this.fa);this.A-=this.B.rc},function(){z(this,this.F&this.fa);this.A-=this.B.rc},function(){z(this,this.D&this.fa);this.A-=this.B.rc},function(){this.G=this.G&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.I=this.I&
~this.fa|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.fa|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.fa|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.fa|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.fa|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,
Cf,Df,Ef,Ff,Gf,function(){this.Qc[this.W()].call(this,Ne,this.K);this.A-=0>this.Fa?1:this.B.Ch},Gf,function(){this.Qc[this.W()].call(this,Ne,this.L);this.A-=0>this.Fa?1:this.B.Ch},function(){this.$c[this.W()].call(this,Ye)},function(){this.Bc[this.W()].call(this,Ze)},function(){this.ad[this.Sg=this.W()].call(this,kf)},function(){this.sb[this.Sg=this.W()].call(this,lf)},function(){this.Q|=1;this.$c[this.W()].call(this,We)},function(){this.Q|=1;this.Bc[this.W()].call(this,We)},function(){this.ad[this.W()].call(this,
We)},function(){this.sb[this.W()].call(this,We)},function(){var a=this.W();switch((a&56)>>3){case 0:this.Db=this.Na.ta;break;case 1:this.Db=this.na.ta;break;case 2:this.Db=this.ra.ta;break;case 3:this.Db=this.eb.ta;break;default:S.call(this);return}this.Q|=1;this.Bc[a].call(this,Xe)},function(){this.Q|=1;this.fb=this.Nc=this.rm;this.sb[this.W()].call(this,cf)},function(){var a,b=this.W(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za||
80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,We);switch(c){case 0:Sd(this,this.G);this.G=a;break;case 1:Qd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Rd(this,this.C);this.C=a;break;case 4:Sd(this,w(this));y(this,a);break;case 5:Qd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Rd(this,this.D),this.D=a}},
function(){this.Q|=1;this.Qc[this.W()].call(this,Oe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=
2==this.yc?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.yc?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.gl},function(){Ve.call(this,this.K(),this.K());this.A-=this.B.jl},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?ce(this):Zd(this);a&wb?Ud(this)||(this.V^=1):Ud(this)&&(this.V^=1);a&vb?de(this):
$d(this);a&ub?ee(this):ae(this);a&tb?fe(this):Xd(this)&&(this.V^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Fc(b,0));this.G=a|b;this.A-=this.B.pj},function(){this.G=this.G&~this.fa|ad(this,this.fb,this.K());this.A-=this.B.pj},function(){var a=this.K(),b=this.G;this.Se(this.fb.hc(a,0),b);this.A-=this.B.qj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),
b);this.A-=this.B.qj},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.I,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Fc(this.F,0));this.Se(this.Na.hc(this.D&this.ha,0),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.rj;this.xa&192&&(a=this.I,b=1,c=this.B.tj,this.xa&256||(this.A-=this.B.sj));if(a--){var d=this.Aa&qb?-2:
2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.ha,1),e);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.I,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.Aa&qb?-1:1,e=he(this,this.fb,this.F&this.ha),f=je(this,this.Na,this.D&this.ha);xe.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;
this.A-=c-this.B.qb;this.I-=b;a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.bj;this.xa&192&&(a=this.I,b=1,c=this.B.dj,this.xa&256||(this.A-=this.B.cj));if(a--){var d=this.Aa&qb?-2:2,e=ie(this,this.fb,this.F&this.ha),f=me(this,this.Na,this.D&this.ha);Fe.call(this,e,f);this.F=this.F&~this.ha|this.F+d&this.ha;this.D=this.D&~this.ha|this.D+d&this.ha;this.A-=c-this.B.qb;this.I-=b;a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.V=
this.da=this.G&this.W();this.T=256;this.A-=this.B.Me},function(){this.P=this.V=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Me},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.I,b=1,c=this.B.Ej,this.xa&256||(this.A-=this.B.Dj));if(a--){var d=this.G;this.Se(this.Na.hc(this.D&this.ha,0),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Cj;this.xa&192&&(a=this.I,b=1,c=this.B.Ej,this.xa&256||
(this.A-=this.B.Dj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.ha,1),d);this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.jj;this.xa&192&&(a=this.I,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.G=this.G&-256|this.qc(this.fb.Fc(this.F&this.ha,0)),this.F=this.F&~this.ha|this.F+(this.Aa&qb?-1:1)&this.ha,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.jj;
this.xa&192&&(a=this.I,b=1,c=this.B.lj,this.xa&256||(this.A-=this.B.kj));a--&&(this.G=ad(this,this.fb,this.F&this.ha),this.F=this.F&~this.ha|this.F+(this.Aa&qb?-2:2)&this.ha,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.I,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(xe.call(this,this.G&255,je(this,this.Na,this.D&this.ha)),this.D=this.D&~this.ha|this.D+(this.Aa&qb?-1:1)&this.ha,this.A-=c-this.B.qb,this.I-=b,a&&Wd(this)==(this.xa&
64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.wj;this.xa&192&&(a=this.I,b=1,c=this.B.yj,this.xa&256||(this.A-=this.B.xj));a--&&(Fe.call(this,this.G,me(this,this.Na,this.D&this.ha)),this.D=this.D&~this.ha|this.D+(this.Aa&qb?-2:2)&this.ha,this.A-=c-this.B.qb,this.I-=b,a&&Wd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.W();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.W();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.W();
this.A-=this.B.Ab},function(){this.C=this.C&-256|this.W();this.A-=this.B.Ab},function(){this.G=this.G&255|this.W()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.W()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.W()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.W()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.fa|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.fa|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.fa|this.K();this.A-=this.B.Ab},
function(){this.C=this.C&~this.fa|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.fa|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.fa|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.fa|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.fa|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.W()].call(this,ef)},function(){this.sb[this.W()].call(this,df)},function(){this.Q|=1;this.re[this.W()].call(this,Pe,this.W)},function(){this.Q|=1;this.Qc[this.W()].call(this,
Pe,this.K)},Jf,Kf,Jf,Kf,function(){oe.call(this,3,null,this.B.Al)},function(){var a=this.W(),b;a:{b=this.Gg[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.la)){b=!1;break a}b=!0}b?oe.call(this,a,null,0):this.A--},function(){Yd(this)?oe.call(this,4,null,this.B.Bl):this.A-=this.B.Cl},function(){this.A-=this.B.yl;if(this.lc&1&&this.Aa&16384){var a=this.ja(this.gb.ua+0);Wc.call(this.na,a,!1)}else{var a=this.na.Va,b=this.Ea(),c=this.Ea(),d=this.Ea();null!=Yc(this,b,c,!1)&&(Xc(this,
d,a),this.Yg&&Md(this,this.la))}},function(){this.re[this.W()].call(this,Qe,He)},function(){this.Qc[this.W()].call(this,Re,He)},function(){this.re[this.W()].call(this,Qe,Ie)},function(){this.Qc[this.W()].call(this,Re,Ie)},function(){var a=this.W(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.T=256;this.P=this.V=b;this.A-=this.B.dl},function(){var a=this.W();this.P=this.V=this.G=(this.G>>8)*a+this.G&255;this.T=256;this.A-=this.B.cl},function(){this.G=this.G&-256|(Td(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|he(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.bm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.ha)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Jl):this.A-=this.B.mj},function(){var a=this.L();!(this.I=this.I-1&this.ha)||this.P&this.T-1?this.A-=this.B.oj:(D(this,v(this)+a),this.A-=this.B.nj)},function(){var a=this.L();(this.I=this.I-1&this.ha)?(D(this,v(this)+a),this.A-=this.B.Il):this.A-=this.B.mj},function(){var a=this.L();this.I?this.A-=
this.B.oj:(D(this,v(this)+a),this.A-=this.B.nj)},function(){var a=this.W();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.gj},function(){var a=this.W();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.gj},function(){var a=this.W();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.vj},function(){var a=this.W();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.vj},function(){var a=this.K();z(this,v(this));D(this,
v(this)+a);this.A-=this.B.hl},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.hj},function(){Yc(this,this.K(),this.K());this.A-=this.B.El},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.hj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.fj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.fj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.uj},function(){Lb(this.ka,this.J,
this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.uj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Td(this)?Zd(this):ce(this);this.A-=2},function(){this.Db=-1;this.re[this.W()].call(this,Te,Ke);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Qc[this.W()].call(this,Ue,Ke);0<=this.Db&&(this.G=this.Db,this.J=this.yg)},function(){this.P&=~this.T;this.A-=
2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.fl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.W()].call(this,hd,Ke)},function(){this.Qc[this.W()].call(this,id,Ke)}],pf=[function(){var a=this.W();16>(a&56)&&(this.Q|=1);this.Qc[a].call(this,this.hk,Ke)},function(){var a=this.W();a&16||(this.Q|=1);this.Qc[a].call(this,Nf,Ke)},function(){this.sb[this.W()].call(this,hf)},function(){this.sb[this.W()].call(this,
jf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(mf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Rc=this.ja(2126)|this.qc(2128)<<16,this.ef=this.Rc+this.ja(2130),$c(this.ke,2132,
this.ja(2076)),this.Sc=this.ja(2138)|this.qc(2140)<<16,this.ff=this.Sc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,
S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Nd=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.ta},function(){this.A-=2+(0>this.aa?0:1);return this.gb.ta},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>
this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return ee(this),a;ae(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return ee(this),a;ae(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ef-this.Rc,this.Ga(this.aa+
2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.ff-this.Sc,this.Ga(this.aa+2,this.Sc),this.Ga(this.aa+4,65280|this.Sc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ef=this.Rc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Sc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Sc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=
2+(0>this.aa?0:1);return this.lc},R,function(a){mf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R];
function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Bm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Vh,b--,this.Ub|=(b&3)<<Sf.Hf;if(b=a.monitor||(this.za<Tf?"mono":"ega"),void 0!==Uf[b])this.Ub|=Uf[b]<<Rf.Hf}this.ne=Pf(a.sw2||"11110000",0);this.ho=this.za==Of?16:64;this.Xg=this.Sf=1;this.za>=Tf&&(this.Xg=this.Sf=2);this.Xd=a.scaleTimers||!1;this.xp=a.rtcDate;this.Jk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.ni=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Vh:1,ONE:0,nq:64,lq:128,Lp:192,Gf:192,Hf:6},Qf=12,Rf={mq:16,Dp:32,Bm:48,Gf:48,Hf:4};k=T.prototype;
function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){y(this,a[7].call(this,w(this),b.call(this)))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}];function Dd(){this.Im[this.X()].call(this)}
function Fd(){z(this,w(this)&this.ha);this.A-=this.B.rc}function ld(){var a=w(this)&this.ha;z(this,this.G&this.ha);z(this,this.I&this.ha);z(this,this.J&this.ha);z(this,this.C&this.ha);z(this,a);z(this,this.H&this.ha);z(this,this.F&this.ha);z(this,this.D&this.ha);this.A-=this.B.$l}
function md(){this.D=this.D&~this.ha|this.Ea();this.F=this.F&~this.ha|this.Ea();this.H=this.H&~this.ha|this.Ea();y(this,w(this)+this.ed);this.C=this.C&~this.ha|this.Ea();this.J=this.J&~this.ha|this.Ea();this.I=this.I&~this.ha|this.Ea();this.G=this.G&~this.ha|this.Ea();this.A-=this.B.Yl}function nd(){this.sb[this.X()].call(this,gf)}function Ed(){this.Ac[this.X()].call(this,hf)}function od(){z(this,this.K());this.A-=this.B.rc}function pd(){this.sb[this.X()].call(this,bf)}
function qd(){z(this,this.X());this.A-=this.B.rc}function rd(){this.sb[this.X()].call(this,af)}function sd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=Jb(this.ka,this.J,this.la-b-1);this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function td(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.la-b-1,e=Jb(this.ka,this.J,d),d=e|=Jb(this.ka,this.J,d)<<8;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}}
function ud(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=this.qc(this.eb.Ec(this.F&this.fa,0));this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;Lb(this.ka,this.J,d,this.la-b-1);a&&(this.la=this.Bb,this.Q|=256)}}
function vd(){var a=1,b=0,c=5;this.xa&192&&(a=this.I,b=1,this.xa&256&&(c=4));if(a--){var d=ad(this,this.eb,this.F&this.fa);this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;b=this.la-b-1;Lb(this.ka,this.J,d&255,b);Lb(this.ka,this.J,d>>8,b);a&&(this.la=this.Bb,this.Q|=256)}}function qf(){var a=this.L();Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function rf(){var a=this.L();Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function sf(){var a=this.L();Ud(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function tf(){var a=this.L();Ud(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function uf(){var a=this.L();Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function vf(){var a=this.L();Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function wf(){var a=this.L();Ud(this)||Xd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}
function xf(){var a=this.L();Ud(this)||Xd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function yf(){var a=this.L();Yd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function zf(){var a=this.L();Yd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}function Af(){var a=this.L();Vd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Bf(){var a=this.L();Vd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Cf(){var a=this.L();!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Df(){var a=this.L();!Yd(this)==!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ef(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?(D(this,v(this)+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ff(){var a=this.L();Xd(this)||!Yd(this)!=!Zd(this)?this.A-=this.B.Tb:(D(this,v(this)+a),this.A-=this.B.Sb)}
function Gf(){this.re[this.X()].call(this,Ne,this.X);this.A-=0>this.Fa?1:this.B.Eh}function wd(){this.re[this.X()].call(this,Re,Ke)}function xd(){this.Pc[this.X()].call(this,Se,Ke)}function Hf(){var a=this.K()<<(this.ed>>2);D(this,this.Ea());a&&y(this,w(this)+a);this.A-=this.B.em}function If(){D(this,this.Ea());this.A-=this.B.bm}
function yd(){var a=this.K(),b=this.X()&31;this.A-=11;z(this,this.H);var c=w(this)&this.ra.fa;if(0<b){for(this.A-=(b<<2)+(1<b?1:0);--b;)this.H=this.H&~this.ra.fa|this.H-this.ed&this.ra.fa,z(this,ad(this,this.ra,this.H&this.ra.fa));z(this,c)}this.H=this.H&~this.ra.fa|c;y(this,w(this)&~this.ra.fa|w(this)-a&this.ra.fa)}function zd(){y(this,w(this)&~this.ra.fa|this.H&this.ra.fa);this.H=this.H&~this.ha|this.Ea()&this.ha;this.A-=5}function Jf(){of.call(this,this.K());this.A-=this.B.dm}
function Kf(){of.call(this,0);this.A-=this.B.cm}function Lf(){this.sb[this.X()].call(this,cf);this.A-=8}function Mf(){this.Q|=36;this.A-=this.B.ee}function Ad(){S.call(this)}
var ed=[function(){var a=this.X();this.Zc[a].call(this,re)},function(){this.Ac[this.X()].call(this,ze)},function(){this.$c[this.X()].call(this,re)},function(){this.sb[this.X()].call(this,ze)},function(){this.G=this.G&-256|re.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|ze.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.Na.sa);this.A-=this.B.sg},function(){Td(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,se)},function(){this.Ac[this.X()].call(this,
Ae)},function(){this.$c[this.X()].call(this,se)},function(){this.sb[this.X()].call(this,Ae)},function(){this.G=this.G&-256|se.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Ae.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.na.sa);this.A-=this.B.sg},function(){Rd(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,te)},function(){this.Ac[this.X()].call(this,Be)},function(){this.$c[this.X()].call(this,te)},function(){this.sb[this.X()].call(this,
Be)},function(){this.G=this.G&-256|te.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Be.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.ra.sa);this.A-=this.B.sg},function(){Zc(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,ue)},function(){this.Ac[this.X()].call(this,Ce)},function(){this.$c[this.X()].call(this,ue)},function(){this.sb[this.X()].call(this,Ce)},function(){this.G=this.G&-256|ue.call(this,this.G&255,this.X());this.A--},
function(){this.G=this.G&~this.ha|Ce.call(this,this.G&this.ha,this.K());this.A--},function(){z(this,this.eb.sa);this.A-=this.B.sg},function(){Sd(this,this.Ea());this.A-=this.B.jc},function(){this.Zc[this.X()].call(this,ve)},function(){this.Ac[this.X()].call(this,De)},function(){this.$c[this.X()].call(this,ve)},function(){this.sb[this.X()].call(this,De)},function(){this.G=this.G&-256|ve.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|De.call(this,this.G&this.ha,this.K());
this.A--},function(){this.Q|=20;this.fb=this.Mc=this.Na;this.A-=this.B.ee},function(){var a=this.G&255,b=Wd(this),c=this.P&this.T;if(9<(a&15)||b)a+=6,b=!0;if(159<a||c)a+=96,c=!0;this.G=this.G&-256|(this.P=this.W=a&255);this.T=65536;c&&(this.P|=this.T);b?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,we)},function(){this.Ac[this.X()].call(this,Ee)},function(){this.$c[this.X()].call(this,we)},function(){this.sb[this.X()].call(this,Ee)},function(){this.G=this.G&-256|we.call(this,
this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Ee.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.na;this.A-=this.B.ee},function(){var a=this.G&255,b=Wd(this),c=this.P&this.T;if(9<(a&15)||b)a-=6,b=!0;if(159<a||c)a-=96,c=!0;this.G=this.G&-256|(this.P=this.W=a&255);this.T=65536;c&&(this.P|=this.T);b?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,xe)},function(){this.Ac[this.X()].call(this,Fe)},function(){this.$c[this.X()].call(this,
xe)},function(){this.sb[this.X()].call(this,Fe)},function(){this.G=this.G&-256|xe.call(this,this.G&255,this.X());this.A--},function(){this.G=this.G&~this.ha|Fe.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.ra;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);this.A-=this.B.Ne},function(){this.Zc[this.X()].call(this,
ye)},function(){this.Ac[this.X()].call(this,Ge)},function(){this.$c[this.X()].call(this,ye)},function(){this.sb[this.X()].call(this,Ge)},function(){ye.call(this,this.G&255,this.X());this.A--},function(){Ge.call(this,this.G&this.ha,this.K());this.A--},function(){this.Q|=20;this.fb=this.Mc=this.eb;this.A-=this.B.ee},function(){var a=this.G&255,b=this.G>>8,c,d=Wd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.P=a);this.T=65536;c&&(this.P|=this.T);d?ee(this):ae(this);
this.A-=this.B.Ne},function(){this.W=(this.da=this.G)+1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)+1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)+1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)+1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;
this.W=(this.da=w(this))+1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)+1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)+1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)+1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=
2},function(){this.W=(this.da=this.G)-1;this.G=this.W&65535;this.P=this.G|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.I)-1;this.I=this.W&65535;this.P=this.I|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.J)-1;this.J=this.W&65535;this.P=this.J|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.C)-1;this.C=this.W&65535;this.P=this.C|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){var a;this.W=
(this.da=w(this))-1;y(this,a=this.da&~this.ha|this.W&this.ha);this.P=(a&this.ha)>>>16|a&65535|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.H)-1;this.H=this.W&65535;this.P=this.H|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.F)-1;this.F=this.W&65535;this.P=this.F|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){this.W=(this.da=this.D)-1;this.D=this.W&65535;this.P=this.D|(this.P&this.T?1:0)<<16;this.T=65536;this.A-=2},function(){z(this,
this.G&this.ha);this.A-=this.B.rc},function(){z(this,this.I&this.ha);this.A-=this.B.rc},function(){z(this,this.J&this.ha);this.A-=this.B.rc},function(){z(this,this.C&this.ha);this.A-=this.B.rc},function(){z(this,w(this)-this.ed&this.ha);this.A-=this.B.rc},function(){z(this,this.H&this.ha);this.A-=this.B.rc},function(){z(this,this.F&this.ha);this.A-=this.B.rc},function(){z(this,this.D&this.ha);this.A-=this.B.rc},function(){this.G=this.G&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.I=this.I&
~this.ha|this.Ea();this.A-=this.B.jc},function(){this.J=this.J&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.C=this.C&~this.ha|this.Ea();this.A-=this.B.jc},function(){y(this,w(this)&~this.ha|this.Ea());this.A-=this.B.jc},function(){this.H=this.H&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.F=this.F&~this.ha|this.Ea();this.A-=this.B.jc},function(){this.D=this.D&~this.ha|this.Ea();this.A-=this.B.jc},qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,
Cf,Df,Ef,Ff,Gf,function(){this.Pc[this.X()].call(this,Oe,this.K);this.A-=0>this.Fa?1:this.B.Eh},Gf,function(){this.Pc[this.X()].call(this,Oe,this.L);this.A-=0>this.Fa?1:this.B.Eh},function(){this.Zc[this.X()].call(this,Ze)},function(){this.Ac[this.X()].call(this,$e)},function(){this.$c[this.Tg=this.X()].call(this,lf)},function(){this.sb[this.Tg=this.X()].call(this,mf)},function(){this.Q|=1;this.Zc[this.X()].call(this,Xe)},function(){this.Q|=1;this.Ac[this.X()].call(this,Xe)},function(){this.$c[this.X()].call(this,
Xe)},function(){this.sb[this.X()].call(this,Xe)},function(){var a=this.X();switch((a&56)>>3){case 0:this.Db=this.Na.sa;break;case 1:this.Db=this.na.sa;break;case 2:this.Db=this.ra.sa;break;case 3:this.Db=this.eb.sa;break;default:S.call(this);return}this.Q|=1;this.Ac[a].call(this,Ye)},function(){this.Q|=1;this.fb=this.Mc=this.wm;this.sb[this.X()].call(this,df)},function(){var a,b=this.X(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.J;break;case 3:a=this.C;break;default:if(80286==this.za||
80386==this.za&&4!=c&&5!=c){kd.call(this);return}switch(c){case 1:a=this.I;break;case 4:a=w(this);break;case 5:a=this.H;break;case 6:a=this.F;break;case 7:a=this.D}}this.sb[b].call(this,Xe);switch(c){case 0:Td(this,this.G);this.G=a;break;case 1:Rd(this,this.I);this.I=a;break;case 2:Zc(this,this.J);this.J=a;break;case 3:Sd(this,this.C);this.C=a;break;case 4:Td(this,w(this));y(this,a);break;case 5:Rd(this,this.H);this.H=a;break;case 6:Zc(this,this.F);this.F=a;break;case 7:Sd(this,this.D),this.D=a}},
function(){this.Q|=1;this.Pc[this.X()].call(this,Pe,this.Ea)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.C;this.C=a;this.A-=3},function(){var a=this.G;this.G=w(this);y(this,a);this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=
2==this.ed?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.J=2==this.ed?this.J&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.ll},function(){We.call(this,this.K(),this.K());this.A-=this.B.ol},function(){this.cc("WAIT not implemented",1);this.A--},function(){z(this,ob(this));this.A-=this.B.rc},function(){Xc(this,this.Ea());this.A-=this.B.jc},function(){var a=this.G>>8;a&xb?de(this):$d(this);a&wb?Vd(this)||(this.W^=1):Vd(this)&&(this.W^=1);a&vb?ee(this):
ae(this);a&ub?fe(this):be(this);a&tb?ge(this):Yd(this)&&(this.W^=this.T>>1|this.T>>2,this.da^=32896);this.A-=this.B.Ab},function(){this.G=this.G&255|(ob(this)&Ec)<<8;this.A-=this.B.Ab},function(){var a=this.G&-256,b;b=this.K();b=this.qc(this.fb.Ec(b,0));this.G=a|b;this.A-=this.B.rj},function(){this.G=this.G&~this.ha|ad(this,this.fb,this.K());this.A-=this.B.rj},function(){var a=this.K(),b=this.G;this.Te(this.fb.hc(a,0),b);this.A-=this.B.sj},function(){var a=this.K(),b=this.G;this.Ga(this.fb.hc(a,1),
b);this.A-=this.B.sj},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-1:1,e=this.qc(this.fb.Ec(this.F,0));this.Te(this.Na.hc(this.D&this.fa,0),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.tj;this.xa&192&&(a=this.I,b=1,c=this.B.vj,this.xa&256||(this.A-=this.B.uj));if(a--){var d=this.Aa&qb?-2:
2,e=ad(this,this.fb,this.F);this.Ga(this.Na.hc(this.D&this.fa,1),e);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-1:1,e=ie(this,this.fb,this.F&this.fa),f=ke(this,this.Na,this.D&this.fa);ye.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;
this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.dj;this.xa&192&&(a=this.I,b=1,c=this.B.fj,this.xa&256||(this.A-=this.B.ej));if(a--){var d=this.Aa&qb?-2:2,e=je(this,this.fb,this.F&this.fa),f=le(this,this.Na,this.D&this.fa);Ge.call(this,e,f);this.F=this.F&~this.fa|this.F+d&this.fa;this.D=this.D&~this.fa|this.D+d&this.fa;this.A-=c-this.B.qb;this.I-=b;a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256)}},function(){this.P=this.W=
this.da=this.G&this.X();this.T=256;this.A-=this.B.Ne},function(){this.P=this.W=this.da=this.G&this.K();this.T=65536;this.A-=this.B.Ne},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||(this.A-=this.B.Fj));if(a--){var d=this.G;this.Te(this.Na.hc(this.D&this.fa,0),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.Ej;this.xa&192&&(a=this.I,b=1,c=this.B.Gj,this.xa&256||
(this.A-=this.B.Fj));if(a--){var d=this.G;this.Ga(this.Na.hc(this.D&this.fa,1),d);this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa;this.A-=c;this.I-=b;a&&(this.la=this.Bb,this.Q|=256)}},function(){var a=1,b=0,c=this.B.lj;this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=this.G&-256|this.qc(this.fb.Ec(this.F&this.fa,0)),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-1:1)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.lj;
this.xa&192&&(a=this.I,b=1,c=this.B.nj,this.xa&256||(this.A-=this.B.mj));a--&&(this.G=ad(this,this.fb,this.F&this.fa),this.F=this.F&~this.fa|this.F+(this.Aa&qb?-2:2)&this.fa,this.A-=c,this.I-=b,a&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(ye.call(this,this.G&255,ke(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-1:1)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&
64)&&(this.la=this.Bb,this.Q|=256))},function(){var a=1,b=0,c=this.B.yj;this.xa&192&&(a=this.I,b=1,c=this.B.Aj,this.xa&256||(this.A-=this.B.zj));a--&&(Ge.call(this,this.G,le(this,this.Na,this.D&this.fa)),this.D=this.D&~this.fa|this.D+(this.Aa&qb?-2:2)&this.fa,this.A-=c-this.B.qb,this.I-=b,a&&Xd(this)==(this.xa&64)&&(this.la=this.Bb,this.Q|=256))},function(){this.G=this.G&-256|this.X();this.A-=this.B.Ab},function(){this.I=this.I&-256|this.X();this.A-=this.B.Ab},function(){this.J=this.J&-256|this.X();
this.A-=this.B.Ab},function(){this.C=this.C&-256|this.X();this.A-=this.B.Ab},function(){this.G=this.G&255|this.X()<<8;this.A-=this.B.Ab},function(){this.I=this.I&255|this.X()<<8;this.A-=this.B.Ab},function(){this.J=this.J&255|this.X()<<8;this.A-=this.B.Ab},function(){this.C=this.C&255|this.X()<<8;this.A-=this.B.Ab},function(){this.G=this.G&~this.ha|this.K();this.A-=this.B.Ab},function(){this.I=this.I&~this.ha|this.K();this.A-=this.B.Ab},function(){this.J=this.J&~this.ha|this.K();this.A-=this.B.Ab},
function(){this.C=this.C&~this.ha|this.K();this.A-=this.B.Ab},function(){y(this,w(this)&~this.ha|this.K());this.A-=this.B.Ab},function(){this.H=this.H&~this.ha|this.K();this.A-=this.B.Ab},function(){this.F=this.F&~this.ha|this.K();this.A-=this.B.Ab},function(){this.D=this.D&~this.ha|this.K();this.A-=this.B.Ab},Hf,If,Hf,If,function(){this.sb[this.X()].call(this,ff)},function(){this.sb[this.X()].call(this,ef)},function(){this.Q|=1;this.re[this.X()].call(this,Qe,this.X)},function(){this.Q|=1;this.Pc[this.X()].call(this,
Qe,this.K)},Jf,Kf,Jf,Kf,function(){ne.call(this,3,null,this.B.Fl)},function(){var a=this.X(),b;a:{b=this.Hg[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c][1].call(b[c][0],this.la)){b=!1;break a}b=!0}b?ne.call(this,a,null,0):this.A--},function(){Zd(this)?ne.call(this,4,null,this.B.Gl):this.A-=this.B.Hl},function(){this.A-=this.B.Dl;if(this.lc&1&&this.Aa&16384){var a=this.ja(this.gb.ua+0);Wc.call(this.na,a,!1)}else{var a=this.na.Va,b=this.Ea(),c=this.Ea(),d=this.Ea();null!=Yc(this,b,c,!1)&&(Xc(this,
d,a),this.Zg&&Nd(this,this.la))}},function(){this.re[this.X()].call(this,Re,Ie)},function(){this.Pc[this.X()].call(this,Se,Ie)},function(){this.re[this.X()].call(this,Re,Je)},function(){this.Pc[this.X()].call(this,Se,Je)},function(){var a=this.X(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.T=256;this.P=this.W=b;this.A-=this.B.il},function(){var a=this.X();this.P=this.W=this.G=(this.G>>8)*a+this.G&255;this.T=256;this.A-=this.B.hl},function(){this.G=this.G&-256|(Ud(this)?255:0);this.A-=2},function(){this.G=
this.G&-256|ie(this,this.fb,this.C+(this.G&255)&65535);this.A-=this.B.gm},Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,function(){var a=this.L();(this.I=this.I-1&this.fa)&&this.P&this.T-1?(D(this,v(this)+a),this.A-=this.B.Ol):this.A-=this.B.oj},function(){var a=this.L();!(this.I=this.I-1&this.fa)||this.P&this.T-1?this.A-=this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.L();(this.I=this.I-1&this.fa)?(D(this,v(this)+a),this.A-=this.B.Nl):this.A-=this.B.oj},function(){var a=this.L();this.I?this.A-=
this.B.qj:(D(this,v(this)+a),this.A-=this.B.pj)},function(){var a=this.X();this.G=this.G&-256|Jb(this.ka,a,this.la-2);this.A-=this.B.ij},function(){var a=this.X();this.G=Jb(this.ka,a,this.la-2);this.G|=Jb(this.ka,a+1&65535,this.la-2)<<8;this.A-=this.B.ij},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);this.A-=this.B.xj},function(){var a=this.X();Lb(this.ka,a,this.G&255,this.la-2);Lb(this.ka,a+1&65535,this.G>>8,this.la-2);this.A-=this.B.xj},function(){var a=this.K();z(this,v(this));D(this,
v(this)+a);this.A-=this.B.ml},function(){var a=this.K();D(this,v(this)+a);this.A-=this.B.jj},function(){Yc(this,this.K(),this.K());this.A-=this.B.Jl},function(){var a=this.L();D(this,v(this)+a);this.A-=this.B.jj},function(){this.G=this.G&-256|Jb(this.ka,this.J,this.la-1);this.A-=this.B.hj},function(){this.G=Jb(this.ka,this.J,this.la-1);this.G|=Jb(this.ka,this.J+1&65535,this.la-1)<<8;this.A-=this.B.hj},function(){Lb(this.ka,this.J,this.G&255,this.la-1);this.A-=this.B.wj},function(){Lb(this.ka,this.J,
this.G&255,this.la-1);Lb(this.ka,this.J+1&65535,this.G>>8,this.la-1);this.A-=this.B.wj},Mf,Mf,function(){this.Q|=132;this.A-=this.B.ee},function(){this.Q|=68;this.A-=this.B.ee},function(){this.kb|=4;this.A-=2;this.Aa&rb||rc(this)},function(){Ud(this)?$d(this):de(this);this.A-=2},function(){this.Db=-1;this.re[this.X()].call(this,Ue,Le);0<=this.Db&&(this.G=this.Db)},function(){this.Db=-1;this.Pc[this.X()].call(this,Ve,Le);0<=this.Db&&(this.G=this.Db,this.J=this.zg)},function(){this.P&=~this.T;this.A-=
2},function(){this.P|=this.T;this.A-=2},function(){this.Aa&=~rb;this.A-=this.B.kl},function(){this.Aa|=rb;this.Q|=4;this.A-=2},function(){this.Aa&=~qb;this.A-=2},function(){this.Aa|=qb;this.A-=2},function(){this.re[this.X()].call(this,fd,Le)},function(){this.Pc[this.X()].call(this,id,Le)}],Cd=[function(){var a=this.X();16>(a&56)&&(this.Q|=1);this.Pc[a].call(this,this.lk,Le)},function(){var a=this.X();a&16||(this.Q|=1);this.Pc[a].call(this,Nf,Le)},function(){this.sb[this.X()].call(this,jf)},function(){this.sb[this.X()].call(this,
kf)},S,function(){this.na.Va?Lc.call(this,13,0,!0):(nf.call(this,this.ja(2054)),this.D=this.ja(2086),this.F=this.ja(2088),this.H=this.ja(2090),this.C=this.ja(2094),this.J=this.ja(2096),this.I=this.ja(2098),this.G=this.ja(2100),$c(this.Na,2102,this.ja(2084)),$c(this.na,2108,this.ja(2082)),$c(this.ra,2114,this.ja(2080)),$c(this.eb,2120,this.ja(2078)),Xc(this,this.ja(2072)),D(this,this.ja(2074)),y(this,this.ja(2092)),this.Qc=this.ja(2126)|this.qc(2128)<<16,this.ff=this.Qc+this.ja(2130),$c(this.ke,2132,
this.ja(2076)),this.Rc=this.ja(2138)|this.qc(2140)<<16,this.gf=this.Rc+this.ja(2142),$c(this.gb,2144,this.ja(2070)),this.A-=195)},function(){this.na.Va?Lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},S,S,S,S,kd,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,
S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S],Od=[function(){this.A-=2+(0>this.aa?0:1);return this.ke.sa},function(){this.A-=2+(0>this.aa?0:1);return this.gb.sa},function(a){this.Q|=2;this.ke.load(a);this.A-=17+(0>this.aa?0:2);return a},function(a){this.Q|=2;this.gb.load(a)!=q&&(this.Ga(this.gb.Ld+4,this.gb.hb|=512),this.gb.type=768);this.A-=17+(0>
this.aa?0:2);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&2048!=(this.Jb.hb&2560)&&(this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3)||7168==(this.Jb.hb&7168)))return fe(this),a;be(this);return a},function(a){this.Q|=2;this.A-=14+(0>this.aa?0:2);if(this.Jb.load(a,!0)!=q&&512==(this.Jb.hb&2560)&&this.Jb.pc>=this.na.Va&&this.Jb.pc>=(a&3))return fe(this),a;be(this);return a},R,R],jd=[Bd,Bd,Bd,Bd,Bd,Bd,R,R],Nf=[function(a){0>this.aa?kd.call(this):(a=this.ff-this.Qc,this.Ga(this.aa+
2,this.Qc),this.Ga(this.aa+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.aa?kd.call(this):(a=this.gf-this.Rc,this.Ga(this.aa+2,this.Rc),this.Ga(this.aa+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.aa?kd.call(this):(this.Qc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.ff=this.Qc+a,this.Q|=2,this.A-=11);return a},function(a){0>this.aa?kd.call(this):(this.Rc=this.ja(this.aa+2)|this.qc(this.aa+4)<<16,this.gf=this.Rc+a,this.Q|=2,this.A-=12);return a},function(){this.A-=
2+(0>this.aa?0:1);return this.lc},R,function(a){nf.call(this,a);this.A-=0>this.aa?3:6;this.Q|=2;return a},R];
function T(a){n.call(this,"ChipSet",a,T);this.za=(this.za=a.model)?parseInt(this.za,10):Of;this.Ub=0;var b=a.sw1;if(b)this.Ub=Pf(b,Qf|Rf.Gm);else{this.Jd=[360,360];(b=a.floppies)&&b.length&&(this.Jd=b);if(b=this.Jd.length)this.Ub|=Sf.Xh,b--,this.Ub|=(b&3)<<Sf.If;if(b=a.monitor||(this.za<Tf?"mono":"ega"),void 0!==Uf[b])this.Ub|=Uf[b]<<Rf.If}this.ne=Pf(a.sw2||"11110000",0);this.mo=this.za==Of?16:64;this.Yg=this.Tf=1;this.za>=Tf&&(this.Yg=this.Tf=2);this.Xd=a.scaleTimers||!1;this.Cp=a.rtcDate;this.Nk=
!1;a.sound&&window&&"webkitAudioContext"in window&&(this.pi=new window.webkitAudioContext);this.reset(!0);p(this)}La(n,T);var Of=5150,Tf=5170,Uf={none:0,tv:1,color:2,mono:3,ega:0},Sf={Xh:1,ONE:0,sq:64,qq:128,Qp:192,Hf:192,If:6},Qf=12,Rf={rq:16,Ip:32,Gm:48,Hf:48,If:4};k=T.prototype;
k.Eb=function(a,b,c){switch(b){case "sw1":return this.ma[b]=c,Vf(this,b,c,this.Ub,{0:this.za==Of?"Bootable Floppy Drive":"Loop on POST",1:this.za==Of?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.za==Of)return this.ma[b]=c,Vf(this,b,c,this.ne,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.ma[b]=c,!0}return!1};
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Fh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za<Tf?(Ib(b,this,Yf),Kb(b,this,Zf)):(Ib(b,this,$f),Kb(b,this,ag))};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Zc=this.Ub;this.Ue=this.ne;bg(this);this.Ya=Array(this.Xg);for(b=0;b<this.Xg;b++)cg(this,b);this.Vb=Array(this.Sf);dg(this,0,32);1<this.Sf&&dg(this,1,160);this.hi=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)eg(this,b);this.Pf=this.fi=this.uc=this.Ug=null;this.Tg=0;if(this.za>=Tf){this.ib=16;this.sd=0;this.rd=16;this.Og=0;this.te=160;512<=fg(this)&&(this.te|=16);3==gg(this)&&(this.te|=64);this.ci=3;this.Rg=0;this.Xb=Array(7);this.gf=0;a&&(this.ba=Array(64));hg(this,
this.xp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Zc&(Rf.Gf|2|Sf.Vh|Sf.Gf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}};
function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.tg=a.Bf=0;a.cm=a.Dh=null}
function kg(a){var b;void 0===b&&(b=a.Dh);a.Bf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8}
k.save=function(){var a=new Od(this);a.set(0,[this.Ub,this.ne,this.Zc,this.Ue]);for(var b=[],c=0;c<this.Ya;c++){for(var d=this.Ya[c],e=d,f=[],g=0;g<e.vb.length;g++){var h=e.vb[g];f[g]=[h.Ad,h.Lg,h.Yb,h.Sa,h.Ua,h.mode,h.Vg,h.sp,h.up]}b[c]=[d.Pd,d.di,d.qk,d.xb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.jg,d.Pc,d.Cd,d.bd,d.Nb,d.Dc,d.ue,d.Of];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.Yb,d.wc,d.Ua,d.Ce,d.sk,d.mode,d.Nh,d.Td,d.Be,d.gd,d.ag,d.Ge,d.Bd];
a.set(3,[this.hi,b]);a.set(4,[this.Ug,this.uc,this.fi,this.Pf,this.Tg]);this.za>=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Og,this.te,this.ci]),a.set(6,[this.Rg,this.Xb,this.gf,this.ba,this.tg,this.Bf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Zc=b[2];this.Ue=b[3];b=a[1];for(c=0;c<this.Xg;c++)cg(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Sf;c++)dg(this,c,0===c?32:160,b[0][c]);b=a[3];this.hi=b[0];for(c=0;c<this.Lb.length;c++)eg(this,c,b[1][c]);b=a[4];this.Ug=b[0];this.uc=b[1];this.fi=b[2];this.Pf=b[3];this.Tg=b[4];if(b=a[5])this.ib=b[0],this.sd=b[1],this.rd=b[2],this.Og=b[3],this.te=b[4],this.ci=b[5];if(b=a[6])this.Rg=b[0],this.Xb=b[1],this.gf=b[2],this.ba=b[3],
this.tg=b[4],this.Bf=b[5],hg(this);return!0};var lg=[0,null,null,0,Array(4)];function cg(a,b,c){var d=a.Ya[b];d||(d={vb:Array(4)});c=c&&5==c.length?c:lg;d.Pd=c[0];d.di=c[1];d.qk=c[2];d.xb=c[3];d.lo=b<<2;for(var e=0;e<d.vb.length;e++)mg(d,e,c[4][e]);a.Ya[b]=d}var ng=[!0,[0,0],[0,0],[0,0],[0,0]];
function mg(a,b,c){var d=a.vb[b];d||(d={Lg:[0,0],Yb:[0,0],Sa:[0,0],Ua:[0,0]});c=c&&8==c.length?c:ng;d.Ad=c[0];d.Lg[0]=c[1][0];d.Lg[1]=c[1][1];d.Yb[0]=c[2][0];d.Yb[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.Vg=c[6];d.X=a;d.Rk=b;og(d,c[8],c[9]);a.vb[b]=d}function og(a,b,c,d){"string"==typeof b&&(b=Pa(b));b&&(a.dh=null,a.sp=b.id,a.up=c,a.ah=b,a.Ii=b[c],a.Gh=d)}var pg=[0,Array(4)];
function dg(a,b,c,d){var e=a.Vb[b];e||(e={Pc:[null,null,null,null]});d=d&&8==d.length?d:pg;e.port=c;e.Uq=b<<3;e.jg=d[0];e.Pc[0]=d[1][0];e.Pc[1]=d[1][1];e.Pc[2]=d[1][2];e.Pc[3]=d[1][3];e.Cd=d[2];e.bd=d[3];e.Nb=d[4];e.Dc=d[5];e.ue=d[6];e.Of=d[7];a.Vb[b]=e}var qg=[[0,0],[0,0],[0,0],[0,0]];
function eg(a,b,c){var d=a.Lb[b];d||(d={Yb:[0,0],wc:[0,0],Ua:[0,0],Ce:[0,0]});c=c&&13==c.length?c:qg;d.Yb[0]=c[0][0];d.Yb[1]=c[0][1];d.wc[0]=c[1][0];d.wc[1]=c[1][1];d.Ua[0]=c[2][0];d.Ua[1]=c[2][1];d.Ce[0]=c[3][0];d.Ce[1]=c[3][1];d.sk=c[4];d.mode=c[5];d.Nh=c[6];d.Td=c[7];d.Be=c[8];d.gd=c[9];d.ag=c[10];d.Ge=c[11];d.Bd=c[12];a.Lb[b]=d}function fg(a,b){return((((b?a.Ub:a.Zc)&12)>>2)+1)*a.ho+32*((b?a.ne:a.Ue)&15)}function rg(a,b){var c=b?a.Ub:a.Zc;return a.za!=Of||c&Sf.Vh?((c&Sf.Gf)>>Sf.Hf)+1:0}
function ig(a,b){if(b<rg(a)){if(!a.Jd)return 1;if(b<a.Jd.length)switch(a.Jd[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 gg(a,b){return((b?a.Ub:a.Zc)&Rf.Gf)>>Rf.Hf}
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.Ba=bb(a,"Keyboard");this.Hh=c.S.jd/1193181;Ib(b,this,Wf);Kb(b,this,Xf);this.za<Tf?(Ib(b,this,Yf),Kb(b,this,Zf)):(Ib(b,this,$f),Kb(b,this,ag))};k.bc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(a){var b;this.Yc=this.Ub;this.Ve=this.ne;bg(this);this.Ya=Array(this.Yg);for(b=0;b<this.Yg;b++)cg(this,b);this.Vb=Array(this.Tf);dg(this,0,32);1<this.Tf&&dg(this,1,160);this.ji=null;this.Lb=Array(3);for(b=0;b<this.Lb.length;b++)eg(this,b);this.Qf=this.hi=this.uc=this.Vg=null;this.Ug=0;if(this.za>=Tf){this.ib=16;this.sd=0;this.rd=16;this.Pg=0;this.ue=160;512<=fg(this)&&(this.ue|=16);3==gg(this)&&(this.ue|=64);this.ei=3;this.Sg=0;this.Xb=Array(7);this.hf=0;a&&(this.ba=Array(64));hg(this,
this.Cp);for(a=21;24>=a;a++)this.ba[a]=0;for(a=14;46>a;a++)void 0===this.ba[a]&&(this.ba[a]=0);this.ba[20]=this.Yc&(Rf.Hf|2|Sf.Xh|Sf.Hf);this.ba[16]=ig(this,0)<<4|ig(this,1);jg(this)}};
function hg(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.kc("CMOS date invalid ("+b+"), using "+c)):b&&a.kc("CMOS date: "+c);a.ba[0]=c.getSeconds();a.ba[1]=0;a.ba[2]=c.getMinutes();a.ba[3]=0;a.ba[4]=c.getHours();a.ba[5]=0;a.ba[6]=c.getDay()+1;a.ba[7]=c.getDate();a.ba[8]=c.getMonth()+1;c=c.getFullYear();a.ba[9]=c%100;c/=100;a.ba[50]=c%10|c/10<<4;a.ba[10]=38;a.ba[11]=2;a.ba[12]=0;a.ba[13]=128;a.ug=a.Cf=0;a.hm=a.Fh=null}
function kg(a){var b;void 0===b&&(b=a.Fh);a.Cf=yc(a.U,a.Xd)+b;a.ba[11]&64&&vc(a.U,b)}function jg(a){for(var b=0,c=16;46>c;c++)b+=a.ba[c];a.ba[47]=b&255;a.ba[46]=b>>8}
k.save=function(){var a=new Pd(this);a.set(0,[this.Ub,this.ne,this.Yc,this.Ve]);for(var b=[],c=0;c<this.Ya;c++){for(var d=this.Ya[c],e=d,f=[],g=0;g<e.vb.length;g++){var h=e.vb[g];f[g]=[h.Ad,h.Mg,h.Yb,h.Sa,h.Ua,h.mode,h.Wg,h.xp,h.zp]}b[c]=[d.Pd,d.fi,d.uk,d.xb,f]}a.set(1,[b]);b=[];for(c=0;c<this.Vb.length;c++)d=this.Vb[c],b[c]=[d.kg,d.Oc,d.Cd,d.ad,d.Nb,d.Cc,d.ve,d.Pf];a.set(2,[b]);b=[];for(c=0;c<this.Lb.length;c++)d=this.Lb[c],b[c]=[d.Yb,d.wc,d.Ua,d.De,d.wk,d.mode,d.Ph,d.Td,d.Ce,d.gd,d.bg,d.He,d.Bd];
a.set(3,[this.ji,b]);a.set(4,[this.Vg,this.uc,this.hi,this.Qf,this.Ug]);this.za>=Tf&&(a.set(5,[this.ib,this.sd,this.rd,this.Pg,this.ue,this.ei]),a.set(6,[this.Sg,this.Xb,this.hf,this.ba,this.ug,this.Cf]));return a.data()};
k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.ne=b[1];this.Yc=b[2];this.Ve=b[3];b=a[1];for(c=0;c<this.Yg;c++)cg(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.Tf;c++)dg(this,c,0===c?32:160,b[0][c]);b=a[3];this.ji=b[0];for(c=0;c<this.Lb.length;c++)eg(this,c,b[1][c]);b=a[4];this.Vg=b[0];this.uc=b[1];this.hi=b[2];this.Qf=b[3];this.Ug=b[4];if(b=a[5])this.ib=b[0],this.sd=b[1],this.rd=b[2],this.Pg=b[3],this.ue=b[4],this.ei=b[5];if(b=a[6])this.Sg=b[0],this.Xb=b[1],this.hf=b[2],this.ba=b[3],
this.ug=b[4],this.Cf=b[5],hg(this);return!0};var lg=[0,null,null,0,Array(4)];function cg(a,b,c){var d=a.Ya[b];d||(d={vb:Array(4)});c=c&&5==c.length?c:lg;d.Pd=c[0];d.fi=c[1];d.uk=c[2];d.xb=c[3];d.qo=b<<2;for(var e=0;e<d.vb.length;e++)mg(d,e,c[4][e]);a.Ya[b]=d}var ng=[!0,[0,0],[0,0],[0,0],[0,0]];
function mg(a,b,c){var d=a.vb[b];d||(d={Mg:[0,0],Yb:[0,0],Sa:[0,0],Ua:[0,0]});c=c&&8==c.length?c:ng;d.Ad=c[0];d.Mg[0]=c[1][0];d.Mg[1]=c[1][1];d.Yb[0]=c[2][0];d.Yb[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.Wg=c[6];d.V=a;d.Wk=b;og(d,c[8],c[9]);a.vb[b]=d}function og(a,b,c,d){"string"==typeof b&&(b=Na(b));b&&(a.eh=null,a.xp=b.id,a.zp=c,a.bh=b,a.Ki=b[c],a.Ih=d)}var pg=[0,Array(4)];
function dg(a,b,c,d){var e=a.Vb[b];e||(e={Oc:[null,null,null,null]});d=d&&8==d.length?d:pg;e.port=c;e.Zq=b<<3;e.kg=d[0];e.Oc[0]=d[1][0];e.Oc[1]=d[1][1];e.Oc[2]=d[1][2];e.Oc[3]=d[1][3];e.Cd=d[2];e.ad=d[3];e.Nb=d[4];e.Cc=d[5];e.ve=d[6];e.Pf=d[7];a.Vb[b]=e}var qg=[[0,0],[0,0],[0,0],[0,0]];
function eg(a,b,c){var d=a.Lb[b];d||(d={Yb:[0,0],wc:[0,0],Ua:[0,0],De:[0,0]});c=c&&13==c.length?c:qg;d.Yb[0]=c[0][0];d.Yb[1]=c[0][1];d.wc[0]=c[1][0];d.wc[1]=c[1][1];d.Ua[0]=c[2][0];d.Ua[1]=c[2][1];d.De[0]=c[3][0];d.De[1]=c[3][1];d.wk=c[4];d.mode=c[5];d.Ph=c[6];d.Td=c[7];d.Ce=c[8];d.gd=c[9];d.bg=c[10];d.He=c[11];d.Bd=c[12];a.Lb[b]=d}function fg(a,b){return((((b?a.Ub:a.Yc)&12)>>2)+1)*a.mo+32*((b?a.ne:a.Ve)&15)}function rg(a,b){var c=b?a.Ub:a.Yc;return a.za!=Of||c&Sf.Xh?((c&Sf.Hf)>>Sf.If)+1:0}
function ig(a,b){if(b<rg(a)){if(!a.Jd)return 1;if(b<a.Jd.length)switch(a.Jd[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 gg(a,b){return((b?a.Ub:a.Yc)&Rf.Hf)>>Rf.If}
function Vf(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=Ta(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),sg(b[g],d&1<<g?!1:!0),b[g].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");sg(b,c);var d=b.getAttribute("id").split("-"),e=1<<parseInt(d[1],10)-1;switch(d[0]){case "sw1":a.Ub=
a.Ub&~e|(c?0:e);break;case "sw2":a.ne=a.ne&~e|(c?0:e)}bg(a)}}(a,b[g])}function sg(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function bg(a){var b=a.ma.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(fg(a,!0)+"Kb");d+=", "+c[gg(a,!0)]+" Monitor";d+=", "+rg(a,!0)+" Floppy Drives";if(null!=a.Zc&&a.Zc!=a.Ub||null!=a.Ue&&a.Ue!=a.ne)d+=" (Reset required)";b.textContent=d}}
function tg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Sa[a.xb];a.xb^=1;b||0!=c||a.xb||(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 ug(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Sa[a.xb]=c.Lg[a.xb]=d;a.xb^=1}function zg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Ua[a.xb];a.xb^=1;b||0!=c||a.xb||(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 Ag(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1}
function Bg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function Cg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<<b)|(c&4)<<b+2;a.qk=c}function Dg(a,b,c){b=a.Ya[b];var d=c&3,e=b.vb[d];e.Ad=!!(c&4);e.Ad||Eg(a,b.lo+d)}function Fg(a,b){for(var c=a.Ya[b],d=0;d<c.vb.length;d++)mg(c,d)}function Gg(a,b,c){return a.Ya[b].vb[c].Vg}function Hg(a,b,c,d){a.Ya[b].vb[c].Vg=d}function Ig(a,b,c,d,e){og(a.Ya[b>>2].vb[b&3],c,d,e)}
function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.ah&&b.Ii&&b.Gh?(c&&(b.dh=c),b.Ad||pe(a,b,!0)):c&&c(!0)}function pe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.xm=b.mode&12,b.Mk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Vg<<16|b.Sa[1]<<8|b.Sa[0],4==b.xm?(d=!0,function(c){b.Ii.call(b.ah,b.Gh,-1,function(f,g){0>f&&(b.Mk||(b.Mk=!0),f=255);b.Ad||a.ka.Se(c,f);(d=g)&&setTimeout(function(){Jg(b)||pe(a,b)},0)})}(c)):8==b.xm?(c=a.ka.qc(c),0>b.Ii.call(b.ah,b.Gh,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););}
function Jg(a){if(!a.fd&&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.Ad))return!1;var b=a.X;b.Pd=b.Pd&~(16<<a.Rk)|1<<a.Rk;a.mode&16||(a.Ad=!0,a.ah=a.Gh=null);a.dh&&(a.dh(!a.fd),a.dh=null);return!0}function Kg(a,b){var c=0,d=a.Vb[b];if(null!=d.Of)switch(d.Of&3){case 2:c=d.Nb;break;case 3:c=d.Dc}return c}
function Lg(a,b,c){var d=a.Vb[b];if(c&16)d.Cd=0,d.Pc[d.Cd++]=c,d.bd=0,d.ue=7,d.Nb=d.Dc=0,d.Of=10;else if(c&8)c&100&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW3 command: "+ea(c)),rc(a.U)),d.Of=c;else{var e=c&224;if(e&32){var f,g=0;if(96==(e&96))g=1<<(c&7);else for(f=d.ue+1;;){f&=7;var h=1<<f;if(d.Dc&h){g=h;break}if(f++==d.ue)break}d.Dc&g&&(d.Dc&=~g,Mg(a));e&128&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW2 rotate command: "+ea(c)),rc(a.U))}else 192==e?d.ue=c&7:(a.va("PIC"+b+"(0x"+ea(d.port)+
"): unsupported OCW2 automatic EOI command: "+ea(c)),rc(a.U))}}function Ng(a,b,c){var d=a.Vb[b];d.Cd<d.Pc.length?(d.Pc[d.Cd++]=c,2==d.Cd&&d.Pc[0]&2&&d.Cd++,3!=d.Cd||d.Pc[0]&1||d.Cd++):(d.bd=c,d=a.U,d.Q|=4,Mg(a,b||253!=c?0:6))}function Og(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.jg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))}
function Mg(a,b){var c,d=-1;1<a.Sf&&(c=a.Vb[1],d=~(c.Dc|c.bd)&c.Nb);c=a.Vb[0];0<=d&&(c.Nb=d?c.Nb|4:c.Nb&-5);var d=~(c.Dc|c.bd)&c.Nb,e=a.U;e.ca&&(e.kb=d?e.kb|1:e.kb&-2);d&&b&&(c.jg=b)}function ne(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.jg)c=-2,d.jg--;else for(var e=d.Nb&((d.Dc|d.bd)^255),f=d.ue+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Pc[1]+f:ne(a,1);0<=c&&(d.Dc|=g,d.Nb&=~g);break}if(f++==d.ue)break}return c}
function Qg(a,b){var c=a.Lb[b];c.Td==c.Be&&Rg(a,b);if(c.ag)return c.Ce[c.Td++];Sg(a,b);return c.Ua[c.Td++]}function Tg(a,b,c){var d=a.Lb[b];d.Td==d.Be&&Rg(a,b);d.Yb[d.Td++]=c;d.Td==d.Be&&(d.Ge&&0!=d.mode&&8!=d.mode||(d.ag=!1,d.Ua[0]=d.wc[0]=d.Yb[0],d.Ua[1]=d.wc[1]=d.Yb[1],d.Bd=yc(a.U,a.Xd),d.Ge=!0,d.gd=0!=d.mode,0==b&&(Pg(a,0),c=Ug(a,0)*a.Fh|0,6==d.mode&&(c>>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.$n=function(){return null};
k.lp=function(a,b){this.hi=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Nh=f;g.mode=e;g.sk=d;g.Yb=[0,0];g.Ua=[0,0];g.Ce=[0,0];g.gd=!1;g.ag=!1;g.Ge=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].bd&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.Ce[0]=d.Ua[0],d.Ce[1]=d.Ua[1],d.ag=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Be?256:65536);return d}
function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Be?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Nh?1:0;c.Be=48==c.Nh?2:1}
function Sg(a,b,c){var d=a.Lb[b];if(d.Ge&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Fh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.Ge=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d}
function Ac(a,b){for(var c=0;c<a.Lb.length;c++)Sg(a,c,b);if(a.za>=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Dh&&(a.tg=yc(a.U,a.Xd),a.cm=1024,a.Dh=Math.floor(a.U.S.jd/a.cm),kg(a));d>=a.Bf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Bf=d+a.Dh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.tg,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]=
0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.tg=d-e%c}}k.Sn=function(){var a=this.Ug;if(this.Pf&16)if(this.uc&128)a=this.Zc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.ep=function(a,b){this.Ug=b};k.Tn=function(){return this.uc};
k.fp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Un=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ue&15:a|this.Ue>>4&1:this.uc&8?a|this.Zc>>4:a|this.Zc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.gp=function(a,b){this.fi=b};k.Vn=function(){return this.Pf};k.hp=function(a,b){this.Pf=b};k.hn=function(){var a=this.Og;this.ib&=-258;this.Ba&&Xg(this.Ba);return a};
k.wo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.jn=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.xo=function(a,b){Vg(this,b)};k.kn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.vo=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.te);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Fd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))}
function ah(a,b){0<=b&&(a.Og=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ci=b;Bb(a.ka,!!(b&2));b&1||Fd(a.U)}function bh(a,b){a.za<Tf?Og(a,1,4):a.rd&16||a.ib&257||(ah(a,b),ch(a.Ba),Og(a,1,120))}k.yn=function(){return this.gf};k.Lo=function(a,b){this.gf=b;this.Tg=b&128?0:128};
k.zn=function(a,b){var c=this.gf&63,d;if(13>=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ba[c]^=128);else d=this.ba[c];null!=b&&12==c&&(this.ba[c]&=15,d&128&&Pg(this,8),d&64&&this.ba[11]&64&&kg(this));return d};
k.Mo=function(a,b){var c=this.gf&63,d=b^this.ba[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ba[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Qn=function(){return this.Rg};k.bp=function(a,b){this.Rg=b};k.dp=function(a,b){this.Tg=b};k.No=function(){};k.Oo=function(){};
function Pf(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 zc(a,b){if(a.ni){void 0!==b?a.Jk=b:b=a.Jk&&a.U&&a.U.ea.Ib;var c=Math.round(1193181/Ug(a,2));if(20>c||2E4<c)b=!1;b?a.pd?a.pd.frequency.value=c:(a.pd=a.ni.createOscillator(),a.pd.type=1,a.pd.connect(a.ni.destination),a.pd.frequency.value=c,a.pd.noteOn(0)):a.pd&&(a.pd.noteOff(0),a.pd.disconnect(),delete a.pd)}else b&&a.cc("BEEP",4194304)}
var Wf={0:function(){return tg(this,0,0)},1:function(){return zg(this,0,0)},2:function(){return tg(this,0,1)},3:function(){return zg(this,0,1)},4:function(){return tg(this,0,2)},5:function(){return zg(this,0,2)},6:function(){return tg(this,0,3)},7:function(){return zg(this,0,3)},8:function(){return Bg(this,0)},32:function(){return Kg(this,0)},33:function(){return this.Vb[0].bd},64:function(){return Qg(this,0)},65:function(){return Qg(this,1)},66:function(){return Qg(this,2)},67:T.prototype.$n,129:function(){return Gg(this,
0,2)},130:function(){return Gg(this,0,3)},131:function(){return Gg(this,0,1)},135:function(){return Gg(this,0,0)}},Yf={96:T.prototype.Sn,97:T.prototype.Tn,98:T.prototype.Un,99:T.prototype.Vn},$f={96:T.prototype.hn,97:T.prototype.jn,100:T.prototype.kn,112:T.prototype.yn,113:T.prototype.zn,128:T.prototype.Qn,132:function(){return this.Xb[0]},133:function(){return this.Xb[1]},134:function(){return this.Xb[2]},136:function(){return this.Xb[3]},137:function(){return Gg(this,1,2)},138:function(){return Gg(this,
1,3)},139:function(){return Gg(this,1,1)},140:function(){return this.Xb[4]},141:function(){return this.Xb[5]},142:function(){return this.Xb[6]},143:function(){return Gg(this,1,0)},160:function(){return Kg(this,1)},161:function(){return this.Vb[1].bd},192:function(){return tg(this,1,0)},194:function(){return zg(this,1,0)},196:function(){return tg(this,1,1)},198:function(){return zg(this,1,1)},200:function(){return tg(this,1,2)},202:function(){return zg(this,1,2)},204:function(){return tg(this,1,3)},
206:function(){return zg(this,1,3)},208:function(){return Bg(this,1)}},Xf={0:function(a,b){ug(this,0,0,b)},1:function(a,b){Ag(this,0,0,b)},2:function(a,b){ug(this,0,1,b)},3:function(a,b){Ag(this,0,1,b)},4:function(a,b){ug(this,0,2,b)},5:function(a,b){Ag(this,0,2,b)},6:function(a,b){ug(this,0,3,b)},7:function(a,b){Ag(this,0,3,b)},8:function(a,b){this.Ya[0].di=b},9:function(a,b){Cg(this,0,b)},10:function(a,b){Dg(this,0,b)},11:function(a,b){this.Ya[0].vb[b&3].mode=b},12:function(){this.Ya[0].xb=0},13:function(){Fg(this,
0)},32:function(a,b){Lg(this,0,b)},33:function(a,b){Ng(this,0,b)},64:function(a,b){Tg(this,0,b)},65:function(a,b){Tg(this,1,b)},66:function(a,b){Tg(this,2,b)},67:T.prototype.lp,129:function(a,b){Hg(this,0,2,b)},130:function(a,b){Hg(this,0,3,b)},131:function(a,b){Hg(this,0,1,b)},135:function(a,b){Hg(this,0,0,b)}},Zf={96:T.prototype.ep,97:T.prototype.fp,98:T.prototype.gp,99:T.prototype.hp,160:T.prototype.dp},ag={96:T.prototype.wo,97:T.prototype.xo,100:T.prototype.vo,112:T.prototype.Lo,113:T.prototype.Mo,
128:T.prototype.bp,132:function(a,b){this.Xb[0]=b},133:function(a,b){this.Xb[1]=b},134:function(a,b){this.Xb[2]=b},136:function(a,b){this.Xb[3]=b},137:function(a,b){Hg(this,1,2,b)},138:function(a,b){Hg(this,1,3,b)},139:function(a,b){Hg(this,1,1,b)},140:function(a,b){this.Xb[4]=b},141:function(a,b){this.Xb[5]=b},142:function(a,b){this.Xb[6]=b},143:function(a,b){Hg(this,1,0,b)},160:function(a,b){Lg(this,1,b)},161:function(a,b){Ng(this,1,b)},192:function(a,b){ug(this,1,0,b)},194:function(a,b){Ag(this,
1,0,b)},196:function(a,b){ug(this,1,1,b)},198:function(a,b){Ag(this,1,1,b)},200:function(a,b){ug(this,1,2,b)},202:function(a,b){Ag(this,1,2,b)},204:function(a,b){ug(this,1,3,b)},206:function(a,b){Ag(this,1,3,b)},208:function(a,b){this.Ya[1].di=b},210:function(a,b){Cg(this,1,b)},212:function(a,b){Dg(this,1,b)},214:function(a,b){this.Ya[1].vb[b&3].mode=b},216:function(){this.Ya[1].xb=0},218:function(){Fg(this,1)},240:T.prototype.No,241:T.prototype.Oo};
za(function(){for(var a=Ta(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new T(d);Sa(d,c);bg(d)}});function dh(a){n.call(this,"ROM",a,dh);this.wb=null;this.kk=a.addr;this.Sh=a.size;this.Gm=a.alias;this.zg=a.file;this.tp=ga(this.zg);this.Tk=a.notify;if(this.zg){a=this.zg;var b=ha(this.tp);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.zg+"&format=bytes&decimal=true");na(a,!0,null,this,dh.prototype.ro)}}La(n,dh);
dh.prototype.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;eh(this)};dh.prototype.bc=function(){this.ai&&(this.Wa&&this.Wa.wq(this.kk,this.Sh,this.ai),delete this.ai);return!0};dh.prototype.ac=function(){return!0};
dh.prototype.ro=function(a,b,c){if(c)this.va("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.wb=e;else if(f)for(this.wb=Array(4*f.length),c=b=0;b<f.length;b++)this.wb[c++]=f[b]&255,this.wb[c++]=f[b]>>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ai=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d<a.length;d++)this.wb[d]=parseInt(a[d],16);eh(this)}};function eh(a){if(!Va(a))if(!a.zg)p(a);else if(a.wb&&a.ka){if(a.wb.length!=a.Sh)Wa(a,"ROM size (0x"+da(a.wb.length)+") does not match specified size (0x"+da(a.Sh)+")");else if(fh(a,a.kk)&&fh(a,a.Gm)){if(a.Tk){var b=Pa(a.Tk,a.id);b&&("ega"==b.za&&gh(b,a.wb,[8752,12640],8),p(b))}delete a.wb}p(a)}}
function fh(a,b){if(null==b)return!0;if(Cb(a.ka,b,a.Sh,Qb)){for(var c=0;c<a.wb.length;c++){var d=a.ka,e=b+c;d.sa[(e&d.tb)>>>d.jb].Zj(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new dh(d);Sa(d,c)}});function hh(a){n.call(this,"RAM",a,hh);this.Mg=a.addr;this.Ed=a.size;this.cn=a.test;this.Zm=!!this.Ed;this.eh=!1}La(n,hh);hh.prototype.zc=function(a,b,c){this.ka=b;this.U=c;this.ca=bb(a,"ChipSet");p(this)};
a.Ub&~e|(c?0:e);break;case "sw2":a.ne=a.ne&~e|(c?0:e)}bg(a)}}(a,b[g])}function sg(a,b){a.setAttribute("data-value",b?"1":"0");a.style.color=b?"#ffffff":"#000000";a.style.backgroundColor=b?"#000000":"#ffffff"}function bg(a){var b=a.ma.swdesc,c={0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"};if(null!=b){var d;d=""+(fg(a,!0)+"Kb");d+=", "+c[gg(a,!0)]+" Monitor";d+=", "+rg(a,!0)+" Floppy Drives";if(null!=a.Yc&&a.Yc!=a.Ub||null!=a.Ve&&a.Ve!=a.ne)d+=" (Reset required)";b.textContent=d}}
function tg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Sa[a.xb];a.xb^=1;b||0!=c||a.xb||(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 ug(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Sa[a.xb]=c.Mg[a.xb]=d;a.xb^=1}function vg(a,b,c){a=a.Ya[b];var d=a.vb[c],e=d.Ua[a.xb];a.xb^=1;b||0!=c||a.xb||(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 wg(a,b,c,d){a=a.Ya[b];c=a.vb[c];c.Ua[a.xb]=c.Yb[a.xb]=d;a.xb^=1}
function xg(a,b){var c=a.Ya[b],d=c.Pd|1;c.Pd&=-16;return d}function yg(a,b,c){a=a.Ya[b];b=c&3;a.Pd=a.Pd&~(16<<b)|(c&4)<<b+2;a.uk=c}function Dg(a,b,c){b=a.Ya[b];var d=c&3,e=b.vb[d];e.Ad=!!(c&4);e.Ad||Eg(a,b.qo+d)}function Fg(a,b){for(var c=a.Ya[b],d=0;d<c.vb.length;d++)mg(c,d)}function Gg(a,b,c){return a.Ya[b].vb[c].Wg}function Hg(a,b,c,d){a.Ya[b].vb[c].Wg=d}function Ig(a,b,c,d,e){og(a.Ya[b>>2].vb[b&3],c,d,e)}
function Eg(a,b,c){b=a.Ya[b>>2].vb[b&3];b.bh&&b.Ki&&b.Ih?(c&&(b.eh=c),b.Ad||oe(a,b,!0)):c&&c(!0)}function oe(a,b,c){c&&(b.count=b.Ua[1]<<8|b.Ua[0],b.Cm=b.mode&12,b.Qk=b.fd=!1);for(var d=!1;0<=b.count&&(c=b.Wg<<16|b.Sa[1]<<8|b.Sa[0],4==b.Cm?(d=!0,function(c){b.Ki.call(b.bh,b.Ih,-1,function(f,g){0>f&&(b.Qk||(b.Qk=!0),f=255);b.Ad||a.ka.Te(c,f);(d=g)&&setTimeout(function(){Jg(b)||oe(a,b)},0)})}(c)):8==b.Cm?(c=a.ka.qc(c),0>b.Ki.call(b.bh,b.Ih,c)&&(b.fd=!0)):b.fd=!0),!d&&!Jg(b););}
function Jg(a){if(!a.fd&&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.Ad))return!1;var b=a.V;b.Pd=b.Pd&~(16<<a.Wk)|1<<a.Wk;a.mode&16||(a.Ad=!0,a.bh=a.Ih=null);a.eh&&(a.eh(!a.fd),a.eh=null);return!0}function Kg(a,b){var c=0,d=a.Vb[b];if(null!=d.Pf)switch(d.Pf&3){case 2:c=d.Nb;break;case 3:c=d.Cc}return c}
function Lg(a,b,c){var d=a.Vb[b];if(c&16)d.Cd=0,d.Oc[d.Cd++]=c,d.ad=0,d.ve=7,d.Nb=d.Cc=0,d.Pf=10;else if(c&8)c&100&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW3 command: "+ea(c)),rc(a.U)),d.Pf=c;else{var e=c&224;if(e&32){var f,g=0;if(96==(e&96))g=1<<(c&7);else for(f=d.ve+1;;){f&=7;var h=1<<f;if(d.Cc&h){g=h;break}if(f++==d.ve)break}d.Cc&g&&(d.Cc&=~g,Mg(a));e&128&&(a.va("PIC"+b+"(0x"+ea(d.port)+"): unsupported OCW2 rotate command: "+ea(c)),rc(a.U))}else 192==e?d.ve=c&7:(a.va("PIC"+b+"(0x"+ea(d.port)+
"): unsupported OCW2 automatic EOI command: "+ea(c)),rc(a.U))}}function Ng(a,b,c){var d=a.Vb[b];d.Cd<d.Oc.length?(d.Oc[d.Cd++]=c,2==d.Cd&&d.Oc[0]&2&&d.Cd++,3!=d.Cd||d.Oc[0]&1||d.Cd++):(d.ad=c,d=a.U,d.Q|=4,Mg(a,b||253!=c?0:6))}function Og(a,b,c){var d=a.Vb[b>>3];b=1<<(b&7);d.Nb&b||(d.Nb|=b,d.kg=c||0,Mg(a))}function Pg(a,b){var c=a.Vb[b>>3],d=1<<(b&7);c.Nb&d&&(c.Nb&=~d,Mg(a))}
function Mg(a,b){var c,d=-1;1<a.Tf&&(c=a.Vb[1],d=~(c.Cc|c.ad)&c.Nb);c=a.Vb[0];0<=d&&(c.Nb=d?c.Nb|4:c.Nb&-5);var d=~(c.Cc|c.ad)&c.Nb,e=a.U;e.ca&&(e.kb=d?e.kb|1:e.kb&-2);d&&b&&(c.kg=b)}function me(a,b){void 0===b&&(b=0);var c=-1,d=a.Vb[b];if(d.kg)c=-2,d.kg--;else for(var e=d.Nb&((d.Cc|d.ad)^255),f=d.ve+1;;){var f=f&7,g=1<<f;if(e&g){c=b||2!=f?d.Oc[1]+f:me(a,1);0<=c&&(d.Cc|=g,d.Nb&=~g);break}if(f++==d.ve)break}return c}
function Qg(a,b){var c=a.Lb[b];c.Td==c.Ce&&Rg(a,b);if(c.bg)return c.De[c.Td++];Sg(a,b);return c.Ua[c.Td++]}function Tg(a,b,c){var d=a.Lb[b];d.Td==d.Ce&&Rg(a,b);d.Yb[d.Td++]=c;d.Td==d.Ce&&(d.He&&0!=d.mode&&8!=d.mode||(d.bg=!1,d.Ua[0]=d.wc[0]=d.Yb[0],d.Ua[1]=d.wc[1]=d.Yb[1],d.Bd=yc(a.U,a.Xd),d.He=!0,d.gd=0!=d.mode,0==b&&(Pg(a,0),c=Ug(a,0)*a.Hh|0,6==d.mode&&(c>>=1),vc(a.U,c))),2==b&&zc(a))}k=T.prototype;k.fo=function(){return null};
k.qp=function(a,b){this.ji=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Lb[c];g.Ph=f;g.mode=e;g.wk=d;g.Yb=[0,0];g.Ua=[0,0];g.De=[0,0];g.gd=!1;g.bg=!1;g.He=!1;Rg(this,c);0==c&&Pg(this,0);2==c&&255==this.Vb[0].ad&&77==this.uc&&(c=this.Lb[0],c.wc[0]=c.Yb[0],c.wc[1]=c.Yb[1],c.Bd=yc(this.U,this.Xd))}else Sg(this,c),d=this.Lb[c],d.De[0]=d.Ua[0],d.De[1]=d.Ua[1],d.bg=!0,Rg(this,c)}};function Ug(a,b){var c=a.Lb[b],d=c.Yb[1]<<8|c.Yb[0];d||(d=1==c.Ce?256:65536);return d}
function Bc(a,b){var c=a.Lb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.Ce?256:65536);return d}function Rg(a,b){var c=a.Lb[b];c.Td=32==c.Ph?1:0;c.Ce=48==c.Ph?2:1}
function Sg(a,b,c){var d=a.Lb[b];if(d.He&&(2!=b||a.uc&1)){var e=yc(a.U,a.Xd),f=(e-d.Bd)/a.Hh|0;0>f&&(d.Bd=e,f=0);var g=Ug(a,b),h=Bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.gd=!0,d.He=!1,b||Og(a,0))):4==d.mode?(d.gd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0))):6==d.mode&&(h-=f,0>=h&&(d.gd=!d.gd,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.Bd=e,!b&&d.gd&&Og(a,0)));d.Ua[0]=h&255;d.Ua[1]=h>>8;c&&(a.Bd=0)}return d}
function Ac(a,b){for(var c=0;c<a.Lb.length;c++)Sg(a,c,b);if(a.za>=Tf){var c=a.U.S.jd,d=yc(a.U,a.Xd);null==a.Fh&&(a.ug=yc(a.U,a.Xd),a.hm=1024,a.Fh=Math.floor(a.U.S.jd/a.hm),kg(a));d>=a.Cf&&(a.ba[12]|=64,a.ba[11]&64&&(a.ba[12]|=128,Og(a,8)),a.Cf=d+a.Fh);a.ba[0]==a.ba[1]&&a.ba[2]==a.ba[3]&&a.ba[4]==a.ba[5]&&(a.ba[12]|=32,a.ba[11]&32&&(a.ba[12]|=128,Og(a,8)));var e=d-a.ug,f=Math.floor(e/c);if(f&&!(a.ba[11]&128)){for(;f--;)if(60<=++a.ba[0]&&(a.ba[0]=0,60<=++a.ba[2]&&(a.ba[2]=0,24<=++a.ba[4]))){a.ba[4]=
0;a.ba[6]=a.ba[6]%7+1;var g;g=a.ba[9];var h=ma[a.ba[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ba[7]>g&&(a.ba[7]=1,12<++a.ba[8]&&(a.ba[8]=1,a.ba[9]=(a.ba[9]+1)%100))}a.ba[12]|=16;a.ba[11]&16&&(a.ba[12]|=128,Og(a,8))}a.ug=d-e%c}}k.Xn=function(){var a=this.Vg;if(this.Qf&16)if(this.uc&128)a=this.Yc;else if(this.Ba){var a=this.Ba,b=0;a.Mb.length&&(b=a.Mb[0]);a=b}return a};k.jp=function(a,b){this.Vg=b};k.Yn=function(){return this.uc};
k.kp=function(a,b){Vg(this,b);this.Ba&&Wg(this.Ba,b&128?!1:!0,b&64?!0:!1)};function Vg(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&zc(a,c)}k.Zn=function(){var a=0,a=this.za==Of?this.uc&4?a|this.Ve&15:a|this.Ve>>4&1:this.uc&8?a|this.Yc>>4:a|this.Yc&15;this.uc&1&&Sg(this,2).gd&&(a=this.uc&2?a|32:a|16);return a};k.lp=function(a,b){this.hi=b};k.$n=function(){return this.Qf};k.mp=function(a,b){this.Qf=b};k.nn=function(){var a=this.Pg;this.ib&=-258;this.Ba&&Xg(this.Ba);return a};
k.Bo=function(a,b){if(this.ib&8)switch(this.sd){case 96:Yg(this,b);break;case 209:Zg(this,b);break;default:if(Yg(this,this.rd&-17),this.Ba){var c=-1;switch(b){case 255:c=250,$g(this.Ba)}ah(this,c)}}this.sd=b;this.ib&=-9};k.on=function(){return this.uc&-209|(yc(this.U)&64?16:0)};k.Co=function(a,b){Vg(this,b)};k.pn=function(){var a=this.ib&255;this.ib&256&&(this.ib|=1,this.ib&=-257);return a};
k.Ao=function(a,b){this.sd=b;this.ib|=8;var c=0;240<=this.sd&&(c=this.sd^15,this.sd=240);switch(this.sd){case 192:ah(this,this.ue);break;case 173:Yg(this,this.rd|16);break;case 174:Yg(this,this.rd&-17);this.Ba&&Xg(this.Ba);break;case 170:this.Ba&&(this.Ba.Mb=[]);Yg(this,this.rd|16);ah(this,85);Zg(this,3);break;case 224:ah(this,this.rd&16?0:1);break;case 240:c&1&&Gd(this.U)}};function Yg(a,b){a.rd=b;a.ib=a.ib&-5|b&4;a.Ba&&Wg(a.Ba,!!(b&8),!(b&16))}
function ah(a,b){0<=b&&(a.Pg=b,a.ib&=-2,a.ib|=256)}function Zg(a,b){a.ei=b;Bb(a.ka,!!(b&2));b&1||Gd(a.U)}function bh(a,b){a.za<Tf?Og(a,1,4):a.rd&16||a.ib&257||(ah(a,b),ch(a.Ba),Og(a,1,120))}k.Dn=function(){return this.hf};k.Qo=function(a,b){this.hf=b;this.Ug=b&128?0:128};
k.En=function(a,b){var c=this.hf&63,d;if(13>=c)if(d=this.ba[c],10>c){var e=!1;4!=c&&5!=c||this.ba[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ba[11]&4||(e&&128<d&&(d-=48),d=d%10|d/10<<4)}else 10==c&&(this.ba[c]^=128);else d=this.ba[c];null!=b&&12==c&&(this.ba[c]&=15,d&128&&Pg(this,8),d&64&&this.ba[11]&64&&kg(this));return d};
k.Ro=function(a,b){var c=this.hf&63,d=b^this.ba[c],e;if(13>=c){if(e=b,10>c){var f=!1;this.ba[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23<e&&(e+=48),this.ba[11]&2||(12>=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ba[c]=e;11==c&&d&64&&b&64&&kg(this)};k.Vn=function(){return this.Sg};k.gp=function(a,b){this.Sg=b};k.ip=function(a,b){this.Ug=b};k.So=function(){};k.To=function(){};
function Pf(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 zc(a,b){if(a.pi){void 0!==b?a.Nk=b:b=a.Nk&&a.U&&a.U.ea.Ib;var c=Math.round(1193181/Ug(a,2));if(20>c||2E4<c)b=!1;b?a.pd?a.pd.frequency.value=c:(a.pd=a.pi.createOscillator(),a.pd.type=1,a.pd.connect(a.pi.destination),a.pd.frequency.value=c,a.pd.noteOn(0)):a.pd&&(a.pd.noteOff(0),a.pd.disconnect(),delete a.pd)}else b&&a.cc("BEEP",4194304)}
var Wf={0:function(){return tg(this,0,0)},1:function(){return vg(this,0,0)},2:function(){return tg(this,0,1)},3:function(){return vg(this,0,1)},4:function(){return tg(this,0,2)},5:function(){return vg(this,0,2)},6:function(){return tg(this,0,3)},7:function(){return vg(this,0,3)},8:function(){return xg(this,0)},32:function(){return Kg(this,0)},33:function(){return this.Vb[0].ad},64:function(){return Qg(this,0)},65:function(){return Qg(this,1)},66:function(){return Qg(this,2)},67:T.prototype.fo,129:function(){return Gg(this,
0,2)},130:function(){return Gg(this,0,3)},131:function(){return Gg(this,0,1)},135:function(){return Gg(this,0,0)}},Yf={96:T.prototype.Xn,97:T.prototype.Yn,98:T.prototype.Zn,99:T.prototype.$n},$f={96:T.prototype.nn,97:T.prototype.on,100:T.prototype.pn,112:T.prototype.Dn,113:T.prototype.En,128:T.prototype.Vn,132:function(){return this.Xb[0]},133:function(){return this.Xb[1]},134:function(){return this.Xb[2]},136:function(){return this.Xb[3]},137:function(){return Gg(this,1,2)},138:function(){return Gg(this,
1,3)},139:function(){return Gg(this,1,1)},140:function(){return this.Xb[4]},141:function(){return this.Xb[5]},142:function(){return this.Xb[6]},143:function(){return Gg(this,1,0)},160:function(){return Kg(this,1)},161:function(){return this.Vb[1].ad},192:function(){return tg(this,1,0)},194:function(){return vg(this,1,0)},196:function(){return tg(this,1,1)},198:function(){return vg(this,1,1)},200:function(){return tg(this,1,2)},202:function(){return vg(this,1,2)},204:function(){return tg(this,1,3)},
206:function(){return vg(this,1,3)},208:function(){return xg(this,1)}},Xf={0:function(a,b){ug(this,0,0,b)},1:function(a,b){wg(this,0,0,b)},2:function(a,b){ug(this,0,1,b)},3:function(a,b){wg(this,0,1,b)},4:function(a,b){ug(this,0,2,b)},5:function(a,b){wg(this,0,2,b)},6:function(a,b){ug(this,0,3,b)},7:function(a,b){wg(this,0,3,b)},8:function(a,b){this.Ya[0].fi=b},9:function(a,b){yg(this,0,b)},10:function(a,b){Dg(this,0,b)},11:function(a,b){this.Ya[0].vb[b&3].mode=b},12:function(){this.Ya[0].xb=0},13:function(){Fg(this,
0)},32:function(a,b){Lg(this,0,b)},33:function(a,b){Ng(this,0,b)},64:function(a,b){Tg(this,0,b)},65:function(a,b){Tg(this,1,b)},66:function(a,b){Tg(this,2,b)},67:T.prototype.qp,129:function(a,b){Hg(this,0,2,b)},130:function(a,b){Hg(this,0,3,b)},131:function(a,b){Hg(this,0,1,b)},135:function(a,b){Hg(this,0,0,b)}},Zf={96:T.prototype.jp,97:T.prototype.kp,98:T.prototype.lp,99:T.prototype.mp,160:T.prototype.ip},ag={96:T.prototype.Bo,97:T.prototype.Co,100:T.prototype.Ao,112:T.prototype.Qo,113:T.prototype.Ro,
128:T.prototype.gp,132:function(a,b){this.Xb[0]=b},133:function(a,b){this.Xb[1]=b},134:function(a,b){this.Xb[2]=b},136:function(a,b){this.Xb[3]=b},137:function(a,b){Hg(this,1,2,b)},138:function(a,b){Hg(this,1,3,b)},139:function(a,b){Hg(this,1,1,b)},140:function(a,b){this.Xb[4]=b},141:function(a,b){this.Xb[5]=b},142:function(a,b){this.Xb[6]=b},143:function(a,b){Hg(this,1,0,b)},160:function(a,b){Lg(this,1,b)},161:function(a,b){Ng(this,1,b)},192:function(a,b){ug(this,1,0,b)},194:function(a,b){wg(this,
1,0,b)},196:function(a,b){ug(this,1,1,b)},198:function(a,b){wg(this,1,1,b)},200:function(a,b){ug(this,1,2,b)},202:function(a,b){wg(this,1,2,b)},204:function(a,b){ug(this,1,3,b)},206:function(a,b){wg(this,1,3,b)},208:function(a,b){this.Ya[1].fi=b},210:function(a,b){yg(this,1,b)},212:function(a,b){Dg(this,1,b)},214:function(a,b){this.Ya[1].vb[b&3].mode=b},216:function(){this.Ya[1].xb=0},218:function(){Fg(this,1)},240:T.prototype.So,241:T.prototype.To};
za(function(){for(var a=Ta(window.document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new T(d);Sa(d,c);bg(d)}});function dh(a){n.call(this,"ROM",a,dh);this.wb=null;this.ok=a.addr;this.Uh=a.size;this.Mf=a.alias;this.Ag=a.file;this.yp=ga(this.Ag);this.Yk=a.notify;if(this.Ag){a=this.Ag;var b=ha(this.yp);"json"!=b&&"hex"!=b&&(a=oa()+"/api/v1/dump?file="+this.Ag+"&format=bytes&decimal=true");na(a,!0,null,this,dh.prototype.wo)}}La(n,dh);
dh.prototype.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;eh(this)};dh.prototype.bc=function(){this.ci&&(this.Wa&&this.Wa.Bq(this.ok,this.Uh,this.ci),delete this.ci);return!0};dh.prototype.ac=function(){return!0};
dh.prototype.wo=function(a,b,c){if(c)this.va("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.wb=e;else if(f)for(this.wb=Array(4*f.length),c=b=0;b<f.length;b++)this.wb[c++]=f[b]&255,this.wb[c++]=f[b]>>8&255,this.wb[c++]=f[b]>>16&255,this.wb[c++]=f[b]>>24&255;else this.wb=d;this.ci=d.symbols;if(!this.wb.length){m("Empty ROM: "+a);return}if(1==this.wb.length){m(this.wb[0]);return}}catch(g){this.va("ROM data error: "+
g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.wb=Array(a.length),d=0;d<a.length;d++)this.wb[d]=parseInt(a[d],16);eh(this)}};
function eh(a){if(!Va(a))if(!a.Ag)p(a);else if(a.wb&&a.ka){if(a.wb.length!=a.Uh)Wa(a,"ROM size (0x"+da(a.wb.length)+") does not match specified size (0x"+da(a.Uh)+")");else if(fh(a,a.ok)){var b=[];"number"==typeof a.Mf?b.push(a.Mf):null!=a.Mf&&a.Mf.length&&(b=a.Mf);for(var c=0;c<b.length;c++)fh(a,b[c]);a.Yk&&(b=Na(a.Yk,a.id))&&("ega"==b.za&&gh(b,a.wb,[8752,12640],8),p(b));delete a.wb}p(a)}}
function fh(a,b){if(Cb(a.ka,b,a.Uh,Qb)){for(var c=0;c<a.wb.length;c++){var d=a.ka,e=b+c;d.ta[(e&d.tb)>>>d.jb].ak(e&d.Ta,a.wb[c]&255)}return!0}return!1}za(function(){for(var a=Ta(window.document,"pcjs","rom"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new dh(d);Sa(d,c)}});function hh(a){n.call(this,"RAM",a,hh);this.Ng=a.addr;this.Ed=a.size;this.hn=a.test;this.dn=!!this.Ed;this.fh=!1}La(n,hh);hh.prototype.yc=function(a,b,c){this.ka=b;this.U=c;this.ca=bb(a,"ChipSet");p(this)};
hh.prototype.bc=function(a,b){b||this.reset();return!0};hh.prototype.ac=function(){return!0};
hh.prototype.reset=function(){if(!this.Mg&&!this.Zm&&this.ca){var a=1024*fg(this.ca);this.Ed&&a!=this.Ed&&(Eb(this.ka,this.Mg,this.Ed),this.eh=!1);this.Ed=a}!this.eh&&this.Ed&&Cb(this.ka,this.Mg,this.Ed,1)&&(this.eh=!0,this.status(Math.floor(this.Ed/1024)+"Kb"));if(this.eh){if(this.cn||Gb(this.ka,1138,4660),this.ca&&(a=this.ca,a.ba)){var b=1048576>this.Mg?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")};
za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new hh(d);Sa(d,c)}});function ih(a){n.call(this,"Keyboard",a,ih);this.Gk=ua("Mobi");this.$m=ua("MSIE");this.cc("mobile keyboard support: "+(this.Gk?"true":"false"));this.vk=0;this.jh=!0;this.Fi=this.Ai=!1;this.Gb=[];this.jo=500;this.ko=100;this.io=50;this.Bk=!1;p(this)}La(n,ih);
var V={Ep:1,Fp:3,Gp: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,Bp:65,Cp:66,ck:67,zm:68,E:69,Jp:70,Mp:71,dk:72,Op:73,Pp:74,Qp:75,Rp:76,Sp:77,Wh:78,Up:79,Vp:80,Xp:81,fk:82,aq:83,kq:84,oq:85,pq:86,qq:87,sq:88,tq:89,uq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,vq:97,xq:98,zq:99,Gq:100,Hq:101,Iq:102,Kq:103,Mq:104,Oq:105,Pq:106,Qq:107,
Rq:108,Sq:109,Tq:110,Vq:111,Wq:112,Xq:113,Yq:114,Zq:115,ar:116,br:117,cr:118,dr:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},jh={};jh[186]=V[";"];jh[187]=V["="];jh[188]=V[","];jh[189]=V["-"];jh[190]=V["."];jh[191]=V["/"];jh[192]=V["`"];jh[219]=V["["];jh[220]=V["\\"];jh[221]=V["]"];jh[222]=V["'"];jh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"];
hh.prototype.reset=function(){if(!this.Ng&&!this.dn&&this.ca){var a=1024*fg(this.ca);this.Ed&&a!=this.Ed&&(Eb(this.ka,this.Ng,this.Ed),this.fh=!1);this.Ed=a}!this.fh&&this.Ed&&Cb(this.ka,this.Ng,this.Ed,1)&&(this.fh=!0,this.status(Math.floor(this.Ed/1024)+"Kb"),"ramCPQ"==this.th&&(this.V=new ih,Cb(this.ka,jh,1,4,this.V)));if(this.fh){if(this.hn||Gb(this.ka,1138,4660),this.ca&&(a=this.ca,a.ba)){var b=1048576>this.Ng?21:23,c=a.ba[b]|a.ba[b+1]<<8,c=c+(this.Ed>>10);a.ba[b]=c&255;a.ba[b+1]=c>>8;jg(a)}}else m("No RAM allocated")};
function ih(){this.Km=kh;this.Lm=lh}var jh=2160066560,kh=255,lh=0;function mh(){return this.V.Lm}function nh(a,b){this.V.Km=b}var oh=[mh,mh,mh,nh,nh,nh];ih.prototype.Tk=function(){return[null,0]};ih.prototype.Li=function(){return oh};za(function(){for(var a=Ta(window.document,"pcjs","ram"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new hh(d);Sa(d,c)}});
function ph(a){n.call(this,"Keyboard",a,ph);this.Kk=ua("Mobi");this.en=ua("MSIE");this.cc("mobile keyboard support: "+(this.Kk?"true":"false"));this.zk=0;this.kh=!0;this.Hi=this.Ci=!1;this.Gb=[];this.oo=500;this.po=100;this.no=50;this.Fk=!1;p(this)}La(n,ph);
var V={Jp:1,Kp:3,Lp: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,Gp:65,Hp:66,ek:67,Em:68,E:69,Op:70,Rp:71,fk:72,Tp:73,Up:74,Vp:75,Wp:76,Xp:77,Yh:78,Zp:79,$p:80,bq:81,hk:82,fq:83,pq:84,tq:85,uq:86,vq:87,xq:88,yq:89,zq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Aq:97,Cq:98,Eq:99,Lq:100,Mq:101,Nq:102,Pq:103,Rq:104,Tq:105,Uq:106,Vq:107,
Wq:108,Xq:109,Yq:110,$q:111,ar:112,br:113,cr:114,dr:115,fr:116,gr:117,hr:118,ir:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},qh={};qh[186]=V[";"];qh[187]=V["="];qh[188]=V[","];qh[189]=V["-"];qh[190]=V["."];qh[191]=V["/"];qh[192]=V["`"];qh[219]=V["["];qh[220]=V["\\"];qh[221]=V["]"];qh[222]=V["'"];qh[173]=V["-"];var W={};W[V["1"]]=V["!"];W[V["2"]]=V["@"];W[V["3"]]=V["#"];W[V["4"]]=V.$;W[V["5"]]=V["%"];W[V["6"]]=V["^"];W[V["7"]]=V["&"];W[V["8"]]=V["*"];W[V["9"]]=V["("];W[V["0"]]=V[")"];
W[186]=V[":"];W[187]=V["+"];W[188]=V["<"];W[189]=V._;W[190]=V[">"];W[191]=V["?"];W[192]=V["~"];W[219]=V["{"];W[220]=V["|"];W[221]=V["}"];W[222]=V['"'];W[173]=V._;W[61]=V["+"];W[59]=V[":"];
var kh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},lh={TAB:1009,ESC:1027,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:4008,CTRL_ALT_DEL:4046},mh={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13,
var rh={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},sh={TAB:1009,ESC:1027,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:4008,CTRL_ALT_DEL:4046},th={esc:1027,1:V["1"],2:V["2"],3:V["3"],4:V["4"],5:V["5"],6:V["6"],7:V["7"],8:V["8"],9:V["9"],0:V["0"],"-":V["-"],"=":V["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":V["["],"]":V["]"],enter:13,
ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":V[";"],quote:V["'"],"`":V["`"],shift:1016,"\\":V["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":V[","],".":V["."],"/":V["/"],"right-shift":3016,prtsc:1044,alt:1018,space:V[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035,
"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},nh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16;
"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},uh={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},X={1027:1};X[V["1"]]=2;X[V["!"]]=10754;X[V["2"]]=3;X[V["@"]]=10755;X[V["3"]]=4;X[V["#"]]=10756;X[V["4"]]=5;X[V.$]=10757;X[V["5"]]=6;X[V["%"]]=10758;X[V["6"]]=7;X[V["^"]]=10759;X[V["7"]]=8;X[V["&"]]=10760;X[V["8"]]=9;X[V["*"]]=10761;X[V["9"]]=10;X[V["("]]=10762;X[V["0"]]=11;X[V[")"]]=10763;X[V["-"]]=12;X[V._]=10764;X[V["="]]=13;X[V["+"]]=10765;X[1008]=14;X[1009]=15;X[113]=16;
X[81]=10768;X[119]=17;X[87]=10769;X[101]=18;X[69]=10770;X[114]=19;X[82]=10771;X[116]=20;X[84]=10772;X[121]=21;X[89]=10773;X[117]=22;X[85]=10774;X[105]=23;X[73]=10775;X[111]=24;X[79]=10776;X[112]=25;X[80]=10777;X[V["["]]=26;X[V["{"]]=10778;X[V["]"]]=27;X[V["}"]]=10779;X[13]=28;X[1017]=29;X[97]=30;X[65]=10782;X[115]=31;X[83]=10783;X[100]=32;X[68]=10784;X[102]=33;X[70]=10785;X[103]=34;X[71]=10786;X[104]=35;X[72]=10787;X[106]=36;X[74]=10788;X[107]=37;X[75]=10789;X[108]=38;X[76]=10790;X[V[";"]]=39;
X[V[":"]]=10791;X[V["'"]]=40;X[V['"']]=10792;X[V["`"]]=41;X[V["~"]]=10793;X[1016]=42;X[V["\\"]]=43;X[V["|"]]=10795;X[122]=44;X[90]=10796;X[120]=45;X[88]=10797;X[99]=46;X[67]=10798;X[118]=47;X[86]=10799;X[98]=48;X[66]=10800;X[110]=49;X[78]=10801;X[109]=50;X[77]=10802;X[V[","]]=51;X[V["<"]]=10803;X[V["."]]=52;X[V[">"]]=10804;X[V["/"]]=53;X[V["?"]]=10805;X[3016]=54;X[1044]=55;X[1018]=56;X[V[" "]]=57;X[1020]=58;X[1112]=59;X[1113]=60;X[1114]=61;X[1115]=62;X[1116]=63;X[1117]=64;X[1118]=65;X[1119]=66;
X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ih.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return oh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Bk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Fi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||ph(d,a,!0);return b},c.onkeyup=function(a){return oh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,
1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();ph(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==lh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();qh(a,c,!0);ph(a,c,!0)}}(this,f,lh[f]),!0;if(void 0!==mh[b])return this.vk++,this.ma[e]=c,a=function(a,b,c){return function(){ph(a,c)}}(this,b,mh[b]),b=
function(a,b,c){return function(){rh(a,c)}}(this,b,mh[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function sh(a,b,c){if(a.vk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=jh[d])&&(b=d);break}for(var e in mh)if((d=mh[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=mh[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.zi!==c&&(a.zi=a.Ei=c);a.ih!==b&&(a.ih=b)&&!a.Ei&&ch(a,!0);a.ih&&a.Ei&&($g(a,!0),a.Ei=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0<a.Mb.length&&(a.Mb.shift(),b&&a.Mb.length&&a.ca&&bh(a.ca,a.Mb[0]))}
k.bc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd();this.Pb=this.dd=0;this.Mb=[]};k.save=function(){var a=new Od(this);a.set(0,this.Xj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[]);this.zi=a[b++];this.ih=a[b];return!0};k.Xj=function(){var a=0,b=[];b[a++]=this.zi;b[a]=this.ih;return b};
function qh(a,b,c,d){if(X[b]){var e=Math.floor(b/1E3)&2;if(b=kh[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.dd:a.Pb)&b):d||b&255&&(b=255);if(c){a.dd&=~b;d&&(a.dd|=b);c=b;var f,g;for(g in nh)d="led-"+g,e=nh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.dd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1}
function ph(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){kh[b]&&a.Gb.length&&0<a.Gb[0].md&&(a.Gb[0].md=0);for(var d,e=0;e<a.Gb.length;e++)if(d=a.Gb[e],d.me==b){if(!c||0<=d.md){e=-1;break}0<e&&(0<a.Gb[0].md&&(a.Gb[0].md=0),a.Gb.splice(e,1));break}0>e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,sh(a,b,!0),e++),0<e&&a.Gb.splice(0,0,d),d.$f=!0,d.md=c?-1:kh[b]?0:1,th(a,d))}}
function rh(a,b,c){if(!X[b]||!(c||a.U&&a.U.ea.Ib))return!1;for(var d=!1,e=0;e<a.Gb.length;e++){var f=a.Gb[e];if(f.me==b||f.me==W[b]){a.Gb.splice(e,1);f.um&&clearTimeout(f.um);f.$f&&!c&&uh(a,f.me,!1);sh(a,b,!1);d=!0;break}}!a.Gb.length&&a.Fi&&(qh(a,1020),a.Fi=!1);return d}
function th(a,b){if(a.U&&a.U.ea.Ib){if(uh(a,b.me,b.$f),b.md){var c;if(0>b.md){if(!b.$f){rh(a,b.me);return}b.$f=!1;c=a.io}else c=1==b.md++?a.jo:a.ko;b.um=setTimeout(function(a){return function(){th(a,b)}}(a),c)}}else rh(a,b.me,!0)}function vh(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=jh[b])d=a;return d}k.Hh=function(a){this.jh=a;a||(this.Pb&=-256)};
function oh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=vh(a,g,!0);a.Ai&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),qh(a,h,!1,c)){if(20==g||144==g||145==g)a.$m||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r<a.Gb.length;r++){var t=a.Gb[r];t.$f=!1;0<t.md&&(t.md=0)}}else 8==g&&8==(a.Pb&40)&&(h=4008),d=!1;else if(X[h]&&a.Pb&60&&(d=!1),!a.Bk&&d&&c||a.Pb&192)f=!0;d||b.preventDefault();f||a.Gk&&d||(c?ph(a,h,e):rh(a,h)||(b=vh(a,g,!1),b!=h&&rh(a,b)));return d}
function uh(a,b,c){qh(a,b,!0,c);var d=X[b]||X[b+1E3];if(void 0!==d){14==d&&40==(a.Pb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.dd&3||a.dd&512&&b||(g=h):29==h?a.dd&12||(g=h):56==h?a.dd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Mb&&(20>d.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}}
za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new ih(d);Sa(d,c)}});
function Y(a,b,c,d,e){n.call(this,"Video",a,Y);this.za=a.model;this.Uc=0;"ega"==this.za&&(this.pm=a.switches,this.Uc=a.memory||0);this.ld=a.mode;if(void 0===this.ld||void 0===wh[this.ld])this.ld=xh;this.zh=a.charCols;this.Xi=a.charRows;if(void 0===this.zh||void 0===this.Xi)this.zh=wh[this.ld][0],this.Xi=wh[this.ld][1];this.vd=a.screenWidth;this.Vd=a.screenHeight;this.bn=a.scale;this.Ym=12<=Math.round(this.vd/this.zh);this.dn=a.touchScreen;this.Uf=b;this.Wc=c;this.Ca=(this.yp=d)||b||null;this.ae=null;
this.Wm=a.autoLock;this.Ra=this.Kb=0;this.Kd=[];this.qd=Array(16);this.jh=!1;var f=this;if(this.Vc=e)this.Vc.lf=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.Vc.lf&&(b=function(){var a=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?!0:!1;f.cc("notifyFullScreen("+a+")",!0);f.Ba&&(f.Ba.Ai=a)},"onfullscreenchange"in document?document.addEventListener("fullscreenchange",b,!1):
"onmozfullscreenchange"in document?document.addEventListener("mozfullscreenchange",b,!1):"onwebkitfullscreenchange"in document?document.addEventListener("webkitfullscreenchange",b,!1):"onmsfullscreenchange"in document&&document.addEventListener("msfullscreenchange",b,!1));this.Ca&&(this.Ca.onfocus=function(){return f.Hh(!0)},this.Ca.onblur=function(){return f.Hh(!1)},this.Ca.Je=this.Ca.requestPointerLock||this.Ca.mozRequestPointerLock||this.Ca.webkitRequestPointerLock,this.Ca.vm=this.Ca.exitPointerLock||
this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Je&&(b=function(){f.ug(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"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=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.so)}La(n,Y);var yh={2:{$i:15700,Zi:208,Nj:85,Oj:96},3:{$i:18432,Zi:364,Nj:85,Oj:96},4:{$i:21850,Zi:364,Nj:85,Oj:96}},zh={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]},xh=7,wh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];wh[xh]=[80,25,1,0,1];wh[13]=[320,200,16];wh[14]=[640,200,16];wh[15]=[640,350,16];
wh[16]=[640,350,16];wh[0]=wh[1];wh[2]=wh[3];wh[5]=wh[4];var Ah=Array(5);Ah[0]=[0,0,0,255];Ah[1]=[127,192,127,255];Ah[2]=[127,192,127,255];Ah[3]=[127,255,127,255];Ah[4]=[127,255,127,255];var Bh=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Ch=Array(16);Ch[0]=[0,0,0,255];Ch[1]=[0,0,170,255];Ch[2]=[0,170,0,255];Ch[3]=[0,170,170,255];Ch[4]=[170,0,0,255];Ch[5]=[170,0,170,255];Ch[6]=[170,85,0,255];Ch[7]=[170,170,170,255];Ch[8]=[85,85,85,255];Ch[9]=[85,85,255,255];Ch[10]=[85,255,85,255];Ch[11]=[85,255,255,255];
Ch[12]=[255,85,85,255];Ch[13]=[255,85,255,255];Ch[14]=[255,255,85,255];Ch[15]=[255,255,255,255];var Dh=[2,4,6],Eh=[3,5,7],Fh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Gh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Hh=[0];Hh[128]=1;Hh[32768]=2;Hh[32896]=3;Hh[8388608]=4;Hh[8388736]=5;Hh[8421376]=6;Hh[8421504]=7;Hh[-2147483648]=8;Hh[-2147483520]=9;Hh[-2147450880]=10;Hh[-2147450752]=11;Hh[-2139095040]=12;Hh[-2139094912]=13;
Hh[-2139062272]=14;Hh[-2139062144]=15;
function Ih(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Jh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Kh)];this.rh=b;this.Ra=e[2];this.Kb=e[3];this.Uc=d||e[4];65536<=this.Uc&&720896<=this.Ra&&(this.Kb=Math.min(this.Uc>>2,32768));this.Xc=c[0];this.Ac=c[1];this.Vf=c[2];this.Cg=c[3];this.Ic=c[4]&255;this.qh=c[4]>>8&255;this.mc=c[5];this.Qi=Kh;if(5==b){this.Qi=Lh;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.Kb,this.Uc],Array(this.Uc>>
2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Ie=b[1];this.pe=b[2];this.Yj=b[3];this.uh=b[4];this.Hi=b[5];this.wf=b[6];this.Jg=b[7];this.Ji=b[8];this.Ki=b[9];this.vf=b[10];this.$e=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Uc>>2;if((this.se=b[14])&&this.se.length<d){for(var e=this.se,g=0,h=Array(d),r=0;r<e.length-1;){for(var t=e[r++],B=e[r++];t--;)h[g]=B,g+=2;g==d&&(g=1)}this.se=h}this.Rh(b[15]);this.Kj=b[16];this.bb=b[17];this.kd=b[18];
this.lb=b[19];this.Eh=b[20];this.ge=b[21];this.Ne=b[22];this.Si=b[23];this.Ti=b[24]}f=yh[f]||yh[3];this.Ui=a.U.S.jd/f.$i|0;this.mo=this.Ui*f.Nj/100|0;this.bl=this.Ui*f.Zi;this.oo=this.bl*f.Oj/100|0;this.aj=null==c[7]?0:c[7]}}var Kh=18,Lh=25;function Mh(a){return this.Cb(a)|this.Cb(a+1)<<8}function Nh(a){return this.Cb(a)|this.Cb(a+1)<<8|this.Cb(a+2)<<16|this.Cb(a+3)<<24}function Oh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8)}
function Ph(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Qh=[,,function(a){a+=this.offset;return(this.X.yb=this.ia[a])>>this.X.Kj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Qh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.X.Si&this.X.Ti,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Qh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.X.bb|(b|b<<8|b<<16|b<<24)&this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[1024]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[1536]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d&=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[2560]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d|=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[3584]=function(a,b){var c=a+this.offset;b=b>>this.X.kd|b<<8-this.X.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.X.ge|this.X.Ne;d^=this.X.yb;d=d&this.X.bb|this.ia[c]&~this.X.bb;d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.X.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.X.lb|this.X.yb&~this.X.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Qh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.X.bb|this.X.yb&this.X.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Qh[8192]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[24576]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d&this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Qh[40960]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d|this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Qh[57344]=function(a,b){var c=a+this.offset,d=Gh[b&15],d=d^this.X.yb,d=d&this.X.bb|this.ia[c]&~this.X.bb,d=d&this.X.lb|this.X.yb&~this.X.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
function Rh(a){var b=[];if(void 0!==a.rh){b[0]=a.Xc;b[1]=a.Ac;b[2]=a.Vf;b[3]=a.Cg;b[4]=a.Ic|a.qh<<8;b[5]=a.mc;if(5==a.rh){var c=[];c[0]=a.Wd;c[1]=a.Ie;c[2]=a.pe;c[3]=a.Yj;c[4]=a.uh;c[5]=a.Hi;c[6]=a.wf;c[7]=a.Jg;c[8]=a.Ji;c[9]=a.Ki;c[10]=a.vf;c[11]=a.$e;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Uc];var d;a:if(d=a.se){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 r=d[h],t=h+2;t<d.length&&d[t]===r;)t+=2;f[e++]=t-h>>1;f[e++]=r;h=t}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Pi;c[16]=a.Kj;c[17]=a.bb;c[18]=a.kd;c[19]=a.lb;c[20]=a.Eh;c[21]=a.ge;c[22]=a.Ne;c[23]=a.Si;c[24]=a.Ti;b[6]=c}b[7]=a.aj}return b}Ih.prototype.Rh=function(a){if(null!=a&&a!=this.Pi){var b=a&255,c=Qh[b];c||b&1&&(c=Qh[1]);var b=a&65280,d=Qh[b];d||b&256&&(d=Qh[256]);this.Mf||(this.Mf=[null,Mh,Nh,null,Oh,Ph]);this.Mf[0]=c;this.Mf[3]=d;this.Pi=a}};var Jh=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Y.prototype;
k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;Ib(b,this,Sh);Kb(b,this,Th);"ega"==this.za&&(Ib(b,this,Uh),Kb(b,this,Vh));if((this.Ba=bb(a,"Keyboard"))&&this.Uf){for(var e in this.ma)0<e.indexOf("lock")&&this.Ba.Eb("led",e,this.ma[e]);this.Ba.Eb(this.yp?"textarea":"canvas","kbd",this.Ca)}this.Pg=9;(this.ca=bb(a,"ChipSet"))&&this.pm&&(this.Pg=Pf(this.pm,this.Pg));this.Ba&&this.dn&&Wh(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ma[b])switch(this.ma[b]=c,b){case "fullScreen":return this.Vc&&this.Vc.lf?c.onclick=function(){d.lf()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.vp=c.textContent,this.Ca&&this.Ca.Je?c.onclick=function(){d.Je(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){sc(d,!0)},!0}return!1};k.od=function(){this.Ca&&this.Ca.focus()};
k.lf=function(){var a=!1;this.Vc&&(this.Vc.lf&&(this.Vc.style.width=this.Vc.style.height="100%",this.Vc.style.backgroundColor="black",this.Vc.lf(),a=!0),this.od());return a};k.Je=function(a){var b=!1;this.Ca&&(a?this.Ca.Je&&(this.Ca.Je(),this.ae.ug(!0),b=!0):this.Ca.vm&&(this.Ca.vm(),this.ae.ug(!1),b=!0),this.od());return b};k.ug=function(a){this.ae&&(this.ae.ug(a),this.Ba&&(this.Ba.Ai=a));var b=this.ma.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.vp)};
function Wh(a){var b=a.Ca;b&&!a.yi&&(b.addEventListener("touchstart",function(b){Xh(a,b)},!1),b.addEventListener("touchmove",function(b){Xh(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.yi=!0)}k.Hh=function(a){this.jh=a;this.Ba&&this.Ba.Hh(a)};
function Xh(a,b){a.jh&&b.preventDefault();var c=0,d=0,e=a.Uf;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.vd/a.Uf.offsetWidth,e=a.Vd/a.Uf.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.vd/3)|0;d=(h-d)*e/(a.Vd/3)|0;1!=d?d?ph(a.Ba,1040,!0):ph(a.Ba,1038,!0):1!=c&&(c?ph(a.Ba,1039,!0):ph(a.Ba,1037,!0))}
X[1120]=67;X[1121]=68;X[1144]=69;X[1145]=70;X[1036]=71;X[1038]=72;X[1033]=73;X[1109]=74;X[1037]=75;X[1101]=76;X[1039]=77;X[1107]=78;X[1035]=79;X[1040]=80;X[1034]=81;X[1045]=82;X[1046]=83;X[1122]=87;X[1123]=88;X[1091]=91;X[1093]=93;X[1224]=91;X[4003]=7470;X[4008]=7494;X[4046]=3677523;k=ph.prototype;
k.Eb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.ma[e])switch(b){case "kbd":return this.ma[e]=c,c.onkeydown=function(a){return vh(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;if(d.Fk){var b=d.Gb.length?d.Gb[0].me:0;b&&(65<=b&&90>=b||97<=b&&122>=b)&&(65<=a&&90>=a||97<=a&&122>=a)&&b!=a&&(d.Hi=!0,a=b)}(b=!X[a]||!!(d.Pb&128))||wh(d,a,!0);return b},c.onkeyup=function(a){return vh(d,a,!1)},!0;case "caps-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,
1020,!0)},!0;case "num-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1144,!0)},!0;case "scroll-lock":return this.ma[e]=c,c.onclick=function(){d.U&&d.U.od();wh(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==sh[f]&&"button"==a)return this.ma[e]=c,c.onclick=function(a,b,c){return function(){a.U&&a.U.od();xh(a,c,!0);wh(a,c,!0)}}(this,f,sh[f]),!0;if(void 0!==th[b])return this.zk++,this.ma[e]=c,a=function(a,b,c){return function(){wh(a,c)}}(this,b,th[b]),b=
function(a,b,c){return function(){yh(a,c)}}(this,b,th[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=c.onmouseout=b),!0}return!1};function zh(a,b,c){if(a.zk){for(var d in W)if(b==W[d]){b=parseInt(d,10);(d=qh[d])&&(b=d);break}for(var e in th)if((d=th[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=th[e]==d),d){(a=a.ma["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet")};function $g(a,b){a.cc("keyboard reset",32896);a.Mb=[170];b&&a.ca&&bh(a.ca,a.Mb[0])}function Wg(a,b,c){a.Bi!==c&&(a.Bi=a.Gi=c);a.jh!==b&&(a.jh=b)&&!a.Gi&&ch(a,!0);a.jh&&a.Gi&&($g(a,!0),a.Gi=!1)}function Xg(a){var b=0;a.Mb.length&&(b=a.Mb[0],a.ca&&bh(a.ca,b))}function ch(a,b){0<a.Mb.length&&(a.Mb.shift(),b&&a.Mb.length&&a.ca&&bh(a.ca,a.Mb[0]))}
k.bc=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd();this.Pb=this.cd=0;this.Mb=[]};k.save=function(){var a=new Pd(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[]);this.Bi=a[b++];this.jh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Bi;b[a]=this.jh;return b};
function xh(a,b,c,d){if(X[b]){var e=Math.floor(b/1E3)&2;if(b=rh[b]||0){!e||b&85||(b>>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Pb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in uh)d="led-"+g,e=uh[g],c&&c!=e||!(f=a.ma[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Pb&=~b,d&&(a.Pb|=b);return!0}}return!1}
function wh(a,b,c){if(X[b]&&a.U&&a.U.ea.Ib){rh[b]&&a.Gb.length&&0<a.Gb[0].md&&(a.Gb[0].md=0);for(var d,e=0;e<a.Gb.length;e++)if(d=a.Gb[e],d.me==b){if(!c||0<=d.md){e=-1;break}0<e&&(0<a.Gb[0].md&&(a.Gb[0].md=0),a.Gb.splice(e,1));break}0>e||(e==a.Gb.length&&(d={},d.me=b,d.Pb=a.Pb,zh(a,b,!0),e++),0<e&&a.Gb.splice(0,0,d),d.ag=!0,d.md=c?-1:rh[b]?0:1,Ah(a,d))}}
function yh(a,b,c){if(!X[b]||!(c||a.U&&a.U.ea.Ib))return!1;for(var d=!1,e=0;e<a.Gb.length;e++){var f=a.Gb[e];if(f.me==b||f.me==W[b]){a.Gb.splice(e,1);f.zm&&clearTimeout(f.zm);f.ag&&!c&&Bh(a,f.me,!1);zh(a,b,!1);d=!0;break}}!a.Gb.length&&a.Hi&&(xh(a,1020),a.Hi=!1);return d}
function Ah(a,b){if(a.U&&a.U.ea.Ib){if(Bh(a,b.me,b.ag),b.md){var c;if(0>b.md){if(!b.ag){yh(a,b.me);return}b.ag=!1;c=a.no}else c=1==b.md++?a.oo:a.po;b.zm=setTimeout(function(a){return function(){Ah(a,b)}}(a),c)}}else yh(a,b.me,!0)}function Ch(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Pb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Pb&515)==c&&(d=b-32);else if(!!(a.Pb&3)==c){if(a=W[b])d=a}else if(a=qh[b])d=a;return d}k.Jh=function(a){this.kh=a;a||(this.Pb&=-256)};
function vh(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ch(a,g,!0);a.Ci&&h==V["`"]&&(g=h=27);if(X[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),xh(a,h,!1,c)){if(20==g||144==g||145==g)a.en||(c=e=!0);if(!(c||91!=g&&93!=g))for(var r=0;r<a.Gb.length;r++){var t=a.Gb[r];t.ag=!1;0<t.md&&(t.md=0)}}else 8==g&&8==(a.Pb&40)&&(h=4008),d=!1;else if(X[h]&&a.Pb&60&&(d=!1),!a.Fk&&d&&c||a.Pb&192)f=!0;d||b.preventDefault();f||a.Kk&&d||(c?wh(a,h,e):yh(a,h)||(b=Ch(a,g,!1),b!=h&&yh(a,b)));return d}
function Bh(a,b,c){xh(a,b,!0,c);var d=X[b]||X[b+1E3];if(void 0!==d){14==d&&40==(a.Pb&40)&&(d=83);var e=[],f=d&255;e.push(f|(c?0:128));for(b=65<=b&&90>=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;c<e.length;c++)d=a,f=e[c],d.Mb&&(20>d.Mb.length?(d.Mb.push(f),1==d.Mb.length&&d.ca&&bh(d.ca,f)):(20==d.Mb.length&&d.Mb.push(255),d.cc("scan code buffer overflow")))}}
za(function(){for(var a=Ta(window.document,"pcjs","keyboard"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new ph(d);Sa(d,c)}});
function Y(a,b,c,d,e){n.call(this,"Video",a,Y);this.za=a.model;this.Tc=0;"ega"==this.za&&(this.um=a.switches,this.Tc=a.memory||0);this.ld=a.mode;if(void 0===this.ld||void 0===Dh[this.ld])this.ld=Eh;this.Bh=a.charCols;this.Zi=a.charRows;if(void 0===this.Bh||void 0===this.Zi)this.Bh=Dh[this.ld][0],this.Zi=Dh[this.ld][1];this.vd=a.screenWidth;this.Vd=a.screenHeight;this.gn=a.scale;this.cn=12<=Math.round(this.vd/this.Bh);this.jn=a.touchScreen;this.Vf=b;this.Vc=c;this.Ca=(this.Dp=d)||b||null;this.ae=null;
this.an=a.autoLock;this.Ra=this.Kb=0;this.Kd=[];this.qd=Array(16);this.kh=!1;var f=this;if(this.Uc=e)this.Uc.mf=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.Uc.mf&&(b=function(){var a=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?!0:!1;f.cc("notifyFullScreen("+a+")",!0);f.Ba&&(f.Ba.Ci=a)},"onfullscreenchange"in document?document.addEventListener("fullscreenchange",b,!1):
"onmozfullscreenchange"in document?document.addEventListener("mozfullscreenchange",b,!1):"onwebkitfullscreenchange"in document?document.addEventListener("webkitfullscreenchange",b,!1):"onmsfullscreenchange"in document&&document.addEventListener("msfullscreenchange",b,!1));this.Ca&&(this.Ca.onfocus=function(){return f.Jh(!0)},this.Ca.onblur=function(){return f.Jh(!1)},this.Ca.Ke=this.Ca.requestPointerLock||this.Ca.mozRequestPointerLock||this.Ca.webkitRequestPointerLock,this.Ca.Am=this.Ca.exitPointerLock||
this.Ca.mozExitPointerLock||this.Ca.webkitExitPointerLock,this.Ca.Ke&&(b=function(){f.vg(document.pointerLockElement===f.Ca||document.mozPointerLockElement===f.Ca||document.webkitPointerLockElement===f.Ca)},"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=oa()+"/api/v1/dump?file="+a+"&format=bytes"),na(a,!0,null,this,this.xo)}La(n,Y);var Fh={2:{bj:15700,aj:208,Pj:85,Qj:96},3:{bj:18432,aj:364,Pj:85,Qj:96},4:{bj:21850,aj:364,Pj:85,Qj:96}},Gh={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]},Eh=7,Dh=[,[40,25,1,0,3],,[80,25,1,0,3],[320,200,8,192],,[640,200,16,192]];Dh[Eh]=[80,25,1,0,1];Dh[13]=[320,200,16];Dh[14]=[640,200,16];Dh[15]=[640,350,16];
Dh[16]=[640,350,16];Dh[0]=Dh[1];Dh[2]=Dh[3];Dh[5]=Dh[4];var Hh=Array(5);Hh[0]=[0,0,0,255];Hh[1]=[127,192,127,255];Hh[2]=[127,192,127,255];Hh[3]=[127,255,127,255];Hh[4]=[127,255,127,255];var Ih=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Jh=Array(16);Jh[0]=[0,0,0,255];Jh[1]=[0,0,170,255];Jh[2]=[0,170,0,255];Jh[3]=[0,170,170,255];Jh[4]=[170,0,0,255];Jh[5]=[170,0,170,255];Jh[6]=[170,85,0,255];Jh[7]=[170,170,170,255];Jh[8]=[85,85,85,255];Jh[9]=[85,85,255,255];Jh[10]=[85,255,85,255];Jh[11]=[85,255,255,255];
Jh[12]=[255,85,85,255];Jh[13]=[255,85,255,255];Jh[14]=[255,255,85,255];Jh[15]=[255,255,255,255];var Kh=[2,4,6],Lh=[3,5,7],Mh=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],Nh=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Oh=[0];Oh[128]=1;Oh[32768]=2;Oh[32896]=3;Oh[8388608]=4;Oh[8388736]=5;Oh[8421376]=6;Oh[8421504]=7;Oh[-2147483648]=8;Oh[-2147483520]=9;Oh[-2147450880]=10;Oh[-2147450752]=11;Oh[-2139095040]=12;Oh[-2139094912]=13;
Oh[-2139062272]=14;Oh[-2139062144]=15;
function Ph(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Qh[b],f=a.de||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Rh)];this.sh=b;this.Ra=e[2];this.Kb=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.Ra&&(this.Kb=Math.min(this.Tc>>2,32768));this.Wc=c[0];this.zc=c[1];this.Wf=c[2];this.Dg=c[3];this.Hc=c[4]&255;this.rh=c[4]>>8&255;this.mc=c[5];this.Si=Rh;if(5==b){this.Si=Sh;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.Kb,this.Tc],Array(this.Tc>>
2),771,0,-1,0,-1,0,-1,0,0,0]);this.Wd=b[0];this.Je=b[1];this.pe=b[2];this.$j=b[3];this.wh=b[4];this.Ji=b[5];this.xf=b[6];this.Kg=b[7];this.Mi=b[8];this.Ni=b[9];this.wf=b[10];this.af=b[11];this.yb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ra,this.Kb,d]);this.Ra=d[0];this.Kb=d[1];d=this.Tc>>2;if((this.te=b[14])&&this.te.length<d){for(var e=this.te,g=0,h=Array(d),r=0;r<e.length-1;){for(var t=e[r++],B=e[r++];t--;)h[g]=B,g+=2;g==d&&(g=1)}this.te=h}this.Th(b[15]);this.Mj=b[16];this.bb=b[17];this.kd=b[18];
this.lb=b[19];this.Gh=b[20];this.ge=b[21];this.Oe=b[22];this.Ui=b[23];this.Vi=b[24]}f=Fh[f]||Fh[3];this.Wi=a.U.S.jd/f.bj|0;this.ro=this.Wi*f.Pj/100|0;this.gl=this.Wi*f.aj;this.to=this.gl*f.Qj/100|0;this.cj=null==c[7]?0:c[7]}}var Rh=18,Sh=25;function Th(a){return this.Cb(a)|this.Cb(a+1)<<8}function Uh(a){return this.Cb(a)|this.Cb(a+1)<<8|this.Cb(a+2)<<16|this.Cb(a+3)<<24}function Vh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8)}
function Wh(a,b){this.Fb(a,b&255);this.Fb(a+1,b>>8&255);this.Fb(a+2,b>>16&255);this.Fb(a+3,b>>>24)}var Xh=[,,function(a){a+=this.offset;return(this.V.yb=this.ia[a])>>this.V.Mj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ia[b]>>8:this.ia[b])&255}];Xh[16]=function(a){a+=this.offset;a=this.ia[a];for(var b=this.V.Ui&this.V.Vi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};
Xh[512]=function(a,b){var c=a+this.offset,d;d=this.ia[c]&~this.V.bb|(b|b<<8|b<<16|b<<24)&this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[1024]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[1536]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d&=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[2560]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d|=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[3584]=function(a,b){var c=a+this.offset;b=b>>this.V.kd|b<<8-this.V.kd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.V.ge|this.V.Oe;d^=this.V.yb;d=d&this.V.bb|this.ia[c]&~this.V.bb;d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.V.bb&(d==a?16711935:-16711936);c=(b|b<<8|b<<16|b<<24)&c|this.ia[d]&~c;c=c&this.V.lb|this.V.yb&~this.V.lb;this.ia[d]!=c&&(this.ia[d]=c,this.Ha=!0)};
Xh[4096]=function(a){a+=this.offset;var b=this.ia[a]&~this.V.bb|this.V.yb&this.V.bb;this.ia[a]!=b&&(this.ia[a]=b,this.Ha=!0)};Xh[8192]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[24576]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d&this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
Xh[40960]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d|this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};Xh[57344]=function(a,b){var c=a+this.offset,d=Nh[b&15],d=d^this.V.yb,d=d&this.V.bb|this.ia[c]&~this.V.bb,d=d&this.V.lb|this.V.yb&~this.V.lb;this.ia[c]!=d&&(this.ia[c]=d,this.Ha=!0)};
function Yh(a){var b=[];if(void 0!==a.sh){b[0]=a.Wc;b[1]=a.zc;b[2]=a.Wf;b[3]=a.Dg;b[4]=a.Hc|a.rh<<8;b[5]=a.mc;if(5==a.sh){var c=[];c[0]=a.Wd;c[1]=a.Je;c[2]=a.pe;c[3]=a.$j;c[4]=a.wh;c[5]=a.Ji;c[6]=a.xf;c[7]=a.Kg;c[8]=a.Mi;c[9]=a.Ni;c[10]=a.wf;c[11]=a.af;c[12]=a.yb;c[13]=[a.Ra,a.Kb,a.Tc];var d;a:if(d=a.te){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 r=d[h],t=h+2;t<d.length&&d[t]===r;)t+=2;f[e++]=t-h>>1;f[e++]=r;h=t}if(f.length<d.length){d=f;break a}}c[14]=d;c[15]=
a.Ri;c[16]=a.Mj;c[17]=a.bb;c[18]=a.kd;c[19]=a.lb;c[20]=a.Gh;c[21]=a.ge;c[22]=a.Oe;c[23]=a.Ui;c[24]=a.Vi;b[6]=c}b[7]=a.cj}return b}Ph.prototype.Tk=function(a){return[this.te,a-this.Ra]};Ph.prototype.Li=function(){return this.Og};Ph.prototype.Th=function(a){if(null!=a&&a!=this.Ri){var b=a&255,c=Xh[b];c||b&1&&(c=Xh[1]);var b=a&65280,d=Xh[b];d||b&256&&(d=Xh[256]);this.Og||(this.Og=[null,Th,Uh,null,Vh,Wh]);this.Og[0]=c;this.Og[3]=d;this.Ri=a}};
var Qh=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Y.prototype;
k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;Ib(b,this,Zh);Kb(b,this,$h);"ega"==this.za&&(Ib(b,this,ai),Kb(b,this,bi));if((this.Ba=bb(a,"Keyboard"))&&this.Vf){for(var e in this.ma)0<e.indexOf("lock")&&this.Ba.Eb("led",e,this.ma[e]);this.Ba.Eb(this.Dp?"textarea":"canvas","kbd",this.Ca)}this.Qg=9;(this.ca=bb(a,"ChipSet"))&&this.um&&(this.Qg=Pf(this.um,this.Qg));this.Ba&&this.jn&&ci(this)};
k.Eb=function(a,b,c){var d=this;if(!this.ma[b])switch(this.ma[b]=c,b){case "fullScreen":return this.Uc&&this.Uc.mf?c.onclick=function(){d.mf()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.Ap=c.textContent,this.Ca&&this.Ca.Ke?c.onclick=function(){d.Ke(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){sc(d,!0)},!0}return!1};k.od=function(){this.Ca&&this.Ca.focus()};
k.mf=function(){var a=!1;this.Uc&&(this.Uc.mf&&(this.Uc.style.width=this.Uc.style.height="100%",this.Uc.style.backgroundColor="black",this.Uc.mf(),a=!0),this.od());return a};k.Ke=function(a){var b=!1;this.Ca&&(a?this.Ca.Ke&&(this.Ca.Ke(),this.ae.vg(!0),b=!0):this.Ca.Am&&(this.Ca.Am(),this.ae.vg(!1),b=!0),this.od());return b};k.vg=function(a){this.ae&&(this.ae.vg(a),this.Ba&&(this.Ba.Ci=a));var b=this.ma.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.Ap)};
function ci(a){var b=a.Ca;b&&!a.Ai&&(b.addEventListener("touchstart",function(b){di(a,b)},!1),b.addEventListener("touchmove",function(b){di(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.Ai=!0)}k.Jh=function(a){this.kh=a;this.Ba&&this.Ba.Jh(a)};
function di(a,b){a.kh&&b.preventDefault();var c=0,d=0,e=a.Vf;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);var f=a.vd/a.Vf.offsetWidth,e=a.Vd/a.Vf.offsetHeight,g,h;b.targetTouches?(g=b.targetTouches[0].pageX,h=b.targetTouches[0].pageY):(g=b.pageX,h=b.pageY);c=(g-c)*f/(a.vd/3)|0;d=(h-d)*e/(a.Vd/3)|0;1!=d?d?wh(a.Ba,1040,!0):wh(a.Ba,1038,!0):1!=c&&(c?wh(a.Ba,1039,!0):wh(a.Ba,1037,!0))}
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};
k.reset=function(){var a=!0,b=0;this.ca&&(b=gg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=zh[this.Pg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Tc=this.ji=new Ih(this,1);this.gc=this.$g=new Ih(this,3);c?(this.ga=new Ih(this,5,null,this.Uc),Yh(this)):this.ga=new Ih;Zh(this);this.ce=null;this.ld=3==b?xh:3;this.ye=this.Jc=-1;this.xe=0;$h(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.ki;for(b=this.Da.Ra;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.de?(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),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function Yh(a){a.ga.uh&1?(a.Tc=a.ji,a.gc=a.ga):(a.Tc=a.ga,a.gc=a.$g)}k.save=function(){var a=new Od(this);a.set(0,Rh(this.ji));a.set(1,Rh(this.$g));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Rh(this.ga));return a.data()};
k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Tc=this.ji=new Ih(this,1,a[0]);this.gc=this.$g=new Ih(this,3,a[1]);this.ga=new Ih(this,5,a[3],this.Uc);this.ga.Xc&&Yh(this);Zh(this);if(!ai(this))return!1;bi(this);return!0};
k.so=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}};
function ci(a,b){if(1==b)return a.qd[0]=Ch[0],a.qd[1]=Ch[7],a.qd;if(2==b){var c=a.Da.Vf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Ch[c&15];c=c&32?Eh:Dh;for(d=0;d<c.length;d++)a.qd[d+1]=Ch[c[d]];return a.qd}if(a.gc===a.$g)return Ch;c=null!=a.ga.pe[15]?a.ga.pe:Fh;for(d=0;d<a.qd.length;d++){var e=c[d]||0;a.qd[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.qd}function gh(a,b,c,d){a.Kg=b;a.$h=c;a.De=d}
function Zh(a){var b=!1;if(window&&a.Kg){var c=a.De?0:2048,d=a.De?a.De:9;di(a,1,a.$h[0],c,d,14,a.Kg,Ah,Bh)&&(b=!0);c=ci(a);d=a.De?a.De:8;di(a,3,a.$h[1],0,d,8,a.Kg,c)&&(b=!0);a.De&&di(a,5,a.$h[0],0,a.De,14,a.Kg,c)&&(b=!0)}return b}function di(a,b,c,d,e,f,g,h,r){var t=!1;ei(a,b,c,d,e,f,g,h,r)&&(t=!0);a.Ym&&ei(a,b<<1,c,d,e,f,g,h,r)&&(t=!0);return t}
function ei(a,b,c,d,e,f,g,h,r){var t=!1,B=b&1?0:1,I=a.Kd[b];I||(I={nc:e<<B,oc:f<<B,Ze:Array(h.length),ik:h.slice(),If:r,Yh:Array(h.length)});for(r=0;r<h.length;r++){var H=h[r],L=I.Ze[r]?I.ik[r]:[];if(H[0]!==L[0]||H[1]!==L[1]||H[2]!==L[2]){var t=I,L=r,U=B,ba=c,fa=d,Ca=e,Na=f,mb=g,oc=[0,0,0,0],fd=window.document.createElement("canvas");fd.width=t.nc<<4;fd.height=t.oc<<4;for(var vg=fd.getContext("2d"),Oa=void 0,Tb=void 0,nb=void 0,gd=8>Na||!fa?Na:8,ke=vg.createImageData(t.nc,t.oc),Oa=0;256>Oa;Oa++){for(nb=
0;nb<Na;nb++)for(var ej=t.If&&L&1&&nb>=Na-2,fj=mb[nb<gd?ba+Oa*gd+nb:fa+Oa*gd+nb-gd],le=0;le<=U;le++)for(Tb=0;Tb<Ca;Tb++){var wg=Tb<<U,xg=(nb<<U)+le,yg=ej||fj&128>>(8<=Tb&&176<=Oa&&223>=Oa?7:Tb)?H:oc;fi(ke,wg,xg,yg);U&&fi(ke,wg+1,xg,yg)}vg.putImageData(ke,(Oa&15)*t.nc,(Oa>>4)*t.oc)}t.Ze[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.ik[L]=H;t.Yh[L]=fd;t=!0}}a.Kd[b]=I;return t}function gi(a){0<a.xe||0<=a.Jc?0>a.ye&&(a.ye=0):a.ye=-1}
function bi(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)hi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Jc!=c&&(hi(a),a.Jc=c);d=d-b+1;if(a.ym!=b||a.yk!=d)a.ym=b,a.yk=d;a.Ud=e+1;gi(a)}}}
function hi(a){if(0<=a.Jc){if(void 0!==a.fc){var b=a.fc[a.Jc];if(b&131072){var b=b&-131073,c=a.Jc%a.zb,d=Math.floor(a.Jc/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.kf&&ii(a,c,d,b,a.kf),ii(a,c,d,b));a.fc[a.Jc]=b}}a.Jc=-1}}
function ji(a){var b;a=a.Da;var c=a.$e[5];if(null!=c){b=2;var d=512,e=a.$e[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.kd=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.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Pi&&(b.Rh(a),this.ka.Rh(b.Ra,b.Kb,b.Mf))};
function ai(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.rh)d=xh;else if(5==e.rh){var d=null,f=e.Uc>>2,g=32768<f?32768:f,h=e.$e[6];if(null!=h){switch(h&12){case 0:e.Ra=655360;e.Kb=f;d=255;break;case 4:e.Ra=655360;e.Kb=f;d=3==a.de?15:16;break;case 8:e.Ra=720896;e.Kb=g;d=xh;break;case 12:e.Ra=753664,e.Kb=g,d=3==a.de?2:3}c=e.Jg[1]&8;f=e.mc[6]|(e.mc[7]&1)<<8;255!=d&&(h&1?753664==e.Ra?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=ji(a)}}else e.Ac&8&&(e.Ac&2?(d=e.Ac&16?6:5,e.Ac&4||--d):(d=e.Ac&1?3:1,e.Ac&4&&--d));
else a.ce=null,null==d&&(d=a.ld);if(!$h(a,d,b))return!1;a.le(c);return!0}
function $h(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Im=0;a.ce=b;b=a.Da||(b==xh?a.Tc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){hi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Xc=!1)}a.Da=b;b.Xc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.zh;a.sc=a.Xi;a.Ri=wh[xh][2];b=0;var d=wh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ri=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.Zk=a.zb*a.sc;a.wh=a.Zk/a.Ri;a.ki=(a.wh<<1)+b;a.wk=
b?a.ki+b>>1:0;13<=a.ce&&(a.wh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.bn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Xf=a.Yf=0,b&&(a.Xf=a.zb*b.nc,a.Yf=a.sc*b.oc)):(a.wd=a.xd=1,a.Xf=a.zb,a.Yf=a.sc),a.sh=a.Wc.createImageData(a.Xf,a.Yf),a.hf=window.document.createElement("canvas"),a.hf.width=a.Xf,a.hf.height=a.Yf,a.kf=a.hf.getContext("2d"),a.ak=a.bk=0,a.qi=a.vd,a.ri=a.Vd,
b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0<b&&(a.ak=b>>1,a.qi-=b),0<d&&(a.bk=d>>1,a.ri-=d),b||d)&&(a.Wc.fillStyle=a.Uf.style.backgroundColor,a.Wc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ki(a,!0)}return!0}function fi(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function ki(a,b){var c;if(b){if(c=a.wh,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.xe=-1}
function ii(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Kd[a.Qb];h.If&&(d=h.If[d]);var r=g>>4&15;h.If&&(r=h.If[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.Ze[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ak,c=c*a.xd+a.bk,a.Wc.fillStyle=h.Ze[r],a.Wc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.Yh[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Wc.drawImage(h.Yh[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.ym,g=a.yk,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)),
e.fillStyle=h.Ze[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Wc.fillStyle=h.Ze[d],a.Wc.fillRect(b,c+f,a.wd,g)))}
function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Ie&32&&(c=!0):a.Da.Ac&8&&(c=!0));if(c||b){if(b)ki(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Im&15)&&0<=a.ye&&(a.ye++,d=!0);var e=0,f=a.Zk,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.ki;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0<r&&B<h.sa.length;)h.sa[B].Ha&&(h.sa[B].Ha=t=!1,h.sa[B].Ck=!0),r-=h.Hb,B++;h=t}if(h){if(!d)return;if(!a.xe){if(0>a.Jc)return;e=a.Jc;f=
e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.xe=0;r=1048575;a.Da.Ac&32&&(h=32768,r&=~h,a.ye&2||(r&=-65537));for(c+=e<<1;c<g&&e<f;)t=Fb(a.ka,c),t|=65536,t&h&&(a.xe++,t&=r),e==a.Jc&&(t|=a.ye&1?131072:0),B=a.fc[e],B!=t&&(ii(a,e%a.zb,Math.floor(e/a.zb),t,a.kf),a.fc[e]=t,d++),c+=2,e++;d&&a.kf&&a.Wc.drawImage(a.hf,0,0,a.Xf,a.Yf,a.ak,a.bk,a.qi,a.ri);gi(a)}}else if(a.wk){for(var f=g,I,H,e=c,g=a.xe=0,d=a.Ri,h=16==d?65536:196608,r=16==d?1:2,t=ci(a,r),L=B=0,U=a.zb,ba=0,fa=a.sc,Ca=0;e<f;){I=Fb(a.ka,e);H=a.fc[g];if(H===
I)B+=d;else{a.fc[g]=I;I=I>>8|(I&255)<<8;H=h;var Na=16;B<U&&(U=B);for(var mb=0;mb<d;mb++){var oc=(I&(H>>=r))>>(Na-=r);fi(a.sh,B++,L,t[oc])}B>ba&&(ba=B);L<fa&&(fa=L);L>=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.wk)}}U<a.zb&&(a.kf.putImageData(a.sh,0,0,U,fa,ba-U,Ca-fa),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}else{f=g;e=a.xe=0;g=ci(a);d=a.Da.se;r=h=0;t=a.zb;B=0;L=a.sc;for(U=0;c<f;){ba=c++-a.Ra;ba=d[ba];fa=a.fc[e];if(fa===ba)h+=8;else{a.fc[e]=ba;h<t&&(t=h);
for(fa=0;8>fa;fa++)Ca=Hh[ba&-2139062144]||0,fi(a.sh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.kf.putImageData(a.sh,0,0,t,L,B-t,U-L),a.Wc.drawImage(a.hf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Nn=function(){return this.Tc.Ic};k.$o=function(a,b){var c=this.Tc;c.qh=c.Ic;c.Ic=b&31};k.Mn=function(){return li(this.Tc)};k.Zo=function(a,b){mi(this,this.Tc,b)};k.On=function(){return this.Tc.Ac};k.ap=function(a,b){this.Tc.Ac=b;ai(this,!1)};
k.Pn=function(){return ni(this,this.Tc)};k.em=function(a,b){this.ga.Hi=this.ga.Hi&-4|b&3};k.Uk=function(){var a=this.ga.Wd?this.ga.pe[this.ga.Ie&31]:this.ga.Ie;this.ga.Wd=!this.ga.Wd;return a};k.dm=function(a,b){var c=this.ga.Ie&32;if(this.ga.Wd){var d=this.ga.Ie&31;if(16<=d||!c)this.ga.pe[d]=b;this.ga.Wd=!1}else this.ga.Ie=b,this.ga.Wd=!0,b&32&&!c&&Zh(this)&&sc(this,!0)};k.Zn=function(){var a=3-((this.ga.uh&12)>>2),a=this.ga.Yj&-17|(this.Pg&1<<a)<<4-a;return this.ga.Yj=a};
k.cp=function(a,b){this.ga.uh=b;Yh(this)};k.Yn=function(){return this.ga.wf};k.jp=function(a,b){this.ga.wf=b};k.Xn=function(){return this.ga.Jg[this.ga.wf]};k.ip=function(a,b){this.ga.Jg[this.ga.wf]=b;2==this.ga.wf&&(this.ga.bb=Gh[b&15])};k.Fn=function(){return this.ga.Ji};k.Uo=function(a,b){this.ga.Ji=b};k.Gn=function(){return this.ga.Ki};k.Vo=function(a,b){this.ga.Ki=b};k.En=function(){return this.ga.vf};k.To=function(a,b){this.ga.vf=b};k.Dn=function(){return this.ga.$e[this.ga.vf]};
k.So=function(a,b){this.ga.$e[this.ga.vf]=b;switch(this.ga.vf){case 0:this.ga.Eh=Gh[b&15];this.ga.Ne=this.ga.Eh&~this.ga.ge;break;case 1:this.ga.ge=~Gh[b&15];this.ga.Ne=this.ga.Eh&~this.ga.ge;break;case 2:this.ga.Si=Gh[b&15]&-2139062144;break;case 3:case 5:this.le(ji(this));break;case 4:this.ga.Kj=(b&3)<<3;break;case 6:ai(this,!1);break;case 7:this.ga.Ti=Gh[b&15^15]&-2139062144;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.vn=function(){return this.gc.Ic};
k.Jo=function(a,b){var c=this.gc;c.qh=c.Ic;c.Ic=b&31};k.un=function(){return li(this.gc)};k.Io=function(a,b){mi(this,this.gc,b)};k.wn=function(){return this.gc.Ac};k.Ko=function(a,b){this.gc.Ac=b;ai(this,!1)};k.tn=function(){return this.gc.Vf};k.Ho=function(a,b){this.gc.Vf!==b&&(this.gc.Vf=b,ki(this,!1))};k.xn=function(){return ni(this,this.gc)};function li(a){var b;a.Ic<a.Qi&&(b=a.mc[a.Ic]);return b}function mi(a,b,c){b.Ic<b.Qi&&(b.mc[b.Ic]=c,9==b.Ic&&8!=b.qh&&ai(a,!0),bi(a))}
function ni(a,b){var c=0,d=yc(a.U),e=d-b.aj;0>e&&(e=0);e%b.Ui>b.mo&&(c|=1);e%=b.bl;e>b.oo&&(c|=8);b.aj=d-e;b===a.ga?(c|=b.Cg&48^48,b.Wd=!1):c=(b.Cg^=9)|240;return b.Cg=c}
var Sh={948:Y.prototype.Nn,949:Y.prototype.Mn,952:Y.prototype.On,954:Y.prototype.Pn,980:Y.prototype.vn,981:Y.prototype.un,984:Y.prototype.wn,985:Y.prototype.tn,986:Y.prototype.xn},Th={948:Y.prototype.$o,949:Y.prototype.Zo,952:Y.prototype.ap,980:Y.prototype.Jo,981:Y.prototype.Io,984:Y.prototype.Ko,985:Y.prototype.Ho},Uh={960:Y.prototype.Uk,961:Y.prototype.Uk,962:Y.prototype.Zn,964:Y.prototype.Yn,965:Y.prototype.Xn,970:Y.prototype.Gn,972:Y.prototype.Fn,974:Y.prototype.En,975:Y.prototype.Dn},Vh={954:Y.prototype.em,
960:Y.prototype.dm,961:Y.prototype.dm,962:Y.prototype.cp,964:Y.prototype.jp,965:Y.prototype.ip,970:Y.prototype.Vo,972:Y.prototype.Uo,974:Y.prototype.To,975:Y.prototype.So,986:Y.prototype.em};
k.reset=function(){var a=!0,b=0;this.ca&&(b=gg(this.ca));var c=!1;if(this.za)switch(this.za){case "ega":var c=!0,d=Gh[this.Qg];d&&(b=d[0]);b||(b=4);break;case "mda":b=3;break;default:b=2}this.de!==b&&(this.de=b,a=!0);this.Da=null;this.Sc=this.li=new Ph(this,1);this.gc=this.ah=new Ph(this,3);c?(this.ga=new Ph(this,5,null,this.Tc),ei(this)):this.ga=new Ph;fi(this);this.ce=null;this.ld=3==b?Eh:3;this.ze=this.Ic=-1;this.ye=0;gi(this,this.ld);if(this.Da.Ra&&a){a=this.Da.Ra+this.mi;for(b=this.Da.Ra;b<a;b+=
2)d=Math.floor(65536*Math.random()),4==this.de?(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),Gb(this.ka,b,c|d<<8);sc(this,!0)}};function ei(a){a.ga.wh&1?(a.Sc=a.li,a.gc=a.ga):(a.Sc=a.ga,a.gc=a.ah)}k.save=function(){var a=new Pd(this);a.set(0,Yh(this.li));a.set(1,Yh(this.ah));a.set(2,[this.de,this.ld,this.ce]);a.set(3,Yh(this.ga));return a.data()};
k.restore=function(a){var b=a[2];this.de=b[0];this.ld=b[1];this.ce=b[2];this.Da=null;this.Sc=this.li=new Ph(this,1,a[0]);this.gc=this.ah=new Ph(this,3,a[1]);this.ga=new Ph(this,5,a[3],this.Tc);this.ga.Wc&&ei(this);fi(this);if(!hi(this))return!1;ii(this);return!0};
k.xo=function(a,b,c){if(c)this.va("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){m("Empty font ROM image: "+a);return}if(1==d.length){m(d[0]);return}if(8192==d.length)gh(this,d,[0,6144]);else{this.va("Unrecognized font data length ("+d.length+")");return}}catch(e){this.va("Font ROM data error: "+e.message);return}p(this)}};
function ji(a,b){if(1==b)return a.qd[0]=Jh[0],a.qd[1]=Jh[7],a.qd;if(2==b){var c=a.Da.Wf;if(a.Da===a.ga){var d=a.ga.pe[0],c=d&7;d&16&&(c|=8);18!=a.ga.pe[1]&&(c|=32)}a.qd[0]=Jh[c&15];c=c&32?Lh:Kh;for(d=0;d<c.length;d++)a.qd[d+1]=Jh[c[d]];return a.qd}if(a.gc===a.ah)return Jh;c=null!=a.ga.pe[15]?a.ga.pe:Mh;for(d=0;d<a.qd.length;d++){var e=c[d]||0;a.qd[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.qd}function gh(a,b,c,d){a.Lg=b;a.bi=c;a.Ee=d}
function fi(a){var b=!1;if(window&&a.Lg){var c=a.Ee?0:2048,d=a.Ee?a.Ee:9;ki(a,1,a.bi[0],c,d,14,a.Lg,Hh,Ih)&&(b=!0);c=ji(a);d=a.Ee?a.Ee:8;ki(a,3,a.bi[1],0,d,8,a.Lg,c)&&(b=!0);a.Ee&&ki(a,5,a.bi[0],0,a.Ee,14,a.Lg,c)&&(b=!0)}return b}function ki(a,b,c,d,e,f,g,h,r){var t=!1;li(a,b,c,d,e,f,g,h,r)&&(t=!0);a.cn&&li(a,b<<1,c,d,e,f,g,h,r)&&(t=!0);return t}
function li(a,b,c,d,e,f,g,h,r){var t=!1,B=b&1?0:1,I=a.Kd[b];I||(I={nc:e<<B,oc:f<<B,$e:Array(h.length),mk:h.slice(),Jf:r,$h:Array(h.length)});for(r=0;r<h.length;r++){var H=h[r],L=I.$e[r]?I.mk[r]:[];if(H[0]!==L[0]||H[1]!==L[1]||H[2]!==L[2]){var t=I,L=r,U=B,ba=c,fa=d,Ca=e,Pa=f,mb=g,oc=[0,0,0,0],gd=window.document.createElement("canvas");gd.width=t.nc<<4;gd.height=t.oc<<4;for(var zg=gd.getContext("2d"),Qa=void 0,Tb=void 0,nb=void 0,hd=8>Pa||!fa?Pa:8,pe=zg.createImageData(t.nc,t.oc),Qa=0;256>Qa;Qa++){for(nb=
0;nb<Pa;nb++)for(var lj=t.Jf&&L&1&&nb>=Pa-2,mj=mb[nb<hd?ba+Qa*hd+nb:fa+Qa*hd+nb-hd],qe=0;qe<=U;qe++)for(Tb=0;Tb<Ca;Tb++){var Ag=Tb<<U,Bg=(nb<<U)+qe,Cg=lj||mj&128>>(8<=Tb&&176<=Qa&&223>=Qa?7:Tb)?H:oc;mi(pe,Ag,Bg,Cg);U&&mi(pe,Ag+1,Bg,Cg)}zg.putImageData(pe,(Qa&15)*t.nc,(Qa>>4)*t.oc)}t.$e[L]="#"+ea(H[0])+ea(H[1])+ea(H[2]);t.mk[L]=H;t.$h[L]=gd;t=!0}}a.Kd[b]=I;return t}function ni(a){0<a.ye||0<=a.Ic?0>a.ze&&(a.ze=0):a.ze=-1}
function ii(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Da.mc[b])return;var c=a.Da.mc[10],b=c&31,d=a.Da.mc[11]&31,e=a.Da.mc[9]&31,f=!1;a.Da===a.ga&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)oi(a);else{c=a.Da.mc[15]+((a.Da.mc[14]&63)<<8);a.Ic!=c&&(oi(a),a.Ic=c);d=d-b+1;if(a.Dm!=b||a.Ck!=d)a.Dm=b,a.Ck=d;a.Ud=e+1;ni(a)}}}
function oi(a){if(0<=a.Ic){if(void 0!==a.fc){var b=a.fc[a.Ic];if(b&131072){var b=b&-131073,c=a.Ic%a.zb,d=Math.floor(a.Ic/a.zb);a.Qb&&a.Kd[a.Qb]&&(a.lf&&pi(a,c,d,b,a.lf),pi(a,c,d,b));a.fc[a.Ic]=b}}a.Ic=-1}}
function qi(a){var b;a=a.Da;var c=a.af[5];if(null!=c){b=2;var d=512,e=a.af[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.kd=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.le=function(a){var b=this.Da;null!=a&&b&&a!=b.Ri&&(b.Th(a),this.ka.Th(b.Ra,b.Kb,b.Li()))};
function hi(a,b){var c,d=a.ce,e=a.Da;if(e)if(1==e.sh)d=Eh;else if(5==e.sh){var d=null,f=e.Tc>>2,g=32768<f?32768:f,h=e.af[6];if(null!=h){switch(h&12){case 0:e.Ra=655360;e.Kb=f;d=255;break;case 4:e.Ra=655360;e.Kb=f;d=3==a.de?15:16;break;case 8:e.Ra=720896;e.Kb=g;d=Eh;break;case 12:e.Ra=753664,e.Kb=g,d=3==a.de?2:3}c=e.Kg[1]&8;f=e.mc[6]|(e.mc[7]&1)<<8;255!=d&&(h&1?753664==e.Ra?d=c?7-d:6:350>f&&(d=c?13:14):c&&(d-=2));c=qi(a)}}else e.zc&8&&(e.zc&2?(d=e.zc&16?6:5,e.zc&4||--d):(d=e.zc&1?3:1,e.zc&4&&--d));
else a.ce=null,null==d&&(d=a.ld);if(!gi(a,d,b))return!1;a.le(c);return!0}
function gi(a,b,c){if(null!=b&&(b!=a.ce||c)){a.Nm=0;a.ce=b;b=a.Da||(b==Eh?a.Sc:a.gc);if(b!=a.Da||b.Ra!=a.Ra||b.Kb!=a.Kb){oi(a);if(a.Ra){if(!Eb(a.ka,a.Ra,a.Kb))return!1;a.Da&&(a.Da.Wc=!1)}a.Da=b;b.Wc=!0;a.Ra=b.Ra;a.Kb=b.Kb;if(!Cb(a.ka,b.Ra,b.Kb,3,b===a.ga?b:null))return!1}a.Qb=0;a.zb=a.Bh;a.sc=a.Zi;a.Ti=Dh[Eh][2];b=0;var d=Dh[a.ce];d&&(a.zb=d[0],a.sc=d[1],a.Ti=d[2],b=d[3]||0,a.Qb=d[4],4==a.de&&a.Da===a.ga&&3==a.Qb&&(7==a.ga.mc[9]?a.sc=43:a.Qb=5));a.dl=a.zb*a.sc;a.yh=a.dl/a.Ti;a.mi=(a.yh<<1)+b;a.Ak=
b?a.mi+b>>1:0;13<=a.ce&&(a.yh<<=1);a.Kd.length&&(a.wd=Math.floor(a.vd/a.zb),a.xd=Math.floor(a.Vd/a.sc),a.Qb?(b=a.Kd[a.Qb],d=a.Kd[a.Qb<<1],a.gn&&80==a.zb?d&&a.wd>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.wd>=d.nc&&(a.Qb<<=1,b=d),b&&(a.wd=b.nc,a.xd=b.oc)),a.Yf=a.Zf=0,b&&(a.Yf=a.zb*b.nc,a.Zf=a.sc*b.oc)):(a.wd=a.xd=1,a.Yf=a.zb,a.Zf=a.sc),a.uh=a.Vc.createImageData(a.Yf,a.Zf),a.jf=window.document.createElement("canvas"),a.jf.width=a.Yf,a.jf.height=a.Zf,a.lf=a.jf.getContext("2d"),a.ck=a.dk=0,a.si=a.vd,a.ti=a.Vd,
b=a.vd-a.zb*a.wd,d=a.Vd-a.sc*a.xd,0<b&&(a.ck=b>>1,a.si-=b),0<d&&(a.dk=d>>1,a.ti-=d),b||d)&&(a.Vc.fillStyle=a.Vf.style.backgroundColor,a.Vc.fillRect(0,0,a.vd,a.Vd));!1!==c?sc(a,!0):ri(a,!0)}return!0}function mi(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function ri(a,b){var c;if(b){if(c=a.yh,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.ye=-1}
function pi(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Kd[a.Qb];h.Jf&&(d=h.Jf[d]);var r=g>>4&15;h.Jf&&(r=h.Jf[r]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.$e[r],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.wd+a.ck,c=c*a.xd+a.dk,a.Vc.fillStyle=h.$e[r],a.Vc.fillRect(b,c,a.wd,a.xd));g&256&&(r=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Vc.drawImage(h.$h[d],r,f,h.nc,h.oc,b,c,a.wd,a.xd));g&512&&(f=a.Dm,g=a.Ck,e?(a.Ud&&a.Ud!==h.oc&&(f=Math.floor(f*h.oc/a.Ud),g=Math.floor(g*h.oc/a.Ud)),
e.fillStyle=h.$e[d],e.fillRect(b,c+f,h.nc,g)):(a.Ud&&a.Ud!==a.xd&&(f=Math.floor(f*a.xd/a.Ud),g=Math.floor(g*a.xd/a.Ud)),a.Vc.fillStyle=h.$e[d],a.Vc.fillRect(b,c+f,a.wd,g)))}
function sc(a,b){if(a.ea.Zb){var c=!1;a.Da&&(a.Da===a.ga?a.ga.Je&32&&(c=!0):a.Da.zc&8&&(c=!0));if(c||b){if(b)ri(a,!0);else if(void 0===a.fc)return;var d=!1;!(b||++a.Nm&15)&&0<=a.ze&&(a.ze++,d=!0);var e=0,f=a.dl,c=a.Da.Ra,g=c+a.Da.Kb,h=(a.Da.mc[12]<<8)+a.Da.mc[13];a.Qb&&(h<<=1);var c=c+h,r=a.mi;c+r>g&&(r=g-c,0>r&&(r=0));g=c+r;if(h=!b){for(var h=a.ka,t=!0,B=c>>>h.jb;0<r&&B<h.ta.length;)h.ta[B].Ha&&(h.ta[B].Ha=t=!1,h.ta[B].Gk=!0),r-=h.Hb,B++;h=t}if(h){if(!d)return;if(!a.ye){if(0>a.Ic)return;e=a.Ic;f=
e+1}}if(a.Qb){if(a.Kd[a.Qb]){d=0;h=a.ye=0;r=1048575;a.Da.zc&32&&(h=32768,r&=~h,a.ze&2||(r&=-65537));for(c+=e<<1;c<g&&e<f;)t=Fb(a.ka,c),t|=65536,t&h&&(a.ye++,t&=r),e==a.Ic&&(t|=a.ze&1?131072:0),B=a.fc[e],B!=t&&(pi(a,e%a.zb,Math.floor(e/a.zb),t,a.lf),a.fc[e]=t,d++),c+=2,e++;d&&a.lf&&a.Vc.drawImage(a.jf,0,0,a.Yf,a.Zf,a.ck,a.dk,a.si,a.ti);ni(a)}}else if(a.Ak){for(var f=g,I,H,e=c,g=a.ye=0,d=a.Ti,h=16==d?65536:196608,r=16==d?1:2,t=ji(a,r),L=B=0,U=a.zb,ba=0,fa=a.sc,Ca=0;e<f;){I=Fb(a.ka,e);H=a.fc[g];if(H===
I)B+=d;else{a.fc[g]=I;I=I>>8|(I&255)<<8;H=h;var Pa=16;B<U&&(U=B);for(var mb=0;mb<d;mb++){var oc=(I&(H>>=r))>>(Pa-=r);mi(a.uh,B++,L,t[oc])}B>ba&&(ba=B);L<fa&&(fa=L);L>=Ca&&(Ca=L+1)}e+=2;g++;if(B>=a.zb){B=0;L+=2;if(L>a.sc)break;L==a.sc&&(L=1,e=c+a.Ak)}}U<a.zb&&(a.lf.putImageData(a.uh,0,0,U,fa,ba-U,Ca-fa),a.Vc.drawImage(a.jf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}else{f=g;e=a.ye=0;g=ji(a);d=a.Da.te;r=h=0;t=a.zb;B=0;L=a.sc;for(U=0;c<f;){ba=c++-a.Ra;ba=d[ba];fa=a.fc[e];if(fa===ba)h+=8;else{a.fc[e]=ba;h<t&&(t=h);
for(fa=0;8>fa;fa++)Ca=Oh[ba&-2139062144]||0,mi(a.uh,h++,r,g[Ca]),ba<<=1;h>B&&(B=h);r<L&&(L=r);r>=U&&(U=r+1)}e++;if(h>=a.zb&&(h=0,++r>a.sc))break}t<a.zb&&(a.lf.putImageData(a.uh,0,0,t,L,B-t,U-L),a.Vc.drawImage(a.jf,0,0,a.zb,a.sc,0,0,a.vd,a.Vd))}}}}k.Sn=function(){return this.Sc.Hc};k.ep=function(a,b){var c=this.Sc;c.rh=c.Hc;c.Hc=b&31};k.Rn=function(){return si(this.Sc)};k.dp=function(a,b){ti(this,this.Sc,b)};k.Tn=function(){return this.Sc.zc};k.fp=function(a,b){this.Sc.zc=b;hi(this,!1)};
k.Un=function(){return ui(this,this.Sc)};k.jm=function(a,b){this.ga.Ji=this.ga.Ji&-4|b&3};k.Zk=function(){var a=this.ga.Wd?this.ga.pe[this.ga.Je&31]:this.ga.Je;this.ga.Wd=!this.ga.Wd;return a};k.im=function(a,b){var c=this.ga.Je&32;if(this.ga.Wd){var d=this.ga.Je&31;if(16<=d||!c)this.ga.pe[d]=b;this.ga.Wd=!1}else this.ga.Je=b,this.ga.Wd=!0,b&32&&!c&&fi(this)&&sc(this,!0)};k.eo=function(){var a=3-((this.ga.wh&12)>>2),a=this.ga.$j&-17|(this.Qg&1<<a)<<4-a;return this.ga.$j=a};
k.hp=function(a,b){this.ga.wh=b;ei(this)};k.co=function(){return this.ga.xf};k.op=function(a,b){this.ga.xf=b};k.bo=function(){return this.ga.Kg[this.ga.xf]};k.np=function(a,b){this.ga.Kg[this.ga.xf]=b;2==this.ga.xf&&(this.ga.bb=Nh[b&15])};k.Kn=function(){return this.ga.Mi};k.Zo=function(a,b){this.ga.Mi=b};k.Ln=function(){return this.ga.Ni};k.$o=function(a,b){this.ga.Ni=b};k.Jn=function(){return this.ga.wf};k.Yo=function(a,b){this.ga.wf=b};k.In=function(){return this.ga.af[this.ga.wf]};
k.Xo=function(a,b){this.ga.af[this.ga.wf]=b;switch(this.ga.wf){case 0:this.ga.Gh=Nh[b&15];this.ga.Oe=this.ga.Gh&~this.ga.ge;break;case 1:this.ga.ge=~Nh[b&15];this.ga.Oe=this.ga.Gh&~this.ga.ge;break;case 2:this.ga.Ui=Nh[b&15]&-2139062144;break;case 3:case 5:this.le(qi(this));break;case 4:this.ga.Mj=(b&3)<<3;break;case 6:hi(this,!1);break;case 7:this.ga.Vi=Nh[b&15^15]&-2139062144;break;case 8:this.ga.lb=b|b<<8|b<<16|b<<24}};k.An=function(){return this.gc.Hc};
k.Oo=function(a,b){var c=this.gc;c.rh=c.Hc;c.Hc=b&31};k.zn=function(){return si(this.gc)};k.No=function(a,b){ti(this,this.gc,b)};k.Bn=function(){return this.gc.zc};k.Po=function(a,b){this.gc.zc=b;hi(this,!1)};k.yn=function(){return this.gc.Wf};k.Mo=function(a,b){this.gc.Wf!==b&&(this.gc.Wf=b,ri(this,!1))};k.Cn=function(){return ui(this,this.gc)};function si(a){var b;a.Hc<a.Si&&(b=a.mc[a.Hc]);return b}function ti(a,b,c){b.Hc<b.Si&&(b.mc[b.Hc]=c,9==b.Hc&&8!=b.rh&&hi(a,!0),ii(a))}
function ui(a,b){var c=0,d=yc(a.U),e=d-b.cj;0>e&&(e=0);e%b.Wi>b.ro&&(c|=1);e%=b.gl;e>b.to&&(c|=8);b.cj=d-e;b===a.ga?(c|=b.Dg&48^48,b.Wd=!1):c=(b.Dg^=9)|240;return b.Dg=c}
var Zh={948:Y.prototype.Sn,949:Y.prototype.Rn,952:Y.prototype.Tn,954:Y.prototype.Un,980:Y.prototype.An,981:Y.prototype.zn,984:Y.prototype.Bn,985:Y.prototype.yn,986:Y.prototype.Cn},$h={948:Y.prototype.ep,949:Y.prototype.dp,952:Y.prototype.fp,980:Y.prototype.Oo,981:Y.prototype.No,984:Y.prototype.Po,985:Y.prototype.Mo},ai={960:Y.prototype.Zk,961:Y.prototype.Zk,962:Y.prototype.eo,964:Y.prototype.co,965:Y.prototype.bo,970:Y.prototype.Ln,972:Y.prototype.Kn,974:Y.prototype.Jn,975:Y.prototype.In},bi={954:Y.prototype.jm,
960:Y.prototype.im,961:Y.prototype.im,962:Y.prototype.hp,964:Y.prototype.op,965:Y.prototype.np,970:Y.prototype.$o,972:Y.prototype.Zo,974:Y.prototype.Yo,975:Y.prototype.Xo,986:Y.prototype.jm};
za(function(){for(var a=Ta(window.document,"pcjs","video"),b=0;b<a.length;b++){var c=a[b],d=Ra(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.style.backgroundColor=d.screenColor;e.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(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.onresize());c.appendChild(e);var f=window.document.createElement("textarea");ua("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Y(d,e,g,f,c);Sa(d,c)}});
function oi(a){this.Qk=a.adapter;switch(this.Qk){case 1:this.Pj=1016;this.mg=4;break;case 2:this.Pj=760;this.mg=3;break;default:m("Unrecognized serial adapter #"+this.Qk);return}this.Sd=null;n.call(this,"SerialPort",a,oi);var b=a.binding,c;a=pi;b&&(void 0===c&&(c="Panel"),(c=Qa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,oi);var pi="buffer";k=oi.prototype;k.lk=function(a,b){return a==this.Mi?(this.ae=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case pi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),qi(d,[b]))},c.onkeypress=function(a){a=a||window.event;qi(d,[a.which||a.keyCode])},!0}return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,ri,this.Pj);Kb(b,this,si,this.Pj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Od(this),b=0,c=[];c[b++]=this.gi;c[b++]=this.rk;c[b++]=this.Ve;c[b++]=this.Qg;c[b++]=this.Nd;c[b++]=this.ve;c[b++]=this.cd;c[b++]=this.Ec;c[b++]=this.pk;c[b]=this.Jf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])};
k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.gi=a[b++];this.rk=a[b++];this.Ve=a[b++];this.Qg=a[b++];this.Nd=a[b++];this.ve=a[b++];this.cd=a[b++];this.Ec=a[b++];this.pk=a[b++];this.Jf=a[b];return!0};function qi(a,b){a.Jf=a.Jf.concat(b);ti(a)}function ti(a){0<a.Jf.length&&!(a.Ec&1)&&(a.gi=a.Jf.shift(),a.Ec|=1);var b=-1;a.Ec&1&&a.Qg&1&&(b=4);0<=b?(a.Nd&=-8,a.Nd|=b,a.ca&&a.mg&&Og(a.ca,a.mg)):(a.Nd|=1,a.ca&&a.mg&&Pg(a.ca,a.mg))}
k.Wn=function(){var a=this.ve&128?this.Ve&255:this.gi;this.Ec&=-2;ti(this);return a};k.Hn=function(){return this.ve&128?this.Ve>>8:this.Qg};k.In=function(){return this.Nd};k.Jn=function(){return this.ve};k.Ln=function(){return this.cd};k.Kn=function(){return this.Ec};k.Rn=function(){return this.pk};
k.kp=function(a,b){if(this.ve&128)this.Ve=this.Ve&-256|b;else{this.rk=b;this.Ec&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Ec|=96)}};k.Wo=function(a,b){this.ve&128?this.Ve=this.Ve&255|b<<8:this.Qg=b};k.Xo=function(a,b){this.ve=b};
k.Yo=function(a,b){var c=this.cd;this.cd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.cd,e=3==(d&3);if(e){if(!c.Xc){var f=!1;c.cd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.cd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(qi(c.Wf,[77,77]),c.cc("serial mouse ID sent"));ui(c,c.Ca);c.setActive(e)}}else c.Xc&&(c.cc("serial mouse inactive"),vi(c.Ca),c.setActive(e));c.cd=d}};
var ri={0:oi.prototype.Wn,1:oi.prototype.Hn,2:oi.prototype.In,3:oi.prototype.Jn,4:oi.prototype.Ln,5:oi.prototype.Kn,6:oi.prototype.Rn},si={0:oi.prototype.kp,1:oi.prototype.Wo,3:oi.prototype.Xo,4:oi.prototype.Yo};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new oi(d);Sa(d,c)}});function wi(a){n.call(this,"Mouse",a,wi);if(this.Li=a.serial)this.Tj="SerialPort";this.setActive(!1);this.kh=!1;p(this)}La(n,wi);k=wi.prototype;
k.zc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.video=bb(this.ya,"Video")};k.setActive=function(a){this.Xc=a};k.bc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Tj&&!this.Wf){for(var c=null;(c=bb(this.ya,this.Tj,c))&&(!c.lk||!(this.Wf=c.lk(this.Li,this))););this.Wf?this.video&&(c=this.video,c.ae=this,this.Ca=c.Ca):m(this.id+": "+this.Tj+" "+this.Li+" unavailable")}this.Xc?ui(this,this.Ca):vi(this.Ca)}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Od(this);a.set(0,this.Xj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Hd=a[b++];this.Id=a[b++];this.We=a[b++];this.Xe=a[b++];this.fh=a[b++];this.gh=a[b++];this.cd=a[b];return!0};
k.Xj=function(){var a=0,b=[];b[a++]=this.Xc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.We;b[a++]=this.Xe;b[a++]=this.fh;b[a++]=this.gh;b[a]=this.cd;return b};k.ug=function(a){this.kh=a};function ui(a,b){b&&(a.yi||(b.addEventListener("mousemove",function(b){a.Wk(b)},!1),b.addEventListener("mousedown",function(b){a.mi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.mi(b.button,!1)},!1),a.yi=!0),b.style.cursor="none")}function vi(a){a&&(a.style.cursor="auto")}
k.Wk=function(a){if(this.Xc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.kh?(this.We=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Xe=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.We=a.clientX-this.Hd,this.Xe=a.clientY-this.Id);(this.We||this.Xe)&&xi(this);this.Hd=a.clientX;this.Id=a.clientY}};
k.mi=function(a,b){if(this.Xc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.kh)&&(c=this.video)&&(c=this.video,c=c.Wm?c.Je(!0):!1);c||(this.kh=null);switch(a){case 0:this.fh!=b&&(this.fh=b,xi(this));break;case 2:this.gh!=b&&(this.gh=b,xi(this))}}};function xi(a){qi(a.Wf,[64|(a.fh?32:0)|(a.gh?16:0)|(a.Xe&192)>>4|(a.We&192)>>6,a.We&63,a.Xe&63]);a.We=a.Xe=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new wi(d);Sa(d,c)}});
function yi(a,b,c){n.call(this,"Disk",{id:a.Sk+".disk"+ ++zi},yi);this.X=a;this.ya=a.ya;this.Wa=a.Wa;this.La=b;this.nd=b.name;this.qf=b.qf;this.lh=this.yd=!1;this.create(c,b.nb,b.ob,b.rb,b.ab);this.qe=[];this.Fg=[];this.Fd=null;this.Yk=0;this.Gi=!1;p(this)}var zi=0;La(n,yi);k=yi.prototype;k.zc=function(a,b,c,d){this.Wa=d};k.bc=function(a,b){b||!this.lh||this.yd||(p(this,!1),this.load(this.nd,this.Qe,null,this.Tm,this));return!0};k.Tm=function(){p(this,!0)};
k.ac=function(a,b){if(this.yd){var c,d=0;if(this.Gi&&!pa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Ai(this,!1);)if(d=c[0]){this.X.va('Unable to save "'+this.nd+'" (error '+d+")");break}b&&this.yd&&(c="action=close&volume="+this.Qe,c+="&machine="+this.X.sf(),c+="&user="+this.X.Yd(),na(oa()+"/api/v1/disk?"+c,!0),this.yd=!1);!d&&a&&this.X.va(this.nd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.rb=d;this.ab=e;this.Qa=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.rb);for(var f=1;f<=e.length;f++)e[f-1]=Bi(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Qa=a}this.nf=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.He)if(this.nd=a,this.Qe=b,this.He=d,this.Nm=e||this.X,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.nb=d[0];g.ob=d[1];g.rb=d[2];g.ab=512;b=g.ab>>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;c<g.Qa.length;c++)for(var f=g.Qa[c]=Array(g.ob),U=0;U<f.length;U++)for(var ba=f[U]=Array(g.rb),fa=0;fa<ba.length;fa++){for(var Ca=Bi(null,c,U,fa+1,g.ab,0),Na=Ca.data,mb=0;mb<b;mb++,e+=4)var oc=Na[mb]=
a.getInt32(e,!0),d=d+oc&-1;Ca.vc=b;ba[fa]=Ca}g.nf=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.He&&(g.He.call(g.X,g.La,b,g.nd,g.Qe),g.He=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=Ci(this,b),this.lh=!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=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.qf?"":d)+"&format=json")),na(f,!0,null,this,this.Rm,b)};
k.Rm=function(a,b,c,d){var e=null;this.rf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.lh)c?this.X.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.X.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0<ga(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.nd]:0>b.indexOf("0x")&&
function vi(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Rj=1016;this.ng=4;break;case 2:this.Rj=760;this.ng=3;break;default:m("Unrecognized serial adapter #"+this.Vk);return}this.Sd=null;n.call(this,"SerialPort",a,vi);var b=a.binding,c;a=wi;b&&(void 0===c&&(c="Panel"),(c=Oa(c,this.id))&&(b=c.ma[b])&&this.Eb(null,a,b))}La(n,vi);var wi="buffer";k=vi.prototype;k.pk=function(a,b){return a==this.th?(this.ae=b,this):null};
k.Eb=function(a,b,c){var d=this;switch(b){case wi:return this.ma[b]=this.Sd=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),xi(d,[b]))},c.onkeypress=function(a){a=a||window.event;xi(d,[a.which||a.keyCode])},!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ca=bb(a,"ChipSet");Ib(b,this,yi,this.Rj);Kb(b,this,zi,this.Rj);p(this)};k.bc=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this),b=0,c=[];c[b++]=this.ii;c[b++]=this.vk;c[b++]=this.We;c[b++]=this.Rg;c[b++]=this.Nd;c[b++]=this.we;c[b++]=this.bd;c[b++]=this.Dc;c[b++]=this.tk;c[b]=this.Kf;a.set(0,c);return a.data()};k.restore=function(a){return this.Zd(a[0])};
k.Zd=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ii=a[b++];this.vk=a[b++];this.We=a[b++];this.Rg=a[b++];this.Nd=a[b++];this.we=a[b++];this.bd=a[b++];this.Dc=a[b++];this.tk=a[b++];this.Kf=a[b];return!0};function xi(a,b){a.Kf=a.Kf.concat(b);Ai(a)}function Ai(a){0<a.Kf.length&&!(a.Dc&1)&&(a.ii=a.Kf.shift(),a.Dc|=1);var b=-1;a.Dc&1&&a.Rg&1&&(b=4);0<=b?(a.Nd&=-8,a.Nd|=b,a.ca&&a.ng&&Og(a.ca,a.ng)):(a.Nd|=1,a.ca&&a.ng&&Pg(a.ca,a.ng))}
k.ao=function(){var a=this.we&128?this.We&255:this.ii;this.Dc&=-2;Ai(this);return a};k.Mn=function(){return this.we&128?this.We>>8:this.Rg};k.Nn=function(){return this.Nd};k.On=function(){return this.we};k.Qn=function(){return this.bd};k.Pn=function(){return this.Dc};k.Wn=function(){return this.tk};
k.pp=function(a,b){if(this.we&128)this.We=this.We&-256|b;else{this.vk=b;this.Dc&=-97;var c;this.Sd?(13!=b&&(8==b?this.Sd.value=this.Sd.value.slice(0,-1):(this.Sd.value+=String.fromCharCode(b),this.Sd.scrollTop=this.Sd.scrollHeight)),c=!0):c=!1;c&&(this.Dc|=96)}};k.ap=function(a,b){this.we&128?this.We=this.We&255|b<<8:this.Rg=b};k.bp=function(a,b){this.we=b};
k.cp=function(a,b){var c=this.bd;this.bd=b;if(this.ae&&(c^b)&3){var c=this.ae,d=this.bd,e=3==(d&3);if(e){if(!c.Wc){var f=!1;c.bd&2||(c.reset(),c.cc("serial mouse reset"),f=!0);c.bd&1||(c.cc("serial mouse ID requested"),f=!0);f&&(xi(c.Xf,[77,77]),c.cc("serial mouse ID sent"));Bi(c,c.Ca);c.setActive(e)}}else c.Wc&&(c.cc("serial mouse inactive"),Ci(c.Ca),c.setActive(e));c.bd=d}};
var yi={0:vi.prototype.ao,1:vi.prototype.Mn,2:vi.prototype.Nn,3:vi.prototype.On,4:vi.prototype.Qn,5:vi.prototype.Pn,6:vi.prototype.Wn},zi={0:vi.prototype.pp,1:vi.prototype.ap,3:vi.prototype.bp,4:vi.prototype.cp};za(function(){for(var a=Ta(window.document,"pcjs","serial"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new vi(d);Sa(d,c)}});function Di(a){n.call(this,"Mouse",a,Di);if(this.Oi=a.serial)this.Vj="SerialPort";this.setActive(!1);this.lh=!1;p(this)}La(n,Di);k=Di.prototype;
k.yc=function(a,b,c,d){this.ya=a;this.ka=b;this.U=c;this.Wa=d;this.video=bb(this.ya,"Video")};k.setActive=function(a){this.Wc=a};k.bc=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.Vj&&!this.Xf){for(var c=null;(c=bb(this.ya,this.Vj,c))&&(!c.pk||!(this.Xf=c.pk(this.Oi,this))););this.Xf?this.video&&(c=this.video,c.ae=this,this.Ca=c.Ca):m(this.id+": "+this.Vj+" "+this.Oi+" unavailable")}this.Wc?Bi(this,this.Ca):Ci(this.Ca)}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Zd()};k.save=function(){var a=new Pd(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.Zd(a[0])};k.Zd=function(a){var b=0;void 0===a&&(a=[!1,-1,-1,0,0,!1,!1,0]);this.setActive(a[b++]);this.Hd=a[b++];this.Id=a[b++];this.Xe=a[b++];this.Ye=a[b++];this.gh=a[b++];this.hh=a[b++];this.bd=a[b];return!0};
k.Zj=function(){var a=0,b=[];b[a++]=this.Wc;b[a++]=this.Hd;b[a++]=this.Id;b[a++]=this.Xe;b[a++]=this.Ye;b[a++]=this.gh;b[a++]=this.hh;b[a]=this.bd;return b};k.vg=function(a){this.lh=a};function Bi(a,b){b&&(a.Ai||(b.addEventListener("mousemove",function(b){a.al(b)},!1),b.addEventListener("mousedown",function(b){a.oi(b.button,!0)},!1),b.addEventListener("mouseup",function(b){a.oi(b.button,!1)},!1),a.Ai=!0),b.style.cursor="none")}function Ci(a){a&&(a.style.cursor="auto")}
k.al=function(a){if(this.Wc&&this.U&&this.U.ea.Ib){if(0>this.Hd||0>this.Id)this.Hd=a.clientX,this.Id=a.clientY;this.lh?(this.Xe=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.Ye=a.movementY||a.mozMovementY||a.webkitMovementY||0):(this.Xe=a.clientX-this.Hd,this.Ye=a.clientY-this.Id);(this.Xe||this.Ye)&&Ei(this);this.Hd=a.clientX;this.Id=a.clientY}};
k.oi=function(a,b){if(this.Wc&&this.U&&this.U.ea.Ib){var c;!(c=!1!==this.lh)&&(c=this.video)&&(c=this.video,c=c.an?c.Ke(!0):!1);c||(this.lh=null);switch(a){case 0:this.gh!=b&&(this.gh=b,Ei(this));break;case 2:this.hh!=b&&(this.hh=b,Ei(this))}}};function Ei(a){xi(a.Xf,[64|(a.gh?32:0)|(a.hh?16:0)|(a.Ye&192)>>4|(a.Xe&192)>>6,a.Xe&63,a.Ye&63]);a.Xe=a.Ye=0}za(function(){for(var a=Ta(window.document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Di(d);Sa(d,c)}});
function Fi(a,b,c){n.call(this,"Disk",{id:a.Xk+".disk"+ ++Gi},Fi);this.V=a;this.ya=a.ya;this.Wa=a.Wa;this.La=b;this.nd=b.name;this.rf=b.rf;this.mh=this.yd=!1;this.create(c,b.nb,b.ob,b.rb,b.ab);this.qe=[];this.Gg=[];this.Fd=null;this.cl=0;this.Ii=!1;p(this)}var Gi=0;La(n,Fi);k=Fi.prototype;k.yc=function(a,b,c,d){this.Wa=d};k.bc=function(a,b){b||!this.mh||this.yd||(p(this,!1),this.load(this.nd,this.Re,null,this.Ym,this));return!0};k.Ym=function(){p(this,!0)};
k.ac=function(a,b){if(this.yd){var c,d=0;if(this.Ii&&!pa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Hi(this,!1);)if(d=c[0]){this.V.va('Unable to save "'+this.nd+'" (error '+d+")");break}b&&this.yd&&(c="action=close&volume="+this.Re,c+="&machine="+this.V.tf(),c+="&user="+this.V.Yd(),na(oa()+"/api/v1/disk?"+c,!0),this.yd=!1);!d&&a&&this.V.va(this.nd+" saved")}return!0};
k.create=function(a,b,c,d,e){this.mode=a;this.nb=b;this.ob=c;this.rb=d;this.ab=e;this.Qa=[];if("preload"!=this.mode){a=Array(this.nb);for(b=0;b<a.length;b++){c=Array(this.ob);for(d=0;d<c.length;d++){e=Array(this.rb);for(var f=1;f<=e.length;f++)e[f-1]=Ii(null,b,d,f,this.ab,"local"==this.mode?0:null);c[d]=e}a[b]=c}this.Qa=a}this.of=null};
k.load=function(a,b,c,d,e){var f=b;if(!this.Ie)if(this.nd=a,this.Re=b,this.Ie=d,this.Sm=e||this.V,c){var g=this,h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=ca[c];if(d){g.nb=d[0];g.ob=d[1];g.rb=d[2];g.ab=512;b=g.ab>>2;var e=d=0,a=new DataView(a,0,c);g.Qa=Array(g.nb);for(c=0;c<g.Qa.length;c++)for(var f=g.Qa[c]=Array(g.ob),U=0;U<f.length;U++)for(var ba=f[U]=Array(g.rb),fa=0;fa<ba.length;fa++){for(var Ca=Ii(null,c,U,fa+1,g.ab,0),Pa=Ca.data,mb=0;mb<b;mb++,e+=4)var oc=Pa[mb]=
a.getInt32(e,!0),d=d+oc&-1;Ca.vc=b;ba[fa]=Ca}g.of=d;b=g}else g.va("Unrecognized diskette format ("+c+" bytes)");g.Ie&&(g.Ie.call(g.V,g.La,b,g.nd,g.Re),g.Ie=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=Ji(this,b),this.mh=!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=oa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.rf?"":d)+"&format=json")),na(f,!0,null,this,this.Wm,b)};
k.Wm=function(a,b,c,d){var e=null;this.sf=!1;var f=0>c&&this.ya&&!this.ya.ea.Zb;if(this.mh)c?this.V.va('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.yd=!0,e=this);else if(c)this.V.va('Unable to load disk "'+this.nd+'" (error '+c+")",f);else try{if(0<ga(a,!0).toLowerCase().indexOf("-readonly"))this.sf=!0;else{var g=b.indexOf("\n");0<g&&1024>g&&0<b.substring(0,g).indexOf("write-protected")&&(this.sf=!0)}var h;h="<"==b.substr(0,1)?["Missing disk image: "+this.nd]: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)m(h[0]);else{this.nb=h.length;this.ob=h[0].length;this.rb=h[0][0].length;var r=h[0][0][0];this.ab=r&&r.length||512;for(b=a=0;b<this.nb;b++)for(c=0;c<this.ob;c++)for(d=0;d<this.rb;d++)if(r=h[b][c][d]){var t=r.length;void 0===t&&(t=r.length=512);var t=t>>2,B=r.pattern;void 0===B&&(B=r.pattern=0);var I=r.data;if(void 0===I){var H=r.bytes;if(void 0!==H&&H.length){for(var f=
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Bi(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&-1}this.Qa=h;this.nf=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.He&&(this.He.call(this.Nm,this.La,e,this.nd,this.Qe),this.He=null)};function Bi(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.en=b;a.gn=c;a.Yc=a.vc=0;a.Ha=!1;return a}
function Ci(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;c+="&machine="+a.X.sf();c+="&user="+a.X.Yd();return oa()+"/api/v1/disk?"+c}function Di(a,b,c,d,e,f,g){if(a.yd){var h;h="action=read&volume="+a.Qe;h+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.X.sf());h+="&user="+a.X.Yd();na(oa()+"/api/v1/disk?"+h,f,null,a,a.Um,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Um=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var r=this.seek(a,f,g,!0);if(!r)break;this.fill(r,b,e);e+=r.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.Vm=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.Qa.length&&0<=b&&b<this.Qa[a].length)for(--e;0<f--&&0<=e&&e<this.Qa[a][b].length;e++){var g=this.Qa[a][b][e];c?Ei(this,g,!1):g.Ha||(g.Yc=g.vc=0)}d&&Fi(this)};
function Ei(a,b,c){b.Ha=!0;var d=a.qe.indexOf(b);0<=d&&(a.qe.splice(d,1),a.Fg.splice(d,1));a.qe.push(b);a.Fg.push(ka());c&&Fi(a)}function Fi(a){if(a.qe.length){var b=a.Fg[0]+2E3;a.Fd&&a.Yk<b&&(clearTimeout(a.Fd),a.Fd=null);if(!a.Fd){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Fd=setTimeout(function(){Ai(a,!0)},b);a.Yk=c+b}}else a.Fd&&(clearTimeout(a.Fd),a.Fd=null)}
function Ai(a,b){b&&(a.Fd=null);var c=a.qe[0];if(c){for(var d=c.en,e=c.gn,c=c.sector,f=0,g=[],h=c-1;h<a.Qa[d][e].length;h++){var r=a.Qa[d][e][h];if(!r.Ha)break;var t=a.qe.indexOf(r);a.qe.splice(t,1);a.Fg.splice(t,1);g=g.concat(Gi(r));r.Ha=!1;f++}a.yd?(h={},a.Gi=!0,h.action="write",h.volume=a.Qe,h.chs=a.nb+":"+a.ob+":"+a.rb+":"+a.ab,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.X.sf(),h.user=a.X.Yd(),h.data=JSON.stringify(g),d=na(oa()+"/api/v1/disk",b,h,a,a.Vm,[d,e,c,f,b])):d=!1;return b||d}return!1}
t<<2,L=H.length;L<f;L++)H[L]=B;this.fill(r,H,0)}else I=[],B=r.pattern=B|B<<8|B<<16|B<<24,r.data=I;delete r.bytes}Ii(r,b,c);for(f=0;f<I.length;f++)a=a+I[f]&-1}this.Qa=h;this.of=a;e=this}else m("Empty disk image: "+this.nd)}catch(U){m("Disk image error: "+U.message)}this.Ie&&(this.Ie.call(this.Sm,this.La,e,this.nd,this.Re),this.Ie=null)};function Ii(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.kn=b;a.mn=c;a.Xc=a.vc=0;a.Ha=!1;return a}
function Ji(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;c+="&machine="+a.V.tf();c+="&user="+a.V.Yd();return oa()+"/api/v1/disk?"+c}function Ki(a,b,c,d,e,f,g){if(a.yd){var h;h="action=read&volume="+a.Re;h+="&chs="+a.nb+":"+a.ob+":"+a.rb+":"+a.ab;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.V.tf());h+="&user="+a.V.Yd();na(oa()+"/api/v1/disk?"+h,f,null,a,a.Zm,[b,c,d,e,f,g])}else g&&g(-1,!1)}
k.Zm=function(a,b,c,d){var e=!1;a=d[0];var f=d[1],g=d[2],h=d[3];if(!c){b=JSON.parse(b);for(e=0;h--;){var r=this.seek(a,f,g,!0);if(!r)break;this.fill(r,b,e);e+=r.length;g++}e=d[4]}(d=d[5])&&d(c,e)};k.$m=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ii=!1;if(0<=a&&a<this.Qa.length&&0<=b&&b<this.Qa[a].length)for(--e;0<f--&&0<=e&&e<this.Qa[a][b].length;e++){var g=this.Qa[a][b][e];c?Li(this,g,!1):g.Ha||(g.Xc=g.vc=0)}d&&Mi(this)};
function Li(a,b,c){b.Ha=!0;var d=a.qe.indexOf(b);0<=d&&(a.qe.splice(d,1),a.Gg.splice(d,1));a.qe.push(b);a.Gg.push(ka());c&&Mi(a)}function Mi(a){if(a.qe.length){var b=a.Gg[0]+2E3;a.Fd&&a.cl<b&&(clearTimeout(a.Fd),a.Fd=null);if(!a.Fd){var c=ka(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.Fd=setTimeout(function(){Hi(a,!0)},b);a.cl=c+b}}else a.Fd&&(clearTimeout(a.Fd),a.Fd=null)}
function Hi(a,b){b&&(a.Fd=null);var c=a.qe[0];if(c){for(var d=c.kn,e=c.mn,c=c.sector,f=0,g=[],h=c-1;h<a.Qa[d][e].length;h++){var r=a.Qa[d][e][h];if(!r.Ha)break;var t=a.qe.indexOf(r);a.qe.splice(t,1);a.Gg.splice(t,1);g=g.concat(Ni(r));r.Ha=!1;f++}a.yd?(h={},a.Ii=!0,h.action="write",h.volume=a.Re,h.chs=a.nb+":"+a.ob+":"+a.rb+":"+a.ab,h.addr=d+":"+e+":"+c+":"+f,h.machine=a.V.tf(),h.user=a.V.Yd(),h.data=JSON.stringify(g),d=na(oa()+"/api/v1/disk",b,h,a,a.$m,[d,e,c,f,b])):d=!1;return b||d}return!1}
k.info=function(){return this.Qa.length?[this.Qa.length,this.Qa[0].length,this.Qa[0][0].length,this.Qa[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.La,h=this.Qa[a];if(h){var r=h[b];if(!r&&g.ei&&b<g.ob)for(r=h[b]=Array(g.Od),h=0;h<r.length;h++)r[h]=Bi(null,a,b,h+1,g.mb,0);if(r){for(h=0;h<r.length;h++)if(r[h]&&r[h].sector==c){f=r[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<r.length;)null===r[h].pattern&&d++;Di(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.ei&&9==g.Za&&(f=r[h]=Bi(null,a,b,g.Za,g.mb,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 Gi(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 Hi(a,b){var c=-1;if(a&&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!=Hi(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.vc?f<a.Yc?(a.vc+=a.Yc-f,a.Yc=f):f>=a.Yc+a.vc&&(a.vc+=f-(a.Yc+a.vc)+1):(a.Yc=f,a.vc=1);d[f]=d[f]&~(255<<b)|c<<b;this.yd&&Ei(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Qe,this.nf,this.nb,this.ob,this.rb,this.ab];if(!this.yd&&!this.rf)for(var c=this.Qa,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.vc){for(var h=[],r=0,t=g.Yc,B=g.Yc+g.vc;t<B;)h[r++]=g.data[t++];b[a++]=[d,e,f,g.Yc,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.Qa.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.nf&&e[1]!=this.nf&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.nf+")",b=-2));for(this.Qa.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],r=g[f++],t=g[f++];if(h>=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") 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.Qa[h][r][t]){for(r=h.data.length;r<e;)h.data[r++]=h.pattern;r=0;h.Yc=e;for(h.vc=f.length;e<g;)h.data[e++]=f[r++];b++}}}0>b&&-2!=b&&this.X.va("Unable to restore disk '"+this.nd+": "+c);return b};
k.seek=function(a,b,c,d,e){var f=null,g=this.La,h=this.Qa[a];if(h){var r=h[b];if(!r&&g.gi&&b<g.ob)for(r=h[b]=Array(g.Od),h=0;h<r.length;h++)r[h]=Ii(null,a,b,h+1,g.mb,0);if(r){for(h=0;h<r.length;h++)if(r[h]&&r[h].sector==c){f=r[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<r.length;)null===r[h].pattern&&d++;Ki(this,a,b,c,d,null!=e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.gi&&9==g.Za&&(f=r[h]=Ii(null,a,b,g.Za,g.mb,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 Ni(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 Oi(a,b){var c=-1;if(a&&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.sf)return!1;if(b<a.length){if(c!=Oi(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.vc?f<a.Xc?(a.vc+=a.Xc-f,a.Xc=f):f>=a.Xc+a.vc&&(a.vc+=f-(a.Xc+a.vc)+1):(a.Xc=f,a.vc=1);d[f]=d[f]&~(255<<b)|c<<b;this.yd&&Li(this,a,!0)}return!0}return null};
k.save=function(){var a=0,b=[];b[a++]=[this.Re,this.of,this.nb,this.ob,this.rb,this.ab];if(!this.yd&&!this.sf)for(var c=this.Qa,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.vc){for(var h=[],r=0,t=g.Xc,B=g.Xc+g.vc;t<B;)h[r++]=g.data[t++];b[a++]=[d,e,f,g.Xc,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.Qa.length&&6<=e.length?this.create("local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.of&&e[1]!=this.of&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.of+")",b=-2));for(this.Qa.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],r=g[f++],t=g[f++];if(h>=this.Qa.length||r>=this.Qa[h].length||t>=this.Qa[h][r].length){c="sector (CHS="+h+":"+r+":"+t+") out of range ("+
b+" changes applied)";b=-1;break}if(this.sf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.Qa[h][r][t]){for(r=h.data.length;r<e;)h.data[r++]=h.pattern;r=0;h.Xc=e;for(h.vc=f.length;e<g;)h.data[e++]=f[r++];b++}}}0>b&&-2!=b&&this.V.va("Unable to restore disk '"+this.nd+": "+c);return b};
k.toJSON=function(){var a=JSON.stringify(this.Qa),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":')};
function Ii(a){n.call(this,"FDC",a,Ii);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaFormat=this.Om;this.ze=null;if(a.autoMount&&(this.ze=a.autoMount,"string"==typeof this.ze))try{this.ze=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.ze=null}this.tc=[];this.Fk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Ii);l={};aa={};
var Ji={3:{ud:3,Rd:0,name:aa.fq},4:{ud:2,Rd:1,name:aa.dq},5:{ud:9,Rd:7,name:aa.rq},6:{ud:9,Rd:7,name:aa.Yp},7:{ud:2,Rd:0,name:aa.$p},8:{ud:1,Rd:2,name:aa.eq},10:{ud:2,Rd:7,name:aa.Zp},13:{ud:6,Rd:7,name:aa.Kp},15:{ud:3,Rd:0,name:aa.cq}};k=Ii.prototype;
function Pi(a){n.call(this,"FDC",a,Pi);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaFormat=this.Tm;this.Ae=null;if(a.autoMount&&(this.Ae=a.autoMount,"string"==typeof this.Ae))try{this.Ae=eval("("+a.autoMount+")")}catch(b){m("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ae=null}this.tc=[];this.Jk=!ua("Mobi")&&window&&"FileReader"in window}La(n,Pi);l={};aa={};
var Qi={3:{ud:3,Rd:0,name:aa.kq},4:{ud:2,Rd:1,name:aa.iq},5:{ud:9,Rd:7,name:aa.wq},6:{ud:9,Rd:7,name:aa.cq},7:{ud:2,Rd:0,name:aa.eq},8:{ud:1,Rd:2,name:aa.jq},10:{ud:2,Rd:7,name:aa.dq},13:{ud:6,Rd:7,name:aa.Pp},15:{ud:3,Rd:0,name:aa.hq}};k=Pi.prototype;
k.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.ma[b]=c,c.onchange=function(){var a=d.ma.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){m("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.ma[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r)}a=g;null!=a&&Ki(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Li(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Fk?
(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Li(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Mi);Kb(b,this,Ni);this.Fk&&Oi(this,"Local Disk","?");Oi(this,"Remote Disk","??");this.Nf()||p(this)};
k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Di){this.tc=[];for(var c=0;c<this.wa.length;c++)Pi(this,c,!0);this.Nf(!0)}}else if(!this.restore(a))return!1;if(c=this.ma.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.Yi;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Yi&&(c.value="0",Ki(this,0))}}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.zd()};k.save=function(){var a=new Od(this);a.set(0,this.Uj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=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.qa=a[b++];this.ec=a[b++];this.ub=a[b++];this.cb=a[b++];this.Ef=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.tc=c);void 0===this.wa&&(this.Yi=4,this.ca&&(this.Yi=rg(this.ca)),this.wa=Array(4));for(c=0;c<this.wa.length;c++){var f=this.wa[c];if(void 0===f){var f=this.wa[c]={},g;if(this.ca)a:{g=this.ca;if(c<rg(g)){if(!g.Jd){g=360;break a}if(c<g.Jd.length){g=g.Jd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.ob=
1;default:f.nb=40;f.rb=9;break;case 720:f.nb=80;f.rb=9;break;case 1200:f.nb=80;f.rb=15;break;case 1440:f.nb=80,f.rb=18}}this.Ni(f,c,e[c])||(d=!1)}this.ie=a[b++]||0;this.hm=a[b]||0;return d};k.Uj=function(){var a=0,b=[];b[a++]=this.$a;b[a++]=0;b[a++]=this.qa;b[a++]=this.ec;b[a++]=this.ub;b[a++]=this.cb;b[a++]=this.Ef;b[a++]=this.Wj();for(var c=a++,d=0;d<this.wa.length;d++){var e=this.wa[d];e.pa&&Qi(this,e.Re,e.pa)}b[c]=this.tc;b[a++]=this.ie;b[a]=this.hm;return b};
k.Ni=function(a,b,c){var d=0,e=!0;a.$a=b;a.Hc=a.of=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.nb||40,a.ob||c[3],a.rb||9,a.ab||512,c[1],a.Ah,a.kg,a.lg]);a.Xa=c[d++];var f=c[d++];a.name=f[0];a.nb=f[1];a.ob=f[2];a.rb=f[3];a.ab=f[4];a.qf=f[5];(a.Ah=f[6])?(a.kg=f[7],a.lg=f[8]):(a.Ah=a.nb,a.kg=a.ob,a.lg=a.rb);a.Ka=c[d++];a.Md=c[d++];a.pb=c[d++];a.Md=100<=a.Md?a.Md-100:a.Md-a.pb;a.Za=c[d++];a.Od=c[d++];a.mb=c[d++];a.Ma=c[d++];a.Ja=null;a.pa||(a.Re="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.wa[b],Pi(this,b,!0,!0),d.of=!0,b=new yi(this,d,"preload"),this.zk(d,b,f,c,!0)):Ri(this,b,f,c,!0)?a.pa&&c&&Si(this,f,c,a.pa):p(this,!1)):void 0!==g&&a.pa&&0>a.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Wj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Vj(this.wa[c]);return b};
k.Vj=function(a){var b=0,c=[];c[b++]=a.Xa;c[b++]=[a.name,a.nb,a.ob,a.rb,a.ab,a.qf,a.Ah,a.kg,a.lg];c[b++]=a.Ka;c[b++]=a.Md+100;c[b++]=a.pb;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b++]=a.of;c[b++]=a.om;c[b]=a.Re;return c};k.Nf=function(a){a||(this.we=0);if(this.ze)for(var b in this.ze){var c=this.ze[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.wa.length){!Ri(this,d,c.name,c.path,!0)&&a&&p(this,!1);continue}}this.va("Unrecognized auto-mount specification for drive "+b)}return!!this.we};
function Li(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.wa.length)if(c)if("?"==c)a.va('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=ga(c);a.kc("Attempting to load "+c+' as "'+b+'"')}for(a.kc("loading disk "+c+"...");Ri(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}Pi(a,e,!1,!0)}}else Pi(a,e);else a.va("Nothing to load")}function Ri(a,b,c,d,e,f){var g=a.wa[b];if(d&&g.Re!=d){Pi(a,b,e,!0);if(g.Hc)return a.va("Drive "+b+" busy"),!0;g.Hc=!0;e&&(g.Fe=!0,a.we++);g.of=!!f;(new yi(a,g,"preload")).load(c,d,f,a.zk);return!1}return!0}
k.zk=function(a,b,c,d,e){var f;a.Hc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.om=c,a.Re=d,Si(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Fe||e),a.Ah=f[0],a.kg=f[1],a.lg=f[2]):a.of=!1;a.Fe&&(a.Fe=!1,--this.we||p(this));Ki(this,a.$a)};
function Oi(a,b,c){if(a=a.ma.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.textContent=b;a.appendChild(d)}}function Ki(a,b){if(0<=b&&b<a.wa.length){var c=a.wa[b],d=a.ma.listDisks,e=a.ma.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.of?"?":c.Re,!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 Pi(a,b,c,d){var e=a.wa[b];e.pa&&(Qi(a,e.Re,e.pa),e.om="",e.Re="",e.pa=null,e.of=!1,a.ie|=128,d||a.va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ki(a,b))}function Si(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 Qi(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.Ro=function(a,b){b&4?this.Ef&4||this.Ef&8&&this.ca&&Og(this.ca,6):this.zd();this.Ef=b};k.Cn=function(){return this.qa};
k.An=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.Ef&8&&this.ca&&Pg(this.ca,6);++this.ub>=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a};
k.Qo=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Ji[c]&&this.cb>=Ji[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.gq);this.Ia(l.Np);this.Ob();break;case 4:f=this.Ia(l.Ff);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.jq);break;case 5:case 6:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ck);g=this.Ia(l.dk);h=e.Za=this.Ia(l.fk);r=this.Ia(l.Wh);e.mb=128<<
r;e.Od=this.Ia(l.Ip);this.Ia(l.Am);this.Ia(l.Hp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.rf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));Ti(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Ff);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Cm);this.dc(e.pb,l.Wp);this.$a=
this.$a+1&3;break;case 10:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;Ti(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Ff);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Wh);e.mb=128<<r;e.Od=this.Ia(l.bq);this.Ia(l.Am);e.ok=this.Ia(l.zm);t=e;t.Xa=72;t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(t.jf=0,t.Cc=Array(4),t.ei=!0,t.Zg=0,Ig(this.ca,2,this,"dmaFormat",t),Eg(this.ca,
2),t.ei=!1));Ti(this,e,c,d,f,g,h,r);d=!0;break;case 15:f=this.Ia(l.Ff),this.$a=f&3,e=this.wa[this.$a],e.Ka=f>>2&1,f=this.Ia(l.Tp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0<this.cb&&(this.qa|=80);this.Ef&8&&(!e||e.Xa&8||!d||this.ca&&Og(this.ca,6))}};k.Bn=function(){var a=this.ie;this.ie&=-129;return a};k.Po=function(a,b){this.hm=b};
function Ti(a,b,c,d,e,f,g,h){a.Ob();a.dc(b.$a|b.Ka<<2|b.Xa&255,l.Cm);a.dc((b.Xa&65280)>>>8,l.hq);a.dc((b.Xa&16711680)>>>16,l.iq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ck);a.dc(f,l.dk);a.dc(g,l.fk);a.dc(h,l.Wh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.si=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.ti=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};
k.Om=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Hi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Lf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Lf(a)}while(1);return b};
k.Lf=function(a){a.Za++;a.Za>=a.lg+1&&(a.Za=1,a.Ka++,a.Ka>=a.kg&&(a.Ka=0,a.pb++))};k.$j=function(a,b){if(a.Xa)return-1;a.Cc[a.jf++]=b;if(a.jf==a.Cc.length){a.pb=a.Cc[0];a.Ka=a.Cc[1];a.Za=a.Cc[2];a.mb=128<<a.Cc[3];for(var c=a.jf=0;c<a.mb;c++)if(0>this.Fb(a,a.ok))return-1;a.Zg++}a.Zg>=a.Od&&(b=-1);return b};var Mi={1012:Ii.prototype.Cn,1013:Ii.prototype.An,1015:Ii.prototype.Bn},Ni={1010:Ii.prototype.Ro,1013:Ii.prototype.Qo,1015:Ii.prototype.Po};
za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Ii(d);Sa(d,c)}});function Z(a){n.call(this,"HDC",a,Z);this.dmaRead=this.si;this.dmaWrite=this.ti;this.dmaWriteBuffer=this.Pm;this.dmaWriteFormat=this.Qm;this.Zh=[];if(a.drives)try{this.Zh=eval("("+a.drives+")")}catch(b){m("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.bg=(this.Ee="at"==a.type)?1:0;this.fn=this.Ee?2:3}La(n,Z);
var Ui=[{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=Z.prototype;k.Eb=function(){return!1};k.zc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");Ib(b,this,this.Ee?Vi:Wi);Kb(b,this,this.Ee?Xi:Yi);Ld(c,19,this,this.eo);Ld(c,64,this,this.fo);this.reset();this.Nf()||p(this)};
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.zd(),this.ya.Di&&this.Nf(!0);else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};k.sf=function(){return this.ya?this.ya.sf():""};k.Yd=function(){return this.ya?this.ya.Yd():""};k.reset=function(){this.zd(null,!0)};k.save=function(){var a=new Od(this);a.set(0,this.Uj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=function(a,b){var c=0,d=!0;if(this.Ee)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.he=a[c++],this.nm=a[c++],this.je=a[c++],this.Mh=a[c++],this.Kh=a[c++],this.Jh=a[c++],this.Df=a[c++],this.qa=a[c++],this.Rj=a[c++],this.Lh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.wg=a[c++];this.qa=a[c++];this.ec=a[c++];this.ub=a[c++];this.cb=a[c++];this.mm=a[c++];this.lm=a[c++];this.km=a[c++];var e=a[c++];void 0!==e?this.uf=e:void 0===this.uf&&(this.uf=-1)}void 0===this.wa&&(this.wa=Array(this.Zh.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.wa.length;e++){void 0===this.wa[e]&&(this.wa[e]={});var f=this.wa[e];this.Ni(e,f,this.Zh[e],c[e],b)||(d=!1);null!=this.wg&&1>=e&&(this.wg|=(f.type&3)<<(1-e<<1))}return d};
k.Uj=function(){var a=0,b=[];this.Ee?(b[a++]=this.he,b[a++]=this.nm,b[a++]=this.je,b[a++]=this.Mh,b[a++]=this.Kh,b[a++]=this.Jh,b[a++]=this.Df,b[a++]=this.qa,b[a++]=this.Rj,b[a++]=this.Lh):(b[a++]=this.wg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.mm,b[a++]=this.lm,b[a++]=this.km,b[a++]=this.uf);b[a]=this.Wj();return b};
k.Ni=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.sm=d[f++];b.qf=d[f++];b.cf=d[f++];b.df=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Wg=this.Ee?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.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===Ui[this.bg][b.type])b.type=this.fn;c=Ui[this.bg][b.type];
b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));Zi(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Wg)));return g};k.Wj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Vj(this.wa[c]);return b};
k.Vj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.sm;c[b++]=a.qf;c[b++]=a.cf;c[b++]=a.df;c[b++]=a.Ka;c[b++]=a.ob;c[b++]=a.oe;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b]=a.pa?a.pa.save():null;return c};
function Zi(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.cf[2])?e=b.cf[0]<<8|b.cf[1]:c=b.type);null==c||d||(d=Ui[a.bg][c][1],e=Ui[a.bg][c][0]);d&&((c=Ui[a.bg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new yi(a,b,b.mode)))}}
k.Nf=function(a){a||(this.we=0);for(var b=0;b<this.wa.length;b++){var c=this.wa[b];if(c.name&&c.path){if(!(a&&c.pa&&c.pa.lh)){var d;d=c.name;var c=c.path,e=this.wa[b];e.Hc?(this.va("Drive "+b+" busy"),d=!0):(e.Hc=!0,e.Fe=!0,this.we++,(e.pa||new yi(this,e,e.mode)).load(d,c,null,this.Sm),d=!1);!d&&a&&p(this,!1)}}else a&&void 0!==c.type&&(c.pa=null,Zi(this,c,c.type))}return!!this.we};
k.Sm=function(a,b,c){a.Hc=!1;(a.pa=b)&&this.va('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.$a),a.Fe);a.Fe&&(a.Fe=!1,--this.we||p(this))};k.bo=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.ca&&Pg(this.ca,5);this.qa&=-33;++this.ub>=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.mp=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=12!=this.ec[0]?6:this.ec.length;6==this.cb&&(this.qa&=-2);this.cb>=c&&(this.qa|=2,this.qa&=-2,$i(this))};
k.co=function(){var a=this.qa;this.ub<this.cb&&(this.qa|=1);return a};k.pp=function(a,b){this.mm=b;this.ca&&Pg(this.ca,5);this.zd()};k.ao=function(){return this.wg};k.op=function(a,b){this.lm=b;this.qa=13};k.np=function(a,b){this.km=b};k.Mj=function(){};
k.nn=function(){var a=-1;if(this.La){var b=this,a=this.Cb(this.La,function(){});1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,this.La.mb>=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(aj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a};
k.Bo=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,aj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.pn=function(){return this.he};k.Go=function(a,b){this.nm=b};k.qn=function(){return this.je};k.Eo=function(a,b){this.je=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.mn=function(){return this.Kh};k.Ao=function(a,b){this.Kh=b};k.ln=function(){return this.Jh};
k.zo=function(a,b){this.Jh=b};k.on=function(){return this.Df};k.Co=function(a,b){this.Df=b;this.qa=this.wa[this.Df&16?1:0]?this.qa|64:this.qa&-65};k.sn=function(){return this.qa};k.yo=function(a,b){this.Rj=b;this.ca&&Pg(this.ca,14);bj(this)};k.Do=function(a,b){this.Lh&4&&!(b&4)&&(this.he=1);this.Lh=b};
function bj(a){var b=!1,c=a.Rj,d=a.Df&16?1:0,e=a.Df&15,f=a.Kh|(a.Jh&3)<<8,g=a.Mh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(aj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&aj(a)}
function aj(a){!a.ca||a.Lh&2||Og(a.ca,14,120)}
function $i(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&c<H.cf.length&&(H.cf[c++]=b);H&&Zi(a,H);b=0;H||a.uf!=e||(a.uf=-1,b=2);a.Ob(b|d);b=-1;break;case 224:case 228:a.Ob(0|d),b=-1}if(0<=b)switch(void 0===H?b=-1:(H.errorCode=0,H.sm=0),b){case 0:a.Ob(0|d);break;case 1:H.yq=
I;a.Ob(0|d);break;case 5:a.Ob(0|d);break;case 8:cj(a,H,function(b){a.Ob(b|d)});break;case 10:dj(a,H,function(b){a.Ob(b|d)});break;case 15:gj(a,H,function(b){a.Ob(b|d)});break;default:a.Ob(2|d)}}k.Ia=function(){var a=-1;this.ub<this.cb&&(a=this.ec[this.ub++]);return a};k.Ob=function(a){this.ub=this.cb=0;void 0!==a&&this.dc(a);this.ca&&Og(this.ca,5);this.qa|=32};k.dc=function(a){this.ec[this.cb++]=a};k.si=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};
k.ti=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Pm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma<a.df.length?a.df[a.Ma++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Qm=function(a,b){return void 0!==b&&0<=b?this.$j(a,b):-1};function cj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaRead",b);Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function dj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaWrite",b);Eg(a.ca,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function gj(a,b,c){b.errorCode=4;b.df&&b.df.length==b.mb||(b.df=Array(b.mb));b.Ma=0;a.ca?(b.errorCode=0,Ig(a.ca,3,a,"dmaWriteBuffer",b),Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cb=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ja&&(f=a.Ma,d=Hi(a.Ja,a.Ma),a.Ma+=g,0<=d))return e=a.Ja,b&&b(d,!1,e,f),d;if(b){var h=this;if(a.pa)return a.pa.seek(a.oe,a.Ka,a.Za+a.Wg,!1,function(c,t){(a.Ja=c)?(e=c,f=a.Ma=0,h.Lf(a),d=Hi(a.Ja,a.Ma),a.Ma+=g):a.errorCode=20;b(d,t,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
k.Fb=function(a,b){if(a.errorCode)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.pa&&a.pa.seek(a.oe,a.Ka,a.Za+a.Wg,!0,function(b){a.Ja=b});if(!a.Ja){a.errorCode=20;b=-1;break}a.Ma=0;this.Lf(a)}while(1);return b};k.Lf=function(a){a.Za++;var b=1-a.Wg;a.Za>=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))};
k.$j=function(a,b){if(a.errorCode)return-1;a.Cc[a.jf++]=b;if(a.jf==a.Cc.length){a.oe=a.Cc[0];a.Ka=a.Cc[1];a.Za=a.Cc[2];a.mb=128<<a.Cc[3];for(var c=a.jf=0;c<a.mb;c++)if(0>this.Fb(a,a.ok))return-1;a.Zg++}a.Zg>=a.Od&&(b=-1);return b};k.eo=function(){var a=this.U.J&255;!(this.U.G>>8)&&128<a&&(this.uf=a-128);return!0};k.fo=function(){var a;(a=this.U.G>>8||!this.ca)||(a=!(this.ca.Vb[0].bd&64));return a?!0:!1};
var Wi={800:Z.prototype.bo,801:Z.prototype.co,802:Z.prototype.ao},Vi={496:Z.prototype.nn,497:Z.prototype.pn,498:Z.prototype.qn,499:Z.prototype.rn,500:Z.prototype.mn,501:Z.prototype.ln,502:Z.prototype.on,503:Z.prototype.sn},Yi={800:Z.prototype.mp,801:Z.prototype.pp,802:Z.prototype.op,803:Z.prototype.np,807:Z.prototype.Mj,811:Z.prototype.Mj,815:Z.prototype.Mj},Xi={496:Z.prototype.Bo,497:Z.prototype.Go,498:Z.prototype.Eo,499:Z.prototype.Fo,500:Z.prototype.Ao,501:Z.prototype.zo,502:Z.prototype.Co,503:Z.prototype.yo,
1014:Z.prototype.Do};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Z(d);Sa(d,c)}});function Od(a,b,c){this.id=a.id;this.key=hj(a,b,c);this.Wa=a.Wa;ij(this,a.qp)}function hj(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}
Od.prototype={constructor:Od,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:ra()&&(a=sa(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){m(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){ij(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}},cc:function(){}};function ij(a,b){a[a.id]={};b&&a.set("parms",b);a.Ci=!1}
function jj(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ta(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function kj(a,b,c){n.call(this,"Computer",a,kj);this.ea.Zb=!1;this.yf=a.buswidth;this.Lc=lj;this.Ag=null;this.mh=!1;this.url=b?b.url:null;this.wp=(Math.random()+.1).toString(36).substr(2,12);this.Mc=mj(this);if(this.U=Qa("CPU",this.id)){this.Wa=Qa("Debugger",this.id);this.ka=new zb({id:this.Sk+".bus",buswidth:this.yf},this.U,this.Wa);var d,e=Ma(this.id);if((this.Dd=Qa("Panel",this.id))&&this.Dd.oi)for(b=0;b<e.length;b++)d=e[b],d.va=this.Dd.va,d.kc=this.Dd.kc,d.oi=this.Dd.oi;for(b=0;b<e.length;b++)d=
e[b],d.zc&&d.zc(this,this.ka,this.U,this.Wa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Ph=d:this.Lc=parseInt(d,10));var f;if(a=Ga&&Ga.state||(f=!0,a.state))b=this.qm=a,f||(this.mh=!0,this.Lc=lj),this.Lc&&(this.Th=new Od(this,"1.17.2"),this.Th.load()?b=null:delete this.Th);!b&&this.Lc&&(f=null,this.Mc&&(f=oa()+"/api/v1/user?req=load&user="+this.Mc+"&state="+hj(this,"1.17.2")),b=f)&&(this.mh=!0);b?na(b,!0,null,this,this.to):p(this);c||nj(this,this.Ih)}else m("Unable to find CPU component")}
La(n,kj);var lj=0;k=kj.prototype;k.sf=function(){return this.wp};k.Yd=function(){return this.Mc?this.Mc:""};k.to=function(a,b,c){c?(this.Ph=null,this.mh=!1,this.va("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Ag=b;p(this)};function nj(a,b,c){for(var d=Ma(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Va(f)){Va(f,function(){nj(a,b,c)});return}}b.call(a,c)}
function oj(a,b){var c=new Od(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Ih=function(a){void 0===a&&(a=this.Lc||(this.Ag?1:lj));var b=!1,c=!1;this.Ik=!1;var d=this.Th||new Od(this,"1.17.2");if(-1==a)b=!0;else if(a>lj){if(d.load(this.Ag)){this.Te=new Od(this,"1.17.2","failsafe");this.Te.load()&&(pj(this,d),a=2,ij(this.Te));this.Te.set("timestamp",la());jj(this.Te);var e=this.Lc&&!this.mh;if(1==a||pa("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.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Mc=null)):this.kc(f+": "+g),ij(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&oj(this,c?d:null)}else 2==a&&d.clear()}else oj(this);delete this.Ag;delete this.Th}e=Ma(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=qj(this,g,d,b,c));b=[d,a,c];-1!=a?nj(this,this.Ak,b):this.Ak(b)};
function qj(a,b,c,d,e){if(!b.ea.Zb){b.ea.Zb=!0;if(b.bc){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.bc(f,d)&&f&&(m("Unable to restore state for "+b.type),a.qm&&!a.Ag?(c.clear(),a.Lc=lj,window&&window.location.reload()):a.Ik=!0,b.bc(null),e=!1)}if(!d&&b.xk)for(a=b.xk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ak=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ek||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ek=!0);this.U&&(qj(this,this.U,b,c,a),qc(this.U));this.Ik&&(pj(this,b),b.clear());!c&&this.Te&&(this.Te.clear(),delete this.Te)};
function pj(a,b){if(pa("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.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}}
function rj(a,b,c){var d,e="none",f=new Od(a,"1.17.2"),g=new Od(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Mc&&sj(a,a.Mc,f.toString()),jj(g)&&jj(f)||(e=null,d=h=!0)):a.Lc&&(d=!0,h=3==a.Lc),d&&f.clear(h)):e=f.toString());c&&(a.ea.Zb=!1);return e}k.reset=function(){this.ka&&this.ka.reset&&(this.cc("Resetting "+this.ka.type),this.ka.reset());for(var a=Ma(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
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 h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var r,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(r=parseInt(a,b))&&(g=r|0)}a=g;null!=a&&Ri(d,a)},!0;case "loadDrive":return this.ma[b]=c,c.onclick=function(){var a=d.ma.listDisks;a&&Si(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Jk?
(this.ma[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Si(d,ga(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");this.zd();Ib(b,this,Ti);Kb(b,this,Ui);this.Jk&&Vi(this,"Local Disk","?");Vi(this,"Remote Disk","??");this.Of()||p(this)};
k.bc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ya.Fi){this.tc=[];for(var c=0;c<this.wa.length;c++)Wi(this,c,!0);this.Of(!0)}}else if(!this.restore(a))return!1;if(c=this.ma.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.$i;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.$i&&(c.value="0",Ri(this,0))}}return!0};
k.ac=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.zd()};k.save=function(){var a=new Pd(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=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.qa=a[b++];this.ec=a[b++];this.ub=a[b++];this.cb=a[b++];this.Ff=a[b++];var e=a[b++];c=a[b++];null!=c&&(this.tc=c);void 0===this.wa&&(this.$i=4,this.ca&&(this.$i=rg(this.ca)),this.wa=Array(4));for(c=0;c<this.wa.length;c++){var f=this.wa[c];if(void 0===f){var f=this.wa[c]={},g;if(this.ca)a:{g=this.ca;if(c<rg(g)){if(!g.Jd){g=360;break a}if(c<g.Jd.length){g=g.Jd[c];break a}}g=0}else g=0;switch(g){case 160:case 180:f.ob=
1;default:f.nb=40;f.rb=9;break;case 720:f.nb=80;f.rb=9;break;case 1200:f.nb=80;f.rb=15;break;case 1440:f.nb=80,f.rb=18}}this.Pi(f,c,e[c])||(d=!1)}this.ie=a[b++]||0;this.mm=a[b]||0;return d};k.Wj=function(){var a=0,b=[];b[a++]=this.$a;b[a++]=0;b[a++]=this.qa;b[a++]=this.ec;b[a++]=this.ub;b[a++]=this.cb;b[a++]=this.Ff;b[a++]=this.Yj();for(var c=a++,d=0;d<this.wa.length;d++){var e=this.wa[d];e.pa&&Xi(this,e.Se,e.pa)}b[c]=this.tc;b[a++]=this.ie;b[a]=this.mm;return b};
k.Pi=function(a,b,c){var d=0,e=!0;a.$a=b;a.Gc=a.pf=!1;void 0===c&&(c=[192,!0,0,2,0]);"boolean"==typeof c[1]&&(c[1]=["Floppy Drive",a.nb||40,a.ob||c[3],a.rb||9,a.ab||512,c[1],a.Ch,a.lg,a.mg]);a.Xa=c[d++];var f=c[d++];a.name=f[0];a.nb=f[1];a.ob=f[2];a.rb=f[3];a.ab=f[4];a.rf=f[5];(a.Ch=f[6])?(a.lg=f[7],a.mg=f[8]):(a.Ch=a.nb,a.lg=a.ob,a.mg=a.rb);a.Ka=c[d++];a.Md=c[d++];a.pb=c[d++];a.Md=100<=a.Md?a.Md-100:a.Md-a.pb;a.Za=c[d++];a.Od=c[d++];a.mb=c[d++];a.Ma=c[d++];a.Ja=null;a.pa||(a.Se="");var g=c[d++];
102==g&&(g=!1);"boolean"==typeof g?(f=c[d++],c=c[d],g?(d=this.wa[b],Wi(this,b,!0,!0),d.pf=!0,b=new Fi(this,d,"preload"),this.Dk(d,b,f,c,!0)):Yi(this,b,f,c,!0)?a.pa&&c&&Zi(this,f,c,a.pa):p(this,!1)):void 0!==g&&a.pa&&0>a.pa.restore(g)&&(e=!1);e&&a.pa&&void 0!==a.Ma&&(a.Ja=a.pa.seek(a.pb,a.Ka,a.Za));return e};k.Yj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Xj(this.wa[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.Xa;c[b++]=[a.name,a.nb,a.ob,a.rb,a.ab,a.rf,a.Ch,a.lg,a.mg];c[b++]=a.Ka;c[b++]=a.Md+100;c[b++]=a.pb;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b++]=a.pf;c[b++]=a.tm;c[b]=a.Se;return c};k.Of=function(a){a||(this.xe=0);if(this.Ae)for(var b in this.Ae){var c=this.Ae[b];if(c.name&&c.path){var d=b.charCodeAt(0)-65;if(0<=d&&d<this.wa.length){!Yi(this,d,c.name,c.path,!0)&&a&&p(this,!1);continue}}this.va("Unrecognized auto-mount specification for drive "+b)}return!!this.xe};
function Si(a,b,c,d){var e,f=a.ma.listDrives;if(f&&!isNaN(e=parseInt(f.value,10))&&0<=e&&e<a.wa.length)if(c)if("?"==c)a.va('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=ga(c);a.kc("Attempting to load "+c+' as "'+b+'"')}for(a.kc("loading disk "+c+"...");Yi(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}Wi(a,e,!1,!0)}}else Wi(a,e);else a.va("Nothing to load")}function Yi(a,b,c,d,e,f){var g=a.wa[b];if(d&&g.Se!=d){Wi(a,b,e,!0);if(g.Gc)return a.va("Drive "+b+" busy"),!0;g.Gc=!0;e&&(g.Ge=!0,a.xe++);g.pf=!!f;(new Fi(a,g,"preload")).load(c,d,f,a.Dk);return!1}return!0}
k.Dk=function(a,b,c,d,e){var f;a.Gc=!1;b&&(f=b.info(),b&&f[0]>a.nb||f[1]>a.ob)&&(this.va('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.$a)),b=null);b?(a.pa=b,a.tm=c,a.Se=d,Zi(this,c,d,b),f=b.info(),this.ie|=128,this.va('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.$a),a.Ge||e),a.Ch=f[0],a.lg=f[1],a.mg=f[2]):a.pf=!1;a.Ge&&(a.Ge=!1,--this.xe||p(this));Ri(this,a.$a)};
function Vi(a,b,c){if(a=a.ma.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.textContent=b;a.appendChild(d)}}function Ri(a,b){if(0<=b&&b<a.wa.length){var c=a.wa[b],d=a.ma.listDisks,e=a.ma.listDrives;if(d&&e&&(e=parseInt(e.value,10),c=c.pf?"?":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 Wi(a,b,c,d){var e=a.wa[b];e.pa&&(Xi(a,e.Se,e.pa),e.tm="",e.Se="",e.pa=null,e.pf=!1,a.ie|=128,d||a.va("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Ri(a,b))}function Zi(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 Xi(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.Wo=function(a,b){b&4?this.Ff&4||this.Ff&8&&this.ca&&Og(this.ca,6):this.zd();this.Ff=b};k.Hn=function(){return this.qa};
k.Fn=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.Ff&8&&this.ca&&Pg(this.ca,6);++this.ub>=this.cb&&(this.qa&=-81,this.ub=this.cb=0);return a};
k.Vo=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=this.ec[0]&31;if(void 0!==Qi[c]&&this.cb>=Qi[c].ud){var d=!1;this.ub=0;var c=this.Ia(),e,f,g,h,r,t=c&31;switch(t){case 3:this.Ia(l.lq);this.Ia(l.Sp);this.Ob();break;case 4:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];this.Ob();this.dc((e.Xa&-16777216)>>>24,l.oq);break;case 5:case 6:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];e.Ka=d;f=e.pb=this.Ia(l.ek);g=this.Ia(l.fk);h=e.Za=this.Ia(l.hk);r=this.Ia(l.Yh);e.mb=128<<
r;e.Od=this.Ia(l.Np);this.Ia(l.Fm);this.Ia(l.Mp);6==t?(t=e,t.Xa=72,t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaRead",t),Eg(this.ca,2)))):(t=e,t.Xa=72,t.pa&&(t.pa.sf?t.Xa=576:(t.Ja=null,t.Xa=0,this.ca&&(Ig(this.ca,2,this,"dmaWrite",t),Eg(this.ca,2)))));$i(this,e,c,d,f,g,h,r);d=!0;break;case 7:f=this.Ia(l.Gf);this.$a=f&3;e=this.wa[this.$a];e.pb=e.Md=0;e.Xa=268435488;this.Ob();d=!0;break;case 8:e=this.wa[this.$a];e.Ka=0;this.Ob();this.dc(e.$a|e.Ka<<2|e.Xa&255,l.Hm);this.dc(e.pb,l.aq);this.$a=
this.$a+1&3;break;case 10:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=e.Za=1;r=0;e.Xa=0;e.pa&&(e.Ja=e.pa.seek(e.pb,e.Ka,e.Za))?r=e.Ja.length:e.Xa=72;$i(this,e,c,d,f,g,h,r);d=!0;break;case 13:f=this.Ia(l.Gf);d=f>>2&1;this.$a=f&3;e=this.wa[this.$a];f=e.pb;g=e.Ka=d;h=1;r=this.Ia(l.Yh);e.mb=128<<r;e.Od=this.Ia(l.gq);this.Ia(l.Fm);e.sk=this.Ia(l.Em);t=e;t.Xa=72;t.pa&&(t.Ja=null,t.Xa=0,this.ca&&(t.kf=0,t.Bc=Array(4),t.gi=!0,t.$g=0,Ig(this.ca,2,this,"dmaFormat",t),Eg(this.ca,
2),t.gi=!1));$i(this,e,c,d,f,g,h,r);d=!0;break;case 15:f=this.Ia(l.Gf),this.$a=f&3,e=this.wa[this.$a],e.Ka=f>>2&1,f=this.Ia(l.Yp),e.pb+=f-e.Md,0>e.pb&&(e.pb=0),e.pb>=e.nb&&(e.pb=e.nb-1),e.Md=f,e.Xa=32,e.pb||(e.Xa|=268435456),this.Ob(),d=!0}0<this.cb&&(this.qa|=80);this.Ff&8&&(!e||e.Xa&8||!d||this.ca&&Og(this.ca,6))}};k.Gn=function(){var a=this.ie;this.ie&=-129;return a};k.Uo=function(a,b){this.mm=b};
function $i(a,b,c,d,e,f,g,h){a.Ob();a.dc(b.$a|b.Ka<<2|b.Xa&255,l.Hm);a.dc((b.Xa&65280)>>>8,l.mq);a.dc((b.Xa&16711680)>>>16,l.nq);var r=0;if(e!=b.pb||f!=b.Ka)r=g=1;c&128&&(f^=r,d||(r=0));a.dc(e+r,l.ek);a.dc(f,l.fk);a.dc(g,l.hk);a.dc(h,l.Yh)}k.Ia=function(){var a=this.ec[this.ub];this.ub++;return a};k.Ob=function(){this.ub=this.cb=0};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};
k.Tm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};k.Cb=function(a,b){var c=-1,d=null,e=0;if(!a.Xa&&a.pa){do{if(a.Ja&&(e=a.Ma,0<=(c=Oi(a.Ja,a.Ma++)))){d=a.Ja;break}a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=1088;break}a.Ma=0;this.Nf(a)}while(1)}b(c,!1,d,e)};k.Fb=function(a,b){if(a.Xa||!a.pa)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.Ja=a.pa.seek(a.pb,a.Ka,a.Za);if(!a.Ja){a.Xa=8256;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b};
k.Nf=function(a){a.Za++;a.Za>=a.mg+1&&(a.Za=1,a.Ka++,a.Ka>=a.lg&&(a.Ka=0,a.pb++))};k.bk=function(a,b){if(a.Xa)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.pb=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<<a.Bc[3];for(var c=a.kf=0;c<a.mb;c++)if(0>this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};var Ti={1012:Pi.prototype.Hn,1013:Pi.prototype.Fn,1015:Pi.prototype.Gn},Ui={1010:Pi.prototype.Wo,1013:Pi.prototype.Vo,1015:Pi.prototype.Uo};
za(function(){for(var a=Ta(window.document,"pcjs","fdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Pi(d);Sa(d,c)}});function Z(a){n.call(this,"HDC",a,Z);this.dmaRead=this.ui;this.dmaWrite=this.vi;this.dmaWriteBuffer=this.Um;this.dmaWriteFormat=this.Vm;this.ai=[];if(a.drives)try{this.ai=eval("("+a.drives+")")}catch(b){m("HDC drive configuration error: "+b.message+" ("+a.drives+")")}this.cg=(this.Fe="at"==a.type)?1:0;this.ln=this.Fe?2:3}La(n,Z);
var aj=[{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=Z.prototype;k.Eb=function(){return!1};k.yc=function(a,b,c,d){this.ka=b;this.U=c;this.Wa=d;this.ya=a;this.ca=bb(a,"ChipSet");Ib(b,this,this.Fe?bj:cj);Kb(b,this,this.Fe?dj:ej);Md(c,19,this,this.ko);Md(c,64,this,this.lo);this.reset();this.Of()||p(this)};
k.bc=function(a,b){if(!b)if(!a||!this.restore)this.zd(),this.ya.Fi&&this.Of(!0);else if(!this.restore(a))return!1;return!0};k.ac=function(a){return a&&this.save?this.save():!0};k.tf=function(){return this.ya?this.ya.tf():""};k.Yd=function(){return this.ya?this.ya.Yd():""};k.reset=function(){this.zd(null,!0)};k.save=function(){var a=new Pd(this);a.set(0,this.Wj());return a.data()};k.restore=function(a){return this.zd(a[0])};
k.zd=function(a,b){var c=0,d=!0;if(this.Fe)null==a&&(a=[0,0,0,0,0,0,0,0,64,0]),this.he=a[c++],this.sm=a[c++],this.je=a[c++],this.Oh=a[c++],this.Mh=a[c++],this.Lh=a[c++],this.Ef=a[c++],this.qa=a[c++],this.Tj=a[c++],this.Nh=a[c++];else{null==a&&(a=[0,0,Array(14),0,0]);this.xg=a[c++];this.qa=a[c++];this.ec=a[c++];this.ub=a[c++];this.cb=a[c++];this.rm=a[c++];this.qm=a[c++];this.pm=a[c++];var e=a[c++];void 0!==e?this.vf=e:void 0===this.vf&&(this.vf=-1)}void 0===this.wa&&(this.wa=Array(this.ai.length));
c=a[c];void 0===c&&(c=[]);for(e=0;e<this.wa.length;e++){void 0===this.wa[e]&&(this.wa[e]={});var f=this.wa[e];this.Pi(e,f,this.ai[e],c[e],b)||(d=!1);null!=this.xg&&1>=e&&(this.xg|=(f.type&3)<<(1-e<<1))}return d};
k.Wj=function(){var a=0,b=[];this.Fe?(b[a++]=this.he,b[a++]=this.sm,b[a++]=this.je,b[a++]=this.Oh,b[a++]=this.Mh,b[a++]=this.Lh,b[a++]=this.Ef,b[a++]=this.qa,b[a++]=this.Tj,b[a++]=this.Nh):(b[a++]=this.xg,b[a++]=this.qa,b[a++]=this.ec,b[a++]=this.ub,b[a++]=this.cb,b[a++]=this.rm,b[a++]=this.qm,b[a++]=this.pm,b[a++]=this.vf);b[a]=this.Yj();return b};
k.Pi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.$a=a;b.errorCode=d[f++];b.xm=d[f++];b.rf=d[f++];b.df=d[f++];b.ef=d[f++];b.Ka=d[f++];b.ob=d[f++];b.oe=d[f++];b.Za=d[f++];b.Od=d[f++];b.mb=d[f++];b.Xg=this.Fe?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.Yd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===aj[this.cg][b.type])b.type=this.ln;c=aj[this.cg][b.type];
b.rb=c[2]||17;b.ab=c[3]||512;if(e&&this.ca&&(e=this.ca,c=b.type,e.ba)){var h=e.ba[18],h=a?h&240|c:h&15|c<<4;e.ba&&(e.ba[18]=h,jg(e))}void 0===b.pa&&(b.pa=null,this.va("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));fj(this,b);b.Ma=d[f++];b.Ja=null;b.pa&&(a=d[f],void 0!==a&&0>b.pa.restore(a)&&(g=!1),g&&void 0!==b.Ma&&(b.Ja=b.pa.seek(b.oe,b.Ka,b.Za+b.Xg)));return g};k.Yj=function(){for(var a=0,b=[],c=0;c<this.wa.length;c++)b[a++]=this.Xj(this.wa[c]);return b};
k.Xj=function(a){var b=0,c=[];c[b++]=a.errorCode;c[b++]=a.xm;c[b++]=a.rf;c[b++]=a.df;c[b++]=a.ef;c[b++]=a.Ka;c[b++]=a.ob;c[b++]=a.oe;c[b++]=a.Za;c[b++]=a.Od;c[b++]=a.mb;c[b++]=a.Ma;c[b]=a.pa?a.pa.save():null;return c};
function fj(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.df[2])?e=b.df[0]<<8|b.df[1]:c=b.type);null==c||d||(d=aj[a.cg][c][1],e=aj[a.cg][c][0]);d&&((c=aj[a.cg][b.type])&&e!=c[0]&&d!=c[1]&&a.va("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.nb=e,b.ob=d,null==b.pa&&(b.pa=new Fi(a,b,b.mode)))}}
k.Of=function(a){a||(this.xe=0);for(var b=0;b<this.wa.length;b++){var c=this.wa[b];if(c.name&&c.path){if(!(a&&c.pa&&c.pa.mh)){var d;d=c.name;var c=c.path,e=this.wa[b];e.Gc?(this.va("Drive "+b+" busy"),d=!0):(e.Gc=!0,e.Ge=!0,this.xe++,(e.pa||new Fi(this,e,e.mode)).load(d,c,null,this.Xm),d=!1);!d&&a&&p(this,!1)}}else a&&void 0!==c.type&&(c.pa=null,fj(this,c,c.type))}return!!this.xe};
k.Xm=function(a,b,c){a.Gc=!1;(a.pa=b)&&this.va('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.$a),a.Ge);a.Ge&&(a.Ge=!1,--this.xe||p(this))};k.io=function(){var a=0;this.ub<this.cb&&(a=this.ec[this.ub]);this.ca&&Pg(this.ca,5);this.qa&=-33;++this.ub>=this.cb&&(this.ub=this.cb=0,this.qa&=-15);return a};k.rp=function(a,b){this.cb<this.ec.length&&(this.ec[this.cb++]=b);var c=12!=this.ec[0]?6:this.ec.length;6==this.cb&&(this.qa&=-2);this.cb>=c&&(this.qa|=2,this.qa&=-2,gj(this))};
k.jo=function(){var a=this.qa;this.ub<this.cb&&(this.qa|=1);return a};k.up=function(a,b){this.rm=b;this.ca&&Pg(this.ca,5);this.zd()};k.ho=function(){return this.xg};k.tp=function(a,b){this.qm=b;this.qa=13};k.sp=function(a,b){this.pm=b};k.Oj=function(){};
k.sn=function(){var a=-1;if(this.La){var b=this,a=this.Cb(this.La,function(){});1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,this.La.mb>=this.La.ab?(b.qa=136,this.Cb(this.La,function(a){0<=a?(hj(b),b.qa=80):(b.qa=1,b.he=16)},!1)):this.qa=80)}return a};
k.Go=function(a,b){this.La&&this.La.mb>=this.La.ab&&(0>this.Fb(this.La,b)?(this.qa=1,this.he=16):1!=this.La.Ma&&this.La.Ma==this.La.ab&&(this.La.mb-=this.La.ab,this.je=this.je-1&255,hj(this),this.qa=80,this.La.mb>=this.La.ab&&(this.qa|=8)))};k.un=function(){return this.he};k.Lo=function(a,b){this.sm=b};k.vn=function(){return this.je};k.Jo=function(a,b){this.je=b};k.wn=function(){return this.Oh};k.Ko=function(a,b){this.Oh=b};k.rn=function(){return this.Mh};k.Fo=function(a,b){this.Mh=b};k.qn=function(){return this.Lh};
k.Eo=function(a,b){this.Lh=b};k.tn=function(){return this.Ef};k.Ho=function(a,b){this.Ef=b;this.qa=this.wa[this.Ef&16?1:0]?this.qa|64:this.qa&-65};k.xn=function(){return this.qa};k.Do=function(a,b){this.Tj=b;this.ca&&Pg(this.ca,14);ij(this)};k.Io=function(a,b){this.Nh&4&&!(b&4)&&(this.he=1);this.Nh=b};
function ij(a){var b=!1,c=a.Tj,d=a.Ef&16?1:0,e=a.Ef&15,f=a.Mh|(a.Lh&3)<<8,g=a.Oh,h=a.je||256;a.La=null;a.he=0;a.qa=80;(d=a.wa[d])?(d.oe=f,d.Ka=e,d.Za=g,d.mb=h*d.ab,c=144<=c?c:c&240,d.Ja=null,d.Ma=0,d.errorCode=0,a.La=d):c=-1;switch(c&240){case 32:a.qa=136;a.Cb(d,function(b){0<=b&&a.ca?(hj(a),a.qa=80):(a.qa=1,a.he=16)},!1);break;case 48:a.qa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.he=1;b=!0;break;case 145:d.ob=e+1,d.rb=h,b=!0}b&&hj(a)}
function hj(a){!a.ca||a.Nh&2||Og(a.ca,14,120)}
function gj(a){a.ub=0;var b=a.Ia(),c=a.Ia(),d=c&32,e=d>>5,f=c&31,g=a.Ia(),h=a.Ia(),r=g<<2&768|h,t=g&63,B=a.Ia(),I=a.Ia(),H=a.wa[e];H&&(H.oe=r,H.Ka=f,H.Za=t,H.mb=B*H.ab);switch(b){case 3:a.Ob(H?H.errorCode:4);a.dc(c);a.dc(g);a.dc(h);a.dc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ia());)H&&c<H.df.length&&(H.df[c++]=b);H&&fj(a,H);b=0;H||a.vf!=e||(a.vf=-1,b=2);a.Ob(b|d);b=-1;break;case 224:case 228:a.Ob(0|d),b=-1}if(0<=b)switch(void 0===H?b=-1:(H.errorCode=0,H.xm=0),b){case 0:a.Ob(0|d);break;case 1:H.Dq=
I;a.Ob(0|d);break;case 5:a.Ob(0|d);break;case 8:jj(a,H,function(b){a.Ob(b|d)});break;case 10:kj(a,H,function(b){a.Ob(b|d)});break;case 15:nj(a,H,function(b){a.Ob(b|d)});break;default:a.Ob(2|d)}}k.Ia=function(){var a=-1;this.ub<this.cb&&(a=this.ec[this.ub++]);return a};k.Ob=function(a){this.ub=this.cb=0;void 0!==a&&this.dc(a);this.ca&&Og(this.ca,5);this.qa|=32};k.dc=function(a){this.ec[this.cb++]=a};k.ui=function(a,b,c){void 0===b||0>b?this.Cb(a,c):c(-1,!1)};
k.vi=function(a,b){return void 0!==b&&0<=b?this.Fb(a,b):-1};k.Um=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ma<a.ef.length?a.ef[a.Ma++]=c:(a.errorCode=20,c=-1)):c=-1;return c};k.Vm=function(a,b){return void 0!==b&&0<=b?this.bk(a,b):-1};function jj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaRead",b);Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}
function kj(a,b,c){b.errorCode=4;if(b.pa&&(b.Ja=null,a.ca)){b.errorCode=0;Ig(a.ca,3,a,"dmaWrite",b);Eg(a.ca,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function nj(a,b,c){b.errorCode=4;b.ef&&b.ef.length==b.mb||(b.ef=Array(b.mb));b.Ma=0;a.ca?(b.errorCode=0,Ig(a.ca,3,a,"dmaWriteBuffer",b),Eg(a.ca,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)}
k.Cb=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ja&&(f=a.Ma,d=Oi(a.Ja,a.Ma),a.Ma+=g,0<=d))return e=a.Ja,b&&b(d,!1,e,f),d;if(b){var h=this;if(a.pa)return a.pa.seek(a.oe,a.Ka,a.Za+a.Xg,!1,function(c,t){(a.Ja=c)?(e=c,f=a.Ma=0,h.Nf(a),d=Oi(a.Ja,a.Ma),a.Ma+=g):a.errorCode=20;b(d,t,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d};
k.Fb=function(a,b){if(a.errorCode)return-1;do{if(a.Ja&&a.pa.write(a.Ja,a.Ma++,b))break;a.pa&&a.pa.seek(a.oe,a.Ka,a.Za+a.Xg,!0,function(b){a.Ja=b});if(!a.Ja){a.errorCode=20;b=-1;break}a.Ma=0;this.Nf(a)}while(1);return b};k.Nf=function(a){a.Za++;var b=1-a.Xg;a.Za>=a.rb+b&&(a.Za=b,a.Ka++,a.Ka>=a.ob&&(a.Ka=0,a.oe++))};
k.bk=function(a,b){if(a.errorCode)return-1;a.Bc[a.kf++]=b;if(a.kf==a.Bc.length){a.oe=a.Bc[0];a.Ka=a.Bc[1];a.Za=a.Bc[2];a.mb=128<<a.Bc[3];for(var c=a.kf=0;c<a.mb;c++)if(0>this.Fb(a,a.sk))return-1;a.$g++}a.$g>=a.Od&&(b=-1);return b};k.ko=function(){var a=this.U.J&255;!(this.U.G>>8)&&128<a&&(this.vf=a-128);return!0};k.lo=function(){var a;(a=this.U.G>>8||!this.ca)||(a=!(this.ca.Vb[0].ad&64));return a?!0:!1};
var cj={800:Z.prototype.io,801:Z.prototype.jo,802:Z.prototype.ho},bj={496:Z.prototype.sn,497:Z.prototype.un,498:Z.prototype.vn,499:Z.prototype.wn,500:Z.prototype.rn,501:Z.prototype.qn,502:Z.prototype.tn,503:Z.prototype.xn},ej={800:Z.prototype.rp,801:Z.prototype.up,802:Z.prototype.tp,803:Z.prototype.sp,807:Z.prototype.Oj,811:Z.prototype.Oj,815:Z.prototype.Oj},dj={496:Z.prototype.Go,497:Z.prototype.Lo,498:Z.prototype.Jo,499:Z.prototype.Ko,500:Z.prototype.Fo,501:Z.prototype.Eo,502:Z.prototype.Ho,503:Z.prototype.Do,
1014:Z.prototype.Io};za(function(){for(var a=Ta(window.document,"pcjs","hdc"),b=0;b<a.length;b++){var c=a[b],d=Ra(c),d=new Z(d);Sa(d,c)}});function Pd(a,b,c){this.id=a.id;this.key=oj(a,b,c);this.Wa=a.Wa;pj(this,a.vp)}function oj(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}
Pd.prototype={constructor:Pd,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.Ei=!0):this.Ei?!0:ra()&&(a=sa(this.key))?(this[this.id]=a,this.Ei=!0):!1},parse:function(){var a=!0;try{this[this.id]=JSON.parse(this[this.id])}catch(b){m(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){pj(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}},cc:function(){}};function pj(a,b){a[a.id]={};b&&a.set("parms",b);a.Ei=!1}
function qj(a){var b=!0;if(ra()){var c=JSON.stringify(a[a.id]);ta(a.key,c)||(m("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}
function rj(a,b,c){n.call(this,"Computer",a,rj);this.ea.Zb=!1;this.zf=a.buswidth;this.Kc=sj;this.Bg=null;this.nh=!1;this.url=b?b.url:null;this.Bp=(Math.random()+.1).toString(36).substr(2,12);this.Lc=tj(this);if(this.U=Oa("CPU",this.id)){this.Wa=Oa("Debugger",this.id);this.ka=new zb({id:this.Xk+".bus",buswidth:this.zf},this.U,this.Wa);var d,e=Ma(this.id);if((this.Dd=Oa("Panel",this.id))&&this.Dd.qi)for(b=0;b<e.length;b++)d=e[b],d.va=this.Dd.va,d.kc=this.Dd.kc,d.qi=this.Dd.qi;for(b=0;b<e.length;b++)d=
e[b],d.yc&&d.yc(this,this.ka,this.U,this.Wa);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.Rh=d:this.Kc=parseInt(d,10));var f;if(a=Ga&&Ga.state||(f=!0,a.state))b=this.vm=a,f||(this.nh=!0,this.Kc=sj),this.Kc&&(this.Vh=new Pd(this,"1.17.2"),this.Vh.load()?b=null:delete this.Vh);!b&&this.Kc&&(f=null,this.Lc&&(f=oa()+"/api/v1/user?req=load&user="+this.Lc+"&state="+oj(this,"1.17.2")),b=f)&&(this.nh=!0);b?na(b,!0,null,this,this.yo):p(this);c||uj(this,this.Kh)}else m("Unable to find CPU component")}
La(n,rj);var sj=0;k=rj.prototype;k.tf=function(){return this.Bp};k.Yd=function(){return this.Lc?this.Lc:""};k.yo=function(a,b,c){c?(this.Rh=null,this.nh=!1,this.va("Unable to load machine state from server (error "+c+(b?": "+(String.prototype.trim?b.trim():b.replace(/^\s+|\s+$/g,"")):"")+")")):this.Bg=b;p(this)};function uj(a,b,c){for(var d=Ma(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Va(f)){Va(f,function(){uj(a,b,c)});return}}b.call(a,c)}
function vj(a,b){var c=new Pd(a,"1.17.2","validate");if(c.load()&&c.parse()){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.va("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}
k.Kh=function(a){void 0===a&&(a=this.Kc||(this.Bg?1:sj));var b=!1,c=!1;this.Mk=!1;var d=this.Vh||new Pd(this,"1.17.2");if(-1==a)b=!0;else if(a>sj){if(d.load(this.Bg)){this.Ue=new Pd(this,"1.17.2","failsafe");this.Ue.load()&&(wj(this,d),a=2,pj(this.Ue));this.Ue.set("timestamp",la());qj(this.Ue);var e=this.Kc&&!this.nh;if(1==a||pa("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.va("Error: "+g),"unable to verify user"==g&&(ta("user",""),this.Lc=null)):this.kc(f+": "+g),pj(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&vj(this,c?d:null)}else 2==a&&d.clear()}else vj(this);delete this.Bg;delete this.Vh}e=Ma(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=xj(this,g,d,b,c));b=[d,a,c];-1!=a?uj(this,this.Ek,b):this.Ek(b)};
function xj(a,b,c,d,e){if(!b.ea.Zb){b.ea.Zb=!0;if(b.bc){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.bc(f,d)&&f&&(m("Unable to restore state for "+b.type),a.vm&&!a.Bg?(c.clear(),a.Kc=sj,window&&window.location.reload()):a.Mk=!0,b.bc(null),e=!1)}if(!d&&b.Bk)for(a=b.Bk.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
k.Ek=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea.Zb=!0;this.Ik||(this.kc("PCjs v1.17.2\nCopyright \u00a9 2012-2015 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>"),this.Ik=!0);this.U&&(xj(this,this.U,b,c,a),qc(this.U));this.Mk&&(wj(this,b),b.clear());!c&&this.Ue&&(this.Ue.clear(),delete this.Ue)};
function wj(a,b){if(pa("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.Yd(),d=b.toString(),e={app:"PCjs",ver:"1.17.2"};e.url=a.url;e.user=c;e.type="bug";e.data=d;na("http://www.pcjs.org/api/v1/report",!0,e)}}
function yj(a,b,c){var d,e="none",f=new Pd(a,"1.17.2"),g=new Pd(a,"1.17.2","validate"),h=la();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.U&&a.U.ac&&(c&&rc(a.U),d=a.U.ac(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ea.Zb=!1,!1===d&&(e=null)));for(var h=Ma(a.id),r=0;r<h.length;r++){var t=h[r];t.ea.Zb&&(t.ac&&(d=t.ac(b,c),"object"===typeof d&&f.set(t.id,d)),c&&(t.ea.Zb=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.Lc&&zj(a,a.Lc,f.toString()),qj(g)&&qj(f)||(e=null,d=h=!0)):a.Kc&&(d=!0,h=3==a.Kc),d&&f.clear(h)):e=f.toString());c&&(a.ea.Zb=!1);return e}k.reset=function(){this.ka&&this.ka.reset&&(this.cc("Resetting "+this.ka.type),this.ka.reset());for(var a=Ma(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(this.cc("Resetting "+c.type),c.reset())}};
k.start=function(a,b){for(var c=Ma(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=Ma(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ma[b]=c,c.onclick=function(){var a=mj(d,!0);if(a){var b=!(!d.Lc||d.Ph),c=rj(d,b);b?sj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.ma[b]=c,c.onclick=function(){tc(d)},!0}return!1};
function mj(a,b){var c=a.Mc;c||(c=sa("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=tj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c}
function tj(a,b){a.Mc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Mc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Mc}
function sj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=hj(a,"1.17.2");d.data=c;b=na(oa()+"/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.va("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.va(c),ta("user",""),a.Mc=null)}}
function tc(a){if(a.Lc&&!a.Ph){var b=pa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");rj(a,b,!0);!b&&a.qm?window&&window.location.reload():(b||(a.Di=!0),a.Ih(lj),a.Di=!1)}else a.reset(),a.U&&qc(a.U)}function bb(a,b,c){a=Ma(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}
za(function(){for(var a=Ta(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ra(c),c=Ta(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Ra(f),g=new kj(g,d,!0);Sa(g,f);nj(g,g.Ih)}});va.show.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Qa("Computer",c.id))&&c.Ek&&!c.ea.Zb&&c.Ih(-1)}});
va.exit.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Qa("Computer",c.id))&&c.ea.Zb&&rj(c,!(!c.Lc||c.Ph),!0)}});var uj=0;function vj(a,b,c,d,e,f){e("Loading "+a+"...");na(a,!0,null,null,function(g,h,r){r?(h||(h="unable to load "+a+" ("+r+")"),f(h,null)):wj(h,a,b,c,d,e,f)})}
function wj(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(I){h=
null,a=I.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?xj(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function xj(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(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 r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);xj(a,b,c)}})}else c(a,null)}
function yj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--uj||Ba(!0));r=!1}var g,h,r=!0;uj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--uj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--uj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?vj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?vj(b,a,d,!0,e,t):wj(b,null,a,d,!1,e,t)}else f("missing machine element: "+
a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return yj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})();
k.Eb=function(a,b,c){var d=this;switch(b){case "save":return this.ma[b]=c,c.onclick=function(){var a=tj(d,!0);if(a){var b=!(!d.Kc||d.Rh),c=yj(d,b);b?zj(d,a,c):d.va("Resume disabled, machine state not saved")}},!0;case "reset":return this.ma[b]=c,c.onclick=function(){tc(d)},!0}return!1};
function tj(a,b){var c=a.Lc;c||(c=sa("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=Aj(a,c))||a.va("Your user ID has not been approved."))):b&&a.va("Browser local storage is not available"));return c}
function Aj(a,b){a.Lc=null;var c=na(oa()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(ta("user",c.data),a.Lc=c.data)}catch(e){m(e.message+" ("+d+")")}return a.Lc}
function zj(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=oj(a,"1.17.2");d.data=c;b=na(oa()+"/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.va("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.va(c),ta("user",""),a.Lc=null)}}
function tc(a){if(a.Kc&&!a.Rh){var b=pa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");yj(a,b,!0);!b&&a.vm?window&&window.location.reload():(b||(a.Fi=!0),a.Kh(sj),a.Fi=!1)}else a.reset(),a.U&&qc(a.U)}function bb(a,b,c){a=Ma(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}
za(function(){for(var a=Ta(window.document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Ra(c),c=Ta(c,"pcjs","computer"),e=0;e<c.length;e++){var f=c[e],g=Ra(f),g=new rj(g,d,!0);Sa(g,f);uj(g,g.Kh)}});va.show.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Oa("Computer",c.id))&&c.Ik&&!c.ea.Zb&&c.Kh(-1)}});
va.exit.push(function(){for(var a=Ta(window.document,"pcjs","computer"),b=0;b<a.length;b++){var c=Ra(a[b]);(c=Oa("Computer",c.id))&&c.ea.Zb&&yj(c,!(!c.Kc||c.Rh),!0)}});var Bj=0;function Cj(a,b,c,d,e,f){e("Loading "+a+"...");na(a,!0,null,null,function(g,h,r){r?(h||(h="unable to load "+a+" ("+r+")"),f(h,null)):Dj(h,a,b,c,d,e,f)})}
function Dj(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(I){h=
null,a=I.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,h)}}a?e?Ej(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function Ej(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");na(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 r=h[0],t,B=/( [a-z]+=)(['"])(.*?)\2/g;t=B.exec(f);)r=0>r.indexOf(t[1])?r.replace(">",t[0]+">"):r.replace(new RegExp(t[1]+"(['\"])(.*?)\\1"),t[0]);h[0]!=r&&(g=g.replace(h[0],r))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Ej(a,b,c)}})}else c(a,null)}
function Fj(a,b,c,d){function e(a){if(void 0===h){var b=g&&Ta(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ja(a))}function f(a){e("Error: "+a);r&&(--Bj||Ba(!0));r=!1}var g,h,r=!0;Bj++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.2/components.xsl");var t=function(d,h){if(h){var r=function(d,r){if(r)if(r)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var t=h.transformNode(r);t?(g.outerHTML=t,--Bj||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&&
window.document.implementation.createDocument?(t=new XSLTProcessor,t.importStylesheet(r),(t=t.transformToFragment(h,window.document))?g.parentNode?(g.parentNode.replaceChild(t,g),--Bj||Ba(!0)):f("invalid machine element: "+a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(d)};h?Cj(c,null,null,!1,e,r):f("failed to load XML file: "+b)}else f(d)};"<"!=b.charAt(0)?Cj(b,a,d,!0,e,t):Dj(b,null,a,d,!1,e,t)}else f("missing machine element: "+
a)}catch(B){f(B.message)}return r}window.embedPC=function(a,b,c,d){Ba(!1);return Fj(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Da;})();