Merge branch 'master' into gh-pages

This commit is contained in:
Jeff Parsons 2017-06-15 14:39:27 -07:00
commit f2582de7b6
9 changed files with 932 additions and 690 deletions

View file

@ -0,0 +1,83 @@
---
layout: post
title: Adventures in Archiving
date: 2017-06-15 22:00:00
permalink: /blog/2017/06/15/
machines:
- type: pcx86
id: ibm5150
config: /devices/pcx86/machine/5150/cga/64kb/machine.xml
autoMount:
A:
path: /disks/pcx86/dos/ibm/1.00/PCDOS100.json
B:
path: /apps/pcx86/1983/adventmath/ADVENTMATH100.json
autoType: 8-10-81\\rb:\\ra:basica castle\\r
---
In October 1983, IBM released a game called "Adventures in Math", which apparently tried to make mathematics as
exciting as walking through a dungeon full of locked doors, treasures, spiders, and more. I had never heard of this
game, until I was recently browsing the [Internet Archive](https://archive.org/)'s
[MS-DOS Showcase](https://archive.org/details/softwarelibrary_msdos_showcase):
> This collection is a hand-picked set of selections from the MS-DOS Software Library of the Internet Archive.
They've been chosen because they represent major parts of the MS-DOS story, because they are particularly impressive,
and because they're fun. The intention is to eventually link these games to manuals and other materials as time goes on.
> Curation was done by Jason Scott, Internet Archive's Software Librarian. He can be reached at jscott@archive.org with
suggestion, questions and inquiries.
For some reason, "Adventures in Math" caught my eye. You can play it on the
[Internet Archive](https://archive.org/details/msdos_Adventures_in_Math_1983), or play it below, using PCjs. In
fact, I invite you to play it in BOTH places, and let me know what you think.
A word of warning: this is NOT a great game. I find it interesting only as an example of the challenges we face
archiving and emulating old software.
{% include machine.html id="ibm5150" %}
Hosting the software on the PCjs website was more tedious than I'd expected, but that wasn't due to technical issues.
The biggest challenge was isolating and recreating the original distribution software. You can find all the gory
details on the page I created for "[Adventures in Math](/apps/pcx86/1983/adventmath/)".
In short, although the software is archived inside multiple ZIP archives at the [Internet Archive](https://archive.org/),
none of them appeared to contain an un-mingled, un-modified, distribution-only copy of the original software.
And discovering that the software was archived inside multiple ZIP archives was a purely accidental discovery, not
something one could easily determine using the Internet Archive's own search engine.
### Emulation Challenges
There are also some fundamental problems with the Internet Archive's approach to emulation. They load sets of files,
along with custom batch files, into tightly coupled machine configurations, with no indication which files were part
of the original software distribution, and no hardware details regarding their "mystery" machine configurations.
And the Internet Archive's overall "emulation experience" is often not very faithful. Their rendering of
"Adventures in Math" gives the impression that the game ran *much* faster than it actually ran on a 4.77Mhz IBM PC.
While their emulator can be configured operate at different speeds, it's unclear which of their holdings have already
been "tuned". As a fallback, they do provide some user controls:
> "While the program is running, press CTRL-F11 to slow the program down. Pressing CTRL-F11 repeatedly will slow it
down further, until the speed is more reasonable. (Pressing CTRL-F12 repeatedly will attempt to speed things up.)"
but in general, the user has no idea what speed they have currently selected, or what the target speed should be.
For users who simply want "to play the game," that may be fine, but an historian would probably prefer to see how the
game originally operated and how each screen was painstakingly rendered, to better understand both the original user
experience and the challenges that early software developers faced.
The failure to archive software exactly as it was originally distributed, generally as one or more disk image (IMG)
files along with scanned (PDF) copies of the documentation, is the most serious problem we collectively face. I don't
blame the Internet Archive, because in most cases, they're simply archiving what someone else archived before them,
and those earlier "archivists" often didn't take the time to thoroughly preserve and document everything.
On the other hand, the Internet Archive could do a better job of cataloging its holdings, recording the provenance of
everything they have archived, maintaining a clear separation of original material from subsequent modifications
(including any modifications created solely for ease of emulation), providing more control over machine configurations,
and enabling the use of third-party emulators -- like PCjs -- which may be able to perform a more faithful rendering
of certain software packages.
In addition, I would hope that anything the Internet Archive "archives" itself (ie, from original distribution media)
is duplicated and preserved according to a *much* higher standard than any files, documents, etc, it has simply scraped
from the Internet.
*[@jeffpar](http://twitter.com/jeffpar)*
*Jun 15, 2017*

View file

@ -11,7 +11,7 @@ machines:
path: /disks/pcx86/dos/ibm/1.00/PCDOS100.json
B:
path: /apps/pcx86/1983/adventmath/ADVENTMATH100.json
autoType: 8-10-81\rb:\ra:basica castle\r
autoType: 8-10-81\\rb:\\ra:basica castle\\r
---
Adventures in Math (1983)
@ -36,12 +36,12 @@ The contents of their ZIP archive contained:
-rwxr-xr-x@ 1 Jeff staff 13 Dec 24 1996 Sn
-rwxr-xr-x@ 1 Jeff staff 369 Dec 24 1996 Topten
It's unfortunate that the archive did not contain a complete dump of the original "Adventures in Math" diskette.
It's especially disturbing that all the files in the archive are dated "Dec 24 1996", calling into question which,
if any, of these files are authentic.
It was unfortunate that the archive did not contain a complete dump of the original "Adventures in Math"
diskette, and that all the files in the archive were dated "Dec 24 1996", calling into question the authenticity
of the files.
After digging around a bit more on the Internet Archive, I discovered that
[A Large Collection of DOS Collections](https://archive.org/details/large_dos_collection_2013_08) contains:
[A Large Collection of DOS Collections](https://archive.org/details/large_dos_collection_2013_08) contained:
- DOS Collection v0.7/DVD1/Adventures In Math (1983)(Ibm).zip
- main torrent/1983/Adventures in Math (1983)(IBM) [Educational].zip
@ -78,10 +78,10 @@ And in the second ZIP file:
-rw-r--r--@ 1 Jeff staff 369 Sep 17 1999 Topten
-rw-r--r--@ 1 Jeff staff 170 Jan 22 2011 file_id.diz
I decided to start with the contents of the second ZIP file, since the timestamps of the most of the files
I decided to start with the contents of the second ZIP file, since the timestamps of most of the files
appeared to be legitimate.
One strange file common to *all* these archives is **MONOCODE.000**. Dumping that file revealed:
One strange file common to *all* the archives was **MONOCODE.000**. Dumping that file revealed:
00000c60 20 4d 4f 4e 4f 50 4f 4c 59 20 69 73 20 61 20 72 | MONOPOLY is a r|
00000c70 65 67 69 73 74 65 72 65 64 20 74 72 61 64 65 6d |egistered tradem|
@ -93,15 +93,14 @@ One strange file common to *all* these archives is **MONOCODE.000**. Dumping th
00000cd0 20 44 6f 6e 20 50 68 69 6c 6c 69 70 20 47 69 62 | Don Phillip Gib|
00000ce0 73 6f 6e 20 5b e8 96 7d 03 35 2e 31 b8 5d 00 50 |son [..}.5.1.].P|
So at some point, unrelated ("MONOPOLY") files were mingled with this game. I deleted the file.
So at some point, unrelated "MONOPOLY" files were mingled with this game. I deleted **MONOCODE.000**.
Another unexpected file is **BASICA.EXE** (54277 bytes) from 1999. It seems unlikely that IBM would have distributed
Another unexpected file was **BASICA.EXE** (54277 bytes) from 1999. It seems unlikely that IBM would have distributed
*any* BASIC binary with this game, because DOS was a prerequisite, and at the time, all versions of DOS included BASIC.
IBM's PC-DOS shipped with **BASICA.COM**, and OEM versions of DOS shipped with either **GWBASIC.EXE** or **BASIC.EXE**.
IBM's PC-DOS shipped with **BASICA.COM** and OEM versions of DOS shipped with either **GWBASIC.EXE** or **BASIC.EXE**.
The closest matching binary I'd seen up to this point was **BASICA.EXE** from [COMPAQ DOS 1.12](/disks/pcx86/dos/compaq/1.12/)
(54304 bytes). And sure enough, examining the strings contained inside this **BASICA.EXE** revealed that it was a close
relative:
(54304 bytes). And sure enough, dumping the strings inside this **BASICA.EXE** revealed that it was a close relative:
The COMPAQ Personal Computer BASIC
Version 1.13
@ -109,11 +108,8 @@ relative:
It's safe to say that IBM would not have distributed a COMPAQ binary; if IBM had distributed any BASIC binary at all,
it would have been their own **BASICA.COM**. Of course, the problem with IBM's **BASICA.COM** is that it also requires
an IBM PC with ROM BASIC installed, which is why some people would have preferred the COMPAQ version: it has no ROM
dependencies.
Anyway, I've deleted **BASICA.EXE**. The proper thing to do -- and what any purchaser of this game would have to do --
is boot a machine with an appropriate version of DOS and use the BASIC binary included with DOS to run this game.
an IBM PC with ROM BASIC installed, which is why some people would have preferred the COMPAQ binary: it had no ROM
dependencies. Anyway, I deleted **BASICA.EXE**.
Finally, there was **FILE_ID.DIZ**:
@ -147,13 +143,13 @@ and **TOPTEN**:
Z[z],55677,LARGE,07-24-81
[z],55197,LARGE,07-23-81
All those files have been deleted as well, leaving 8 files dated "Aug 11 1983". Next, I used the PCjs
[DiskDump](/modules/diskdump/) utility to create a disk image from a directory ("archive/disk") containing just
All those files were deleted as well, leaving 8 files dated "Aug 11 1983". Next, I used the PCjs
[DiskDump](/modules/diskdump/) utility to create a disk image from a directory ("archive/disk") containing
those files:
diskdump --dir=archive/disk --format=json --output=ADVENTMATH100.json --manifest
The resulting 160Kb disk image contains:
Here's a directory listing of the resulting 160Kb disk image:
Volume in drive A is PCJS ORG
Directory of A:\
@ -168,10 +164,10 @@ The resulting 160Kb disk image contains:
SN 13 8-11-83 12:00p
8 File(s) 108544 bytes free
And this disk has now been added to the PCjs [IBM PC Disk Library](/disks/pcx86/) as "Adventures in Math (1983)".
This disk has now been added to the PCjs [IBM PC Disk Library](/disks/pcx86/) as "Adventures in Math (1983)".
I originally selected an [IBM PC (Model 5150, 64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/),
which boots PC-DOS 2.00 by default. However, in the course of starting the game, it would crash:
To run the game, I originally selected an [IBM PC (Model 5150, 64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/),
which boots PC-DOS 2.00 by default. However, in the course of starting the game, it crashed:
![ADVENTMATH-CRASH](ADVENTMATH-CRASH.png)
@ -183,9 +179,28 @@ It appeared to run fine with 256Kb of RAM, but these were IBM's "System Requirem
> One diskette drive
so I reconfigured the machine to boot PC-DOS 1.00, which required less RAM than PC-DOS 2.00, and that appeared to be
sufficient. Note that the game was released in October 1983, well after the March 1983 release of PC-DOS 2.00, so
either it wasn't tested with PC-DOS 2.00 on a 64Kb machine, or the error is a PCjs anomaly.
so I reconfigured the machine to boot PC-DOS 1.00, which requires less RAM than PC-DOS 2.00, and that worked.
Note that the game was released in October 1983, well after the March 1983 release of PC-DOS 2.00, so it should
have been tested with PC-DOS 2.00 on a 64Kb machine, but perhaps it wasn't.
The machine on this page is configured with the following "autoType" sequence:
autoType: 8-10-81\\rb:\\ra:basica castle\\r
which translates to:
8-10-81 [enter an arbitrary date]
b: [switch to drive B:]
a:basica castle [run BASICA on drive A: and load CASTLE.BAS on drive B:]
This is one of the preferred methods of demonstrating software in PCjs: loading unmodified disk images into machines
that match the software's system requirements as closely as possible, powering the machine, and then automatically
executing a series of commands that an owner of that hardware and software combination would have likely executed.
The other preferred method is to use a machine state file, which restores the machine to a state where the software is
already running. This is the fastest approach, and it is useful when the software has an involved installation
process, but it takes more effort to set up. The [VisiCalc (1981)](/apps/pcx86/1981/visicalc/) demo operates this way,
but it does so purely for convenience (and because it predates the "autoType" feature).
References
----------

View file

@ -7,12 +7,80 @@ permalink: /disks/pcx86/fixed/10mb/
10Mb Hard Drive (Fixed Disk) Images
---
This folder contains the following 10Mb disk images:
This folder contains the following 10Mb fixed disk images:
* Empty formatted disk ([PCDOS200-EMPTY](PCDOS200-EMPTY.json))
* PC-DOS 2.00 with Windows 1.01 for CGA ([PCDOS200-WIN101-CGA](pcdos200-win101-cga.xml))
* PC-DOS 2.00 with Windows 1.01 for EGA ([PCDOS200-WIN101-EGA](pcdos200-win101-ega.xml))
These disk images are used by various [Model 5160](/devices/pcx86/machine/5160/) machine configurations.
These disk images are used by various IBM PC XT [Model 5160](/devices/pcx86/machine/5160/) machine configurations.
NOTE: The empty disk is *completely* empty. It was partitioned with the PC-DOS 2.00 **FDISK** utility, allocating
the entire disk to a single DOS partition, and then it was formatted with the PC-DOS 2.00 **FORMAT** utility.
Neither the **FORMAT** "/S" option nor the **SYS** command were used, so no system files were transferred, leaving
the disk completely empty and non-bootable.
After formatting, PC-DOS 2.00 reports:
10592256 bytes total disk space
10592256 bytes available on disk
As explained in the [DiskDump source code](/modules/diskdump/lib/diskdump.js), in its description of the 10Mb
BPB, a 10Mb "Type 3" PC XT fixed disk contains:
306 cylinders
4 heads
17 sectors/track
for a total of 20808 sectors or 10,653,696 bytes. However, as p.1-179 of the PC XT Technical Reference Manual
(April 1983) notes:
WARNING: The last cylinder on the fixed disk drive is reserved for diagnostic use.
Diagnostic write tests will destroy any data on this cylinder.
And this is confirmed by the PC XT BIOS, p.A-94, in the code for the "GET PARAMETERS (AH = 8)" function:
C800:03B2 268B07 MOV AX,ES:[BX] ; MAX NUMBER OF CYLINDERS
C800:03B5 2D0200 SUB AX,2 ; ADJUST FOR 0-N AND RESERVE LAST TRACK
By "RESERVE LAST TRACK", they really meant "RESERVE LAST CYLINDER", because 68 (not 17) sectors are reserved at
the end of the disk. In addition, the first sector of the disk is reserved for the Master Boot Record (MBR), so there
are a total of 69 reserved sectors. (20808 - 69) = 20739 or 0x5103, which is exactly what's stored in the "total
sectors" field of the disk's BPB, yielding a total partition size of 10,618,368 bytes.
However, that 69-sector overhead is not the end of the story. There is also overhead incurred by the FAT file system,
which, in this case, consists of:
- Boot sector (1)
- FAT sectors (2 * 8 = 16)
- Root directory sectors (32)
for a total of 49 sectors, leaving (20739 - 49) = 20690 sectors. Moreover, free space is measured in clusters,
not sectors, and the partition uses 8 sectors/cluster, leaving room for 2586.25 clusters. Since a fractional cluster
is not allowed, another 2 sectors are lost, bringing the total FAT file system overhead to 51 sectors.
Thus, actual free space is (20739 - 51) * 512, or 10,592,256 bytes, which is exactly what DOS reports as the available
space.
Some sources on the internet (eg, http://www.wikiwand.com/en/Timeline_of_DOS_operating_systems) claim that the (FAT)
file system overhead for the XT's 10Mb disk is "50 sectors". As they explain:
"The fixed disk has 10,618,880 bytes of raw space: 305 cylinders (the equivalent of tracks) × 2 platters
× 2 sides or heads per platter × 17 sectors per track = 20,740 sectors × 512 bytes per sector = 10,618,880
bytes...."
and:
"With DOS the only partition, the combined overhead is 50 sectors leaving 10,592,256 bytes for user data:
DOS's FAT is eight sectors (16 sectors for two copies) + 32 sectors for the root directory, room for 512
directory entries + 2 sectors (one master and one DOS boot sector) = 50 sectors...."
However, that's incorrect. First, the disk has 306 cylinders, not 305. Second, there are TWO overhead values:
the overhead OUTSIDE the partition (69 sectors) and the overhead INSIDE the partition (51 sectors). They failed
to account for the reserved cylinder in the first calculation and the lost fractional cluster in the second
calculation, and then they conflated the two values to produce a single (incorrect) result.
---
To use one of these disks with another machine configuration, include:

File diff suppressed because it is too large Load diff

View file

@ -43,12 +43,12 @@
http://pcjs.org/modules/pcx86/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/save.js (C) Jeff Parsons 2012-2017
*/
var l,aa;function ba(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}
var k,aa;function ba(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}
for(var da="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ea="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,fa=["Math","trunc"],ga=0;ga<fa.length-1;ga++){var ha=fa[ga];ha in ea||(ea[ha]={});ea=ea[ha]}
var ia=fa[fa.length-1],ja=ea[ia],ka=ja?ja:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b};ka!=ja&&null!=ka&&da(ea,ia,{configurable:!0,writable:!0,value:ka});
var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],10653696:[306,4,17],21411840:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},n={On:0,Qn:1,Rn:2,$j:3,Sn:4,Tn:5,Un:6,Vn:7,Wn:8,Xn:9,Yn:10,Zn:11,$n:12,ao:13,bo:14,co:15,eo:16,fo:17,ho:18,io:19,jo:20,ko:21,lo:22,mo:23,no:24,oo:25,po: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,Cd:65,xh:66,yh:67,Ah:68,E:69,Bh:70,Ch:71,Dh:72,Eh:73,Fh:74,Gh:75,Hh:76,Ih:77,Jh:78,Kh:79,Lh:80,Q:81,Mh:82,Nh:83,Oh:84,Ph:85,Qh:86,Rh:87,Sh:88,Th:89,tf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Dd:97,kk:98,lk:99,d:100,e:101,wk:102,xk:103,yk:104,zk:105,Kl:106,k:107,Ml:108,Ql:109,n:110,Wl:111,p:112,q:113,r:114,qn:115,t:116,tn:117,
un:118,vn:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,qo:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var p={};p[n["1"]]=n["!"];p[n["2"]]=n["@"];p[n["3"]]=n["#"];p[n["4"]]=n.$;p[n["5"]]=n["%"];p[n["6"]]=n["^"];p[n["7"]]=n["&"];p[n["8"]]=n["*"];p[n["9"]]=n["("];p[n["0"]]=n[")"];p[186]=n[":"];p[187]=n["+"];p[188]=n["<"];p[189]=n._;p[190]=n[">"];
var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],10653696:[306,4,17],21411840:[615,4,17],256256:[77,1,26,128],2494464:[203,2,12,512],5242880:[256,2,40,256],10485760:[512,2,40,256]},n={Pn:0,Rn:1,Sn:2,$j:3,Tn:4,Un:5,Vn:6,Wn:7,Xn:8,Yn:9,Zn:10,$n:11,ao:12,bo:13,co:14,eo:15,fo:16,ho:17,io:18,jo:19,ko:20,lo:21,mo:22,no:23,oo:24,po:25,qo: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,Cd:65,xh:66,yh:67,Ah:68,E:69,Bh:70,Ch:71,Dh:72,Eh:73,Fh:74,Gh:75,Hh:76,Ih:77,Jh:78,Kh:79,Lh:80,Q:81,Mh:82,Nh:83,Oh:84,Ph:85,Qh:86,Rh:87,Sh:88,Th:89,tf:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Dd:97,kk:98,lk:99,d:100,e:101,wk:102,xk:103,yk:104,zk:105,Ll:106,k:107,Nl:108,Rl:109,n:110,Xl:111,p:112,q:113,r:114,rn:115,t:116,un:117,
vn:118,wn:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,ro:127},ma={};ma[173]=n["-"];ma[186]=n[";"];ma[187]=n["="];ma[189]=n["-"];ma[188]=n[","];ma[190]=n["."];ma[191]=n["/"];ma[192]=n["`"];ma[219]=n["["];ma[220]=n["\\"];ma[221]=n["]"];ma[222]=n["'"];var p={};p[n["1"]]=n["!"];p[n["2"]]=n["@"];p[n["3"]]=n["#"];p[n["4"]]=n.$;p[n["5"]]=n["%"];p[n["6"]]=n["^"];p[n["7"]]=n["&"];p[n["8"]]=n["*"];p[n["9"]]=n["("];p[n["0"]]=n[")"];p[186]=n[":"];p[187]=n["+"];p[188]=n["<"];p[189]=n._;p[190]=n[">"];
p[191]=n["?"];p[192]=n["~"];p[219]=n["{"];p[220]=n["|"];p[221]=n["}"];p[222]=n['"'];p[173]=n._;p[61]=n["+"];p[59]=n[":"];
function na(a,b){var c;if(a){b||(b=10);var d,e,f=0<a.indexOf(",");f&&(a=a.replace(/,/g,""));d=e=a.charAt(0);"#"==e?(b=8,e=""):"$"==e&&(b=16,e="");d!=e?a=a.substr(1):(d=e=a.substr(0,2),"0b"==e&&f||"^B"==e?(b=2,e=""):"0o"==e||"^O"==e?(b=8,e=""):"^D"==e?(b=10,e=""):"0x"==e&&(b=16,e=""),d!=e&&(a=a.substr(2)));d=e=a.slice(-1);"Y"==e||"y"==e?(b=2,e=""):"."==e?(b=10,e=""):"H"==e||"h"==e?(b=16,e=""):"K"==e?e="000":"M"==e?e="000000":"G"==e&&(e="000000000");d!=e&&(a=a.slice(0,-1)+e);var g;d=0;10>=b&&(e=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=e[1],d=35-((e[2]||35)&255));e=a;((f=b)&&10!=f?16==f?e.match(/^-?[0-9a-f]+$/i):8==f?e.match(/^-?[0-7]+$/):2==f&&e.match(/^-?[01]+$/):e.match(/^-?[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(d&&(0>g&&(g+=Math.pow(2,36)),g=0<d?g*Math.pow(2,d):Math.trunc(g/Math.pow(2,-d))),c=g)}return c}
@ -57,7 +57,7 @@ function pa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexO
var ta={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"},va={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",10:"LF",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
function wa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}function xa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.rg|g<<f.shift&f.rg}return c}function ya(a,b){return(b&a.rg)>>a.shift}var za=[31,28,31,30,31,30,31,31,30,31,30,31],Aa=Date.now||function(){return+new Date};
function Ba(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
f,e))});if(b&&"object"==typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ca(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Da(){if(null==Ea){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}Ea=a}return Ea}function Fa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ga(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ha(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Ia(a){if(!Ja){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ja=c}return Ja[a]}
@ -67,13 +67,13 @@ La("onload",function(){Ra=!0;Oa(Na.init)});La("onpageshow",function(){Ta=!0;Oa(N
function t(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.ui=b.comment;this.Ij=b;this.exports={};this.ia=this.bindings={};a=this.id.indexOf(".");0>a?this.Ud=this.id:(this.Wd=this.id.substr(0,a),this.Ud=this.id.substr(a+1));this.ca={ready:!1,xf:!1,mg:!1,Pb:!1,error:!1};this.Gf=null;this.ca.error=!1;this.Ea=this.U=this.ma=this.oa=this.Df=null;Ua.push(this)}function Va(a,b,c){Wa[a]&&b&&(Wa[a][b]=c)}function r(a){window&&window.alert(a)}
function Xa(a){var b=!1;window&&(b=window.confirm(a));return b}function Ya(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<Ua.length;b++){var d=Ua[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Za(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<Ua.length;c++)if(Ua[c].id===a)return Ua[c]}return null}
function ab(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<Ua.length;d++)if(c)c==Ua[d]&&(c=null);else if(!(a!=Ua[d].type||b&&Ua[d].id.indexOf(b)))return Ua[d]}return null}function bb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}function cb(a,b,c){var d;b&&(void 0===d&&(d="Panel"),(d=ab(d,a.id))&&(b=d.ia[b])&&a.wb(null,c,b))}
function db(a,b){b=eb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),k=0;k<h.length;k++)switch(g=h[k],g){case "pcx86-binding":(g=bb(f))&&g.binding&&a.wb(g.type,g.binding,f,g.value),k=h.length}}}}
function db(a,b){b=eb(b.parentNode,"pcx86-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pcx86-binding":(g=bb(f))&&g.binding&&a.wb(g.type,g.binding,f,g.value),l=h.length}}}}
function eb(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function fb(a){for(var b=!0,c=gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=hb.indexOf(e)&&(f=function(){return function(){fb(a)}}());var g=ib[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=ab(d[1],a);if(h)if(g=jb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete gb[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type};
l.wb=function(a,b,c){switch(b){case "clear":return this.ia[b]||(this.ia[b]=c,c.onclick=function(a){return function(){a.ia.print&&(a.ia.print.value="")}}(this)),!0;case "print":return this.ia[b]||(this.Df=this.ia[b]=c,c.value="",this.lc=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.Aa=function(a){this.lc(a,this.Ud)}),!0;default:return!1}};l.log=function(){};l.lc=function(){};
l.status=function(a){this.lc(this.Ud+": "+a)};l.Aa=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function kb(a,b){a.ca.error=!0;a.Aa(b)}function lb(a,b){b&&(a.ca.ready?b():a.Gf=b);return a.ca.ready}function mb(a,b){a.ca.error||(a.ca.ready=!1!==b,a.ca.ready&&(b=a.Gf,a.Gf=null,b&&b()))}function nb(a,b){if(a.ca.mg)return a.ca.xf=!1,a.ca.mg=!1;if(a.ca.error)return a.lc(a.toString()+" error"),!1;a.ca.xf=b;return a.ca.xf}l.Ob=function(){return this.ca.Pb=!0};
l.Nb=function(a,b){b&&(this.ca.Pb=!1);return!0};window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
function fb(a){for(var b=!0,c=gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=hb.indexOf(e)&&(f=function(){return function(){fb(a)}}());var g=ib[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=ab(d[1],a);if(h)if(g=jb[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete gb[a];return b}k=t.prototype;
k.toString=function(){return this.name?this.name:this.id||this.type};
k.wb=function(a,b,c){switch(b){case "clear":return this.ia[b]||(this.ia[b]=c,c.onclick=function(a){return function(){a.ia.print&&(a.ia.print.value="")}}(this)),!0;case "print":return this.ia[b]||(this.Df=this.ia[b]=c,c.value="",this.lc=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.Aa=function(a){this.lc(a,this.Ud)}),!0;default:return!1}};k.log=function(){};k.lc=function(){};
k.status=function(a){this.lc(this.Ud+": "+a)};k.Aa=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function kb(a,b){a.ca.error=!0;a.Aa(b)}function lb(a,b){b&&(a.ca.ready?b():a.Gf=b);return a.ca.ready}function mb(a,b){a.ca.error||(a.ca.ready=!1!==b,a.ca.ready&&(b=a.Gf,a.Gf=null,b&&b()))}function nb(a,b){if(a.ca.mg)return a.ca.xf=!1,a.ca.mg=!1;if(a.ca.error)return a.lc(a.toString()+" error"),!1;a.ca.xf=b;return a.ca.xf}k.Ob=function(){return this.ca.Pb=!0};
k.Nb=function(a,b){b&&(this.ca.Pb=!1);return!0};window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var Wa=window?window.PCjs.Machines:{},Ua=window?window.PCjs.Components:[],gb=window?window.PCjs.Commands:{},hb=["hold","sleep","wait"],ib={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},jb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
@ -81,79 +81,79 @@ var ob="undefined"!==typeof ArrayBuffer,pb={Qf:4,dc:5,Yc:6,Ac:7,Bc:8,Na:9,Fb:11,
xj:16,Md:10,Gc:2,Cg:18,Dg:7,Eg:15,Jg:12,Kg:7,Lg:11,Rg:18,Sg:7,Tg:15,Wg:15,Xg:7,Yg:13,bh:11,dh:7,eh:8,yj:8,Bj:12,zj:18,Aj:17,Cj:15,$g:8,Zg:20,ah:2,hh:3,Xe:9,gh:5,fh:11,jh:4,ih:17,Dj:11},qb={Qf:0,dc:0,Yc:0,Ac:0,Bc:0,Na:0,Fb:1,Gb:1,Ld:3,Ei:14,Fi:16,Xb:2,vb:7,kc:7,Pf:0,Ji:7,Li:13,Ni:7,Mi:11,Ki:16,Hi:3,Fg:6,Ii:2,Gi:13,Hg:5,Gg:5,Ue:2,Te:7,aj:23,bj:0,cj:1,dj:3,$i:17,Ig:7,fj:11,Ia:7,Ja:3,hj:7,gj:11,ej:15,Hb:2,ij:3,te:7,jj:8,Ng:8,kj:8,Mg:4,Og:4,pj:2,oj:3,mj:5,nj:2,lj:3,Pg:5,Qg:3,Pi:14,Ri:22,Oi:17,Qi:25,Ti:17,
Vi:25,Si:20,Ui:28,rj:13,tj:21,qj:16,sj:24,Xi:13,Zi:21,Wi:16,Yi:24,We:2,Ve:7,Vg:5,Ug:5,uj:19,Yb:5,vj:5,wj:17,qc:3,xj:5,Md:3,Gc:0,Cg:8,Dg:5,Eg:9,Jg:5,Kg:5,Lg:4,Rg:5,Sg:5,Tg:4,Wg:7,Xg:5,Yg:8,bh:3,dh:4,eh:3,yj:11,Bj:11,zj:15,Aj:15,Cj:7,$g:5,Zg:8,ah:0,hh:2,Xe:6,gh:3,fh:6,jh:3,ih:5,Dj:5};function rb(a,b,c,d){this.A=[a,b,c,d];this.B=null;void 0===a&&(this.A[0]=256*Math.random()|0,this.A[1]=256*Math.random()|0,this.A[2]=256*Math.random()|0,this.A[3]=255,this.B=null)}
rb.prototype.toString=function(){this.B||(this.B="#"+oa(this.A[0],2)+oa(this.A[1],2)+oa(this.A[2],2));return this.B};function sb(a,b,c,d){this.x=a;this.y=b;this.wc=c;this.A=d}sb.prototype.contains=function(a,b){return a>=this.x&&a<this.x+this.wc&&b>=this.y&&b<this.y+this.A};function tb(a,b,c,d){void 0===d&&(d=b>=c>>2);d?(b=new sb(a.x,a.y,a.wc,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new sb(a.x,a.y,a.wc*b/c|0,a.A),a.x+=b.wc,a.wc-=b.wc);return b}
function ub(a){t.call(this,"Panel",a);this.F=this.G=this.K=-1}ba(ub,t);l=ub.prototype;l.wb=function(a,b,c,d){return this.oa&&this.oa.wb(a,b,c,d)||this.U&&this.U.wb(a,b,c,d)||this.B&&this.B.wb(a,b,c,d)?!0:t.prototype.wb.call(this,a,b,c,d)};l.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.B=vb(a,"Keyboard")};l.Ob=function(a,b){b||wb();return!0};l.Nb=function(){return!0};l.ie=function(a,b){a.button||(this.K=b?0:-1,xb(this,a,b))};l.sg=function(a){xb(this,a)};
function ub(a){t.call(this,"Panel",a);this.F=this.G=this.K=-1}ba(ub,t);k=ub.prototype;k.wb=function(a,b,c,d){return this.oa&&this.oa.wb(a,b,c,d)||this.U&&this.U.wb(a,b,c,d)||this.B&&this.B.wb(a,b,c,d)?!0:t.prototype.wb.call(this,a,b,c,d)};k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.B=vb(a,"Keyboard")};k.Ob=function(a,b){b||wb();return!0};k.Nb=function(){return!0};k.ie=function(a,b){a.button||(this.K=b?0:-1,xb(this,a,b))};k.sg=function(a){xb(this,a)};
function xb(a,b,c){var d=yb/null.offsetWidth,e=Ab/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.K||(a.K=Math.abs(a.F-d)>Math.abs(a.G-b)?1:2),1==a.K?b=a.G:2==a.K&&(d=a.F));a.F=d;a.G=b;if(0<=d&&d<yb&&0<=b&&b<Ab){a:{c=d;if(c<Bb&&a.A&&a.A.be)for(f=0;f<a.A.be.length;f++)if(e=a.A.be[f],e.contains(c,b)){c-=e.x;b-=e.y;var d=a.A.Ee[f],g=ya(Cb.Ej,a.A.gg[d.Ak]),f=g*a.ma.A,d=(g+d.dd)*a.ma.A-1;0<b&&(f+=e.wc*(b-1)*a.ba);f+=c*a.ba;f|=0;f>d&&(f=d);c=
f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.ea)){b=c;if(a.context&&a.M&&a.O){e=Db-Eb;f=a.M.width;a.O.fillStyle=Fb;a.O.fillRect(0,e,f,Eb);Gb(a,e+Hb,a.M,a.O);a.V=a.ga.width/24|0;if(null==b)Ib(a,"Mouse over memory to dump");else for(Ib(a,oa(b,8,!0),null,0,1),d=1;16>=d;d++){for(var g="",h=1;8>=h;h++){var k;k=a.ma;var m=b++;k=k.X[(m&k.D)>>>k.B].Ad(m&k.C,m);Ib(a,oa(k,2),null,1);g+=32<=k&&128>k?String.fromCharCode(k):"."}Ib(a,g,null,0,1)}a.context.drawImage(a.M,0,e,f,Eb,a.Ca,a.Ha,a.ta,a.wa)}a.ea=c}}}
f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.ea)){b=c;if(a.context&&a.M&&a.O){e=Db-Eb;f=a.M.width;a.O.fillStyle=Fb;a.O.fillRect(0,e,f,Eb);Gb(a,e+Hb,a.M,a.O);a.V=a.ga.width/24|0;if(null==b)Ib(a,"Mouse over memory to dump");else for(Ib(a,oa(b,8,!0),null,0,1),d=1;16>=d;d++){for(var g="",h=1;8>=h;h++){var l;l=a.ma;var m=b++;l=l.X[(m&l.D)>>>l.B].Ad(m&l.C,m);Ib(a,oa(l,2),null,1);g+=32<=l&&128>l?String.fromCharCode(l):"."}Ib(a,g,null,0,1)}a.context.drawImage(a.M,0,e,f,Eb,a.Ca,a.Ha,a.ta,a.wa)}a.ea=c}}}
function Jb(a,b,c,d){a.A.Ee[a.A.ci++]={Ak:b,dd:c,type:d};return xa(Cb,b,c,0,d)}function Gb(a,b,c,d){var e,f=null.style.color,g=a.qa=10;a.C=g;a.H=b;a.I=a.Z=Hb;e||(e=a.X||a.Z+"px "+Lb);a.L=a.X=e;c&&(a.ga=c);d&&(a.D=d,a.ja=f||"white")}function Ib(a,b,c,d,e){a.D.font=a.L;a.D.fillStyle=a.ja;a.D.fillText(b,a.C,a.H);a.C+=a.V;null!=c&&(16!=a.Ba?b=c.toString():(b=8>a.pa?"0x":"",b+=oa(c,a.pa)),a.D.fillText(b,a.C,a.H),a.C+=a.V);d&&(a.C+=a.V*d);e&&(a.C=a.qa,a.H+=(a.I+2)*(e||1))}
function wb(){for(var a=!1,b=eb(document,"pcx86","panel"),c=0;c<b.length;c++){var d=b[c],e=bb(d),f=Za(e.id);f||(a=!0,f=new ub(e));db(f,d);a&&mb(f)}}var yb=1280,Ab=720,Hb=18,Lb="Monaco, Lucida Console, Courier New",Bb=3*yb>>2,Mb=Ab,Db=Ab,Fb="black",Eb=Ab>>1;Ma(wb);
function Nb(a,b,c){t.call(this,"Bus",a);this.U=b;this.Ea=c;this.F=a.busWidth||20;this.K=Math.pow(2,this.F);this.W=this.D=this.K-1|0;this.B=32==this.F||20>=this.F?12:24>=this.F?14:15;this.A=1<<this.B;this.V=this.A>>2;this.C=this.A-1;this.H=this.K/this.A|0;this.L=this.H-1;this.I=[];this.J=[];this.M=[];this.O=[];a=new u;Ob(a,this.Ea);this.X=Array(this.H);for(b=0;b<this.H;b++)this.X[b]=a;a=this.U;b=this.X;c=this.B;a.Nc=a.X=b;a.yb=c;a.wh=1<<a.yb;a.xb=a.wh-1;a.mf=b.length;a.ye=a.mf-1;a=this.U;a.ze=a.Ic=
this.D;mb(this)}ba(Nb,t);l=Nb.prototype;l.reset=function(){Pb(this,!0)};l.Ob=function(a,b){b||this.reset();return!0};
function Qb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.B;0<g&&h<a.X.length;){var k=a.X[h],m=h*a.A,q=a.A-(f-m);q>g&&(q=g);if(k&&k.size){if(k.type==d&&k.controller==e){if(f+g<=k.ee)return k.xe+=k.ee-f,k.ee=f,!0;if(f>=k.ee+k.xe){q=k.size-(f-m);q>g&&(q=g);k.xe=f-k.ee+q;f=m+a.A;g-=q;h++;continue}}return Rb(a,Sb,f,g)}f=new u(f,q,a.A,d,e);Ob(f,a.Ea,k);a.X[h++]=f;f=m+a.A;g-=q}return 0>=g?(e=a.U,e.pa&-2147483648&&Tb(e),a.U.ca.Ib||a.status(Math.floor(c/1024)+"Kb "+Ub[d]+" at "+oa(b)),!0):Rb(a,Vb,b,c)}
function Pb(a,b){32==a.F?b?a.G&&(Wb(a,1048576,1048576,a.G),a.G=null):a.G||(a.G=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576))):20<a.F&&(b=a.D&-1048577|(b?1048576:0),b!=a.D&&(a.D=b,a.U&&(a=a.U,a.ze=a.Ic=b)))}l.$f=function(a,b,c,d){if(!(a&this.C||!b||b&this.C)){for(var e=a>>>this.B;0<b;){var f=this.X[e];if(!f.controller)return Rb(this,Yb,a,b,d);Zb(f,c,!0);b-=this.A;e++}return!0}return Rb(this,$b,a,b)};
this.D;mb(this)}ba(Nb,t);k=Nb.prototype;k.reset=function(){Pb(this,!0)};k.Ob=function(a,b){b||this.reset();return!0};
function Qb(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.B;0<g&&h<a.X.length;){var l=a.X[h],m=h*a.A,q=a.A-(f-m);q>g&&(q=g);if(l&&l.size){if(l.type==d&&l.controller==e){if(f+g<=l.ee)return l.xe+=l.ee-f,l.ee=f,!0;if(f>=l.ee+l.xe){q=l.size-(f-m);q>g&&(q=g);l.xe=f-l.ee+q;f=m+a.A;g-=q;h++;continue}}return Rb(a,Sb,f,g)}f=new u(f,q,a.A,d,e);Ob(f,a.Ea,l);a.X[h++]=f;f=m+a.A;g-=q}return 0>=g?(e=a.U,e.pa&-2147483648&&Tb(e),a.U.ca.Ib||a.status(Math.floor(c/1024)+"Kb "+Ub[d]+" at "+oa(b)),!0):Rb(a,Vb,b,c)}
function Pb(a,b){32==a.F?b?a.G&&(Wb(a,1048576,1048576,a.G),a.G=null):a.G||(a.G=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576))):20<a.F&&(b=a.D&-1048577|(b?1048576:0),b!=a.D&&(a.D=b,a.U&&(a=a.U,a.ze=a.Ic=b)))}k.$f=function(a,b,c,d){if(!(a&this.C||!b||b&this.C)){for(var e=a>>>this.B;0<b;){var f=this.X[e];if(!f.controller)return Rb(this,Yb,a,b,d);Zb(f,c,!0);b-=this.A;e++}return!0}return Rb(this,$b,a,b)};
function ac(a,b,c){if(!(b&a.C||!c||c&a.C)){for(var d=b>>>a.B;0<c;){var e=a.X[d];b=new u(b);Ob(b,a.Ea,e);a.X[d++]=b;b=d*a.A;c-=a.A}a=a.U;a.pa&-2147483648&&Tb(a);return!0}return Rb(a,bc,b,c)}function Xb(a,b,c){var d=[];for(b>>>=a.B;0<c&&b<a.X.length;)d.push(a.X[b++]),c-=a.A;return d}
function Wb(a,b,c,d,e){for(var f=0,g=b>>>a.B;0<c&&g<a.X.length;){var h=d[f++];if(!h)break;if(void 0!==e){var k=new u(b),m=k,q=e,y=a.Ea;m.id=h.id|1;m.xe=h.xe;m.size=h.size;q&&(m.type=q,m.H=q==cc);ob?(m.L=h.L,m.K=h.K,m.Fa=h.Fa,m.rd=h.rd,m.T=h.T,Zb(m,dc?ec:fc)):(m.T=h.T,Zb(m,gc));Ob(m,y,h);h=k}a.X[g++]=h;c-=a.A}}l.Eb=function(a){return this.X[(a&this.D)>>>this.B].mc(a&this.C,a)};function hc(a,b){var c=b&a.C,d=(b&a.D)>>>a.B;return c!=a.C?a.X[d].cf(c,b):a.X[d++].Ad(c,b)|a.X[d&a.L].Ad(0,b+1)<<8}
l.Dc=function(a,b){this.X[(a&this.D)>>>this.B].nc(a&this.C,b&255,a)};function ic(a,b,c){var d=b&a.C,e=(b&a.D)>>>a.B;d!=a.C?a.X[e].vh(d,c&65535,b):(a.X[e++].hf(d,c&255,b),a.X[e&a.L].hf(0,c>>8&255,b+1))}
function jc(a,b){var c=0,d=[],e=!a.G&&a.W==a.D;e||Pb(a,!0);for(var f=0;f<a.H;f++){var g=a.X[f];if(b&&g.type!=cc||g.Da||g.ni){d[c++]=f;var h=c++;if(g=g.save()){for(var k=0,m=0,q=[];k<g.length;){for(var y=g[k],w=k+1;w<g.length&&g[w]===y;)w++;q[m++]=w-k;q[m++]=y;k=w}q.length<g.length&&(g=q)}d[h]=g}}e||Pb(a,!1);d[c]=e;return d}
function kc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.I[k]?r("Input port "+oa(k,4,!0)+" already registered"):f.I[k]=[h,!1]}}function lc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.I[b],h=a.M[b]||1,k=1==h?255:2==h?65535:-1,m=k;void 0!==g&&g[0]&&(m=g[0](b,d),void 0===m?m=k:m&=k);e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
function mc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var k=+e+d;k<=g;k++)void 0!==f.J[k]?r("Output port "+oa(k,4,!0)+" already registered"):f.J[k]=[h,!1]}}function nc(a,b,c,d,e){for(var f=0;0<c;){var g=a.J[b],h=a.O[b]||1,k=1==h?255:2==h?65535:-1,k=(d>>>=f)&k;if(void 0!==g&&g[0])g[0](b,k,e);f+=h<<3;b+=h;c-=h}}function Rb(a,b,c,d,e){b="Memory block error ("+b+": "+oa(c)+","+oa(d)+")";e?a.Ea?a.Ea.message(b):a.log(b):r(b);return!1}
var Cb,pc={Ej:20,count:8,Fo:1,type:3},qc=0,rc;for(rc in pc){var sc=pc[rc];pc[rc]={rg:(1<<sc)-1<<qc,shift:qc};qc+=sc}Cb=pc;var Sb=1,Vb=2,Yb=3,$b=4,bc=5,tc;if(ob){var uc=new ArrayBuffer(2);(new DataView(uc)).setUint16(0,256,!0);tc=256===(new Uint16Array(uc))[0]}else tc=!1;var dc=tc;
function Wb(a,b,c,d,e){for(var f=0,g=b>>>a.B;0<c&&g<a.X.length;){var h=d[f++];if(!h)break;if(void 0!==e){var l=new u(b),m=l,q=e,y=a.Ea;m.id=h.id|1;m.xe=h.xe;m.size=h.size;q&&(m.type=q,m.H=q==cc);ob?(m.L=h.L,m.K=h.K,m.Fa=h.Fa,m.rd=h.rd,m.T=h.T,Zb(m,dc?ec:fc)):(m.T=h.T,Zb(m,gc));Ob(m,y,h);h=l}a.X[g++]=h;c-=a.A}}k.Eb=function(a){return this.X[(a&this.D)>>>this.B].mc(a&this.C,a)};function hc(a,b){var c=b&a.C,d=(b&a.D)>>>a.B;return c!=a.C?a.X[d].cf(c,b):a.X[d++].Ad(c,b)|a.X[d&a.L].Ad(0,b+1)<<8}
k.Dc=function(a,b){this.X[(a&this.D)>>>this.B].nc(a&this.C,b&255,a)};function ic(a,b,c){var d=b&a.C,e=(b&a.D)>>>a.B;d!=a.C?a.X[e].vh(d,c&65535,b):(a.X[e++].hf(d,c&255,b),a.X[e&a.L].hf(0,c>>8&255,b+1))}
function jc(a,b){var c=0,d=[],e=!a.G&&a.W==a.D;e||Pb(a,!0);for(var f=0;f<a.H;f++){var g=a.X[f];if(b&&g.type!=cc||g.Da||g.ni){d[c++]=f;var h=c++;if(g=g.save()){for(var l=0,m=0,q=[];l<g.length;){for(var y=g[l],w=l+1;w<g.length&&g[w]===y;)w++;q[m++]=w-l;q[m++]=y;l=w}q.length<g.length&&(g=q)}d[h]=g}}e||Pb(a,!1);d[c]=e;return d}
function kc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.I[l]?r("Input port "+oa(l,4,!0)+" already registered"):f.I[l]=[h,!1]}}function lc(a,b,c,d){for(var e=0,f=0;0<c;){var g=a.I[b],h=a.M[b]||1,l=1==h?255:2==h?65535:-1,m=l;void 0!==g&&g[0]&&(m=g[0](b,d),void 0===m?m=l:m&=l);e|=m<<f;f+=h<<3;b+=h;c-=h}return e}
function mc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(h)for(var l=+e+d;l<=g;l++)void 0!==f.J[l]?r("Output port "+oa(l,4,!0)+" already registered"):f.J[l]=[h,!1]}}function nc(a,b,c,d,e){for(var f=0;0<c;){var g=a.J[b],h=a.O[b]||1,l=1==h?255:2==h?65535:-1,l=(d>>>=f)&l;if(void 0!==g&&g[0])g[0](b,l,e);f+=h<<3;b+=h;c-=h}}function Rb(a,b,c,d,e){b="Memory block error ("+b+": "+oa(c)+","+oa(d)+")";e?a.Ea?a.Ea.message(b):a.log(b):r(b);return!1}
var Cb,oc={Ej:20,count:8,Go:1,type:3},qc=0,rc;for(rc in oc){var sc=oc[rc];oc[rc]={rg:(1<<sc)-1<<qc,shift:qc};qc+=sc}Cb=oc;var Sb=1,Vb=2,Yb=3,$b=4,bc=5,tc;if(ob){var uc=new ArrayBuffer(2);(new DataView(uc)).setUint16(0,256,!0);tc=256===(new Uint16Array(uc))[0]}else tc=!1;var dc=tc;
function u(a,b,c,d,e,f){this.id=vc+=2;this.T=null;this.G=0;this.ee=a;this.xe=b;this.size=c||0;this.type=d||wc;this.H=d==cc;this.controller=null;this.F=f;Ob(this);this.Da=this.ni=!1;if(c)if(e)this.controller=e,a=e.ti(a),this.T=a[0],this.G=a[1],Zb(this,e.qg());else if(ob)this.L=new ArrayBuffer(c),this.K=new DataView(this.L,0,c),this.Fa=new Uint8Array(this.L,0,c),this.rd=new Uint16Array(this.L,0,c>>1),this.T=new Int32Array(this.L,0,c>>2),Zb(this,dc?ec:fc);else{this.T=Array(c>>2);for(e=0;e<this.T.length;e++)this.T[e]=
0;Zb(this,gc)}else Zb(this)}l=u.prototype;l.Hl=function(a){this.ee=a};l.save=function(){var a,b;if(this.controller)a=null;else if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.K.getInt32(b<<2,!0);else a=this.T;return a};l.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.K.setInt32(b<<2,a[b],!0);else this.T=a;return this.Da=!0}return!1};function Zb(a,b,c){b||(b=a.type==xc?yc:a.type==zc?Ac:Bc);Cc(a,b,c);Dc(a,b,c)}
function Cc(a,b,c){c&&a.fe||(a.mc=b[0]||a.Mj,a.bf=b[2]||a.Nj,a.Nd=b[4]||a.Kj);if(c||void 0===c)a.Ad=b[0]||a.Mj,a.cf=b[2]||a.Nj,a.nh=b[4]||a.Kj}function Dc(a,b,c){c&&a.ge||(a.nc=!a.H&&b[1]||a.th,a.kf=!a.H&&b[3]||a.uh,a.jf=!a.H&&b[5]||a.sh);if(c||void 0===c)a.hf=b[1]||a.th,a.vh=b[3]||a.uh,a.U=b[5]||a.sh}function Ob(a,b,c){a.Ea=b;a.fe=a.ge=0;c&&(c.F&&(a.F=c.F),(a.fe=c.fe)&&Cc(a,Ec,!1),(a.ge=c.ge)&&Dc(a,Ec,!1))}l.Mj=function(){return 255};l.th=function(){};
l.Nj=function(a,b){return this.mc(a++,b++)|this.mc(a,b)<<8};l.Kj=function(a,b){return this.mc(a++,b++)|this.mc(a++,b++)<<8|this.mc(a++,b++)<<16|this.mc(a,b)<<24};l.uh=function(a,b,c){this.nc(a++,b&255,c++);this.nc(a,b>>8,c)};l.sh=function(a,b,c){this.nc(a++,b&255,c++);this.nc(a++,b>>8&255,c++);this.nc(a++,b>>16&255,c++);this.nc(a,b>>>24,c)};l.$m=function(a){return this.T[a>>2]>>>((a&3)<<3)&255};
l.mn=function(a){var b=a>>2;a=(a&3)<<3;var c=this.T[b]>>a;return 24>a?c&65535:c&255|(this.T[b+1]&255)<<8};l.fn=function(a){var b=a>>2;a=(a&3)<<3;var c=this.T[b];a&&(c=c>>>a|this.T[b+1]<<32-a);return c};l.yn=function(a,b){var c=a>>2;a=(a&3)<<3;this.T[c]=this.T[c]&~(255<<a)|b<<a;this.Da=!0};l.Kn=function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.T[c]=this.T[c]&~(65535<<a)|b<<a:(this.T[c]=this.T[c]&16777215|b<<24,c++,this.T[c]=this.T[c]&-256|b>>8);this.Da=!0};
l.En=function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<<a;this.T[c]=this.T[c]&~d|b<<a;c++;this.T[c]=this.T[c]&d|b>>>32-a}else this.T[c]=b;this.Da=!0};l.Zm=function(a,b){this.F&&Fc(this.F,b,1,!1);return this.Ad(a,b)};l.ln=function(a,b){this.F&&Fc(this.F,b,2,!1);return this.cf(a,b)};l.en=function(a,b){this.F&&Fc(this.F,b,4,!1);return this.nh(a,b)};l.xn=function(a,b,c){this.F&&Fc(this.F,c,1,!0);this.H||this.hf(a,b,c)};l.Jn=function(a,b,c){this.F&&Fc(this.F,c,2,!0);this.H||this.vh(a,b,c)};
l.Dn=function(a,b,c){this.F&&Fc(this.F,c,4,!0);this.H||this.U(a,b,c)};l.bn=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.mc(a,b)};l.on=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.bf(a,b)};l.hn=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.Nd(a,b)};l.An=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.nc(a,b,c)};
l.Mn=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.kf(a,b,c)};l.Gn=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.jf(a,b,c)};l.cn=function(a,b){return Gc(this.F,b,!1).mc(a,b)};l.pn=function(a,b){return Gc(this.F,b,!1).bf(a,b)};l.jn=function(a,b){return Gc(this.F,b,!1).Nd(a,b)};l.Bn=function(a,b,c){Gc(this.F,c,!0).nc(a,b,c)};l.Nn=function(a,b,c){Gc(this.F,c,!0).kf(a,b,c)};l.Hn=function(a,b,c){Gc(this.F,c,!0).jf(a,b,c)};l.Ym=function(a){return this.Fa[a]};
l.Jj=function(a){return this.Fa[a]};l.an=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.mc=this.Jj;return this.Fa[a]};l.kn=function(a){return this.K.getUint16(a,!0)};l.Oj=function(a){return a&1?this.Fa[a]|this.Fa[a+1]<<8:this.rd[a>>1]};l.nn=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.bf=this.Oj;return a&1?this.Fa[a]|this.Fa[a+1]<<8:this.rd[a>>1]};l.dn=function(a){return this.K.getInt32(a,!0)};
l.Lj=function(a){return a&3?this.Fa[a]|this.Fa[a+1]<<8|this.Fa[a+2]<<16|this.Fa[a+3]<<24:this.T[a>>2]};l.gn=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.Nd=this.Lj;return a&3?this.Fa[a]|this.Fa[a+1]<<8|this.Fa[a+2]<<16|this.Fa[a+3]<<24:this.T[a>>2]};l.wn=function(a,b){this.Fa[a]=b;this.Da=!0};l.Xj=function(a,b){this.Fa[a]=b;this.Da=!0};l.zn=function(a,b){this.Fa[a]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.nc=this.Xj;this.J.Da=!0};
l.In=function(a,b){this.K.setUint16(a,b,!0);this.Da=!0};l.Zj=function(a,b){a&1?(this.Fa[a]=b,this.Fa[a+1]=b>>8):this.rd[a>>1]=b;this.Da=!0};l.Ln=function(a,b){a&1?(this.Fa[a]=b,this.Fa[a+1]=b>>8):this.rd[a>>1]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.kf=this.Zj;this.J.Da=!0};l.Cn=function(a,b){this.K.setInt32(a,b,!0);this.Da=!0};l.Yj=function(a,b){a&3?(this.Fa[a]=b,this.Fa[a+1]=b>>8,this.Fa[a+2]=b>>16,this.Fa[a+3]=b>>24):this.T[a>>2]=b;this.Da=!0};
l.Fn=function(a,b){a&3?(this.Fa[a]=b,this.Fa[a+1]=b>>8,this.Fa[a+2]=b>>16,this.Fa[a+3]=b>>24):this.T[a>>2]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.jf=this.Yj;this.J.Da=!0};function Hc(a){ob&&!dc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
var wc=0,cc=2,xc=5,zc=6,Ic=["black","blue","green","cyan"],Ub="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),vc=0,Bc=[],gc=[u.prototype.$m,u.prototype.yn,u.prototype.mn,u.prototype.Kn,u.prototype.fn,u.prototype.En],Ec=[u.prototype.Zm,u.prototype.xn,u.prototype.ln,u.prototype.Jn,u.prototype.en,u.prototype.Dn],Ac=[u.prototype.bn,u.prototype.An,u.prototype.on,u.prototype.Mn,u.prototype.hn,u.prototype.Gn],yc=[u.prototype.cn,u.prototype.Bn,u.prototype.pn,u.prototype.Nn,u.prototype.jn,u.prototype.Hn];
if(ob)var fc=[u.prototype.Ym,u.prototype.wn,u.prototype.kn,u.prototype.In,u.prototype.dn,u.prototype.Cn],ec=[u.prototype.Jj,u.prototype.Xj,u.prototype.Oj,u.prototype.Zj,u.prototype.Lj,u.prototype.Yj],Jc=[u.prototype.an,u.prototype.zn,u.prototype.nn,u.prototype.Ln,u.prototype.gn,u.prototype.Fn];
function Kc(a,b){t.call(this,"CPU",a);b=a.cycles||b;var c=a.multiplier||1;this.R={};this.R.Xc=b;this.R.yd=c;this.R.If=Math.round(this.R.Xc/1E4)/100;this.R.re=this.R.If*this.R.yd;this.ca.Ib=!1;this.ca.Uj=!1;this.ca.Fe=a.autoStart;this.ca.ji=!1;this.ca.Bf=!1;this.R.Kf=this.R.se=0;this.R.Lf=a.csStart;this.R.Ke=a.csInterval;this.R.Le=a.csStop;this.Ll=this.ag.bind(this);mb(this)}ba(Kc,t);l=Kc.prototype;
l.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.Ea=d;for(b=0;b<Lc.length;b++)(c=this.ia[Lc[b]])&&this.oa.wb(null,Lc[b],c);this.Vd=vb(a,"FPU");this.V=vb(a,"ChipSet");a=Mc(a,"autoStart");null!=a&&(this.ca.Fe="true"==a?!0:"false"==a?!1:!!a);mb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};l.Ob=function(a,b){if(!b){if(a&&this.restore){Nc(this);if(!this.restore(a))return!1;Oc(this)}else this.reset();this.lc("No debugger detected")}Pc(this);return!0};
l.Nb=function(a){return a?this.save():!0};l.Fe=function(){return this.ca.Fe||void 0===this.ia.run?(this.ag(),!0):!1};l.si=function(){return 0};function Oc(a){void 0===a.R.Lf&&(a.R.Lf=0);void 0===a.R.Ke&&(a.R.Ke=-1);void 0===a.R.Le&&(a.R.Le=-1);a.ca.Bf=0<=a.R.Lf&&0<a.R.Ke;a.ca.Bf&&(a.R.Kf=0,a.R.se=a.R.Lf-a.md)}
l.wb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.ia[b]=c;a=!0;break;case "run":this.ia[b]=c;c.onclick=function(){var a;if(a=d.oa)if(a=d.oa,a.ca.Pb)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ca.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ca.Pb);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.ca.ready?"powered yet":"ready yet"+(b.Gf?" (waiting for notification)":""))+".");a=!1}a&&(d.ca.Ib?Qc(d,!0):
0;Zb(this,gc)}else Zb(this)}k=u.prototype;k.Hl=function(a){this.ee=a};k.save=function(){var a,b;if(this.controller)a=null;else if(ob)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.K.getInt32(b<<2,!0);else a=this.T;return a};k.restore=function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(ob)for(b=0;b<a.length;b++)this.K.setInt32(b<<2,a[b],!0);else this.T=a;return this.Da=!0}return!1};function Zb(a,b,c){b||(b=a.type==xc?yc:a.type==zc?Ac:Bc);Cc(a,b,c);Dc(a,b,c)}
function Cc(a,b,c){c&&a.fe||(a.mc=b[0]||a.Mj,a.bf=b[2]||a.Nj,a.Nd=b[4]||a.Kj);if(c||void 0===c)a.Ad=b[0]||a.Mj,a.cf=b[2]||a.Nj,a.nh=b[4]||a.Kj}function Dc(a,b,c){c&&a.ge||(a.nc=!a.H&&b[1]||a.th,a.kf=!a.H&&b[3]||a.uh,a.jf=!a.H&&b[5]||a.sh);if(c||void 0===c)a.hf=b[1]||a.th,a.vh=b[3]||a.uh,a.U=b[5]||a.sh}function Ob(a,b,c){a.Ea=b;a.fe=a.ge=0;c&&(c.F&&(a.F=c.F),(a.fe=c.fe)&&Cc(a,Ec,!1),(a.ge=c.ge)&&Dc(a,Ec,!1))}k.Mj=function(){return 255};k.th=function(){};
k.Nj=function(a,b){return this.mc(a++,b++)|this.mc(a,b)<<8};k.Kj=function(a,b){return this.mc(a++,b++)|this.mc(a++,b++)<<8|this.mc(a++,b++)<<16|this.mc(a,b)<<24};k.uh=function(a,b,c){this.nc(a++,b&255,c++);this.nc(a,b>>8,c)};k.sh=function(a,b,c){this.nc(a++,b&255,c++);this.nc(a++,b>>8&255,c++);this.nc(a++,b>>16&255,c++);this.nc(a,b>>>24,c)};k.an=function(a){return this.T[a>>2]>>>((a&3)<<3)&255};
k.nn=function(a){var b=a>>2;a=(a&3)<<3;var c=this.T[b]>>a;return 24>a?c&65535:c&255|(this.T[b+1]&255)<<8};k.gn=function(a){var b=a>>2;a=(a&3)<<3;var c=this.T[b];a&&(c=c>>>a|this.T[b+1]<<32-a);return c};k.zn=function(a,b){var c=a>>2;a=(a&3)<<3;this.T[c]=this.T[c]&~(255<<a)|b<<a;this.Da=!0};k.Ln=function(a,b){var c=a>>2;a=(a&3)<<3;24>a?this.T[c]=this.T[c]&~(65535<<a)|b<<a:(this.T[c]=this.T[c]&16777215|b<<24,c++,this.T[c]=this.T[c]&-256|b>>8);this.Da=!0};
k.Fn=function(a,b){var c=a>>2;if(a=(a&3)<<3){var d=-1<<a;this.T[c]=this.T[c]&~d|b<<a;c++;this.T[c]=this.T[c]&d|b>>>32-a}else this.T[c]=b;this.Da=!0};k.$m=function(a,b){this.F&&Fc(this.F,b,1,!1);return this.Ad(a,b)};k.mn=function(a,b){this.F&&Fc(this.F,b,2,!1);return this.cf(a,b)};k.fn=function(a,b){this.F&&Fc(this.F,b,4,!1);return this.nh(a,b)};k.yn=function(a,b,c){this.F&&Fc(this.F,c,1,!0);this.H||this.hf(a,b,c)};k.Kn=function(a,b,c){this.F&&Fc(this.F,c,2,!0);this.H||this.vh(a,b,c)};
k.En=function(a,b,c){this.F&&Fc(this.F,c,4,!0);this.H||this.U(a,b,c)};k.cn=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.mc(a,b)};k.pn=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.bf(a,b)};k.jn=function(a,b){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.I;return this.J.Nd(a,b)};k.Bn=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.nc(a,b,c)};
k.Nn=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.kf(a,b,c)};k.Hn=function(a,b,c){this.A.T[this.C]|=this.I;this.B.T[this.D]|=this.M;this.J.jf(a,b,c)};k.dn=function(a,b){return Gc(this.F,b,!1).mc(a,b)};k.qn=function(a,b){return Gc(this.F,b,!1).bf(a,b)};k.kn=function(a,b){return Gc(this.F,b,!1).Nd(a,b)};k.Cn=function(a,b,c){Gc(this.F,c,!0).nc(a,b,c)};k.On=function(a,b,c){Gc(this.F,c,!0).kf(a,b,c)};k.In=function(a,b,c){Gc(this.F,c,!0).jf(a,b,c)};k.Zm=function(a){return this.Fa[a]};
k.Jj=function(a){return this.Fa[a]};k.bn=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.mc=this.Jj;return this.Fa[a]};k.ln=function(a){return this.K.getUint16(a,!0)};k.Oj=function(a){return a&1?this.Fa[a]|this.Fa[a+1]<<8:this.rd[a>>1]};k.on=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.bf=this.Oj;return a&1?this.Fa[a]|this.Fa[a+1]<<8:this.rd[a>>1]};k.en=function(a){return this.K.getInt32(a,!0)};
k.Lj=function(a){return a&3?this.Fa[a]|this.Fa[a+1]<<8|this.Fa[a+2]<<16|this.Fa[a+3]<<24:this.T[a>>2]};k.hn=function(a){this.A.T[this.C]|=32;this.B.T[this.D]|=32;this.Nd=this.Lj;return a&3?this.Fa[a]|this.Fa[a+1]<<8|this.Fa[a+2]<<16|this.Fa[a+3]<<24:this.T[a>>2]};k.xn=function(a,b){this.Fa[a]=b;this.Da=!0};k.Xj=function(a,b){this.Fa[a]=b;this.Da=!0};k.An=function(a,b){this.Fa[a]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.nc=this.Xj;this.J.Da=!0};
k.Jn=function(a,b){this.K.setUint16(a,b,!0);this.Da=!0};k.Zj=function(a,b){a&1?(this.Fa[a]=b,this.Fa[a+1]=b>>8):this.rd[a>>1]=b;this.Da=!0};k.Mn=function(a,b){a&1?(this.Fa[a]=b,this.Fa[a+1]=b>>8):this.rd[a>>1]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.kf=this.Zj;this.J.Da=!0};k.Dn=function(a,b){this.K.setInt32(a,b,!0);this.Da=!0};k.Yj=function(a,b){a&3?(this.Fa[a]=b,this.Fa[a+1]=b>>8,this.Fa[a+2]=b>>16,this.Fa[a+3]=b>>24):this.T[a>>2]=b;this.Da=!0};
k.Gn=function(a,b){a&3?(this.Fa[a]=b,this.Fa[a+1]=b>>8,this.Fa[a+2]=b>>16,this.Fa[a+3]=b>>24):this.T[a>>2]=b;this.A.T[this.C]|=32;this.B.T[this.D]|=96;this.jf=this.Yj;this.J.Da=!0};function Hc(a){ob&&!dc&&(a=a<<24|a<<8&16711680|a>>8&65280|a>>>24);return a}
var wc=0,cc=2,xc=5,zc=6,Ic=["black","blue","green","cyan"],Ub="NONE RAM ROM VIDEO H/W UNPAGED PAGED".split(" "),vc=0,Bc=[],gc=[u.prototype.an,u.prototype.zn,u.prototype.nn,u.prototype.Ln,u.prototype.gn,u.prototype.Fn],Ec=[u.prototype.$m,u.prototype.yn,u.prototype.mn,u.prototype.Kn,u.prototype.fn,u.prototype.En],Ac=[u.prototype.cn,u.prototype.Bn,u.prototype.pn,u.prototype.Nn,u.prototype.jn,u.prototype.Hn],yc=[u.prototype.dn,u.prototype.Cn,u.prototype.qn,u.prototype.On,u.prototype.kn,u.prototype.In];
if(ob)var fc=[u.prototype.Zm,u.prototype.xn,u.prototype.ln,u.prototype.Jn,u.prototype.en,u.prototype.Dn],ec=[u.prototype.Jj,u.prototype.Xj,u.prototype.Oj,u.prototype.Zj,u.prototype.Lj,u.prototype.Yj],Jc=[u.prototype.bn,u.prototype.An,u.prototype.on,u.prototype.Mn,u.prototype.hn,u.prototype.Gn];
function Kc(a,b){t.call(this,"CPU",a);b=a.cycles||b;var c=a.multiplier||1;this.R={};this.R.Xc=b;this.R.yd=c;this.R.If=Math.round(this.R.Xc/1E4)/100;this.R.re=this.R.If*this.R.yd;this.ca.Ib=!1;this.ca.Uj=!1;this.ca.Fe=a.autoStart;this.ca.ji=!1;this.ca.Bf=!1;this.R.Kf=this.R.se=0;this.R.Lf=a.csStart;this.R.Ke=a.csInterval;this.R.Le=a.csStop;this.Ml=this.ag.bind(this);mb(this)}ba(Kc,t);k=Kc.prototype;
k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.Ea=d;for(b=0;b<Lc.length;b++)(c=this.ia[Lc[b]])&&this.oa.wb(null,Lc[b],c);this.Vd=vb(a,"FPU");this.V=vb(a,"ChipSet");a=Mc(a,"autoStart");null!=a&&(this.ca.Fe="true"==a?!0:"false"==a?!1:!!a);mb(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.Ob=function(a,b){if(!b){if(a&&this.restore){Nc(this);if(!this.restore(a))return!1;Oc(this)}else this.reset();this.lc("No debugger detected")}Pc(this);return!0};
k.Nb=function(a){return a?this.save():!0};k.Fe=function(){return this.ca.Fe||void 0===this.ia.run?(this.ag(),!0):!1};k.si=function(){return 0};function Oc(a){void 0===a.R.Lf&&(a.R.Lf=0);void 0===a.R.Ke&&(a.R.Ke=-1);void 0===a.R.Le&&(a.R.Le=-1);a.ca.Bf=0<=a.R.Lf&&0<a.R.Ke;a.ca.Bf&&(a.R.Kf=0,a.R.se=a.R.Lf-a.md)}
k.wb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.ia[b]=c;a=!0;break;case "run":this.ia[b]=c;c.onclick=function(){var a;if(a=d.oa)if(a=d.oa,a.ca.Pb)a=!0;else{var b=null,c,h=Ya(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.ca.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.ca.Pb);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.ca.ready?"powered yet":"ready yet"+(b.Gf?" (waiting for notification)":""))+".");a=!1}a&&(d.ca.Ib?Qc(d,!0):
d.ag(!0))};a=!0;break;case "speed":this.ia[b]=c;a=!0;break;case "setSpeed":this.ia[b]=c,c.onclick=function(){Rc(d,d.R.yd<<1,!0)},c.textContent=this.R.re.toFixed(2)+"Mhz",a=!0}return a};function Sc(a,b){a.ca.Ib&&(b=a.A-b,a.A-=b,a.Hc-=b)}function Tc(a,b,c){a.md+=b;c&&(a.Hc=a.A=0)}
function Uc(a,b){var c=Vc;c<Wc&&(c=Wc);c<Xc&&(c=Xc);var d=1;b&&1<a.R.yd&&a.R.wd&&(d=a.R.wd/a.R.If);a.R.Bi=Math.round(1E3/Vc);a.R.Ul=Math.floor(a.R.Xc/c*d);a.R.yg=Math.floor(a.R.Xc/Vc*d);a.R.Di=Math.floor(a.R.Xc/Wc*d);a.R.Ci=Math.floor(a.R.Xc/Xc*d);b||(a.R.Oe=a.R.yg,a.R.Ne=a.R.Di,a.R.Me=a.R.Ci);a.R.zg=0}function Yc(a,b){var c=a.md+a.Sc+a.Hc-a.A;b&&1<a.R.yd&&a.R.wd>a.R.If&&(c=Math.round(c/a.R.yd));return c}function Nc(a){a.R.wd=0;a.md=a.Sc=a.Hc=a.A=0;Oc(a);Rc(a,1)}
function Uc(a,b){var c=Vc;c<Wc&&(c=Wc);c<Xc&&(c=Xc);var d=1;b&&1<a.R.yd&&a.R.wd&&(d=a.R.wd/a.R.If);a.R.Bi=Math.round(1E3/Vc);a.R.Vl=Math.floor(a.R.Xc/c*d);a.R.yg=Math.floor(a.R.Xc/Vc*d);a.R.Di=Math.floor(a.R.Xc/Wc*d);a.R.Ci=Math.floor(a.R.Xc/Xc*d);b||(a.R.Oe=a.R.yg,a.R.Ne=a.R.Di,a.R.Me=a.R.Ci);a.R.zg=0}function Yc(a,b){var c=a.md+a.Sc+a.Hc-a.A;b&&1<a.R.yd&&a.R.wd>a.R.If&&(c=Math.round(c/a.R.yd));return c}function Nc(a){a.R.wd=0;a.md=a.Sc=a.Hc=a.A=0;Oc(a);Rc(a,1)}
function Rc(a,b,c){if(void 0!==b){.8>a.R.wd/a.R.re&&(b=1);a.R.yd=b;b=a.R.If*a.R.yd;if(a.R.re!=b){a.R.re=b;b=a.R.re.toFixed(2)+"Mhz";var d=a.ia.setSpeed;d&&(d.textContent=b);a.lc("target speed: "+b)}c&&a.oa&&Zc(a.oa)}Tc(a,a.Sc);a.Sc=0;a.R.xd=Aa();a.R.Kd=0;Uc(a)}
l.ag=function(a){if(nb(this,!0)){if(!this.ca.Ib){Rc(this);this.oa&&this.oa.start(this.R.xd,Yc(this));this.ca.Ib=!0;this.ca.Uj=!0;this.V&&this.V.start();var b=this.ia.run;b&&(b.textContent="Halt");this.oa&&($c(this.oa,!0),a&&Zc(this.oa,!0))}this.R.zg>=this.R.Xc&&Uc(this,!0);this.R.Pe=0;this.R.Jf=Aa();this.R.Kd&&(a=this.R.Jf-this.R.Kd,a>this.R.Bi&&(this.R.xd+=a,this.R.xd>this.R.Jf&&(this.R.xd=this.R.Jf)));try{do{var c=this.ca.Bf?1:this.R.Ul;if(this.V){ad(this.V);var d=this.V;a=c;var e=d.H[0];if(e.Hd){var f=
(Yc(d.U,d.V)-e.gd)/d.za|0,g=bd(d,0)-f;e.mode==cd&&(g-=f);var h=g*d.za|0;e.mode==cd&&(h>>=1);a>h&&(a=h)}var c=a,k=this.V;a=c;if(k.A&&k.A[dd]&ed){var m=k.X-Yc(k.U,k.V);0<m&&a>m&&(a=m)}c=a}try{this.zh(c)}catch(y){if("number"!=typeof y)throw y;}var q=this.Hc-this.A;this.Sc+=q;this.R.Pe+=q;Tc(this,0,!0);a=q;this.ca.Bf&&(b=!1,this.R.Kf=this.R.Kf+this.si()|0,this.R.se-=a,0>=this.R.se&&(this.R.se+=this.R.Ke,b=!0),0<=this.R.Le&&this.R.Le<=Yc(this)&&(this.R.Ke=this.R.Le=-1,Oc(this),Qc(this),b=!0),b&&this.lc(Yc(this)+
" cycles: checksum="+oa(this.R.Kf)));this.R.Ne-=q;0>=this.R.Ne&&(this.R.Ne+=this.R.Di,this.oa&&fd(this.oa));this.R.Me-=q;0>=this.R.Me&&(this.R.Me+=this.R.Ci,this.oa&&$c(this.oa));this.R.Oe-=q;if(0>=this.R.Oe){this.R.Oe+=this.R.yg;break}}while(this.ca.Ib)}catch(y){Qc(this);Pc(this);this.oa&&this.oa.stop(Aa(),Yc(this));nb(this,!1);kb(this,y.stack||y.message);return}c=setTimeout;d=this.Ll;this.R.Kd=Aa();e=this.R.Bi;this.R.Pe&&(e=Math.round(e*this.R.Pe/this.R.yg));e-=this.R.Kd-this.R.Jf;if(f=this.R.Kd-
this.R.xd)this.R.wd=Math.round(this.Sc/(10*f))/100,864E5<=f&&(this.md=0,this.V&&ad(this.V,!0),Rc(this));if(0>e||this.R.wd<this.R.re)-1E3>e&&(this.R.xd-=e),e=0;this.R.zg+=this.R.Pe;this.R.Kd+=e;c(d,e)}else Pc(this),this.oa&&this.oa.stop(Aa(),Yc(this))};l.zh=function(){return 0};function Qc(a,b){a.ca.xf&&(a.ca.mg=!0);a.Hc-=a.A;a.A=0;Tc(a,a.Sc);a.Sc=0;if(a.ca.Ib){a.ca.Ib=!1;a.V&&a.V.stop();var c=a.ia.run;c&&(c.textContent="Run")}a.ca.complete=b}
function Pc(a){a.oa&&(fd(a.oa,void 0),$c(a.oa,void 0))}var Vc=30,Wc=60,Xc=2,Lc=["power","reset"];function gd(a,b,c,d){this.B=a;this.Ea=a.Ea;this.id=b;this.Zf=c||"";this.ha=0;this.Ta=65535;this.C=this.Ta+1;this.ob=this.gc=this.ext=this.jb=this.type=this.va=0;this.$b=-1;this.S=this.Jc=2;this.N=this.ra=65535;this.J=this.Ai;this.H=this.fi;this.I=this.hi;this.A={ha:-1,va:0,Ta:0,jb:0,type:0,ext:0,$b:-1};1==this.id&&(this.$e=0,this.D=null,this.oe=!1,this.G=Array(32),this.F=[]);hd(this,!0,d)}l=gd.prototype;
l.Ai=function(a){this.ha=a&65535;return this.va=this.ha<<4};l.Hf=function(a,b){var c,d,e=this.B;a&=65535;a&4?(c=e.jc.va,d=c+e.jc.Ta|0):(c=e.Kb,d=e.Oc);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,id(this,c,a,b);this.id<jd&&v.call(e,b&&this.id==kd?10:13,a&65532)}return-1};l.Pl=function(a){var b=this.B;a=b.Tb+(a<<2);var c=b.fa(a);b.O&=-769;return this.load(b.fa(a+2))+c|0};
l.Ol=function(a){var b=this.B;a<<=3;var c=b.Tb+a|0;if(7<=(b.Pc-c|0))return this.D=!0,a=id(this,c,a),-1!==a&&(a+=this.$e),a;v.call(b,13,a|2);return-1};l.fi=function(a){return this.va+a|0};l.hi=function(a){return this.va+a|0};l.ei=function(a,b){return(a>>>0)+b<=this.C?this.va+a|0:this.zf()};l.mk=function(a,b){return(a>>>0)+b>this.C?this.va+a|0:this.zf()};l.zf=function(){v.call(this.B,13,0);return-1};l.gi=function(a,b){return(a>>>0)+b<=this.C?this.va+a|0:this.Af()};
l.nk=function(a,b){return(a>>>0)+b>this.C?this.va+a|0:this.Af()};l.Af=function(){v.call(this.B,13,0);return-1};function ld(a,b,c,d,e){a.ha=b;a.va=d;a.Ta=e;a.C=(e>>>0)+1;a.jb=c;a.type=c&7936;a.ext=c>>16&192;a.$b=(b&4?a.B.jc.va:a.B.Kb)+(b&65528)|0;a.id<md&&hd(a,!0)}function nd(a,b,c){var d=a.B,e=d.fa(b+2),f=d.fa(b)|(e&255)<<16,d=d.fa(b+4);a.ha=c;a.va=f;a.Ta=d;a.C=(d>>>0)+1;a.jb=e;a.type=e&7936;a.ext=0;a.$b=b;a.id<md&&hd(a,!0)}
function id(a,b,c,d){var e=a.B;if(!d&&c===a.A.ha)return a.ha=c,a.va=a.A.va,a.Ta=a.A.Ta,a.C=(a.A.Ta>>>0)+1,a.jb=a.A.jb,a.type=a.A.type,a.ext=a.A.ext,a.$b=a.A.$b,a.A.ha=-1,hd(a,!0,!0,!1),a.va;a.A.ha=-1;var f=e.fa(b+0),g=e.fa(b+4),h=g&7936,k=e.fa(b+2)|(g&255)<<16,m=e.fa(b+6),q=c&65528;if(80386<=e.aa){var y=f,k=k|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case od:var w=a.D;a.oe=!1;if(w&&c==qd&&a.F.length){var z=a.F[a.$e-1];if(z&&!z())return-1}var B=c&3,S=(g&24576)>>13,z=-1,X,ca;q||
b>=e.Kb&&b<e.Oc&&(h=0);if(6144<=h)null!=d?z=0:!1!==w?(h&1024?S<=a.ob&&(z=0):B<=a.ob&&S==a.ob&&(z=0),z||(c=c&-4|a.ob&3)):B>=a.ob&&(B>a.ob&&(z=x(e),rd(e,x(e),!0),A(e,z),a.oe=!0),z=0);else{if(256==h||2304==h)return sd(a,c,w)?a.va:-1;if(1024==h)z=2,ca=0,B<a.ob&&(B=a.ob);else if(3072==h)z=4,ca=0,B<a.ob&&(B=a.ob);else if(1536==h)z=2,ca=148224;else if(3584==h)z=4,ca=148224;else if(1792==h)z=2,ca=147712;else if(3840==h)z=4,ca=147712;else if(1280==h)return sd(a,k&65535,w)?a.va:-1}0<z&&!(g&32768)&&(z=0);if(0<
z&&(q=a.ob,X=b==e.Tb+c,B<=S&&(!X||0<=e.xc||q<=S))){b=k&65535;h&2048&&(f=y|m<<16);m=h=0;d=b&3;if(d<q){if(-1===a.Hf(b,!0))return-1;m=e.la.va;e.la.type&2048?(c=(d<<3)+4,k=4):(c=(d<<2)+2,k=2);h=e.fa(m+c+k);if(!h)return v.call(e,10,h),-1;if(-1===e.W.Hf(h,!0))return-1;m=2==k?e.fa(m+c):e.da(m+c)}c=e.O;e.O&=~ca;c&131072&&td(e,!0,!1);if(-1===a.Hf(b,!1))return-1;ud(e,z);a.$e=f;if(d<q){if(!0!==w)return-1;z=C(e);f=0;for(g&=31;g--;)a.G[f++]=vd(e,e.W,z),z+=2;w=e.W.ha;g=C(e);rd(e,h,!0);A(e,m);c&131072&&(ud(e,4),
k.ag=function(a){if(nb(this,!0)){if(!this.ca.Ib){Rc(this);this.oa&&this.oa.start(this.R.xd,Yc(this));this.ca.Ib=!0;this.ca.Uj=!0;this.V&&this.V.start();var b=this.ia.run;b&&(b.textContent="Halt");this.oa&&($c(this.oa,!0),a&&Zc(this.oa,!0))}this.R.zg>=this.R.Xc&&Uc(this,!0);this.R.Pe=0;this.R.Jf=Aa();this.R.Kd&&(a=this.R.Jf-this.R.Kd,a>this.R.Bi&&(this.R.xd+=a,this.R.xd>this.R.Jf&&(this.R.xd=this.R.Jf)));try{do{var c=this.ca.Bf?1:this.R.Vl;if(this.V){ad(this.V);var d=this.V;a=c;var e=d.H[0];if(e.Hd){var f=
(Yc(d.U,d.V)-e.gd)/d.za|0,g=bd(d,0)-f;e.mode==cd&&(g-=f);var h=g*d.za|0;e.mode==cd&&(h>>=1);a>h&&(a=h)}var c=a,l=this.V;a=c;if(l.A&&l.A[dd]&ed){var m=l.X-Yc(l.U,l.V);0<m&&a>m&&(a=m)}c=a}try{this.zh(c)}catch(y){if("number"!=typeof y)throw y;}var q=this.Hc-this.A;this.Sc+=q;this.R.Pe+=q;Tc(this,0,!0);a=q;this.ca.Bf&&(b=!1,this.R.Kf=this.R.Kf+this.si()|0,this.R.se-=a,0>=this.R.se&&(this.R.se+=this.R.Ke,b=!0),0<=this.R.Le&&this.R.Le<=Yc(this)&&(this.R.Ke=this.R.Le=-1,Oc(this),Qc(this),b=!0),b&&this.lc(Yc(this)+
" cycles: checksum="+oa(this.R.Kf)));this.R.Ne-=q;0>=this.R.Ne&&(this.R.Ne+=this.R.Di,this.oa&&fd(this.oa));this.R.Me-=q;0>=this.R.Me&&(this.R.Me+=this.R.Ci,this.oa&&$c(this.oa));this.R.Oe-=q;if(0>=this.R.Oe){this.R.Oe+=this.R.yg;break}}while(this.ca.Ib)}catch(y){Qc(this);Pc(this);this.oa&&this.oa.stop(Aa(),Yc(this));nb(this,!1);kb(this,y.stack||y.message);return}c=setTimeout;d=this.Ml;this.R.Kd=Aa();e=this.R.Bi;this.R.Pe&&(e=Math.round(e*this.R.Pe/this.R.yg));e-=this.R.Kd-this.R.Jf;if(f=this.R.Kd-
this.R.xd)this.R.wd=Math.round(this.Sc/(10*f))/100,864E5<=f&&(this.md=0,this.V&&ad(this.V,!0),Rc(this));if(0>e||this.R.wd<this.R.re)-1E3>e&&(this.R.xd-=e),e=0;this.R.zg+=this.R.Pe;this.R.Kd+=e;c(d,e)}else Pc(this),this.oa&&this.oa.stop(Aa(),Yc(this))};k.zh=function(){return 0};function Qc(a,b){a.ca.xf&&(a.ca.mg=!0);a.Hc-=a.A;a.A=0;Tc(a,a.Sc);a.Sc=0;if(a.ca.Ib){a.ca.Ib=!1;a.V&&a.V.stop();var c=a.ia.run;c&&(c.textContent="Run")}a.ca.complete=b}
function Pc(a){a.oa&&(fd(a.oa,void 0),$c(a.oa,void 0))}var Vc=30,Wc=60,Xc=2,Lc=["power","reset"];function gd(a,b,c,d){this.B=a;this.Ea=a.Ea;this.id=b;this.Zf=c||"";this.ha=0;this.Ta=65535;this.C=this.Ta+1;this.ob=this.gc=this.ext=this.jb=this.type=this.va=0;this.$b=-1;this.S=this.Jc=2;this.N=this.ra=65535;this.J=this.Ai;this.H=this.fi;this.I=this.hi;this.A={ha:-1,va:0,Ta:0,jb:0,type:0,ext:0,$b:-1};1==this.id&&(this.$e=0,this.D=null,this.oe=!1,this.G=Array(32),this.F=[]);hd(this,!0,d)}k=gd.prototype;
k.Ai=function(a){this.ha=a&65535;return this.va=this.ha<<4};k.Hf=function(a,b){var c,d,e=this.B;a&=65535;a&4?(c=e.jc.va,d=c+e.jc.Ta|0):(c=e.Kb,d=e.Oc);if(c){c=c+(a&65528)|0;if(d-c|0)return e.A-=15,id(this,c,a,b);this.id<jd&&v.call(e,b&&this.id==kd?10:13,a&65532)}return-1};k.Ql=function(a){var b=this.B;a=b.Tb+(a<<2);var c=b.fa(a);b.O&=-769;return this.load(b.fa(a+2))+c|0};
k.Pl=function(a){var b=this.B;a<<=3;var c=b.Tb+a|0;if(7<=(b.Pc-c|0))return this.D=!0,a=id(this,c,a),-1!==a&&(a+=this.$e),a;v.call(b,13,a|2);return-1};k.fi=function(a){return this.va+a|0};k.hi=function(a){return this.va+a|0};k.ei=function(a,b){return(a>>>0)+b<=this.C?this.va+a|0:this.zf()};k.mk=function(a,b){return(a>>>0)+b>this.C?this.va+a|0:this.zf()};k.zf=function(){v.call(this.B,13,0);return-1};k.gi=function(a,b){return(a>>>0)+b<=this.C?this.va+a|0:this.Af()};
k.nk=function(a,b){return(a>>>0)+b>this.C?this.va+a|0:this.Af()};k.Af=function(){v.call(this.B,13,0);return-1};function ld(a,b,c,d,e){a.ha=b;a.va=d;a.Ta=e;a.C=(e>>>0)+1;a.jb=c;a.type=c&7936;a.ext=c>>16&192;a.$b=(b&4?a.B.jc.va:a.B.Kb)+(b&65528)|0;a.id<md&&hd(a,!0)}function nd(a,b,c){var d=a.B,e=d.fa(b+2),f=d.fa(b)|(e&255)<<16,d=d.fa(b+4);a.ha=c;a.va=f;a.Ta=d;a.C=(d>>>0)+1;a.jb=e;a.type=e&7936;a.ext=0;a.$b=b;a.id<md&&hd(a,!0)}
function id(a,b,c,d){var e=a.B;if(!d&&c===a.A.ha)return a.ha=c,a.va=a.A.va,a.Ta=a.A.Ta,a.C=(a.A.Ta>>>0)+1,a.jb=a.A.jb,a.type=a.A.type,a.ext=a.A.ext,a.$b=a.A.$b,a.A.ha=-1,hd(a,!0,!0,!1),a.va;a.A.ha=-1;var f=e.fa(b+0),g=e.fa(b+4),h=g&7936,l=e.fa(b+2)|(g&255)<<16,m=e.fa(b+6),q=c&65528;if(80386<=e.aa){var y=f,l=l|(m&65280)<<16,f=f|(m&15)<<16;m&128&&(f=f<<12|4095)}switch(a.id){case od:var w=a.D;a.oe=!1;if(w&&c==qd&&a.F.length){var z=a.F[a.$e-1];if(z&&!z())return-1}var B=c&3,S=(g&24576)>>13,z=-1,X,ca;q||
b>=e.Kb&&b<e.Oc&&(h=0);if(6144<=h)null!=d?z=0:!1!==w?(h&1024?S<=a.ob&&(z=0):B<=a.ob&&S==a.ob&&(z=0),z||(c=c&-4|a.ob&3)):B>=a.ob&&(B>a.ob&&(z=x(e),rd(e,x(e),!0),A(e,z),a.oe=!0),z=0);else{if(256==h||2304==h)return sd(a,c,w)?a.va:-1;if(1024==h)z=2,ca=0,B<a.ob&&(B=a.ob);else if(3072==h)z=4,ca=0,B<a.ob&&(B=a.ob);else if(1536==h)z=2,ca=148224;else if(3584==h)z=4,ca=148224;else if(1792==h)z=2,ca=147712;else if(3840==h)z=4,ca=147712;else if(1280==h)return sd(a,l&65535,w)?a.va:-1}0<z&&!(g&32768)&&(z=0);if(0<
z&&(q=a.ob,X=b==e.Tb+c,B<=S&&(!X||0<=e.xc||q<=S))){b=l&65535;h&2048&&(f=y|m<<16);m=h=0;d=b&3;if(d<q){if(-1===a.Hf(b,!0))return-1;m=e.la.va;e.la.type&2048?(c=(d<<3)+4,l=4):(c=(d<<2)+2,l=2);h=e.fa(m+c+l);if(!h)return v.call(e,10,h),-1;if(-1===e.W.Hf(h,!0))return-1;m=2==l?e.fa(m+c):e.da(m+c)}c=e.O;e.O&=~ca;c&131072&&td(e,!0,!1);if(-1===a.Hf(b,!1))return-1;ud(e,z);a.$e=f;if(d<q){if(!0!==w)return-1;z=C(e);f=0;for(g&=31;g--;)a.G[f++]=vd(e,e.W,z),z+=2;w=e.W.ha;g=C(e);rd(e,h,!0);A(e,m);c&131072&&(ud(e,4),
wd(e,e.rb.ha,4,2),e.rb.load(0),wd(e,e.qb.ha,4,2),e.qb.load(0),wd(e,e.Ca.ha,4,2),xd(e,0),wd(e,e.ua.ha,4,2),yd(e,0));wd(e,w,e.S,2);for(D(e,g);f;)D(e,a.G[--f]);a.oe=!0}return a.va}if(z)return v.call(e,13,c&65532|(X?2:0)),-1;if(!(g&32768))return v.call(e,11,c&65532|(X?2:0)),-1;break;case zd:if(q){if(4096>h||2048==(h&2560))return v.call(e,13,c&65532),-1;if(!(g&32768))return v.call(e,11,c&65532),-1}break;case kd:if(!q||4096>h||512!=(h&2560))return v.call(e,13,c&65532),-1;if(!(g&32768))return v.call(e,12,
c&65532),-1;break;case md:w=h&-513;if(!q||256!=w&&2304!=w)return v.call(e,13,c&65532),-1;2304==w&&(a.Yh=k+e.fa(k+102)|0,a.jk=k+a.Ta|0);break;case jd:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.ha=c,a.A.va=k,a.A.Ta=f,a.A.jb=g,a.A.type=h,a.A.ext=m,a.A.$b=b):(a.ha=c,a.va=k,a.Ta=f,a.C=(f>>>0)+1,a.jb=g,a.type=h,a.ext=m,a.$b=b,hd(a,!0,!0,!1));return k}
c&65532),-1;break;case md:w=h&-513;if(!q||256!=w&&2304!=w)return v.call(e,13,c&65532),-1;2304==w&&(a.Yh=l+e.fa(l+102)|0,a.jk=l+a.Ta|0);break;case jd:if(!(h&4096)&&768<h&&2304!=h&&2816!=h)return-1}d?(a.A.ha=c,a.A.va=l,a.A.Ta=f,a.A.jb=g,a.A.type=h,a.A.ext=m,a.A.$b=b):(a.ha=c,a.va=l,a.Ta=f,a.C=(f>>>0)+1,a.jb=g,a.type=h,a.ext=m,a.$b=b,hd(a,!0,!0,!1));return l}
function sd(a,b,c){var d=a.B,e=a.ob,f=d.la.ha,g=d.la.va;if(!c){if(!(d.la.type&512))return v.call(d,13,b&65532),!1;d.Wa(d.la.$b+4,d.la.jb&=-513)}if(-1===d.la.load(b))return!1;var h=d.la.va;if(!1!==c){if(d.la.type&512)return v.call(d,13,b&65532),!1;d.Wa(d.la.$b+4,d.la.jb|=512)}d.la.type=d.la.type&-513|d.la.jb&512;256==d.la.type||768==d.la.type?(d.Wa(g+14,E(d)),d.Wa(g+16,Ad(d)),d.Wa(g+18,d.F),d.Wa(g+20,d.H),d.Wa(g+22,d.K),d.Wa(g+24,d.G),d.Wa(g+26,C(d)),d.Wa(g+28,d.L),d.Wa(g+30,d.J),d.Wa(g+32,d.I),d.Wa(g+
34,d.ua.ha),d.Wa(g+36,d.ga.ha),d.Wa(g+38,d.W.ha),d.Wa(g+40,d.Ca.ha),d.jc.load(d.fa(h+42)),Bd(d,d.fa(h+16)|(c?16384:0)),d.F=d.fa(h+18),d.H=d.fa(h+20),d.K=d.fa(h+22),d.G=d.fa(h+24),d.L=d.fa(h+28),d.J=d.fa(h+30),d.I=d.fa(h+32),d.ua.load(d.fa(h+34)),d.Ca.load(d.fa(h+40)),Cd(d,d.fa(h+14),d.fa(h+36)),b=38,g=26,a.ob<e&&(g=(a.ob<<2)+2,b=g+2),rd(d,d.fa(h+b),!0),A(d,d.fa(h+g))):(d.Pa(g+28,d.nd),d.Pa(g+32,E(d)),d.Pa(g+36,Ad(d)),d.Pa(g+40,d.F),d.Pa(g+44,d.H),d.Pa(g+48,d.K),d.Pa(g+52,d.G),d.Pa(g+56,C(d)),d.Pa(g+
60,d.L),d.Pa(g+64,d.J),d.Pa(g+68,d.I),d.Pa(g+72,d.ua.ha),d.Pa(g+76,d.ga.ha),d.Pa(g+80,d.W.ha),d.Pa(g+84,d.Ca.ha),d.Pa(g+88,d.qb.ha),d.Pa(g+92,d.rb.ha),Dd.call(d,d.da(h+28)),d.jc.load(d.fa(h+96)),Bd(d,d.da(h+36)|(c?16384:0)),d.F=d.da(h+40),d.H=d.da(h+44),d.K=d.da(h+48),d.G=d.da(h+52),d.L=d.da(h+60),d.J=d.da(h+64),d.I=d.da(h+68),d.ua.load(d.fa(h+72)),d.Ca.load(d.fa(h+84)),d.qb.load(d.fa(h+88)),d.rb.load(d.fa(h+92)),Cd(d,d.da(h+32),d.fa(h+76)),b=80,g=56,a.ob<e&&(g=(a.ob<<3)+4,b=g+4),rd(d,d.fa(h+b),!0),
A(d,d.da(h+g)));c&&d.Wa(h+0,f);d.pa|=8;return!0}l.save=function(){return[this.ha,this.va,this.Ta,this.jb,this.id,this.Zf,this.ob,this.gc,this.$b,this.Jc,this.ra,this.S,this.N,this.type,this.C]};l.restore=function(a){"number"==typeof a?this.load(a):(this.ha=a[0],this.va=a[1],this.Ta=a[2],this.jb=a[3],this.id=a[4],this.Zf=a[5],this.ob=a[6],this.gc=a[7],this.$b=a[8],this.Jc=a[9]||2,this.ra=a[10]||65535,this.S=a[11]||2,this.N=a[12]||65535,this.type=a[13]||this.jb&7936,this.C=a[14]||(this.Ta>>>0)+1)};
function hd(a,b,c,d){void 0===c&&(c=!!(a.B.pa&1));a.vd=!1;if(c)if(a.load=a.Hf,a.zi=a.Ol,a.Lb=a.ei,a.Mb=a.gi,void 0===d&&(d=!!(a.B.O&131072)),d)a.load=a.J,a.Lb=a.H,a.Mb=a.I,a.ob=a.gc=3,a.S=2,a.N=a.ra=65535,a.Ta=65535,a.C=a.Ta+1,a.Jc=a.S,a.$b=-1,a.oe=!1;else{if(!(a.ha&-4))a.Lb=a.zf,a.Mb=a.Af;else if(a.type&4096){6144==(a.type&6656)&&(a.Lb=a.zf);if(a.type&2048||!(a.type&512))a.Mb=a.Af;1024==(a.type&3072)&&(a.Lb==a.ei&&(a.Lb=a.mk),a.Mb==a.gi&&(a.Mb=a.nk),a.vd=!0);b&&a.id<jd&&a.ha&-4&&-1!==a.$b&&(c=a.$b+
5,d=a.B.Eb(c),d&1||a.B.Dc(c,d|1))}b&&(a.ob=a.ha&3,a.gc=(a.jb&24576)>>13,80386>a.B.aa||!(a.ext&64)?(a.S=2,a.N=65535):(a.S=4,a.N=-1),a.Jc=a.S,a.ra=a.N)}else a.load=a.Ai,a.zi=a.Pl,a.Lb=a.fi,a.Mb=a.hi,a.ob=a.gc=0,a.$b=-1,a.oe=!1}var od=1,zd=2,kd=3,md=4,jd=6,qd=1;
A(d,d.da(h+g)));c&&d.Wa(h+0,f);d.pa|=8;return!0}k.save=function(){return[this.ha,this.va,this.Ta,this.jb,this.id,this.Zf,this.ob,this.gc,this.$b,this.Jc,this.ra,this.S,this.N,this.type,this.C]};k.restore=function(a){"number"==typeof a?this.load(a):(this.ha=a[0],this.va=a[1],this.Ta=a[2],this.jb=a[3],this.id=a[4],this.Zf=a[5],this.ob=a[6],this.gc=a[7],this.$b=a[8],this.Jc=a[9]||2,this.ra=a[10]||65535,this.S=a[11]||2,this.N=a[12]||65535,this.type=a[13]||this.jb&7936,this.C=a[14]||(this.Ta>>>0)+1)};
function hd(a,b,c,d){void 0===c&&(c=!!(a.B.pa&1));a.vd=!1;if(c)if(a.load=a.Hf,a.zi=a.Pl,a.Lb=a.ei,a.Mb=a.gi,void 0===d&&(d=!!(a.B.O&131072)),d)a.load=a.J,a.Lb=a.H,a.Mb=a.I,a.ob=a.gc=3,a.S=2,a.N=a.ra=65535,a.Ta=65535,a.C=a.Ta+1,a.Jc=a.S,a.$b=-1,a.oe=!1;else{if(!(a.ha&-4))a.Lb=a.zf,a.Mb=a.Af;else if(a.type&4096){6144==(a.type&6656)&&(a.Lb=a.zf);if(a.type&2048||!(a.type&512))a.Mb=a.Af;1024==(a.type&3072)&&(a.Lb==a.ei&&(a.Lb=a.mk),a.Mb==a.gi&&(a.Mb=a.nk),a.vd=!0);b&&a.id<jd&&a.ha&-4&&-1!==a.$b&&(c=a.$b+
5,d=a.B.Eb(c),d&1||a.B.Dc(c,d|1))}b&&(a.ob=a.ha&3,a.gc=(a.jb&24576)>>13,80386>a.B.aa||!(a.ext&64)?(a.S=2,a.N=65535):(a.S=4,a.N=-1),a.Jc=a.S,a.ra=a.N)}else a.load=a.Ai,a.zi=a.Ql,a.Lb=a.fi,a.Mb=a.hi,a.ob=a.gc=0,a.$b=-1,a.oe=!1}var od=1,zd=2,kd=3,md=4,jd=6,qd=1;
function Ed(a){var b=+a.model||8088,c;switch(b){default:c=4772727;break;case 80286:c=6E6;break;case 80386:c=16E6}Kc.call(this,a,c);this.aa=b;a=a.stepping;this.pd=b+(a?na(a,16):0);this.Vh=61442;this.od=1792;this.Uh=28672;this.lf=4;this.Ha=255;this.B=80286<=this.aa?qb:pb;this.qa=Fd;this.di=Gd;this.ii=Hd;this.mi=Id;if(80186<=this.aa&&(this.qa=Fd.slice(),this.di=Gd.slice(),this.ii=Hd.slice(),this.Ha=31,this.qa[15]=Jd,this.qa[96]=Kd,this.qa[97]=Ld,this.qa[98]=Md,this.qa[99]=Jd,this.qa[100]=Jd,this.qa[101]=
Jd,this.qa[102]=Jd,this.qa[103]=Jd,this.qa[104]=Nd,this.qa[105]=Od,this.qa[106]=Pd,this.qa[107]=Qd,this.qa[108]=Rd,this.qa[109]=Sd,this.qa[110]=Td,this.qa[111]=Ud,this.qa[192]=Vd,this.qa[193]=Wd,this.qa[200]=Xd,this.qa[201]=Yd,this.qa[241]=Zd,this.di[7]=$d,this.ii[7]=$d,80286<=this.aa)){this.Vh=2;this.od|=28672;this.lf=0;this.qa[15]=ae;this.ld=be.slice();for(b=0;b<this.ld.length;b++)this.ld[b]||(this.ld[b]=ce);this.qa[84]=de;this.qa[99]=ee;if(80386<=this.aa){var d;this.Uh=0;this.od|=196608;this.qa[100]=
fe;this.qa[101]=ge;this.qa[102]=he;this.qa[103]=ie;for(d in F)this.ld[+d]=F[+d];80546<=this.pd&&80562>=this.pd&&(this.ld[166]=je,this.ld[167]=ke)}}this.pf=[];this.bi=[];this.cg=0;Nc(this);this.ca.complete=this.ca.qk=!1;this.ri=0;this.Nc=this.X=[];this.yb=this.wh=this.xb=this.mf=this.ye=this.ze=this.Ic=0;le(this)}ba(Ed,Kc);
function Tb(a){var b;if(a.X===a.Nc){a.X=Array(a.mf);a.qf=new u(null,0,0,xc,null,a);Ob(a.qf,a.Ea);for(b=0;b<a.mf;b++)a.X[b]=a.qf;a.Ae=new u;a.Xh=Array(me);a.rf=0}else for(var c=0;c<a.nf.length;c++){b=a.nf[c];var d=a.X[b];a.rf<me&&(a.Xh[a.rf++]=d);a.X[b]=a.qf}a.nf=[]}
function Gc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.Nc[(a.nd+e&a.ze)>>>a.yb],g=f.Nd(e);if(!(g&1))return d||ne.call(a,b,!1,c),a.Ae;if(!(g&4)&&3==a.Ga)return d||ne.call(a,b,!0,c),a.Ae;var h=(b&4190208)>>>10,g=a.Nc[((g&-4096)+h&a.ze)>>>a.yb],k=g.Nd(h);if(!(k&1))return d||ne.call(a,b,!1,c),a.Ae;if(!(k&4)&&3==a.Ga)return d||ne.call(a,b,!0,c),a.Ae;c=a.Nc[((k&-4096)+(b&4095)&a.ze)>>>a.yb];if(d)return c;d=b>>>a.yb;k=a.X[d];b&=-4096;var m;0<a.rf?(m=a.Xh[--a.rf],m.Hl(b)):m=new u(b,0,0,zc);b=m;b.J=c;b.A=f;b.C=
e>>2;b.B=g;b.D=h>>2;ob&&dc&&c.T&&!c.controller&&!c.fe&&!c.ge?(b.Fa=c.Fa,b.rd=c.rd,b.T=c.T,Zb(b,Jc)):(b.I=c?Hc(32):0,b.M=c?Hc(96):0,Zb(b,Ac));Ob(b,a.Ea,k);a.X[d]=b;a.nf.push(d);return b}function oe(a){a.X!==a.Nc&&(a.X=a.Nc,a.qf=null,a.nf=null,a.Ae=null)}l=Ed.prototype;l.reset=function(){this.ca.Ib&&Qc(this);le(this);Nc(this);this.ca.error=!1};
function Gc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.Nc[(a.nd+e&a.ze)>>>a.yb],g=f.Nd(e);if(!(g&1))return d||ne.call(a,b,!1,c),a.Ae;if(!(g&4)&&3==a.Ga)return d||ne.call(a,b,!0,c),a.Ae;var h=(b&4190208)>>>10,g=a.Nc[((g&-4096)+h&a.ze)>>>a.yb],l=g.Nd(h);if(!(l&1))return d||ne.call(a,b,!1,c),a.Ae;if(!(l&4)&&3==a.Ga)return d||ne.call(a,b,!0,c),a.Ae;c=a.Nc[((l&-4096)+(b&4095)&a.ze)>>>a.yb];if(d)return c;d=b>>>a.yb;l=a.X[d];b&=-4096;var m;0<a.rf?(m=a.Xh[--a.rf],m.Hl(b)):m=new u(b,0,0,zc);b=m;b.J=c;b.A=f;b.C=
e>>2;b.B=g;b.D=h>>2;ob&&dc&&c.T&&!c.controller&&!c.fe&&!c.ge?(b.Fa=c.Fa,b.rd=c.rd,b.T=c.T,Zb(b,Jc)):(b.I=c?Hc(32):0,b.M=c?Hc(96):0,Zb(b,Ac));Ob(b,a.Ea,l);a.X[d]=b;a.nf.push(d);return b}function oe(a){a.X!==a.Nc&&(a.X=a.Nc,a.qf=null,a.nf=null,a.Ae=null)}k=Ed.prototype;k.reset=function(){this.ca.Ib&&Qc(this);le(this);Nc(this);this.ca.error=!1};
function pe(a,b){var c;switch(b){case 0:c=a.F;break;case 1:c=a.H;break;case 2:c=a.K;break;case 3:c=a.G;break;case 4:c=C(a);break;case 5:c=a.L;break;case 6:c=a.J;break;case 7:c=a.I}return c}function qe(a,b,c){switch(b){case 0:a.F=c;break;case 1:a.H=c;break;case 2:a.K=c;break;case 3:a.G=c;break;case 4:A(a,c);break;case 5:a.L=c;break;case 6:a.J=c;break;case 7:a.I=c}}
function le(a){a.F=0;a.G=0;a.H=0;a.K=0;a.ic=0;a.L=0;a.J=0;a.I=0;a.cc=!1;a.za=a.Va=0;a.Nl=[0,0];a.Rl=[0,0];a.ta=0;a.pi=0;a.Z=0;a.pa=65520;a.Tb=0;a.Pc=1023;a.O=a.Wb=0;a.Zd=a.Ce=a.Yd=a.$d=0;a.xc=-1;a.Tc=a.yc=-1;a.bd=a.na=-1;a.ga=new gd(a,od,"CS");a.Ca=new gd(a,zd,"DS");a.ua=new gd(a,zd,"ES");a.W=new gd(a,kd,"SS");A(a,0);rd(a,0);if(80386<=a.aa){switch(a.pd){case 80562:case 80563:a.K=771;break;case 80578:a.K=772;break;case 80594:a.K=773;break;case 80595:case 80596:a.K=776}a.pa=16;a.yi=0;a.Xd=0;a.nd=0;
function le(a){a.F=0;a.G=0;a.H=0;a.K=0;a.ic=0;a.L=0;a.J=0;a.I=0;a.cc=!1;a.za=a.Va=0;a.Ol=[0,0];a.Sl=[0,0];a.ta=0;a.pi=0;a.Z=0;a.pa=65520;a.Tb=0;a.Pc=1023;a.O=a.Wb=0;a.Zd=a.Ce=a.Yd=a.$d=0;a.xc=-1;a.Tc=a.yc=-1;a.bd=a.na=-1;a.ga=new gd(a,od,"CS");a.Ca=new gd(a,zd,"DS");a.ua=new gd(a,zd,"ES");a.W=new gd(a,kd,"SS");A(a,0);rd(a,0);if(80386<=a.aa){switch(a.pd){case 80562:case 80563:a.K=771;break;case 80578:a.K=772;break;case 80594:a.K=773;break;case 80595:case 80596:a.K=776}a.pa=16;a.yi=0;a.Xd=0;a.nd=0;
a.Bb=[0,0,0,0,null,null,0,0];a.sf=[null,null,null,null,null,null,0,0];a.qb=new gd(a,zd,"FS");a.rb=new gd(a,zd,"GS");oe(a)}a.fg=new gd(a,0,"NULL");a.Ba=a.Ca;a.Db=a.W;a.M=a.ba=0;a.C=a.D=-1;a.Xa=a.fg;a.Ka=0;if(80286>a.aa)Cd(a,0,65535);else{a.Kb=0;a.Oc=65535;a.jc=new gd(a,5,"LDT",!0);a.la=new gd(a,md,"TSS",!0);a.bb=new gd(a,jd,"VER",!0);Cd(a,65520,61440);var b,c=E(a);b=a.ga;var d=-65536;80386>b.B.aa&&(d&=16777215);b=b.va=d;a.ea=b+c|0;a.dg=(b>>>0)+(a.ga.Ta>>>0)+1}Bd(a,0);td(a)}
function re(a){2==a.Jc?(a.wi=a.fa,a.Vb=se,a.bc=te,a.Rc=ue,2==a.S?(a.ja=ve,a.wa=we,a.$a=xe):(a.ja=ye,a.wa=ze,a.$a=Ae)):(a.wi=a.da,a.Vb=Be,a.bc=Ce,a.Rc=De,2==a.S?(a.ja=Ee,a.wa=Fe,a.$a=Ge):(a.ja=He,a.wa=Ie,a.$a=Je))}function ud(a,b){a.S!=b&&(a.ba|=1024,a.S=b,a.N=2==b?65535:-1,Ke(a))}function Ke(a){2==a.S?(a.sb=32768,a.ib=a.fa,a.nb=a.Wa,2==a.Jc?(a.ja=ve,a.wa=we,a.$a=xe):(a.ja=Ee,a.wa=Fe,a.$a=Ge)):(a.sb=-2147483648,a.ib=a.da,a.nb=a.Pa,2==a.Jc?(a.ja=ye,a.wa=ze,a.$a=Ae):(a.ja=He,a.wa=Ie,a.$a=Je))}
function Le(a){a.Jc=a.ga.Jc;a.ra=a.ga.ra;re(a);a.S=a.ga.S;a.N=a.ga.N;Ke(a);a.ba&=-3073}l.si=function(){var a=this.F+this.G+this.H+this.K+C(this)+this.L+this.J+this.I|0;return a=a+E(this)+this.ga.ha+this.Ca.ha+this.W.ha+this.ua.ha+Ad(this)|0};function Me(a,b,c){void 0===a.pf[b]&&(a.pf[b]=[]);a.pf[b].push(c)}function Ne(a,b){var c=a.bi[b];null!=c&&(c(--a.cg),delete a.bi[b])}
function Le(a){a.Jc=a.ga.Jc;a.ra=a.ga.ra;re(a);a.S=a.ga.S;a.N=a.ga.N;Ke(a);a.ba&=-3073}k.si=function(){var a=this.F+this.G+this.H+this.K+C(this)+this.L+this.J+this.I|0;return a=a+E(this)+this.ga.ha+this.Ca.ha+this.W.ha+this.ua.ha+Ad(this)|0};function Me(a,b,c){void 0===a.pf[b]&&(a.pf[b]=[]);a.pf[b].push(c)}function Ne(a,b){var c=a.bi[b];null!=c&&(c(--a.cg),delete a.bi[b])}
function Oe(a,b){for(var c=a.Bb[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Bb[e],g=g&~(d>>2&3);if(b){var g=a.X[g>>>a.yb],h=a;f?g.ge++||(h&&(g.F=h),Dc(g,Ec,!1)):g.fe++||(h&&(g.F=h),Cc(g,Ec,!1))}else g=a.X[g>>>a.yb],f?--g.ge||(f=g,f.nc=f.H?f.th:f.hf,f.kf=f.H?f.uh:f.vh,f.jf=f.H?f.sh:f.U):--g.fe||(f=g,f.mc=f.Ad,f.bf=f.cf,f.Nd=f.nh)}c>>=2;d>>=4}}
function Fc(a,b,c,d){if(!(a.M&8192)&&a.Bb[7]&255){c--;var e=a.Bb[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Bb[g]&&b<=a.Bb[g]+h){a.Bb[6]|=1<<g;a.Ka|=2;break}}e>>=2;f>>=4}}}function td(a,b,c){void 0===b&&(b=!!(a.pa&1));void 0===c&&(c=!!(a.O&131072));a.mi=b&&!c?Pe:Id;hd(a.ga,!1,b,c);hd(a.Ca,!1,b,c);hd(a.W,!1,b,c);hd(a.ua,!1,b,c);80386<=a.aa&&(hd(a.qb,!1,b,c),hd(a.rb,!1,b,c));Le(a)}
l.save=function(){var a=new Qe(this);a.set(0,[this.F,this.G,this.H,this.K,C(this),this.L,this.J,this.I]);var b=E(this),c=this.ga.save(),d=this.Ca.save(),e=this.W.save(),f=this.ua.save(),g;null!=this.Kb?(g=[this.pa,this.Kb,this.Oc,this.Tb,this.Pc,this.jc.save(),this.la.save(),this.Wb],80386<=this.aa&&(g.push(this.yi),g.push(this.Xd),g.push(this.nd),g.push(this.Bb),g.push(this.sf))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.aa&&(b.push(this.qb.save()),b.push(this.rb.save()));a.set(1,b);a.set(2,[this.Ba.Zf,
k.save=function(){var a=new Qe(this);a.set(0,[this.F,this.G,this.H,this.K,C(this),this.L,this.J,this.I]);var b=E(this),c=this.ga.save(),d=this.Ca.save(),e=this.W.save(),f=this.ua.save(),g;null!=this.Kb?(g=[this.pa,this.Kb,this.Oc,this.Tb,this.Pc,this.jc.save(),this.la.save(),this.Wb],80386<=this.aa&&(g.push(this.yi),g.push(this.Xd),g.push(this.nd),g.push(this.Bb),g.push(this.sf))):g=null;b=[b,c,d,e,f,g,Ad(this)];80386<=this.aa&&(b.push(this.qb.save()),b.push(this.rb.save()));a.set(1,b);a.set(2,[this.Ba.Zf,
this.Db.Zf,this.M,this.ba,this.Ka,this.C,this.D]);a.set(3,[0,this.md,this.R.yd]);a.set(4,jc(this.ma,!!(this.pa&-2147483648)));return a.data()};
l.restore=function(a){var b=a[0];this.F=b[0];this.G=b[1];this.H=b[2];this.K=b[3];var c=b[4];this.L=b[5];this.J=b[6];this.I=b[7];b=a[1];this.ga.restore(b[1]);this.Ca.restore(b[2]);this.W.restore(b[3]);this.ua.restore(b[4]);var d=b[5];d&&d.length&&(this.pa=d[0],this.Kb=d[1],this.Oc=d[2],this.Tb=d[3],this.Pc=d[4],this.jc.restore(d[5]),this.la.restore(d[6]),this.Wb=d[7],80386<=this.aa&&(this.yi=d[8],this.Xd=d[9],this.nd=d[10],this.Bb=d[11],this.sf=d[12]),td(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ma;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],k=f[g+1];if(k&&k.length<e.V){for(var m=0,q=Array(e.V),y=0;y<k.length-1;)for(var w=k[y++],z=k[y++];w--;)q[m++]=z;k=q}m=e.X[h];if(!m||!m.restore(k)){r("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Pb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.ga.ha),A(this,c),rd(this,this.W.ha),80386<=this.aa&&(this.qb.restore(b[7]),this.rb.restore(b[8])),d=!0);b=a[2];this.Ba=null!=b[0]&&Re(this,b[0])||this.Ca;this.Db=null!=b[1]&&Re(this,b[1])||this.W;this.M=
k.restore=function(a){var b=a[0];this.F=b[0];this.G=b[1];this.H=b[2];this.K=b[3];var c=b[4];this.L=b[5];this.J=b[6];this.I=b[7];b=a[1];this.ga.restore(b[1]);this.Ca.restore(b[2]);this.W.restore(b[3]);this.ua.restore(b[4]);var d=b[5];d&&d.length&&(this.pa=d[0],this.Kb=d[1],this.Oc=d[2],this.Tb=d[3],this.Pc=d[4],this.jc.restore(d[5]),this.la.restore(d[6]),this.Wb=d[7],80386<=this.aa&&(this.yi=d[8],this.Xd=d[9],this.nd=d[10],this.Bb=d[11],this.sf=d[12]),td(this));Bd(this,b[6]);var d=!1,e;a:{e=this.ma;
var f=a[4],g;for(g=0;g<f.length-1;g+=2){var h=f[g],l=f[g+1];if(l&&l.length<e.V){for(var m=0,q=Array(e.V),y=0;y<l.length-1;)for(var w=l[y++],z=l[y++];w--;)q[m++]=z;l=q}m=e.X[h];if(!m||!m.restore(l)){r("Unable to restore memory block "+h);e=!1;break a}}void 0!==f[g]&&Pb(e,f[g]);e=!0}e&&(Cd(this,b[0],this.ga.ha),A(this,c),rd(this,this.W.ha),80386<=this.aa&&(this.qb.restore(b[7]),this.rb.restore(b[8])),d=!0);b=a[2];this.Ba=null!=b[0]&&Re(this,b[0])||this.Ca;this.Db=null!=b[1]&&Re(this,b[1])||this.W;this.M=
b[2];this.ba=b[3];this.Ka=b[4];this.C=b[5];this.D=b[6];b=a[3];this.md=b[1];Rc(this,b[2]);return d};function Re(a,b){switch(b){case "CS":return a.ga;case "DS":return a.Ca;case "SS":return a.W;case "ES":return a.ua;case "NULL":return a.fg;default:return[0,b,0,0,""]}}function Se(a,b){null!=Cd(a,E(a),b)&&(a.M|=a.lf)}function xd(a,b){-1!==a.Ca.load(b)&&(a.M|=a.lf)}
function rd(a,b,c){var d=C(a);-1!==a.W.load(b)&&(A(a,d),a.W.vd?(a.eg=a.W.va+a.W.ra|0,a.Be=a.W.va+a.W.Ta|0):(a.eg=a.W.va+a.W.Ta|0,a.Be=a.W.va),c||(a.M|=4))}function yd(a,b){-1!==a.ua.load(b)&&(a.M|=a.lf)}function E(a){return a.ea-a.ga.va|0}function G(a,b){a.ea=a.ga.va+(b&a.N)|0}function Te(a,b){a.ea=b;a.dg=(a.ga.va>>>0)+(a.ga.Ta>>>0)+1;a.Ga=a.ga.ob;Le(a)}function Cd(a,b,c,d){var e=a.ga;e.$e=b;e.D=d;b=e.load(c);return-1!==b?(Te(a,b+(a.ga.$e&a.ga.N)),a.ga.oe):null}
function Ue(a,b){b=(a.ea>>>0)+b;b>a.dg&&(8088>=a.aa||a.ga.Ta==a.ga.ra?b=a.ga.va+(b-a.dg&a.N):v.call(a,13,0));return b|0}function Ve(a){a.ea=a.bd}function C(a){return a.ic&~a.W.ra|a.xa-a.W.va}function A(a,b){a.ic=b;a.xa=a.W.va+(b&a.W.ra)|0}function We(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&Xe(a),g&2&&Ye(a),g&4&&Ze(a),g&8&&$e(a),g&16&&af(a),g&32&&bf(a))}f?(a.Zd=d,a.Yd=b):(a.Zd=b,a.Yd=d);a.Ce=c;a.$d=d;a.resultType=e}
@ -162,25 +162,25 @@ function Ze(a){a.resultType&4&&(a.O&=-17,(a.Yd^a.Zd^a.Ce)&16&&(a.O|=16),a.result
function bf(a){a.resultType&32&&(a.O&=-2049,(a.Zd^a.Yd)&(a.Ce^a.Yd)&a.resultType&-2147450752&&(a.O|=2048),a.resultType&=-33);return a.O&2048}function df(a){a.resultType&=-2;a.O&=-2}function jf(a){a.resultType&=-5;a.O&=-17}function kf(a){a.resultType&=-9;a.O&=-65}function ff(a){a.resultType&=-33;a.O&=-2049}function cf(a){a.resultType&=-2;a.O|=1}function lf(a){a.resultType&=-5;a.O|=16}function mf(a){a.resultType&=-9;a.O|=64}function ef(a){a.resultType&=-33;a.O|=2048}
function Ad(a){return a.O&-2262|Xe(a)|Ye(a)|Ze(a)|$e(a)|af(a)|bf(a)}function nf(a,b){b|=a.pa&1|65520;a.pa=a.pa&-65536|b&65535;a.pa&1&&td(a,!0)}function Bd(a,b,c){a.pa&1||(b&=~a.Uh);void 0===c&&(c=a.Ga);c?b=b&-12289|a.O&12288:a.Wb=(b&12288)>>12;c>a.Wb&&(b=b&-513|a.O&512);a.resultType=128;a.O=a.O&~(a.od|2261)|b&(a.od|2261)|a.Vh;a.O&256&&(a.Ka|=2,a.M|=4)}
function of(a,b,c){var d=0;if(a.pa&1&&(a.Ga>a.Wb||a.O&131072)&&a.la.Yh)for(var e=a.la.Yh+(b>>>3),d=(1<<c)-1<<(b&7);d&&e<=a.la.jk&&!(a.Eb(e)&d);)d>>>=8,e++;return d?(v.call(a,13,0),!1):!0}
l.wb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ia[b]=c;this.ri++;a=!0;break;default:a=Kc.prototype.wb.call(this,a,b,c)}return a};
function pf(a,b,c,d){var e=(d?a.Nc:a.X)[(b&a.Ic)>>>a.yb];e&&e.type==xc&&(e=Gc(a,b,!1,!0));if(e){var f=b&a.xb;if(!c||1==c)return e.Ad(f,b);if(2==c)return f<a.xb?e.cf(f,b):e.Ad(f,b)|pf(a,b+1,1,d)<<8;if(4==c)return f<a.xb-2?e.nh(f,b):f==a.xb-1?e.cf(f,b)|pf(a,b+2,2,d)<<16:e.Ad(f,b)|pf(a,b+1,1,d)<<8|pf(a,b+2,1,d)<<16|pf(a,b+3,1,d)<<24}return null}l.Eb=function(a){return this.X[(a&this.Ic)>>>this.yb].mc(a&this.xb,a)};
l.fa=function(a){var b=a&this.xb,c=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;if(b<this.xb)return this.X[c].bf(b,a);b=this.X[c].mc(b,a);this.M&4096||(b|=this.X[c+1&this.ye].mc(0,a+1)<<8);return b};l.da=function(a){var b=a&this.xb,c=(a&this.Ic)>>>this.yb;if(b<this.xb-2)return this.X[c].Nd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.X[c].mc(b++,a++)<<f;if(this.M&4096)break;--g||(c=c+1&this.ye,b=0);f+=8}return d};l.Dc=function(a,b){this.X[(a&this.Ic)>>>this.yb].nc(a&this.xb,b&255,a)};
l.Wa=function(a,b){var c=a&this.xb,d=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;c<this.xb?this.X[d].kf(c,b&65535,a):(this.X[d++].nc(c,b&255,a),this.M&4096||this.X[d&this.ye].nc(0,b>>8&255,a+1))};l.Pa=function(a,b){var c=a&this.xb,d=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;if(c<this.xb-2)this.X[d].jf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.X[d].nc(c++,b&255,a++);if(this.M&4096)break;--f||(d=d+1&this.ye,c=0);b>>>=8}};function qf(a,b,c){a.Xa=b;a.ab=c&a.ra;a.C=b.Lb(a.ab,1);return a.M&1?0:a.Eb(a.C)}
k.wb=function(a,b,c){switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.ia[b]=c;this.ri++;a=!0;break;default:a=Kc.prototype.wb.call(this,a,b,c)}return a};
function pf(a,b,c,d){var e=(d?a.Nc:a.X)[(b&a.Ic)>>>a.yb];e&&e.type==xc&&(e=Gc(a,b,!1,!0));if(e){var f=b&a.xb;if(!c||1==c)return e.Ad(f,b);if(2==c)return f<a.xb?e.cf(f,b):e.Ad(f,b)|pf(a,b+1,1,d)<<8;if(4==c)return f<a.xb-2?e.nh(f,b):f==a.xb-1?e.cf(f,b)|pf(a,b+2,2,d)<<16:e.Ad(f,b)|pf(a,b+1,1,d)<<8|pf(a,b+2,1,d)<<16|pf(a,b+3,1,d)<<24}return null}k.Eb=function(a){return this.X[(a&this.Ic)>>>this.yb].mc(a&this.xb,a)};
k.fa=function(a){var b=a&this.xb,c=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;if(b<this.xb)return this.X[c].bf(b,a);b=this.X[c].mc(b,a);this.M&4096||(b|=this.X[c+1&this.ye].mc(0,a+1)<<8);return b};k.da=function(a){var b=a&this.xb,c=(a&this.Ic)>>>this.yb;if(b<this.xb-2)return this.X[c].Nd(b,a);for(var d=0,e=4,f=0,g=4-(b&3);e--;){d|=this.X[c].mc(b++,a++)<<f;if(this.M&4096)break;--g||(c=c+1&this.ye,b=0);f+=8}return d};k.Dc=function(a,b){this.X[(a&this.Ic)>>>this.yb].nc(a&this.xb,b&255,a)};
k.Wa=function(a,b){var c=a&this.xb,d=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;c<this.xb?this.X[d].kf(c,b&65535,a):(this.X[d++].nc(c,b&255,a),this.M&4096||this.X[d&this.ye].nc(0,b>>8&255,a+1))};k.Pa=function(a,b){var c=a&this.xb,d=(a&this.Ic)>>>this.yb;this.A-=this.B.Qf;if(c<this.xb-2)this.X[d].jf(c,b,a);else for(var e=4,f=4-(c&3);e--;){this.X[d].nc(c++,b&255,a++);if(this.M&4096)break;--f||(d=d+1&this.ye,c=0);b>>>=8}};function qf(a,b,c){a.Xa=b;a.ab=c&a.ra;a.C=b.Lb(a.ab,1);return a.M&1?0:a.Eb(a.C)}
function I(a,b){return qf(a,a.Ba,b)}function J(a,b){return qf(a,a.Db,b)}function rf(a,b,c){a.Xa=b;a.ab=c&a.ra;a.C=b.Lb(a.ab,a.S);return a.M&1?0:a.ib(a.C)}function K(a,b){a.Xa=a.Ba;a.ab=b&a.ra;a.C=a.Xa.Lb(a.ab,2);return a.M&1?0:a.fa(a.C)}function L(a,b){a.Xa=a.Db;a.ab=b&a.ra;a.C=a.Xa.Lb(a.ab,2);return a.M&1?0:a.fa(a.C)}function M(a,b){a.Xa=a.Ba;a.ab=b&a.ra;a.C=a.Xa.Lb(a.ab,4);return a.M&1?0:a.da(a.C)}function N(a,b){a.Xa=a.Db;a.ab=b&a.ra;a.C=a.Xa.Lb(a.ab,4);return a.M&1?0:a.da(a.C)}
function sf(a,b){a.M&2||a.Dc(a.Xa.Mb(a.ab,1),b)}function tf(a,b){a.M&2||a.Wa(a.Xa.Mb(a.ab,2),b)}function uf(a,b){a.M&2||a.Pa(a.Xa.Mb(a.ab,4),b)}function vd(a,b,c){return a.ib(b.Lb(c,a.S))}l.ka=function(){var a=Ue(this,1),b=this.Eb(this.ea);this.ea=a;return b};function vf(a){var b=Ue(a,2),c=a.fa(a.ea);a.ea=b;return c}function O(a){var b=Ue(a,a.Jc),c=a.wi(a.ea);a.ea=b;return c}l.ya=function(){var a=Ue(this,this.S),b=this.ib(this.ea);this.ea=a;return b};
l.P=function(){var a=Ue(this,1),b=this.Eb(this.ea)<<24>>24;this.ea=a;return b};function x(a){var b=a.ib(a.xa);a.xa=a.xa+a.S|0;var c=a.eg-a.xa|0;0>c&&0<=(a.eg^a.xa)&&(8088>=a.aa||!a.W.vd&&a.W.Ta==a.W.ra||a.W.vd&&!a.W.Ta?A(a,a.xa-a.W.va&a.W.ra):-1>c&&v.call(a,12,0));return b}
function sf(a,b){a.M&2||a.Dc(a.Xa.Mb(a.ab,1),b)}function tf(a,b){a.M&2||a.Wa(a.Xa.Mb(a.ab,2),b)}function uf(a,b){a.M&2||a.Pa(a.Xa.Mb(a.ab,4),b)}function vd(a,b,c){return a.ib(b.Lb(c,a.S))}k.ka=function(){var a=Ue(this,1),b=this.Eb(this.ea);this.ea=a;return b};function vf(a){var b=Ue(a,2),c=a.fa(a.ea);a.ea=b;return c}function O(a){var b=Ue(a,a.Jc),c=a.wi(a.ea);a.ea=b;return c}k.ya=function(){var a=Ue(this,this.S),b=this.ib(this.ea);this.ea=a;return b};
k.P=function(){var a=Ue(this,1),b=this.Eb(this.ea)<<24>>24;this.ea=a;return b};function x(a){var b=a.ib(a.xa);a.xa=a.xa+a.S|0;var c=a.eg-a.xa|0;0>c&&0<=(a.eg^a.xa)&&(8088>=a.aa||!a.W.vd&&a.W.Ta==a.W.ra||a.W.vd&&!a.W.Ta?A(a,a.xa-a.W.va&a.W.ra):-1>c&&v.call(a,12,0));return b}
function wd(a,b,c,d){c=a.xa-c|0;0>(c-a.Be|0)&&0<=(a.Be^c)&&(8088>=a.aa||!a.W.vd&&a.W.Ta==a.W.ra||a.W.vd&&!a.W.Ta?(A(a,c-a.W.va&a.W.ra),c=a.xa):v.call(a,12,0));switch(d){case 1:a.Dc(c,b);break;case 2:a.Wa(c,b);break;case 4:a.Pa(c,b)}a.xa=c}function D(a,b){var c=a.xa-a.S|0;0>(c-a.Be|0)&&0<=(a.Be^c)&&(8088>=a.aa||!a.W.vd&&a.W.Ta==a.W.ra||a.W.vd&&!a.W.Ta?(A(a,c-a.W.va&a.W.ra),c=a.xa):v.call(a,12,0));a.nb(c,b);a.xa=c}
function wf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.aa)2<b.length&&(b=b.substr(1,2));else if("PS"==b||2<b.length)d=8;a.ia[b]&&(void 0===c&&(kb(a,"Value for "+b+" is invalid"),Qc(a)),d=!a.ca.Ib||a.ca.ji?oa(c,d):"--------".substr(0,d),a.ia[b].textContent!=d&&(a.ia[b].textContent=d))}
l.zh=function(a){this.ca.complete=!0;this.ca.qk=!1;this.ca.Uj=!1;this.Hc=this.A=a;this.V&&!a&&ad(this.V);a||(this.M|=4);do{if(a=this.M&3312)this.ba|=a;else if(this.bd=this.ea,this.Ba=this.Ca,this.Db=this.W,this.C=this.D=-1,this.ba&3072&&Le(this),this.ba=this.M&256,this.Ka){a:if(!(this.M&4)){a=80286>this.aa?0:1;for(var b=0;2>b;b++){switch(a){case 0:if(this.Ka&1&&this.O&512){var c=xf(this.V);if(-1<=c&&(this.Ka&=-2,0<=c)){this.Ka&=-5;yf.call(this,c);break a}}break;case 1:if(this.Ka&2){this.Ka&=-3;80386<=
k.zh=function(a){this.ca.complete=!0;this.ca.qk=!1;this.ca.Uj=!1;this.Hc=this.A=a;this.V&&!a&&ad(this.V);a||(this.M|=4);do{if(a=this.M&3312)this.ba|=a;else if(this.bd=this.ea,this.Ba=this.Ca,this.Db=this.W,this.C=this.D=-1,this.ba&3072&&Le(this),this.ba=this.M&256,this.Ka){a:if(!(this.M&4)){a=80286>this.aa?0:1;for(var b=0;2>b;b++){switch(a){case 0:if(this.Ka&1&&this.O&512){var c=xf(this.V);if(-1<=c&&(this.Ka&=-2,0<=c)){this.Ka&=-5;yf.call(this,c);break a}}break;case 1:if(this.Ka&2){this.Ka&=-3;80386<=
this.aa&&(this.Bb[6]|=16384);yf.call(this,1);break a}}a=1-a}}if(this.Ka&4){this.M=this.A=0;break}}this.M=0;this.qa[this.ka()].call(this)}while(0<this.A);return this.ca.complete?this.Hc-this.A:void 0===this.ca.complete?0:-1};var me=512;Ma(function(){for(var a=eb(document,"pcx86","cpu"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Ed(d);db(d,c)}});
function zf(a){t.call(this,"FPU",a);this.aa=a.model||8087;this.H=new Float64Array(8);this.Z=new Int32Array(this.H.buffer);this.X=new Float32Array(1);this.ja=new Int32Array(this.X.buffer);this.K=new Float64Array(1);this.G=new Int32Array(this.K.buffer);this.D=Array(3);this.L=this.M=-1;this.I=this.J=this.O=this.A=0;this.W=new Float64Array(1);this.ba=new Int32Array(this.W.buffer);this.ba[0]=0;this.ba[1]=268402688;Af(this);this.ga=zf.prototype.rh;this.ea=zf.prototype.Tj}ba(zf,t);l=zf.prototype;
l.hc=function(a,b,c){this.U=c;this.V=vb(a,"ChipSet");mb(this)};l.Ob=function(a,b){if(!b)if(!a||!this.restore)Af(this);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};l.save=function(){var a=new Qe(this),b=[],c=0;b[c++]=this.F;b[c++]=this.Y|this.B<<11;b[c++]=Bf(this);for(var d=0;d<this.H.length;d++)b[c++]=this.H[d];a.set(0,b);return a.data()};
l.restore=function(a){a=a[0];var b=0;this.F=a[b++]&-57409;var c=a[b++];this.Y=c&-14337;this.B=(c&14336)>>11;Cf(this);Df(this,a[b++]);for(c=0;c<this.H.length;c++)this.H[c]=a[b++];return!0};function Af(a){a.C=0;a.F=959;a.Y=0;a.B=0;a.V&&(a=a.V,a.aa>=Ef&&Ff(a,Gf))}function Cf(a){a.Y&=-129;a.Y&~a.F&63&&(a.Y|=128);if(a.Y&128&&!(a.F&128))return a=a.V,a.aa>=Ef?Hf(a,Gf):a.ba&If||yf.call(a.U,2),!0;a=a.V;a.aa>=Ef&&Ff(a,Gf);return!1}function Jf(a,b){80387<=a.aa||(b&=-65);a.Y|=b;return Cf(a)}
function zf(a){t.call(this,"FPU",a);this.aa=a.model||8087;this.H=new Float64Array(8);this.Z=new Int32Array(this.H.buffer);this.X=new Float32Array(1);this.ja=new Int32Array(this.X.buffer);this.K=new Float64Array(1);this.G=new Int32Array(this.K.buffer);this.D=Array(3);this.L=this.M=-1;this.I=this.J=this.O=this.A=0;this.W=new Float64Array(1);this.ba=new Int32Array(this.W.buffer);this.ba[0]=0;this.ba[1]=268402688;Af(this);this.ga=zf.prototype.rh;this.ea=zf.prototype.Tj}ba(zf,t);k=zf.prototype;
k.hc=function(a,b,c){this.U=c;this.V=vb(a,"ChipSet");mb(this)};k.Ob=function(a,b){if(!b)if(!a||!this.restore)Af(this);else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};k.save=function(){var a=new Qe(this),b=[],c=0;b[c++]=this.F;b[c++]=this.Y|this.B<<11;b[c++]=Bf(this);for(var d=0;d<this.H.length;d++)b[c++]=this.H[d];a.set(0,b);return a.data()};
k.restore=function(a){a=a[0];var b=0;this.F=a[b++]&-57409;var c=a[b++];this.Y=c&-14337;this.B=(c&14336)>>11;Cf(this);Df(this,a[b++]);for(c=0;c<this.H.length;c++)this.H[c]=a[b++];return!0};function Af(a){a.C=0;a.F=959;a.Y=0;a.B=0;a.V&&(a=a.V,a.aa>=Ef&&Ff(a,Gf))}function Cf(a){a.Y&=-129;a.Y&~a.F&63&&(a.Y|=128);if(a.Y&128&&!(a.F&128))return a=a.V,a.aa>=Ef?Hf(a,Gf):a.ba&If||yf.call(a.U,2),!0;a=a.V;a.aa>=Ef&&Ff(a,Gf);return!1}function Jf(a,b){80387<=a.aa||(b&=-65);a.Y|=b;return Cf(a)}
function Kf(a,b){return isFinite(b)?!0:!Jf(a,Infinity===b?8:16)}function Lf(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,Kf(a,d)||(d=null));return d}function Of(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,Kf(a,d)||(d=null));return d}function Pf(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,Kf(a,d)||(d=null));return d}function Qf(a,b,c){var d=null;null==b||null==c||!c&&Jf(a,2)||(d=b/c,Kf(a,d)||(d=null));return d}
function Rf(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:b||(d=16384));a.Y=a.Y&-18177|d;return!0}return!1}function Sf(a,b,c){if(null==b)return null;var d=a.F&3072;d?d=1024==d||3072==d&&0<b?Math.floor(b):Math.ceil(b):(d=Math.round(b),.5===d-b&&d%2&&d--);if(c){if(d>=c){if(Jf(a,1))return null;d=-c}else if(d<-c){if(Jf(a,1))return null;d=-c}a.G[0]=d|0;2147483648<c&&(a.G[1]=d/4294967296|0,!a.G[1]&&0>d&&(a.G[1]=-1))}return d}
function Tf(a,b){var c=3;a.C&1<<b&&(a=a.H[b],c=0,a?isFinite(a)||(c=2):c=1);return c}function Bf(a){for(var b=0,c=a.H.length-1;0<=c;c--)b<<=2,b|=Tf(a,c);return b}function Df(a,b){a.C=0;for(var c=1;128>=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function Uf(a){var b=a.B+0&7;return a.C&1<<b?(a.X[0]=a.H[b],!0):Jf(a,1)?!1:(a.X[0]=a.W[0],!0)}function Vf(a){var b=a.B+0&7;return a.C&1<<b?(a.K[0]=a.H[b],!0):Jf(a,1)?!1:(a.K[0]=a.W[0],!0)}
function P(a,b){var c=null;b=a.B+b&7;a.C&1<<b?c=a.H[b]:Jf(a,1)||(c=a.W[0]);return c}function Q(a,b,c){return null!=c&&(isNaN(c)?!Jf(a,1):1)?(b=a.B+b&7,a.H[b]=c,a.C|=1<<b,!0):!1}function Wf(a,b,c){var d=null;b=a.B+b&7;if(c||a.C&1<<b||!Jf(a,1)){d=b<<1;c=a.Z[d];d=a.Z[d+1];b=d>>20&2047;var e=2147483648|(d&1048575)<<11|c>>>21;2047==b?b=32767:b?b+=15360:e&=2147483647;a.D[0]=c<<11;a.D[1]=e;a.D[2]=d>>16&32768|b;d=a.D}return d}function Xf(a){return a.U.fa(a.U.C)<<16>>16}
function Yf(a){return a.U.da(a.U.C)}function Zf(a){a.ja[0]=a.U.da(a.U.C);return a.X[0]}function $f(a){a.G[0]=a.U.da(a.U.C);a.G[1]=a.U.da(a.U.C+4);return a.K[0]}function ag(a){a.D[0]=a.U.da(a.U.C);a.D[1]=a.U.da(a.U.C+4);a.D[2]=a.U.fa(a.U.C+8);return a.D}l.rh=function(){this.U.Pa(this.U.C,this.G[0])};l.Tj=function(){this.U.Pa(this.U.C,this.G[0]);this.U.Pa(this.U.C+4,this.G[1])};function bg(a){a.U.Pa(a.U.C,a.D[0]);a.U.Pa(a.U.C+4,a.D[1]);a.U.Wa(a.U.C+8,a.D[2])}
function Yf(a){return a.U.da(a.U.C)}function Zf(a){a.ja[0]=a.U.da(a.U.C);return a.X[0]}function $f(a){a.G[0]=a.U.da(a.U.C);a.G[1]=a.U.da(a.U.C+4);return a.K[0]}function ag(a){a.D[0]=a.U.da(a.U.C);a.D[1]=a.U.da(a.U.C+4);a.D[2]=a.U.fa(a.U.C+8);return a.D}k.rh=function(){this.U.Pa(this.U.C,this.G[0])};k.Tj=function(){this.U.Pa(this.U.C,this.G[0]);this.U.Pa(this.U.C+4,this.G[1])};function bg(a){a.U.Pa(a.U.C,a.D[0]);a.U.Pa(a.U.C+4,a.D[1]);a.U.Wa(a.U.C+8,a.D[2])}
function cg(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767;b=b[0]>>>11|c<<21;c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,b=c=0));a.G[0]=b;a.G[1]=c|(d|e)<<20;return a.K[0]}function dg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function eg(a,b){for(var c=0,d=0;b--;)c|=a%10<<d,a/=10,d+=4;return c}function fg(a){var b=null,c=1<<a.B;if(!(a.C&c)&&(a.Y&=-513,Jf(a,65)))return b;a.C&=~c;b=a.H[a.B];a.B=a.B+1&7;return b}
function gg(a,b){if(null!=b){var c=a.B-1&7,d=1<<c;if(a.C&d&&(a.Y|=512,Jf(a,65)))return;if(isNaN(b)&&Jf(a,1)){if(Jf(a,1))return;b=NaN}a.H[a.B=c]=b;a.C|=d}}
function hg(a,b){var c,d=a.U;c=d.ib(b);a.F=c&-57409;c=d.ib(b+=d.S);a.Y=c&-14337;a.B=(c&14336)>>11;Cf(a);Df(a,d.ib(b+=d.S));!(d.pa&1)||d.O&131072?(a.I=d.ib(b+=d.S),c=d.ib(b+=d.S),a.O=c&2047,a.I|=(c&-4096)<<4,a.L=-1,a.J=d.ib(b+=d.S),a.J|=(d.ib(b+=d.S)&-4096)<<4,a.M=-1):(a.I=d.ib(b+=d.S),c=d.ib(b+=d.S),a.L=c&65535,a.O=c>>16&2047,a.J=d.ib(b+=d.S),a.M=d.ib(b+=d.S)&65535);return b+d.S}
@ -216,19 +216,19 @@ function wh(a,b){a=this.Z>>3&7;switch(a){case 0:this.ta=this.F;break;case 2:this
function xh(a,b){switch(this.Z>>3&7){case 0:b=this.ua.ha;break;case 1:b=this.ga.ha;break;case 2:b=this.W.ha;break;case 3:b=this.Ca.ha;break;case 4:if(80386<=this.aa){b=this.qb.ha;break}v.call(this,6);b=a;break;case 5:if(80386<=this.aa){b=this.rb.ha;break}default:v.call(this,6),b=a}-1!==this.D&&ud(this,2);return th.call(this,0,b)}
function kh(a,b){if(a&-65536||b&-65536){var c=b&65535;b>>>=16;var d=a&65535;a>>>=16;var e=c*d,d=(e>>>16)+b*d,f=d>>>16,d=(d&65535)+c*a;this.za=d<<16|e&65535;this.Va=f+((d>>>16)+b*a)|0}else this.za=a*b|0,this.Va=0}function yh(a,b){this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return H(this,a|b,128)}function zh(a,b){this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return H(this,a|b,this.sb)&this.N}
function Ah(a,b){var c=a-b-hf(this)|0;We(this,a,b,c,191,!0);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return c&255}function Bh(a,b){var c=a-b-hf(this)|0;We(this,a,b,c,this.sb|63,!0);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return c&this.N}function Ch(){return bf(this)?1:0}function Dh(){return Xe(this)?1:0}function Eh(){return Xe(this)?0:1}function Fh(){return $e(this)?1:0}function Gh(){return $e(this)?0:1}function Hh(){return Xe(this)||$e(this)?1:0}
function Ih(){return Xe(this)||$e(this)?0:1}function Jh(){return af(this)?1:0}function Kh(){return af(this)?0:1}function Lh(){return Ye(this)?1:0}function Mh(){return Ye(this)?0:1}function Nh(){return!af(this)!=!bf(this)?1:0}function Oh(){return!af(this)!=!bf(this)?0:1}function Ph(){return $e(this)||!af(this)!=!bf(this)?1:0}function Qh(){return $e(this)||!af(this)!=!bf(this)?0:1}function Uh(a,b){return Vh.call(this,a,b,this.ka())}function Wh(a,b){return Xh.call(this,a,b,this.ka())}
function Yh(a,b){return Vh.call(this,a,b,this.H&31)}function Zh(a,b){return Xh.call(this,a,b,this.H&31)}function $h(a,b){return ai.call(this,a,b,this.ka())}function bi(a,b){return ci.call(this,a,b,this.ka())}function di(a,b){return ai.call(this,a,b,this.H&31)}function ei(a,b){return ci.call(this,a,b,this.H&31)}function fi(a,b){var c=a-b|0;We(this,a,b,c,191,!0);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return c&255}
function Ih(){return Xe(this)||$e(this)?0:1}function Jh(){return af(this)?1:0}function Kh(){return af(this)?0:1}function Lh(){return Ye(this)?1:0}function Mh(){return Ye(this)?0:1}function Nh(){return!af(this)!=!bf(this)?1:0}function Oh(){return!af(this)!=!bf(this)?0:1}function Ph(){return $e(this)||!af(this)!=!bf(this)?1:0}function Qh(){return $e(this)||!af(this)!=!bf(this)?0:1}function Rh(a,b){return Sh.call(this,a,b,this.ka())}function Wh(a,b){return Xh.call(this,a,b,this.ka())}
function Yh(a,b){return Sh.call(this,a,b,this.H&31)}function Zh(a,b){return Xh.call(this,a,b,this.H&31)}function $h(a,b){return ai.call(this,a,b,this.ka())}function bi(a,b){return ci.call(this,a,b,this.ka())}function di(a,b){return ai.call(this,a,b,this.H&31)}function ei(a,b){return ci.call(this,a,b,this.H&31)}function fi(a,b){var c=a-b|0;We(this,a,b,c,191,!0);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return c&255}
function gi(a,b){var c=a-b|0;We(this,a,b,c,this.sb|63,!0);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return c&this.N}function hi(a,b){H(this,a&b,128);this.A-=-1===this.D?-1===this.C?this.B.hh:this.B.Xe:this.B.Xe;this.M|=2;return a}function ii(a,b){H(this,a&b,this.sb);this.A-=-1===this.D?-1===this.C?this.B.hh:this.B.Xe:this.B.Xe;this.M|=2;return a}function ji(a,b){var c=this.F&this.N,d=(1<<(this.H&31))-1;return a&~(d<<c)|(b&d)<<c}
function ki(a,b){return b>>(this.F&this.N)&(1<<(this.H&31))-1&this.N}function li(a,b){if(-1===this.C){switch(this.Z&7){case 0:this.F=this.F&-256|a;break;case 1:this.H=this.H&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.G=this.G&-256|a;break;case 4:this.F=this.F&-65281|a<<8;break;case 5:this.H=this.H&-65281|a<<8;break;case 6:this.K=this.K&-65281|a<<8;break;case 7:this.G=this.G&-65281|a<<8}this.A-=this.B.jh}else this.D=this.C,sf(this,a),this.A-=this.B.ih;return b}
function mi(a,b){if(-1===this.C){switch(this.Z&7){case 0:this.F=this.F&~this.N|a;break;case 1:this.H=this.H&~this.N|a;break;case 2:this.K=this.K&~this.N|a;break;case 3:this.G=this.G&~this.N|a;break;case 4:A(this,C(this)&~this.N|a);break;case 5:this.L=this.G&~this.N|a;break;case 6:this.J=this.J&~this.N|a;break;case 7:this.I=this.I&~this.N|a}this.A-=this.B.jh}else this.D=this.C,this.M&2||this.nb(this.Xa.Mb(this.ab,this.S),a),this.A-=this.B.ih;return b}
function ni(a,b){a^=b;H(this,a,128);this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return a}function oi(a,b){this.A-=-1===this.D?-1===this.C?this.B.Xb:this.B.vb:this.B.kc;return H(this,a^b,this.sb)&this.N}function pi(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function qi(a){var b=a-1|0;We(this,a,1,b,this.sb|62,!0);this.A-=2;return a&~this.N|b&this.N}
function ri(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1,f=this.Nl;f[0]=c>>>0;f[1]=0;c=this.Rl;c[0]=a>>>0;for(c[1]=b>>>0;0<pi(c,f);)b=a=f,a[0]+=b[0],a[1]+=b[1],4294967295<a[0]&&(a[0]>>>=0,a[1]++),e+=e;do 0<=pi(c,f)&&(a=c,b=f,a[0]-=b[0],a[1]-=b[1],0>a[0]&&(a[0]>>>=0,a[1]--),d+=e),a=f,a[0]>>>=1,a[1]&1&&(a[0]=(a[0]|2147483648)>>>0),a[1]>>>=1,e/=2;while(1<=e);this.za=d;this.Va=c[0];return!0}function si(a){var b=a+1|0;We(this,a,1,b,this.sb|62);this.A-=2;return a&~this.N|b&this.N}
function Dd(a){this.nd=a;this.pa&-2147483648&&Tb(this)}function ti(a){this.M|=1;this.bc.call(this,a);this.A-=-1===this.C?4:5}function Vh(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;H(this,a,32768,d&32768)}return a}function Xh(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;H(this,a,-2147483648,d&-2147483648)}return a}function ai(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;H(this,a,32768,d&1)}return a}
function ri(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1,f=this.Ol;f[0]=c>>>0;f[1]=0;c=this.Sl;c[0]=a>>>0;for(c[1]=b>>>0;0<pi(c,f);)b=a=f,a[0]+=b[0],a[1]+=b[1],4294967295<a[0]&&(a[0]>>>=0,a[1]++),e+=e;do 0<=pi(c,f)&&(a=c,b=f,a[0]-=b[0],a[1]-=b[1],0>a[0]&&(a[0]>>>=0,a[1]--),d+=e),a=f,a[0]>>>=1,a[1]&1&&(a[0]=(a[0]|2147483648)>>>0),a[1]>>>=1,e/=2;while(1<=e);this.za=d;this.Va=c[0];return!0}function si(a){var b=a+1|0;We(this,a,1,b,this.sb|62);this.A-=2;return a&~this.N|b&this.N}
function Dd(a){this.nd=a;this.pa&-2147483648&&Tb(this)}function ti(a){this.M|=1;this.bc.call(this,a);this.A-=-1===this.C?4:5}function Sh(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a<<c-1;a=(d<<1|b>>>16-c)&65535;H(this,a,32768,d&32768)}return a}function Xh(a,b,c){if(c){var d=a<<c-1;a=d<<1|b>>>32-c;H(this,a,-2147483648,d&-2147483648)}return a}function ai(a,b,c){if(c){16<c&&(a=b,c-=16);var d=a>>>c-1;a=(d>>>1|b<<16-c)&65535;H(this,a,32768,d&1)}return a}
function ci(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;H(this,a,-2147483648,d&1)}return a}function ui(){this.A-=-1===this.C?2:this.B.Cj;return 1}function vi(){var a=this.H&255;this.A-=(-1===this.C?this.B.$g:this.B.Zg)+(a<<this.B.ah);return a}function wi(){var a=this.ka();this.A-=(-1===this.C?this.B.$g:this.B.Zg)+(a<<this.B.ah);return a}function xi(){return null}function yi(){return this.ta}
function zi(a,b){this.Tc=this.ga.ha;this.yc=this.W.ha;this.na=this.xa;var c=E(this),d=this.S;null!=Cd(this,a,b,!0)&&(wd(this,this.Tc,d,2),wd(this,c,d,d));this.Tc=this.yc=this.na=-1}function Ai(a,b,c){this.A-=this.B.aj+(c||0);c=Ad(this);var d=this.ga.ha,e=E(this);a=this.ga.zi(a);-1!==a&&(D(this,c),D(this,d),D(this,e),null!=b&&D(this,b),this.xc=-1,Te(this,a))}
function Bi(a){this.yc=this.W.ha;this.na=this.xa;var b=x(this),c=x(this);a&&A(this,C(this)+a);Cd(this,b,c,!1)&&(a&&A(this,C(this)+a),Ci.call(this,this.Ca),Ci.call(this,this.ua),80386<=this.aa&&(Ci.call(this,this.qb),Ci.call(this,this.rb)));2==a&&this.cg&&Ne(this,this.ea);this.yc=this.na=-1}function Di(){8086==this.aa?(this.xc=-1,Ai.call(this,0,null,2)):v.call(this,0,null,2)}function yf(a,b){this.xc=a;void 0===b&&(b=11);Ai.call(this,a,null,b)}
function v(a,b,c,d){var e=!1;this.ca.complete?80186<=this.aa&&(e=!0,0>this.xc?(-1!=this.Tc&&(this.Tc!==this.ga.ha&&(this.ga.ob=this.Tc&3,Se(this,this.Tc)),this.Tc=-1),this.bd!==this.ea&&Te(this,this.bd),-1!=this.yc&&(this.yc!==this.W.ha&&rd(this,this.yc),this.yc=-1),-1!==this.na&&(this.na!==this.xa&&A(this,this.ic&~this.W.ra|this.na-this.W.va),this.na=-1)):8!=this.xc?(b=0,a=8):(b=0,a=-1,le(this),e=d=!1)):Te(this,this.bd);var f=a,g=b,h=pf(this,this.ea);204!=h||this.Pc||(d=!1);this.O&131072&&(6==f&&
99==h||13==f&&205==h)&&(d=!1);983040<=this.ea&&1048575>=this.ea&&(d=!1);if(d){var k=this.ca.Ib,f="Fault "+oa(f,2,!0)+(null!=g?" ("+oa(g,4,!0)+")":"")+" on opcode "+oa(h,2,!0);d&&k&&(f+=" (blocked)");this.Aa(f);Qc(this)}if(d&&e)throw-1;if(e)throw this.xc=a,Ai.call(this,a,b,c),this.bd=this.ea,this.M=1==a?this.M|8192:this.M|4096,a;}function ne(a,b,c){this.Xd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ga&&(a|=4);v.call(this,14,a)}
99==h||13==f&&205==h)&&(d=!1);983040<=this.ea&&1048575>=this.ea&&(d=!1);if(d){var l=this.ca.Ib,f="Fault "+oa(f,2,!0)+(null!=g?" ("+oa(g,4,!0)+")":"")+" on opcode "+oa(h,2,!0);d&&l&&(f+=" (blocked)");this.Aa(f);Qc(this)}if(d&&e)throw-1;if(e)throw this.xc=a,Ai.call(this,a,b,c),this.bd=this.ea,this.M=1==a?this.M|8192:this.M|4096,a;}function ne(a,b,c){this.Xd=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Ga&&(a|=4);v.call(this,14,a)}
function Ci(a){var b=a.jb&7680;a.ha&65528&&(6144==b||7168==b||7168>b&&a.gc<this.Ga&&a.gc<(a.ha&3))&&a.load(0)}
function se(a){var b,c;switch((this.Z=this.ka())&199){case 0:c=I(this,this.G+this.J);this.A-=this.B.Ac;break;case 1:c=I(this,this.G+this.I);this.A-=this.B.Bc;break;case 2:c=J(this,this.L+this.J);this.A-=this.B.Bc;break;case 3:c=J(this,this.L+this.I);this.A-=this.B.Ac;break;case 4:c=I(this,this.J);this.A-=this.B.dc;break;case 5:c=I(this,this.I);this.A-=this.B.dc;break;case 6:c=I(this,O(this));this.A-=this.B.Yc;break;case 7:c=I(this,this.G);this.A-=this.B.dc;break;case 64:c=I(this,this.G+this.J+this.P());
this.A-=this.B.Fb;break;case 65:c=I(this,this.G+this.I+this.P());this.A-=this.B.Gb;break;case 66:c=J(this,this.L+this.J+this.P());this.A-=this.B.Gb;break;case 67:c=J(this,this.L+this.I+this.P());this.A-=this.B.Fb;break;case 68:c=I(this,this.J+this.P());this.A-=this.B.Na;break;case 69:c=I(this,this.I+this.P());this.A-=this.B.Na;break;case 70:c=J(this,this.L+this.P());this.A-=this.B.Na;break;case 71:c=I(this,this.G+this.P());this.A-=this.B.Na;break;case 128:c=I(this,this.G+this.J+O(this));this.A-=this.B.Fb;
@ -357,7 +357,7 @@ a&&$e(this)==(this.ba&64)&&(Ve(this),this.M|=256)}},function(){var a=1,b=0,c=thi
this.ka();this.A-=this.B.Hb},function(){this.K=this.K&-256|this.ka();this.A-=this.B.Hb},function(){this.G=this.G&-256|this.ka();this.A-=this.B.Hb},function(){this.F=this.F&-65281|this.ka()<<8;this.A-=this.B.Hb},function(){this.H=this.H&-65281|this.ka()<<8;this.A-=this.B.Hb},function(){this.K=this.K&-65281|this.ka()<<8;this.A-=this.B.Hb},function(){this.G=this.G&-65281|this.ka()<<8;this.A-=this.B.Hb},function(){this.F=this.F&~this.N|this.ya();this.A-=this.B.Hb},function(){this.H=this.H&~this.N|this.ya();
this.A-=this.B.Hb},function(){this.K=this.K&~this.N|this.ya();this.A-=this.B.Hb},function(){this.G=this.G&~this.N|this.ya();this.A-=this.B.Hb},function(){A(this,C(this)&~this.N|this.ya());this.A-=this.B.Hb},function(){this.L=this.L&~this.N|this.ya();this.A-=this.B.Hb},function(){this.J=this.J&~this.N|this.ya();this.A-=this.B.Hb},function(){this.I=this.I&~this.N|this.ya();this.A-=this.B.Hb},dj,ej,dj,ej,function(){this.ja.call(this,oh)},function(){this.ja.call(this,mh)},function(){this.M|=1;this.Rc.call(this,
lj,this.ka)},function(){this.M|=1;this.$a.call(this,lj,this.ya)},fj,gj,fj,gj,function(){if(this.O&131072&&3>this.Wb)v.call(this,13,0);else{var a=this.B.bj;this.xc=-1;Ai.call(this,3,null,a)}},function(){var a=this.ka();if(this.O&131072&&3>this.Wb)v.call(this,13,0);else{var b;a:{b=this.pf[a];if(void 0!==b)for(var c=0;c<b.length;c++)if(!b[c](this.ea)){b=!1;break a}b=!0}b?(this.xc=-1,Ai.call(this,a,null,0)):this.A--}},function(){if(bf(this))if(this.O&131072&&3>this.Wb)v.call(this,13,0);else{var a=this.B.cj;
this.xc=-1;Ai.call(this,4,null,a)}else this.A-=this.B.dj},function(){if(this.O&131072&&3>this.Wb)v.call(this,13,0);else{this.yc=this.W.ha;this.na=this.xa;this.A-=this.B.$i;if(this.pa&1&&this.O&16384){var a=this.fa(this.la.va+0);sd(this.ga,a,!1)}else{var a=this.Ga,b=x(this),c=x(this),d=x(this);if(this.O&131072)d=d&131071|this.O&-131072;else if(d&131072){var e=x(this),f=x(this),g=x(this),h=x(this),k=x(this),m=x(this);td(this,!0,!0);rd(this,f);A(this,e);yd(this,g);xd(this,h);this.qb.load(k);this.rb.load(m)}null!=
this.xc=-1;Ai.call(this,4,null,a)}else this.A-=this.B.dj},function(){if(this.O&131072&&3>this.Wb)v.call(this,13,0);else{this.yc=this.W.ha;this.na=this.xa;this.A-=this.B.$i;if(this.pa&1&&this.O&16384){var a=this.fa(this.la.va+0);sd(this.ga,a,!1)}else{var a=this.Ga,b=x(this),c=x(this),d=x(this);if(this.O&131072)d=d&131071|this.O&-131072;else if(d&131072){var e=x(this),f=x(this),g=x(this),h=x(this),l=x(this),m=x(this);td(this,!0,!0);rd(this,f);A(this,e);yd(this,g);xd(this,h);this.qb.load(l);this.rb.load(m)}null!=
Cd(this,b,c,!1)&&(Bd(this,d,a),this.cg&&Ne(this,this.ea))}this.yc=this.na=-1}},function(){this.Rc.call(this,aj,ui)},function(){this.$a.call(this,2==this.S?bj:cj,ui)},function(){this.Rc.call(this,aj,vi)},function(){this.$a.call(this,2==this.S?bj:cj,vi)},function(){var a=this.ka();if(a){var b=this.F&255;this.F=this.F&-65536|b/a<<8|b%a;H(this,this.F,128);this.A-=this.B.Fi}else Di.call(this)},function(){var a=this.F&255,b=(this.F>>8&255)*this.ka()|0,c=a+b|0;this.F=this.F&-65536|c&255;We(this,a,b,c,191);
this.A-=this.B.Ei},function(){this.F=this.F&-256|(Xe(this)?255:0);this.A-=2},function(){this.F=this.F&-256|qf(this,this.Ba,this.G+(this.F&255));this.A-=this.B.Dj},function(){hj.call(this,216)},function(){hj.call(this,217)},function(){hj.call(this,218)},function(){hj.call(this,219)},function(){hj.call(this,220)},function(){hj.call(this,221)},function(){hj.call(this,222)},function(){hj.call(this,223)},function(){var a=this.P(),b=this.H-1&this.ra;this.H=this.H&~this.ra|b;b&&!$e(this)?(G(this,E(this)+
a),this.A-=this.B.kj):this.A-=this.B.Mg},function(){var a=this.P(),b=this.H-1&this.ra;this.H=this.H&~this.ra|b;b&&$e(this)?(G(this,E(this)+a),this.A-=this.B.Ng):this.A-=this.B.Og},function(){var a=this.P(),b=this.H-1&this.ra;this.H=this.H&~this.ra|b;b?(G(this,E(this)+a),this.A-=this.B.jj):this.A-=this.B.Mg},function(){var a=this.P();this.H&this.ra?this.A-=this.B.Og:(G(this,E(this)+a),this.A-=this.B.Ng)},function(){var a=this.ka();of(this,a,1)&&(this.F=this.F&-256|lc(this.ma,a,1,this.ea-2)&255,this.A-=
@ -390,7 +390,7 @@ F[130]=function(){var a=this.ya();Xe(this)?(G(this,E(this)+a),this.A-=this.B.Ia)
F[135]=function(){var a=this.ya();Xe(this)||$e(this)?this.A-=this.B.Ja:(G(this,E(this)+a),this.A-=this.B.Ia)};F[136]=function(){var a=this.ya();af(this)?(G(this,E(this)+a),this.A-=this.B.Ia):this.A-=this.B.Ja};F[137]=function(){var a=this.ya();af(this)?this.A-=this.B.Ja:(G(this,E(this)+a),this.A-=this.B.Ia)};F[138]=function(){var a=this.ya();Ye(this)?(G(this,E(this)+a),this.A-=this.B.Ia):this.A-=this.B.Ja};F[139]=function(){var a=this.ya();Ye(this)?this.A-=this.B.Ja:(G(this,E(this)+a),this.A-=this.B.Ia)};
F[140]=function(){var a=this.ya();!af(this)!=!bf(this)?(G(this,E(this)+a),this.A-=this.B.Ia):this.A-=this.B.Ja};F[141]=function(){var a=this.ya();!af(this)==!bf(this)?(G(this,E(this)+a),this.A-=this.B.Ia):this.A-=this.B.Ja};F[142]=function(){var a=this.ya();$e(this)||!af(this)!=!bf(this)?(G(this,E(this)+a),this.A-=this.B.Ia):this.A-=this.B.Ja};F[143]=function(){var a=this.ya();$e(this)||!af(this)!=!bf(this)?this.A-=this.B.Ja:(G(this,E(this)+a),this.A-=this.B.Ia)};F[144]=function(){ti.call(this,Ch)};
F[145]=function(){ti.call(this,Ch)};F[146]=function(){ti.call(this,Dh)};F[147]=function(){ti.call(this,Eh)};F[148]=function(){ti.call(this,Fh)};F[149]=function(){ti.call(this,Gh)};F[150]=function(){ti.call(this,Hh)};F[151]=function(){ti.call(this,Ih)};F[152]=function(){ti.call(this,Jh)};F[153]=function(){ti.call(this,Kh)};F[154]=function(){ti.call(this,Lh)};F[155]=function(){ti.call(this,Mh)};F[156]=function(){ti.call(this,Nh)};F[157]=function(){ti.call(this,Oh)};F[158]=function(){ti.call(this,Ph)};
F[159]=function(){ti.call(this,Qh)};F[160]=function(){wd(this,this.qb.ha,this.S,2);this.A-=this.B.Md};F[161]=function(){this.na=this.xa;var a=x(this);this.qb.load(a);this.A-=this.B.Yb;this.na=-1};F[163]=function(){this.wa.call(this,Yg);-1!==this.C&&(this.A-=6)};F[164]=function(){this.wa.call(this,2==this.S?Uh:Wh);this.A-=-1===this.C?3:7};F[165]=function(){this.wa.call(this,2==this.S?Yh:Zh);this.A-=-1===this.C?3:7};F[168]=function(){wd(this,this.rb.ha,this.S,2);this.A-=this.B.Md};
F[159]=function(){ti.call(this,Qh)};F[160]=function(){wd(this,this.qb.ha,this.S,2);this.A-=this.B.Md};F[161]=function(){this.na=this.xa;var a=x(this);this.qb.load(a);this.A-=this.B.Yb;this.na=-1};F[163]=function(){this.wa.call(this,Yg);-1!==this.C&&(this.A-=6)};F[164]=function(){this.wa.call(this,2==this.S?Rh:Wh);this.A-=-1===this.C?3:7};F[165]=function(){this.wa.call(this,2==this.S?Yh:Zh);this.A-=-1===this.C?3:7};F[168]=function(){wd(this,this.rb.ha,this.S,2);this.A-=this.B.Md};
F[169]=function(){this.na=this.xa;var a=x(this);this.rb.load(a);this.A-=this.B.Yb;this.na=-1};F[171]=function(){this.wa.call(this,ah);-1!==this.C&&(this.A-=5)};F[172]=function(){this.wa.call(this,2==this.S?$h:bi);this.A-=-1===this.C?3:7};F[173]=function(){this.wa.call(this,2==this.S?di:ei);this.A-=-1===this.C?3:7};F[175]=function(){this.ja.call(this,2==this.S?gh:ih)};F[178]=function(){this.ja.call(this,sh)};F[179]=function(){this.wa.call(this,$g);-1!==this.C&&(this.A-=5)};
F[180]=function(){this.ja.call(this,ph)};F[181]=function(){this.ja.call(this,qh)};
F[182]=function(){this.Vb.call(this,uh);switch(this.Z>>3&7){case 0:this.F=this.F&~this.N|this.F&255;break;case 1:this.H=this.H&~this.N|this.H&255;break;case 2:this.K=this.K&~this.N|this.K&255;break;case 3:this.G=this.G&~this.N|this.G&255;break;case 4:this.ic=this.ic&~this.N|this.F>>8&255;this.F=this.ta;break;case 5:this.L=this.L&~this.N|this.H>>8&255;this.H=this.ta;break;case 6:this.J=this.J&~this.N|this.K>>8&255;this.K=this.ta;break;case 7:this.I=this.I&~this.N|this.G>>8&255,this.G=this.ta}this.A-=
@ -403,18 +403,18 @@ var Pe=[function(){this.A-=2+(-1===this.C?0:1);return this.jc.ha},function(){thi
var b=this.Tb;80286==this.aa?b|=-16777216:80386<=this.aa&&2!=this.S&&(a|=b<<16);this.Pa(this.C+2,b);this.A-=12}return a},function(a){-1===this.C||this.O&131072?v.call(this,6):(this.Kb=this.da(this.C+2)&(this.N|this.N<<8),a&=65535,this.Oc=this.Kb+a,this.M|=2,this.A-=11);return a},function(a){-1===this.C||this.O&131072?v.call(this,6):(this.Tb=this.da(this.C+2)&(this.N|this.N<<8),a&=65535,this.Pc=this.Tb+a,this.M|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.C?0:1);return this.pa},R,function(a){this.O&
131072?v.call(this,6):(nf(this,a),this.A-=-1===this.C?3:6,this.M|=2);return a},R],pj=[R,R,R,R,Ug,Xg,Wg,Vg];
function T(a){t.call(this,"ChipSet",a);var b=a.model;b&&!qj[b]&&r("Unrecognized ChipSet model: "+b);this.aa=qj[b]||rj;this.C=[];b=sj(a[tj]);this.C[0]=[b,b];null==b&&(this.O=[360,360],(b=a.floppies)&&b.length&&(this.O=b),uj(this,vj,this.O.length),uj(this,wj,a.monitor||(this.aa<Ef?"mono":"ega")));b=sj(a[xj]);this.C[1]=[b,b];this.wa=this.ja=1;this.aa>=Ef&&(this.wa=this.ja=2);this.V=a.scaleTimers||!1;this.Ka=a.rtcDate;this.Ga=!1;a.sound&&(this.Ca=this.la=null,window&&(this.Ca=window.AudioContext||window.webkitAudioContext),
this.Ca&&(this.la=new this.Ca));this.reset(!0);mb(this)}ba(T,t);l=T.prototype;l.wb=function(a,b,c){switch(b){case tj:return this.ia[b]=c,yj(this,0,b),!0;case xj:if((this.aa|0)==zj||this.aa==Aj)return this.ia[b]=c,yj(this,1,b),!0;break;case Bj:return this.ia[b]=c,!0}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.Vd=vb(a,"FPU");uj(this,Cj,this.Vd?1:0,!0);this.B=vb(a,"Keyboard");this.za=c.R.Xc/Dj;kc(b,this,Ej);mc(b,this,Fj);this.aa<Ef?this.aa!=Aj?(kc(b,this,Gj),mc(b,this,Hj)):(kc(b,this,Ij),mc(b,this,Jj)):(kc(b,this,Kj),mc(b,this,Lj),(this.aa|0)==Mj&&(kc(b,this,Nj),mc(b,this,Oj)))};l.Ob=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};
l.reset=function(a){var b;Pj(this);this.D=Array(this.wa);for(b=0;b<this.wa;b++)Qj(this,b);this.Zb=Array(this.ja);Rj(this,Sj,Tj);1<this.ja&&Rj(this,Uj,Vj);this.ea=this.ta=null;this.H=Array((this.aa|0)==Mj?6:3);for(b=0;b<this.H.length;b++)Wj(this,b);this.ga=this.Ba=this.J=this.ua=null;this.ba=If;this.aa==Aj&&(this.Z=0);if(this.aa>=Ef){this.F=Xj;this.L=0;this.K=Yj;this.pa=0;this.M=Zj|ak;512<=bk(this)&&(this.M|=ck);+dk(this,wj,void 0)==ek&&(this.M|=fk);(this.aa|0)==Mj&&(this.M=this.M|gk|hk);this.qa=ik|
this.Ca&&(this.la=new this.Ca));this.reset(!0);mb(this)}ba(T,t);k=T.prototype;k.wb=function(a,b,c){switch(b){case tj:return this.ia[b]=c,yj(this,0,b),!0;case xj:if((this.aa|0)==zj||this.aa==Aj)return this.ia[b]=c,yj(this,1,b),!0;break;case Bj:return this.ia[b]=c,!0}return!1};
k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.Vd=vb(a,"FPU");uj(this,Cj,this.Vd?1:0,!0);this.B=vb(a,"Keyboard");this.za=c.R.Xc/Dj;kc(b,this,Ej);mc(b,this,Fj);this.aa<Ef?this.aa!=Aj?(kc(b,this,Gj),mc(b,this,Hj)):(kc(b,this,Ij),mc(b,this,Jj)):(kc(b,this,Kj),mc(b,this,Lj),(this.aa|0)==Mj&&(kc(b,this,Nj),mc(b,this,Oj)))};k.Ob=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};
k.reset=function(a){var b;Pj(this);this.D=Array(this.wa);for(b=0;b<this.wa;b++)Qj(this,b);this.Zb=Array(this.ja);Rj(this,Sj,Tj);1<this.ja&&Rj(this,Uj,Vj);this.ea=this.ta=null;this.H=Array((this.aa|0)==Mj?6:3);for(b=0;b<this.H.length;b++)Wj(this,b);this.ga=this.Ba=this.J=this.ua=null;this.ba=If;this.aa==Aj&&(this.Z=0);if(this.aa>=Ef){this.F=Xj;this.L=0;this.K=Yj;this.pa=0;this.M=Zj|ak;512<=bk(this)&&(this.M|=ck);+dk(this,wj,void 0)==ek&&(this.M|=fk);(this.aa|0)==Mj&&(this.M=this.M|gk|hk);this.qa=ik|
jk;this.G=Array(8);this.W=0;a&&(this.A=Array(kk));lk(this,this.Ka);for(a=mk;a<=nk;a++)this.A[a]=0;for(a=ok;a<pk;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+dk(this,wj,void 0)<<qk.bg&qk.fc;a|=+dk(this,Cj,void 0)?rk:0;b=+dk(this,vj,void 0);a|=b?b-1<<sk.bg&sk.fc|sk.fk:0;this.A[tk]=a;this.A[uk]=vk(this,0)<<4|vk(this,1);wk(this)}};
function lk(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.lc("CMOS date invalid ("+b+"), using "+c)):b&&a.lc("CMOS date: "+c);a.A[xk]=c.getSeconds();a.A[yk]=0;a.A[zk]=c.getMinutes();a.A[Ak]=0;a.A[Bk]=c.getHours();a.A[Ck]=0;a.A[Dk]=c.getDay()+1;a.A[Ek]=c.getDate();a.A[Fk]=c.getMonth()+1;b=c.getFullYear();a.A[Gk]=b%100;b/=100;a.A[Hk]=b%10|b/10<<4;a.A[Ik]=38;a.A[dd]=Jk;a.A[Kk]=0;a.A[Lk]=Mk;a.na=a.X=0;a.Ha=a.xa=null}
function Nk(a){var b;void 0===b&&(b=a.xa);a.X=Yc(a.U,a.V)+b;a.A[dd]&ed&&Sc(a.U,b)}function wk(a){for(var b=0,c=uk;c<pk;c++)b+=a.A[c];a.A[Ok]=b&255;a.A[pk]=b>>8}
l.save=function(){var a=new Qe(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.D;c++){for(var d=this.D[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Jd,h.uf,h.ac,h.cb,h.eb,h.mode,h.vf,h.rn,h.sn]}b[c]=[d.zb,d.ig,d.ai,d.Cb,f,d.kg]}a.set(1,[b]);b=[];for(c=0;c<this.Zb.length;c++)d=this.Zb[c],b[c]=[d.Qe,d.Kc,d.hd,d.Uc,d.Rb,d.tc,d.Ed,d.He];a.set(2,[b]);b=[];for(c=0;c<this.H.length;c++)d=this.H[c],b[c]=[d.ac,d.vc,d.eb,d.Fd,d.lg,d.mode,d.gf,d.Wc,d.fd,d.Lc,d.le,d.Hd,d.gd,d.zb,d.pe];a.set(3,[this.ta,
k.save=function(){var a=new Qe(this);a.set(0,[this.C]);for(var b=[],c=0;c<this.D;c++){for(var d=this.D[c],e=d,f=[],g=0;g<e.Qb.length;g++){var h=e.Qb[g];f[g]=[h.Jd,h.uf,h.ac,h.cb,h.eb,h.mode,h.vf,h.sn,h.tn]}b[c]=[d.zb,d.ig,d.ai,d.Cb,f,d.kg]}a.set(1,[b]);b=[];for(c=0;c<this.Zb.length;c++)d=this.Zb[c],b[c]=[d.Qe,d.Kc,d.hd,d.Uc,d.Rb,d.tc,d.Ed,d.He];a.set(2,[b]);b=[];for(c=0;c<this.H.length;c++)d=this.H[c],b[c]=[d.ac,d.vc,d.eb,d.Fd,d.lg,d.mode,d.gf,d.Wc,d.fd,d.Lc,d.le,d.Hd,d.gd,d.zb,d.pe];a.set(3,[this.ta,
b,this.ea]);a.set(4,[this.ua,this.J,this.Ba,this.ga,this.ba]);this.aa>=Ef&&(a.set(5,[this.F,this.L,this.K,this.pa,this.M,this.qa]),a.set(6,[this.G[7],this.G,this.W,this.A,this.na,this.X]));return a.data()};
l.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pj(this);b=a[1];for(c=0;c<this.wa;c++)Qj(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ja;c++)Rj(this,c,c?Vj:Tj,b[0][c]);b=a[3];this.ta=b[0];this.ea=b[2];for(c=0;c<this.H.length;c++)Wj(this,c,b[1][c]);b=a[4];this.ua=b[0];this.J=b[1];this.Ba=b[2];this.ga=b[3];this.ba=b[4];if(b=a[5])this.F=b[0],this.L=b[1],this.K=b[2],this.pa=b[3],this.M=b[4],this.qa=
b[5];if(b=a[6])this.G=b[1],this.G[7]=b[0],this.W=b[2],this.A=b[3],this.na=b[4],this.X=b[5],lk(this);return!0};l.start=function(){Pk(this)};l.stop=function(){Pk(this)};function Qj(a,b,c){var d=a.D[b];d||(d={Qb:Array(4)});c=c&&5<=c.length?c:Qk;d.zb=c[0];d.ig=c[1];d.ai=c[2];d.Cb=c[3];d.Sl=b<<2;for(var e=0;e<d.Qb.length;e++)Rk(d,e,c[4][e]);d.kg=c[5]||0;a.D[b]=d}
function Rk(a,b,c){var d=a.Qb[b];d||(d={uf:[0,0],ac:[0,0],cb:[0,0],eb:[0,0]});c=c&&8==c.length?c:Sk;d.Jd=c[0];d.uf[0]=c[1][0];d.uf[1]=c[1][1];d.ac[0]=c[2][0];d.ac[1]=c[2][1];d.cb[0]=c[3][0];d.cb[1]=c[3][1];d.eb[0]=c[4][0];d.eb[1]=c[4][1];d.mode=c[5];d.vf=c[6];d.controller=a;d.vi=b;Tk(d,c[8],c[9]);a.Qb[b]=d}function Tk(a,b,c,d){"string"==typeof b&&(b=Za(b));b&&(a.done=null,a.rn=b.id,a.sn=c,a.Cf=b,a.pg=b[c],a.Rf=d)}
function Rj(a,b,c,d){var e=a.Zb[b];e||(e={Kc:[null,null,null,null]});d=d&&8==d.length?d:Uk;e.port=c;e.Go=b<<3;e.Qe=d[0];e.Kc[0]=d[1][0];e.Kc[1]=d[1][1];e.Kc[2]=d[1][2];e.Kc[3]=d[1][3];e.hd=d[2];e.Uc=d[3];e.Rb=d[4];e.tc=d[5];e.Ed=d[6];e.He=d[7];a.Zb[b]=e}
k.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pj(this);b=a[1];for(c=0;c<this.wa;c++)Qj(this,c,1==b.length?b[0][c]:b);b=a[2];for(c=0;c<this.ja;c++)Rj(this,c,c?Vj:Tj,b[0][c]);b=a[3];this.ta=b[0];this.ea=b[2];for(c=0;c<this.H.length;c++)Wj(this,c,b[1][c]);b=a[4];this.ua=b[0];this.J=b[1];this.Ba=b[2];this.ga=b[3];this.ba=b[4];if(b=a[5])this.F=b[0],this.L=b[1],this.K=b[2],this.pa=b[3],this.M=b[4],this.qa=
b[5];if(b=a[6])this.G=b[1],this.G[7]=b[0],this.W=b[2],this.A=b[3],this.na=b[4],this.X=b[5],lk(this);return!0};k.start=function(){Pk(this)};k.stop=function(){Pk(this)};function Qj(a,b,c){var d=a.D[b];d||(d={Qb:Array(4)});c=c&&5<=c.length?c:Qk;d.zb=c[0];d.ig=c[1];d.ai=c[2];d.Cb=c[3];d.Tl=b<<2;for(var e=0;e<d.Qb.length;e++)Rk(d,e,c[4][e]);d.kg=c[5]||0;a.D[b]=d}
function Rk(a,b,c){var d=a.Qb[b];d||(d={uf:[0,0],ac:[0,0],cb:[0,0],eb:[0,0]});c=c&&8==c.length?c:Sk;d.Jd=c[0];d.uf[0]=c[1][0];d.uf[1]=c[1][1];d.ac[0]=c[2][0];d.ac[1]=c[2][1];d.cb[0]=c[3][0];d.cb[1]=c[3][1];d.eb[0]=c[4][0];d.eb[1]=c[4][1];d.mode=c[5];d.vf=c[6];d.controller=a;d.vi=b;Tk(d,c[8],c[9]);a.Qb[b]=d}function Tk(a,b,c,d){"string"==typeof b&&(b=Za(b));b&&(a.done=null,a.sn=b.id,a.tn=c,a.Cf=b,a.pg=b[c],a.Rf=d)}
function Rj(a,b,c,d){var e=a.Zb[b];e||(e={Kc:[null,null,null,null]});d=d&&8==d.length?d:Uk;e.port=c;e.Ho=b<<3;e.Qe=d[0];e.Kc[0]=d[1][0];e.Kc[1]=d[1][1];e.Kc[2]=d[1][2];e.Kc[3]=d[1][3];e.hd=d[2];e.Uc=d[3];e.Rb=d[4];e.tc=d[5];e.Ed=d[6];e.He=d[7];a.Zb[b]=e}
function Wj(a,b,c){var d=a.H[b];d||(d={ac:[0,0],vc:[0,0],eb:[0,0],Fd:[0,0]});c=c&&13<=c.length?c:Vk;d.ac[0]=c[0][0];d.ac[1]=c[0][1];d.vc[0]=c[1][0];d.vc[1]=c[1][1];d.eb[0]=c[2][0];d.eb[1]=c[2][1];d.Fd[0]=c[3][0];d.Fd[1]=c[3][1];d.lg=c[4];d.mode=c[5];d.gf=c[6];d.Wc=c[7];d.fd=c[8];d.Lc=c[9];d.le=c[10];d.Hd=c[11];d.gd=c[12];d.zb=c[13]||0;d.pe=c[14]||!1;a.H[b]=d}
function yj(a,b,c){for(var d="",e=a.ia[c],f=1;8>=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='<div id="'+(c+"-"+f)+'" class="'+g+'" data-value="0">'+f+"</div>\n"}e.innerHTML=d;Wk(a,b,c,!0)}function Xk(a,b,c){if(b=(a=U[a.aa|0])&&a[b])for(var d in b)if(a=b[d],a.fc&1<<c)return a;return null}
function dk(a,b,c){for(var d=null,e=U[a.aa]||U[a.aa|0]||U[zj],f=0;f<e.length;f++){var g=e[f];if(g&&(g=g[b])){a=a.C[f][c?0:1]&g.fc;for(var h in g.Ec)if(g.Ec[h]==a&&(d=h,"number"==typeof+d))break;break}}return d}function vk(a,b){if(b<+dk(a,vj,void 0)){if(!a.O)return Yk;if(b<a.O.length)switch(a.O[b]){case 160:case 180:case 320:case 360:return Yk;case 720:return Zk;case 1200:return $k;case 1440:return al}}return bl}function bk(a,b){return+dk(a,cl,b)+ +dk(a,dl,b)}
@ -422,7 +422,7 @@ function sj(a,b){if(a){b=0;for(var c=1,d=0;d<a.length;d++)"0"==a.charAt(d)&&(b|=
function Wk(a,b,c,d){if(c=a.ia[c]){d=d?a.C[b][0]:a.C[b][1]=a.C[b][0];c=eb(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=Xk(a,b,e);c[e].setAttribute("title",f&&f.cd||"Reserved");el(c[e],!(d&1<<e));c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");el(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case tj:a.C[0][0]=a.C[0][0]&~e|(c?0:e);break;case xj:a.C[1][0]=a.C[1][0]&~e|(c?0:e)}fl(a)}}(a,c[e])}}}
function fl(a){var b=a.ia[Bj];if(null!=b){var c;c=""+(bk(a,!0)+"Kb");c+=", "+(+ +dk(a,Cj,!0)?"":"No ")+"FPU";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+dk(a,wj,!0)]+" Monitor";c+=", "+ +dk(a,vj,!0)+" Floppy Drives";if(null!=a.C[0][1]&&a.C[0][1]!=a.C[0][0]||null!=a.C[1][1]&&a.C[1][1]!=a.C[1][0])c+=" (Reset required)";b.textContent=c}}
function gl(a,b,c){a=a.D[b];var d=a.Qb[c],e=d.cb[a.Cb];a.Cb^=1;b||c!=hl||a.Cb||(d.cb[0]++,255<d.cb[0]&&(d.cb[0]=0,d.cb[1]++,255<d.cb[1]&&(d.cb[1]=0)));return e}function il(a,b,c,d){a=a.D[b];c=a.Qb[c];c.cb[a.Cb]=c.uf[a.Cb]=d;a.Cb^=1}function jl(a,b,c){a=a.D[b];var d=a.Qb[c],e=d.eb[a.Cb];a.Cb^=1;b||c!=hl||a.Cb||(d.eb[0]--,0>d.eb[0]&&(d.eb[0]=255,d.eb[1]--,0>d.eb[1]&&(d.eb[1]=255)));return e}function kl(a,b,c,d){a=a.D[b];c=a.Qb[c];c.eb[a.Cb]=c.ac[a.Cb]=d;a.Cb^=1}
function ll(a,b){a=a.D[b];b=a.zb|ml;a.zb&=~nl;return b}function ol(a,b,c){a=a.D[b];b=c&3;a.zb=a.zb&~(16<<b)|(c&4)<<b+2;a.ai=c}function pl(a,b,c){b=a.D[b];var d=c&ql,e=b.Qb[d];e.Jd=!!(c&rl);e.Jd||sl(a,b.Sl+d)}function tl(a,b){a=a.D[b];for(b=0;b<a.Qb.length;b++)Rk(a,b)}function ul(a,b,c){return a.D[b].Qb[c].vf}function vl(a,b,c,d){a.D[b].Qb[c].vf=d}function wl(a,b,c,d,e){Tk(a.D[b>>2].Qb[b&3],c,d,e)}function sl(a,b,c){b=a.D[b>>2].Qb[b&3];b.Cf&&b.pg&&b.Rf?(c&&(b.done=c),b.Jd||xl(a,b,!0)):c&&c(!0)}
function ll(a,b){a=a.D[b];b=a.zb|ml;a.zb&=~nl;return b}function ol(a,b,c){a=a.D[b];b=c&3;a.zb=a.zb&~(16<<b)|(c&4)<<b+2;a.ai=c}function pl(a,b,c){b=a.D[b];var d=c&ql,e=b.Qb[d];e.Jd=!!(c&rl);e.Jd||sl(a,b.Tl+d)}function tl(a,b){a=a.D[b];for(b=0;b<a.Qb.length;b++)Rk(a,b)}function ul(a,b,c){return a.D[b].Qb[c].vf}function vl(a,b,c,d){a.D[b].Qb[c].vf=d}function wl(a,b,c,d,e){Tk(a.D[b>>2].Qb[b&3],c,d,e)}function sl(a,b,c){b=a.D[b>>2].Qb[b&3];b.Cf&&b.pg&&b.Rf?(c&&(b.done=c),b.Jd||xl(a,b,!0)):c&&c(!0)}
function xl(a,b,c){c&&(b.count=b.eb[1]<<8|b.eb[0],b.type=b.mode&yl,b.oi=b.Ef=!1);for(var d=!1;0<=b.count&&(c=b.vf<<16|b.cb[1]<<8|b.cb[0],b.type==zl?(d=!0,function(c){b.pg.call(b.Cf,b.Rf,-1,function(e,g){0>e&&(b.oi||(b.oi=!0),e=255);b.Jd||a.ma.Dc(c,e);(d=g)&&setTimeout(function(){Al(b)||xl(a,b)},0)})}(c)):b.type==Bl?(c=a.ma.Eb(c),0>b.pg.call(b.Cf,b.Rf,c)&&(b.Ef=!0)):b.type!=Cl&&(b.Ef=!0)),!d&&!Al(b););}
function Al(a){if(!a.Ef&&0<=--a.count&&(a.mode&Dl?(a.cb[0]--,0>a.cb[0]&&(a.cb[0]=255,a.cb[1]--,0>a.cb[1]&&(a.cb[1]=255))):(a.cb[0]++,255<a.cb[0]&&(a.cb[0]=0,a.cb[1]++,255<a.cb[1]&&(a.cb[1]=0))),!a.Jd))return!1;var b=a.controller;b.zb=b.zb&~(16<<a.vi)|1<<a.vi;a.mode&El||(a.Jd=!0,a.Cf=a.Rf=null);a.done&&(a.done(!a.Ef),a.done=null);return!0}function Fl(a,b){var c=0;a=a.Zb[b];if(null!=a.He)switch(a.He&Gl){case Hl:c=a.Rb;break;case Il:c=a.tc}return c}
function Jl(a,b,c){b=a.Zb[b];if(c&Kl)b.hd=0,b.Kc[b.hd++]=c,b.Uc=0,b.Ed=7,b.Rb=b.tc=0,b.He=Ll|Hl;else if(c&Ll)b.He=c;else{var d=c&Ml;if(d&Nl){var e=0;if((d&Ol)==Ol)c&=Pl,e=1<<c;else for(c=b.Ed+1;;){c&=7;d=1<<c;if(b.tc&d){e=d;break}if(c++==b.Ed)break}b.tc&e&&(b.tc&=~e,Ql(a))}else d==Rl&&(b.Ed=c&Pl)}}function Sl(a,b,c){var d=a.Zb[b];d.hd<d.Kc.length?(d.Kc[d.hd++]=c,2==d.hd&&d.Kc[0]&Tl&&d.hd++,3!=d.hd||d.Kc[0]&Ul||d.hd++):(d.Uc=c,d=a.U,d.M|=4,Ql(a,b||253!=c?0:6))}
@ -433,17 +433,17 @@ function gm(a,b,c){var d=0,e=c&hm;b?(d=3,a.ea=c):a.ta=c;if(e==im){if(!(c&jm))for
e.vc[0]=e.ac[0],e.vc[1]=e.ac[1],e.gd=Yc(a.U,a.V))}}}function em(a,b){a=a.H[b];(b=a.ac[1]<<8|a.ac[0])||(b=1==a.fd?256:65536);return b}function bd(a,b){a=a.H[b];(b=a.vc[1]<<8|a.vc[0])||(b=1==a.fd?256:65536);return b}function om(a,b){Yl(a,b);var c=a.H[b];c.Fd[0]=c.eb[0];c.Fd[1]=c.eb[1];c.le=!0;Xl(a,b)}function Xl(a,b){a=a.H[b];a.Wc=a.gf==ym?1:0;a.fd=a.gf==zm?2:1}
function Yl(a,b,c){var d=a.H[b];if(d.Hd&&(b!=fm||a.J&um)){var e=Yc(a.U,a.V),f=(e-d.gd)/a.za|0;0>f&&(d.gd=e,f=0);var g=em(a,b),h=bd(a,b)-f;d.mode==$l?(0>=h&&(h=0),h||(d.Lc=!0,d.Hd=!1,b||Hf(a,dm))):d.mode==Am?(d.Lc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Hf(a,dm))):d.mode==cd&&(h-=f,0>=h&&(d.Lc=!d.Lc,h=g+h,0>=h&&(h=g),d.vc[0]=h&255,d.vc[1]=h>>8&255,d.gd=e,!b&&d.Lc&&Hf(a,dm)));d.eb[0]=h&255;d.eb[1]=h>>8&255;c&&(a.gd=0)}return d}
function ad(a,b){for(var c=0;c<a.H.length;c++)Yl(a,c,b);if(a.aa>=Ef){b=a.U.R.Xc;c=Yc(a.U,a.V);null==a.xa&&(a.na=Yc(a.U,a.V),a.Ha=1024,a.xa=Math.floor(a.U.R.Xc/a.Ha),Nk(a));c>=a.X&&(a.A[Kk]|=Bm,a.A[dd]&ed&&(a.A[Kk]|=Cm,Hf(a,Dm)),a.X=c+a.xa);a.A[xk]==a.A[yk]&&a.A[zk]==a.A[Ak]&&a.A[Bk]==a.A[Ck]&&(a.A[Kk]|=Em,a.A[dd]&Fm&&(a.A[Kk]|=Cm,Hf(a,Dm)));var d=c-a.na,e=Math.floor(d/b);if(e&&!(a.A[dd]&Gm)){for(;e--;)if(60<=++a.A[xk]&&(a.A[xk]=0,60<=++a.A[zk]&&(a.A[zk]=0,24<=++a.A[Bk]))){a.A[Bk]=0;a.A[Dk]=a.A[Dk]%
7+1;var f;f=a.A[Gk];var g=za[a.A[Fk]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Ek]>f&&(a.A[Ek]=1,12<++a.A[Fk]&&(a.A[Fk]=1,a.A[Gk]=(a.A[Gk]+1)%100))}a.A[Kk]|=Hm;a.A[dd]&Mm&&(a.A[Kk]|=Cm,Hf(a,Dm))}a.na=c-d%b}}l.sl=function(){var a=this.ua;this.ga&Nm&&(this.J&Om?a=this.C[0][1]:this.B&&(a=Pm(this.B)));return a};l.Mm=function(a,b){this.ua=b};l.tl=function(){return this.J};l.Nm=function(a,b){Qm(this,b)};
function Qm(a,b){var c=!!(b&Rm),d=!!(a.J&Rm);a.J=b;a.B&&Sm(a.B,!(b&Om),!!(b&xm));c!=d&&Pk(a,c)}l.ul=function(){var a=0,a=(this.aa|0)==zj?this.J&vm?a|this.C[1][1]&Tm:a|this.C[1][1]>>4&1:this.J&Um?a|this.C[0][1]>>4:a|this.C[0][1]&15;this.J&um&&Yl(this,fm).Lc&&(a=this.J&Rm?a|Vm:a|Wm);return a};l.Om=function(a,b){this.Ba=b};l.vl=function(){return this.ga};l.Pm=function(a,b){this.ga=b};l.Ek=function(){var a=this.B?Pm(this.B):0;this.Z&=~Xm;return a};l.Yl=function(){};l.Dk=function(){return this.J};
l.Xl=function(a,b){Qm(this,b)};l.Fk=function(){return this.Z};l.Gk=function(){var a=this.pa;this.F&=~(Xm|Ym);this.B&&Zm(this.B);return a};l.$l=function(a,b){if(this.F&$m)switch(this.L){case an:bn(this,b);break;case cn:dn(this,b);break;default:if(bn(this,this.K&~Yj),this.B){a=this.B;var c=b,d=-1;switch(a.D||c){case en:d=fn;a.Jb=[];gn(a,hn);break;case jn:a.D&&(c=0);gn(a,fn);a.D=c;break;case kn:a.D&&(c=0),gn(a,fn),a.D=c}ln(this,d)}}this.L=b;this.F&=~$m};
l.Hk=function(){return this.J&~(mn|nn)|(Yc(this.U)&64?nn:0)};l.am=function(a,b){Qm(this,b)};l.Ik=function(){var a=this.F&255;this.F&Ym&&(this.F|=Xm,this.F&=~Ym);return a};
l.Zl=function(a,b){this.L=b;this.F|=$m;a=0;this.L>=on&&(a=this.L^15,this.L=on);switch(this.L){case pn:ln(this,this.K);break;case qn:bn(this,this.K|Yj);break;case rn:bn(this,this.K&~Yj);this.B&&Zm(this.B);break;case sn:this.B&&(this.B.Jb=[]);bn(this,this.K|Yj);ln(this,tn);dn(this,ik|jk);break;case un:ln(this,vn);break;case wn:ln(this,this.M);break;case xn:ln(this,this.qa);break;case yn:ln(this,this.K&Yj?0:zn);break;case on:a&1&&le(this.U)}};
function bn(a,b){a.K=b;a.F=a.F&~An|b&Bn;a.B&&Sm(a.B,!!(b&Cn),!(b&Yj))}function ln(a,b,c){0<=b&&(a.pa=b,c?a.F|=Xm:(a.F&=~Xm,a.F|=Ym))}function dn(a,b){a.qa=b;Pb(a.ma,!!(b&jk));b&ik||le(a.U)}function Dn(a,b){a.aa<Ef?(Hf(a,En,4),a.Z|=Xm):a.K&Yj||a.F&(Xm|Ym)||(ln(a,b,!0),Fn(a.B),Hf(a,En,120))}l.Wk=function(){return this.W};l.om=function(a,b){this.W=b;this.ba=b&Gn?If:Hn};
l.Xk=function(a,b){a=this.W&In;var c;if(a<=Lk)if(c=this.A[a],a<Ik){var d=!1;a!=Bk&&a!=Ck||this.A[dd]&Jk||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);this.A[dd]&Jn||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else a==Ik&&(this.A[a]^=Kn);else c=this.A[a];null!=b&&a==Kk&&(this.A[a]&=Ln,c&Cm&&Ff(this,Dm),c&Bm&&this.A[dd]&ed&&Nk(this));return c};
l.pm=function(a,b){a=this.W&In;var c=b^this.A[a],d;if(a<=Lk){if(d=b,a<Ik){var e=!1;this.A[dd]&Jn||(d=10*(d>>4)+(d&15),e=!0);if(a==Bk||a==Ck)e&&23<d&&(d+=48),this.A[dd]&Jk||(12>=d?d=12==d?0:d:(d-=116,d=24==d?12:d))}}else d=b;this.A[a]=d;a==dd&&c&ed&&b&ed&&Nk(this)};l.Hj=function(a,b){this.ba=b};l.zm=function(){};l.Am=function(){this.Vd&&Af(this.Vd)};
7+1;var f;f=a.A[Gk];var g=za[a.A[Fk]-1];28==g&&(f%4||!(f%100)&&f%400||g++);f=g;++a.A[Ek]>f&&(a.A[Ek]=1,12<++a.A[Fk]&&(a.A[Fk]=1,a.A[Gk]=(a.A[Gk]+1)%100))}a.A[Kk]|=Hm;a.A[dd]&Mm&&(a.A[Kk]|=Cm,Hf(a,Dm))}a.na=c-d%b}}k.sl=function(){var a=this.ua;this.ga&Nm&&(this.J&Om?a=this.C[0][1]:this.B&&(a=Pm(this.B)));return a};k.Nm=function(a,b){this.ua=b};k.tl=function(){return this.J};k.Om=function(a,b){Qm(this,b)};
function Qm(a,b){var c=!!(b&Rm),d=!!(a.J&Rm);a.J=b;a.B&&Sm(a.B,!(b&Om),!!(b&xm));c!=d&&Pk(a,c)}k.ul=function(){var a=0,a=(this.aa|0)==zj?this.J&vm?a|this.C[1][1]&Tm:a|this.C[1][1]>>4&1:this.J&Um?a|this.C[0][1]>>4:a|this.C[0][1]&15;this.J&um&&Yl(this,fm).Lc&&(a=this.J&Rm?a|Vm:a|Wm);return a};k.Pm=function(a,b){this.Ba=b};k.vl=function(){return this.ga};k.Qm=function(a,b){this.ga=b};k.Ek=function(){var a=this.B?Pm(this.B):0;this.Z&=~Xm;return a};k.Zl=function(){};k.Dk=function(){return this.J};
k.Yl=function(a,b){Qm(this,b)};k.Fk=function(){return this.Z};k.Gk=function(){var a=this.pa;this.F&=~(Xm|Ym);this.B&&Zm(this.B);return a};k.am=function(a,b){if(this.F&$m)switch(this.L){case an:bn(this,b);break;case cn:dn(this,b);break;default:if(bn(this,this.K&~Yj),this.B){a=this.B;var c=b,d=-1;switch(a.D||c){case en:d=fn;a.Jb=[];gn(a,hn);break;case jn:a.D&&(c=0);gn(a,fn);a.D=c;break;case kn:a.D&&(c=0),gn(a,fn),a.D=c}ln(this,d)}}this.L=b;this.F&=~$m};
k.Hk=function(){return this.J&~(mn|nn)|(Yc(this.U)&64?nn:0)};k.bm=function(a,b){Qm(this,b)};k.Ik=function(){var a=this.F&255;this.F&Ym&&(this.F|=Xm,this.F&=~Ym);return a};
k.$l=function(a,b){this.L=b;this.F|=$m;a=0;this.L>=on&&(a=this.L^15,this.L=on);switch(this.L){case pn:ln(this,this.K);break;case qn:bn(this,this.K|Yj);break;case rn:bn(this,this.K&~Yj);this.B&&Zm(this.B);break;case sn:this.B&&(this.B.Jb=[]);bn(this,this.K|Yj);ln(this,tn);dn(this,ik|jk);break;case un:ln(this,vn);break;case wn:ln(this,this.M);break;case xn:ln(this,this.qa);break;case yn:ln(this,this.K&Yj?0:zn);break;case on:a&1&&le(this.U)}};
function bn(a,b){a.K=b;a.F=a.F&~An|b&Bn;a.B&&Sm(a.B,!!(b&Cn),!(b&Yj))}function ln(a,b,c){0<=b&&(a.pa=b,c?a.F|=Xm:(a.F&=~Xm,a.F|=Ym))}function dn(a,b){a.qa=b;Pb(a.ma,!!(b&jk));b&ik||le(a.U)}function Dn(a,b){a.aa<Ef?(Hf(a,En,4),a.Z|=Xm):a.K&Yj||a.F&(Xm|Ym)||(ln(a,b,!0),Fn(a.B),Hf(a,En,120))}k.Wk=function(){return this.W};k.pm=function(a,b){this.W=b;this.ba=b&Gn?If:Hn};
k.Xk=function(a,b){a=this.W&In;var c;if(a<=Lk)if(c=this.A[a],a<Ik){var d=!1;a!=Bk&&a!=Ck||this.A[dd]&Jk||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);this.A[dd]&Jn||(d&&128<c&&(c-=48),c=c%10|c/10<<4)}else a==Ik&&(this.A[a]^=Kn);else c=this.A[a];null!=b&&a==Kk&&(this.A[a]&=Ln,c&Cm&&Ff(this,Dm),c&Bm&&this.A[dd]&ed&&Nk(this));return c};
k.qm=function(a,b){a=this.W&In;var c=b^this.A[a],d;if(a<=Lk){if(d=b,a<Ik){var e=!1;this.A[dd]&Jn||(d=10*(d>>4)+(d&15),e=!0);if(a==Bk||a==Ck)e&&23<d&&(d+=48),this.A[dd]&Jk||(12>=d?d=12==d?0:d:(d-=116,d=24==d?12:d))}}else d=b;this.A[a]=d;a==dd&&c&ed&&b&ed&&Nk(this)};k.Hj=function(a,b){this.ba=b};k.Am=function(){};k.Bm=function(){this.Vd&&Af(this.Vd)};
function Pk(a,b){if(a.la)try{void 0!==b?a.Ga=b:b=!!(a.Ga&&a.U&&a.U.ca.Ib);var c=Math.round(Dj/em(a,fm));if(20>c||2E4<c)b=!1;b?a.I?a.I.frequency.value=c:(a.I=a.la.createOscillator(),a.I&&(a.I.type="number"==typeof a.I.type?1:"square",a.I.connect(a.la.destination),a.I.frequency.value=c,"start"in a.I?a.I.start(0):a.I.noteOn(0))):a.I&&("stop"in a.I?a.I.stop(0):a.I.noteOff(0),a.I.disconnect(),delete a.I)}catch(d){a.Aa("AudioContext exception: "+d.message),a.la=null}}
var zj=5150,rj=5150.9,Ef=5170,Aj=5160.101,Mj=5180,qj={5150:zj,5160:5160,5170:Ef,att6300:Aj,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rj};qj.deskpro386=Mj;
var tj="sw1",xj="sw2",Bj="swdesc",ek=3,ml=1,nl=15,ql=3,rl=4,yl=12,Cl=0,zl=4,Bl=8,El=16,Dl=32,hl=0,Sj=0,Tj=32,Uj=1,Vj=160,Kl=16,Ul=1,Tl=2,Pl=7,Ml=224,Nl=32,Ol=96,Rl=192,Ll=8,Hl=2,Il=3,Gl=3,dm=0,En=1,Vl=2,Dm=8,Gf=13,bm=0,cm=0,fm=2,qm=1,rm=14,$l=0,Am=4,cd=6,am=8,sm=48,tm=0,ym=32,zm=48,hm=192,im=192,pm=6,km=2,jm=16,nm=32,lm=64,mm=128,Dj=1193181,um=1,Rm=2,vm=4,wm=8,Um=8,xm=64,Om=128,Tm=15,Wm=16,Vm=32,Nm=16,sk={fk:1,ONE:0,Do:64,Bo:128,so:192,fc:192,bg:6},rk=2,qk={Co:16,Pn:32,to:48,fc:48,bg:4},vj=1,Cj=3,
var tj="sw1",xj="sw2",Bj="swdesc",ek=3,ml=1,nl=15,ql=3,rl=4,yl=12,Cl=0,zl=4,Bl=8,El=16,Dl=32,hl=0,Sj=0,Tj=32,Uj=1,Vj=160,Kl=16,Ul=1,Tl=2,Pl=7,Ml=224,Nl=32,Ol=96,Rl=192,Ll=8,Hl=2,Il=3,Gl=3,dm=0,En=1,Vl=2,Dm=8,Gf=13,bm=0,cm=0,fm=2,qm=1,rm=14,$l=0,Am=4,cd=6,am=8,sm=48,tm=0,ym=32,zm=48,hm=192,im=192,pm=6,km=2,jm=16,nm=32,lm=64,mm=128,Dj=1193181,um=1,Rm=2,vm=4,wm=8,Um=8,xm=64,Om=128,Tm=15,Wm=16,Vm=32,Nm=16,sk={fk:1,ONE:0,Eo:64,Co:128,to:192,fc:192,bg:6},rk=2,qk={Do:16,Qn:32,uo:48,fc:48,bg:4},vj=1,Cj=3,
wj=4,cl=5,dl=6,U={};U[zj]=[{},{}];U[zj][0][vj]={fc:192,Ec:{1:0,2:64,3:128,4:192},cd:"Number of Floppy Drives"};U[zj][0][Cj]={fc:2,Ec:{0:0,1:2},cd:"FPU"};U[zj][0][wj]={fc:48,Ec:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},cd:"Monitor Type"};U[zj][0][cl]={fc:12,Ec:{16:0,32:4,48:8,64:12},cd:"Base Memory (16Kb Increments)"};U[zj][1][dl]={fc:31,Ec:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},cd:"Expansion Memory (32Kb Increments)"};
U[5160]=[{},{}];U[5160][0][vj]=U[zj][0][vj];U[5160][0][Cj]=U[zj][0][Cj];U[5160][0][wj]=U[zj][0][wj];U[5160][0][cl]={fc:12,Ec:{64:0,128:4,192:8,256:12},cd:"Base Memory (64Kb Increments)"};U[5160][1][dl]=U[zj][1][dl];U[Aj]=[{},{}];U[Aj][0][cl]={fc:143,Ec:{128:1,256:130,512:8,640:141},cd:"Base Memory (128Kb Increments)"};U[Aj][0][Cj]={fc:16,Ec:{0:0,1:16},cd:"FPU"};U[Aj][1][2]={fc:1,Ec:{0:0,1:1},cd:"Floppy Type"};U[Aj][1][vj]=U[zj][0][vj];U[Aj][1][wj]=U[zj][0][wj];
var Bn=4,Cn=8,Yj=16,tn=85,vn=0,gk=4,hk=8,ck=16,Zj=32,fk=64,ak=128,ik=1,jk=2,zn=1,nn=16,mn=192,pn=32,an=96,sn=170,un=171,qn=173,rn=174,wn=192,xn=208,cn=209,yn=224,on=240,Xm=1,An=4,$m=8,Xj=16,Ym=256,xk=0,yk=1,zk=2,Ak=3,Bk=4,Ck=5,Dk=6,Ek=7,Fk=8,Gk=9,Ik=10,dd=11,Kk=12,Lk=13,ok=14,uk=16,tk=20,mk=21,nk=24,pk=46,Ok=47,Hk=50,In=63,kk=64,Gn=128,Kn=128,Gm=128,ed=64,Fm=32,Mm=16,Jn=4,Jk=2,Cm=128,Bm=64,Em=32,Hm=16,Ln=15,Mk=128,bl=0,Yk=1,$k=2,Zk=3,al=4,Hn=128,If=0,Qk=[0,null,null,0,Array(4),0],Sk=[!0,[0,0],[0,
@ -452,45 +452,46 @@ bm,cm)},65:function(){return Wl(this,bm,1)},66:function(){return Wl(this,bm,fm)}
133:function(){return this.G[1]},134:function(){return this.G[2]},136:function(){return this.G[3]},137:function(){return ul(this,1,2)},138:function(){return ul(this,1,3)},139:function(){return ul(this,1,1)},140:function(){return this.G[4]},141:function(){return this.G[5]},142:function(){return this.G[6]},143:function(){return ul(this,1,0)},160:function(){return Fl(this,Uj)},161:function(){return this.Zb[Uj].Uc},192:function(){return gl(this,1,0)},194:function(){return jl(this,1,0)},196:function(){return gl(this,
1,1)},198:function(){return jl(this,1,1)},200:function(){return gl(this,1,2)},202:function(){return jl(this,1,2)},204:function(){return gl(this,1,3)},206:function(){return jl(this,1,3)},208:function(){return ll(this,1)},218:function(){return this.D[1].kg}},Ij={96:T.prototype.Ek,97:T.prototype.Dk,100:T.prototype.Fk,102:function(){return this.C[0][1]},103:function(){return this.C[1][1]}},Nj={72:function(){return Wl(this,1,0)},73:function(){return Wl(this,1,1)},74:function(){return Wl(this,1,2)},75:function(){return this.ea}},
Fj={0:function(a,b){il(this,0,0,b)},1:function(a,b){kl(this,0,0,b)},2:function(a,b){il(this,0,1,b)},3:function(a,b){kl(this,0,1,b)},4:function(a,b){il(this,0,2,b)},5:function(a,b){kl(this,0,2,b)},6:function(a,b){il(this,0,3,b)},7:function(a,b){kl(this,0,3,b)},8:function(a,b){this.D[0].ig=b},9:function(a,b){ol(this,0,b)},10:function(a,b){pl(this,0,b)},11:function(a,b){this.D[0].Qb[b&3].mode=b},12:function(){this.D[0].Cb=0},13:function(){tl(this,0)},32:function(a,b){Jl(this,Sj,b)},33:function(a,b){Sl(this,
Sj,b)},64:function(a,b){Zl(this,bm,cm,b)},65:function(a,b){Zl(this,bm,1,b)},66:function(a,b){Zl(this,bm,fm,b)},67:function(a,b){gm(this,bm,b)},129:function(a,b){vl(this,0,2,b)},130:function(a,b){vl(this,0,3,b)},131:function(a,b){vl(this,0,1,b)},135:function(a,b){vl(this,0,0,b)}},Hj={96:T.prototype.Mm,97:T.prototype.Nm,98:T.prototype.Om,99:T.prototype.Pm,160:T.prototype.Hj},Lj={96:T.prototype.$l,97:T.prototype.am,100:T.prototype.Zl,112:T.prototype.om,113:T.prototype.pm,128:function(a,b){this.G[7]=
Sj,b)},64:function(a,b){Zl(this,bm,cm,b)},65:function(a,b){Zl(this,bm,1,b)},66:function(a,b){Zl(this,bm,fm,b)},67:function(a,b){gm(this,bm,b)},129:function(a,b){vl(this,0,2,b)},130:function(a,b){vl(this,0,3,b)},131:function(a,b){vl(this,0,1,b)},135:function(a,b){vl(this,0,0,b)}},Hj={96:T.prototype.Nm,97:T.prototype.Om,98:T.prototype.Pm,99:T.prototype.Qm,160:T.prototype.Hj},Lj={96:T.prototype.am,97:T.prototype.bm,100:T.prototype.$l,112:T.prototype.pm,113:T.prototype.qm,128:function(a,b){this.G[7]=
b},132:function(a,b){this.G[0]=b},133:function(a,b){this.G[1]=b},134:function(a,b){this.G[2]=b},136:function(a,b){this.G[3]=b},137:function(a,b){vl(this,1,2,b)},138:function(a,b){vl(this,1,3,b)},139:function(a,b){vl(this,1,1,b)},140:function(a,b){this.G[4]=b},141:function(a,b){this.G[5]=b},142:function(a,b){this.G[6]=b},143:function(a,b){vl(this,1,0,b)},160:function(a,b){Jl(this,Uj,b)},161:function(a,b){Sl(this,Uj,b)},192:function(a,b){il(this,1,0,b)},194:function(a,b){kl(this,1,0,b)},196:function(a,
b){il(this,1,1,b)},198:function(a,b){kl(this,1,1,b)},200:function(a,b){il(this,1,2,b)},202:function(a,b){kl(this,1,2,b)},204:function(a,b){il(this,1,3,b)},206:function(a,b){kl(this,1,3,b)},208:function(a,b){this.D[1].ig=b},210:function(a,b){ol(this,1,b)},212:function(a,b){pl(this,1,b)},214:function(a,b){this.D[1].Qb[b&3].mode=b},216:function(){this.D[1].Cb=0},218:function(){tl(this,1)},240:T.prototype.zm,241:T.prototype.Am},Jj={96:T.prototype.Yl,97:T.prototype.Xl,160:T.prototype.Hj},Oj={72:function(a,
b){il(this,1,1,b)},198:function(a,b){kl(this,1,1,b)},200:function(a,b){il(this,1,2,b)},202:function(a,b){kl(this,1,2,b)},204:function(a,b){il(this,1,3,b)},206:function(a,b){kl(this,1,3,b)},208:function(a,b){this.D[1].ig=b},210:function(a,b){ol(this,1,b)},212:function(a,b){pl(this,1,b)},214:function(a,b){this.D[1].Qb[b&3].mode=b},216:function(){this.D[1].Cb=0},218:function(){tl(this,1)},240:T.prototype.Am,241:T.prototype.Bm},Jj={96:T.prototype.Zl,97:T.prototype.Yl,160:T.prototype.Hj},Oj={72:function(a,
b){Zl(this,1,0,b)},73:function(a,b){Zl(this,1,1,b)},74:function(a,b){Zl(this,1,2,b)},75:function(a,b){gm(this,1,b)}};Ma(function(){for(var a=eb(document,"pcx86","chipset"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new T(d);db(d,c);fl(d)}});
function Mn(a){t.call(this,"ROM",a);this.A=null;this.F=a.addr;this.C=a.size;this.D=a.alias;this.G=a.file;this.B=a.notify;this.I=null;if(this.B&&(a=this.B.indexOf("["),0<a)){try{this.I=eval(this.B.substr(a))}catch(d){}this.B=this.B.substr(0,a)}if(this.G){a=this.G;var b=qa(pa(a));"json"!=b&&"hex"!=b&&(a=Ca()+"/api/v1/dump?file="+this.G+"&format=bytes&decimal=true");var c=this;Ba(a,null,!0,function(a,b,f){Nn(c,a,b,f)})}}ba(Mn,t);Mn.prototype.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;On(this)};
Mn.prototype.Ob=function(){this.H&&(this.Ea&&this.Ea.A(this.id,0,this.F>>>4,0,this.F,this.C,this.H),delete this.H);return!0};Mn.prototype.Nb=function(){return!0};
function Nn(a,b,c,d){if(d)a.Aa("Unable to load system ROM (error "+d+": "+b+")");else{Va(a.Wd,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.longs||e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c<g.length;c++)a.A[d++]=g[c]&255,a.A[d++]=g[c]>>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.H=e.symbols;if(!a.A.length){r("Empty ROM: "+b);return}if(1==a.A.length){r(a.A[0]);return}}catch(h){a.Aa("ROM data error: "+h.message);return}else for(b=
c.replace(/\n/gm," ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e<b.length;e++)a.A[e]=na(b[e],16);On(a)}}
function On(a){if(!lb(a))if(!a.G)mb(a);else if(a.A&&a.ma){a.C||(a.C=a.A.length);if(a.A.length!=a.C)kb(a,"ROM size ("+oa(a.A.length,8,!0)+") does not match specified size ("+oa(a.C,8,!0)+")");else{var b;b=a.F;if(Qb(a.ma,b,a.C,cc)){for(var c=0;c<a.A.length;c++){var d=a.ma,e=b+c;d.X[(e&d.D)>>>d.B].hf(e&d.C,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.D?b.push(a.D):null!=a.D&&a.D.length&&(b=a.D);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Xb(d.ma,d.F,d.C);Wb(d.ma,e,d.C,f)}a.B&&((b=Za(a.B,a.id))?
(c=a.A,d=a.I,b.Ma==Pn?Qn(b,c,d||[12640,8752],8):b.Ma==Rn&&Qn(b,c,d||[14221,16269],8),mb(b)):a.Aa("Unable to find component: "+a.B));delete a.A}}mb(a)}}Ma(function(){for(var a=eb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Mn(d);db(d,c)}});function Sn(a){t.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(Sn,t);l=Sn.prototype;l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");mb(this)};
l.Ob=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};l.Nb=function(a){return a&&this.controller?this.save():!0};
l.reset=function(){if(!this.B&&!this.D&&this.V){var a=1024*bk(this.V);this.A&&a!=this.A&&(ac(this.ma,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Qb(this.ma,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.Ud&&(this.controller=new Tn(this),Qb(this.ma,Un,4,4,this.controller)));if(this.C){if(this.F||ic(this.ma,1138,4660),"ramCPQ"!=this.Ud&&this.V&&(a=this.V,a.A)){var b=1048576>this.B?mk:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;wk(a)}}else r("No RAM allocated")};
l.save=function(){var a=new Qe(this);this.controller&&a.set(0,this.controller.save());return a.data()};l.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Tn(a){this.F=a;this.C=Vn;this.D=Wn;this.B=Xn;this.A=null}l=Tn.prototype;l.save=function(){return[this.C,this.B]};l.restore=function(a){this.Dc(0,a[0]&255);this.Dc(2,a[1]&255);return!0};l.Eb=function(a){var b=255;2>a?b=a&1?this.D>>8:this.D&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};
l.Dc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.F.ma;if(b&Yn)this.A&&(Wb(a,Zn,$n,this.A),this.A=null);else{this.A||(this.A=Xb(a,Zn,$n));var c=Xb(a,ao,$n);Wb(a,Zn,$n,c,b&bo?1:cc)}this.C=this.C&-256|b}};l.ti=function(){return co};l.qg=function(){return eo};var Un=-2134900736,ao=16646144,Zn=917504,$n=131072,Yn=1,bo=2,Vn=65535,Wn=2575,Xn=2,co=[null,0],eo=[function(a){return this.controller.Eb(a)},null,null,function(a,b){this.controller.Dc(a,b)},null,null];
Ma(function(){for(var a=eb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Sn(d);db(d,c)}});function fo(a){t.call(this,"Keyboard",a);go(this,a.model);this.M=Ha("Mobi");this.L=Ha("MSIE");this.J=0;this.K=this.og=!1;this.A=[];this.W=50;mb(this)}ba(fo,t);l=fo.prototype;
l.wb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.ia[f])switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return ho(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.C="";var b=!V[a]||!!(e.Sb&io);b||jo(e,a,!0);return b},c.onkeyup=function(a){return ho(e,a,!1)},!0;case "caps-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,ko,!0)},!0;case "num-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,lo,!0)},!0;case "scroll-lock":return this.ia[f]=
c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,mo,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==no[g]&&"button"==a)return this.ia[f]=c,c.onclick=function(a,b,c){return function(){a.oa&&Zc(a.oa);oo(a,c,!0);jo(a,c,!0)}}(this,g,no[g]),!0;if(void 0!==po[b])return this.J++,this.ia[f]=c,a=function(a,b,c){return function(){jo(a,c)}}(this,b,po[b]),b=function(a,b,c){return function(){qo(a,c)}}(this,b,po[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);d&&!e.C&&(e.C=d,ro(e,300))},!0}return!1};function so(a,b,c){if(a.J){for(var d in p)if(b==p[d]){b=+d;(d=ma[d])&&(b=d);break}for(var e in po)if((d=po[e]==b)||(d=b,d>=n.Dd&&d<=n.z&&(d-=n.Dd-n.Cd),d=po[e]==d),d){(a=a.ia["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}l.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet")};
function go(a,b){var c=0;a.aa=null;"string"==typeof b&&(a.aa=b.toUpperCase(),c=to.indexOf(a.aa),0>c&&(c=0));if(b=to[c])a.O=parseInt(b.substr(2),10)}function Sm(a,b,c){a.H!==c&&(a.H=a.I=c)&&(a.F=!0);a.G!==b&&(a.G=b)&&!a.I&&Fn(a,!0);a.G&&a.I&&(a.Jb=[],gn(a,hn),a.I=!1)}function gn(a,b){a.V&&(a.Jb.unshift(b),a.F=!0,Dn(a.V,b))}function Zm(a){var b;a.Jb.length&&a.F&&(b=a.Jb[0],a.V&&Dn(a.V,b))}function Pm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}
function Fn(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.F=b)&&a.Jb.length&&a.V&&Dn(a.V,a.Jb[0]))}l.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){if(!this.aa&&this.V)switch(this.V.aa){case zj:case 5160:go(this,to[0]);break;default:go(this,to[1])}uo(this);this.Sb=this.B=0;this.Jb=[];this.F=!0;this.C=""};l.save=function(){var a=new Qe(this),b=[];b[0]=this.H;b[1]=this.G;a.set(0,b);return a.data()};
l.restore=function(a){return uo(this,a[0])};function uo(a,b){var c=0;b||(b=[]);a.H=a.F=b[c++];a.G=b[c];a.D=0;return!0}function ro(a,b){if(0<a.C.length){var c=a.C.charCodeAt(0);10==c&&(c=13);a.C=a.C.substr(1);jo(a,c,!0)}0<a.C.length&&setTimeout(function(a){return function(){ro(a,b)}}(a),b)}
function oo(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=vo[b]||0){!e||b&wo||(b>>=1);if(b&xo){if(!1===d)return!0;d=null}null==d?d=!((c?a.B:a.Sb)&b):d||b&yo&&(b=yo);if(c){a.B&=~b;d&&(a.B|=b);c=b;var f,g;for(g in zo)d="led-"+g,e=zo[g],c&&c!=e||!(f=a.ia[d])||(f.style.backgroundColor=a.B&e?"#00ff00":"#000000")}else a.Sb&=~b,d&&(a.Sb|=b);return!0}}return!1}
function jo(a,b,c){if(V[b]&&a.U&&a.U.ca.Ib){vo[b]&&a.A.length&&0<a.A[0].Zc&&(a.A[0].Zc=0);for(var d,e=0;e<a.A.length;e++)if(d=a.A[e],d.Td==b){if(!c||0<=d.Zc){e=-1;break}0<e&&(0<a.A[0].Zc&&(a.A[0].Zc=0),a.A.splice(e,1));break}0>e||(e==a.A.length&&(d={},d.Td=b,d.Sb=a.Sb,so(a,b,!0),e++),0<e&&a.A.splice(0,0,d),d.Je=!0,d.Zc=c?-1:vo[b]?0:1,Ao(a,d))}}
function qo(a,b,c){if(!V[b]||!(c||a.U&&a.U.ca.Ib))return!1;for(var d=!1,e=0;e<a.A.length;e++){var f=a.A[e];if(f.Td==b||f.Td==p[b]){a.A.splice(e,1);f.Vj&&clearTimeout(f.Vj);f.Je&&!c&&Bo(a,f.Td,!1);so(a,b,!1);d=!0;break}}!a.A.length&&a.K&&(oo(a,ko),a.K=!1);return d}function Ao(a,b){if(!a.U||!a.U.ca.Ib)qo(a,b.Td,!0);else if(Bo(a,b.Td,b.Je)&&b.Zc){var c;if(0>b.Zc){if(!b.Je){qo(a,b.Td);return}b.Je=!1;c=a.W}else c=1==b.Zc++?500:100;b.Vj=setTimeout(function(a){return function(){Ao(a,b)}}(a),c)}}
function Co(a,b,c){var d=b;if(b>=n.Cd&&b<=n.tf)!(a.Sb&(Do|Eo|Fo))==c&&(d=b+(n.Dd-n.Cd));else if(b>=n.Dd&&b<=n.z)!!(a.Sb&(Do|Eo|Fo))==c&&(d=b-(n.Dd-n.Cd));else if(!!(a.Sb&(Do|Eo))==c){if(a=p[b])d=a}else if(a=ma[b])d=a;return d}l.Sf=function(a){a||(this.Sb&=~yo)};
function ho(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Co(a,g,!0);a.og&&h==n["`"]&&(g=h=27);if(V[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),oo(a,h,!1,c)){if(20==g||144==g||145==g)a.L||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k<a.A.length;k++){var m=a.A[k];m.Je=!1;0<m.Zc&&(m.Zc=0)}}else 8==g&&(a.Sb&(Go|Ho))==Go&&(h=Io),d=!1;else if(V[h]&&a.Sb&(Jo|Ko)&&(d=!1),d&&c||a.Sb&Lo)f=!0;d||b.preventDefault();f||a.M&&d||(c?jo(a,h,e):qo(a,h)||(b=Co(a,g,!1),b!=h&&qo(a,b)));return d}
function Bo(a,b,c){var d=!1;oo(a,b,!0,c);var e=V[b]||V[b+1E3];if(void 0!==e){e==Mo&&(a.Sb&(Go|Ho))==(Go|Ho)&&(e=No);var d=[],f=e&255;if(83<f&&83==a.O)return!1;d.push(f|(c?0:Oo));for(b=b>=n.Cd&&b<=n.tf||b>=n.Dd&&b<=n.z;e>>>=8;){var g=0,h=e&255;f==Po||f==Qo?d.push(f|(c?0:Oo)):(h==W?a.B&(Do|Eo)||a.B&Fo&&b||(g=h):h==Ro?a.B&(Go|So)||(g=h):h==To?a.B&(Ho|Uo)||(g=h):d.push(f|(c?0:Oo)),g&&(c?d.unshift(g):d.push(g|Oo)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.Jb&&(e.Jb.length<Vo?(e.Jb.push(f),1==e.Jb.length&&e.V&&
(c=a.A,d=a.I,b.Ma==Pn?Qn(b,c,d||[12640,8752],8):b.Ma==Rn&&Qn(b,c,d||[14221,16269],8),mb(b)):a.Aa("Unable to find component: "+a.B));delete a.A}}mb(a)}}Ma(function(){for(var a=eb(document,"pcx86","rom"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Mn(d);db(d,c)}});function Sn(a){t.call(this,"RAM",a);this.B=a.addr;this.A=a.size;this.F=a.test;this.D=!!this.A;this.C=!1}ba(Sn,t);k=Sn.prototype;k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");mb(this)};
k.Ob=function(a,b){return!b&&(this.reset(),a&&this.controller&&!this.restore(a))?!1:!0};k.Nb=function(a){return a&&this.controller?this.save():!0};
k.reset=function(){if(!this.B&&!this.D&&this.V){var a=1024*bk(this.V);this.A&&a!=this.A&&(ac(this.ma,this.B,this.A),this.C=!1);this.A=a}!this.C&&this.A&&Qb(this.ma,this.B,this.A,1)&&(this.C=!0,"ramCPQ"==this.Ud&&(this.controller=new Tn(this),Qb(this.ma,Un,4,4,this.controller)));if(this.C){if(this.F||ic(this.ma,1138,4660),"ramCPQ"!=this.Ud&&this.V&&(a=this.V,a.A)){var b=1048576>this.B?mk:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+1]=c>>8;wk(a)}}else r("No RAM allocated")};
k.save=function(){var a=new Qe(this);this.controller&&a.set(0,this.controller.save());return a.data()};k.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function Tn(a){this.F=a;this.C=Vn;this.D=Wn;this.B=Xn;this.A=null}k=Tn.prototype;k.save=function(){return[this.C,this.B]};k.restore=function(a){this.Dc(0,a[0]&255);this.Dc(2,a[1]&255);return!0};k.Eb=function(a){var b=255;2>a?b=a&1?this.D>>8:this.D&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};
k.Dc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){a=this.F.ma;if(b&Yn)this.A&&(Wb(a,Zn,$n,this.A),this.A=null);else{this.A||(this.A=Xb(a,Zn,$n));var c=Xb(a,ao,$n);Wb(a,Zn,$n,c,b&bo?1:cc)}this.C=this.C&-256|b}};k.ti=function(){return co};k.qg=function(){return eo};var Un=-2134900736,ao=16646144,Zn=917504,$n=131072,Yn=1,bo=2,Vn=65535,Wn=2575,Xn=2,co=[null,0],eo=[function(a){return this.controller.Eb(a)},null,null,function(a,b){this.controller.Dc(a,b)},null,null];
Ma(function(){for(var a=eb(document,"pcx86","ram"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Sn(d);db(d,c)}});function fo(a){t.call(this,"Keyboard",a);go(this,a.model);this.W=Ha("Mobi");this.O=Ha("MSIE");this.L=0;this.M=this.og=!1;this.A=[];this.Z=50;this.G=null;this.H=a.autoType;mb(this)}ba(fo,t);k=fo.prototype;
k.wb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.ia[f])switch(b){case "kbd":case "screen":return c.onkeydown=function(a){return ho(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.B="";var b=!V[a]||!!(e.Sb&io);b||jo(e,a,!0);return b},c.onkeyup=function(a){return ho(e,a,!1)},!0;case "caps-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,ko,!0)},!0;case "num-lock":return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,lo,!0)},!0;case "scroll-lock":return this.ia[f]=
c,c.onclick=function(){e.oa&&Zc(e.oa);jo(e,mo,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==no[g]&&"button"==a)return this.ia[f]=c,c.onclick=function(a,b,c){return function(){a.oa&&Zc(a.oa);oo(a,c,!0);jo(a,c,!0)}}(this,g,no[g]),!0;if(void 0!==po[b])return this.L++,this.ia[f]=c,a=function(a,b,c){return function(){jo(a,c)}}(this,b,po[b]),b=function(a,b,c){return function(){qo(a,c)}}(this,b,po[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup=
c.onmouseout=b),!0;if(d)return this.ia[f]=c,c.onclick=function(){e.oa&&Zc(e.oa);d&&!e.B&&(e.B=d,ro(e,150))},!0}return!1};function so(a,b,c){if(a.L){for(var d in p)if(b==p[d]){b=+d;(d=ma[d])&&(b=d);break}for(var e in po)if((d=po[e]==b)||(d=b,d>=n.Dd&&d<=n.z&&(d-=n.Dd-n.Cd),d=po[e]==d),d){(a=a.ia["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}
k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");this.H=Mc(a,"autoType")||this.H;Me(c,33,this.Kl.bind(this))};k.Kl=function(){if(10==(this.U.F>>8&255)&&!this.G&&this.H){var a=this.G=this.H;a&&!this.B&&(this.B=a,ro(this,150))}return!0};function go(a,b){var c=0;a.aa=null;"string"==typeof b&&(a.aa=b.toUpperCase(),c=to.indexOf(a.aa),0>c&&(c=0));if(b=to[c])a.X=parseInt(b.substr(2),10)}
function Sm(a,b,c){a.J!==c&&(a.J=a.K=c)&&(a.F=!0);a.I!==b&&(a.I=b)&&!a.K&&Fn(a,!0);a.I&&a.K&&(a.Jb=[],gn(a,hn),a.K=!1)}function gn(a,b){a.V&&(a.Jb.unshift(b),a.F=!0,Dn(a.V,b))}function Zm(a){var b;a.Jb.length&&a.F&&(b=a.Jb[0],a.V&&Dn(a.V,b))}function Pm(a){var b=0;a.Jb.length&&(b=a.Jb[0]);return b}function Fn(a,b){0<a.Jb.length&&(a.Jb.shift(),(a.F=b)&&a.Jb.length&&a.V&&Dn(a.V,a.Jb[0]))}k.Ob=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
k.Nb=function(a){return a?this.save():!0};k.reset=function(){if(!this.aa&&this.V)switch(this.V.aa){case zj:case 5160:go(this,to[0]);break;default:go(this,to[1])}uo(this);this.Sb=this.C=0;this.Jb=[];this.F=!0;this.G=null;this.B=""};k.save=function(){var a=new Qe(this),b=[];b[0]=this.J;b[1]=this.I;a.set(0,b);return a.data()};k.restore=function(a){return uo(this,a[0])};function uo(a,b){var c=0;b||(b=[]);a.J=a.F=b[c++];a.I=b[c];a.D=0;return!0}
function ro(a,b){for(var c=0;0<a.B.length&&!c;){var d=a.B.charAt(0);a.B=a.B.substr(1);if("\\"!=d)c=d.charCodeAt(0);else switch(d=a.B.charAt(0),a.B=a.B.substr(1),d){case "n":c=10;break;case "r":c=13;break;case "t":c=9;break;default:"1"<=d&&"9">=d?b=100*d.charCodeAt(0):c=d.charCodeAt(0)}}c&&(10==c&&(c=13),jo(a,c,!0));0<a.B.length&&setTimeout(function(a){return function(){ro(a,b)}}(a),b)}
function oo(a,b,c,d){if(V[b]){var e=Math.floor(b/1E3)&2;if(b=vo[b]||0){!e||b&wo||(b>>=1);if(b&xo){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.Sb)&b):d||b&yo&&(b=yo);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in zo)d="led-"+g,e=zo[g],c&&c!=e||!(f=a.ia[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.Sb&=~b,d&&(a.Sb|=b);return!0}}return!1}
function jo(a,b,c){if((V[b]||V[b+=1E3])&&a.U&&a.U.ca.Ib){vo[b]&&a.A.length&&0<a.A[0].Zc&&(a.A[0].Zc=0);for(var d,e=0;e<a.A.length;e++)if(d=a.A[e],d.Td==b){if(!c||0<=d.Zc){e=-1;break}0<e&&(0<a.A[0].Zc&&(a.A[0].Zc=0),a.A.splice(e,1));break}0>e||(e==a.A.length&&(d={},d.Td=b,d.Sb=a.Sb,so(a,b,!0),e++),0<e&&a.A.splice(0,0,d),d.Je=!0,d.Zc=c?-1:vo[b]?0:1,Ao(a,d))}}
function qo(a,b,c){if(!V[b]||!(c||a.U&&a.U.ca.Ib))return!1;for(var d=!1,e=0;e<a.A.length;e++){var f=a.A[e];if(f.Td==b||f.Td==p[b]){a.A.splice(e,1);f.Vj&&clearTimeout(f.Vj);f.Je&&!c&&Bo(a,f.Td,!1);so(a,b,!1);d=!0;break}}!a.A.length&&a.M&&(oo(a,ko),a.M=!1);return d}function Ao(a,b){if(!a.U||!a.U.ca.Ib)qo(a,b.Td,!0);else if(Bo(a,b.Td,b.Je)&&b.Zc){var c;if(0>b.Zc){if(!b.Je){qo(a,b.Td);return}b.Je=!1;c=a.Z}else c=1==b.Zc++?500:100;b.Vj=setTimeout(function(a){return function(){Ao(a,b)}}(a),c)}}
function Co(a,b,c){var d=b;if(b>=n.Cd&&b<=n.tf)!(a.Sb&(Do|Eo|Fo))==c&&(d=b+(n.Dd-n.Cd));else if(b>=n.Dd&&b<=n.z)!!(a.Sb&(Do|Eo|Fo))==c&&(d=b-(n.Dd-n.Cd));else if(!!(a.Sb&(Do|Eo))==c){if(a=p[b])d=a}else if(a=ma[b])d=a;return d}k.Sf=function(a){a||(this.Sb&=~yo)};
function ho(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Co(a,g,!0);a.og&&h==n["`"]&&(g=h=27);if(V[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),oo(a,h,!1,c)){if(20==g||144==g||145==g)a.O||(c=e=!0);if(!(c||91!=g&&93!=g))for(var l=0;l<a.A.length;l++){var m=a.A[l];m.Je=!1;0<m.Zc&&(m.Zc=0)}}else 8==g&&(a.Sb&(Go|Ho))==Go&&(h=Io),d=!1;else if(V[h]&&a.Sb&(Jo|Ko)&&(d=!1),d&&c||a.Sb&Lo)f=!0;d||b.preventDefault();f||a.W&&d||(c?jo(a,h,e):qo(a,h)||(b=Co(a,g,!1),b!=h&&qo(a,b)));return d}
function Bo(a,b,c){var d=!1;oo(a,b,!0,c);var e=V[b]||V[b+1E3];if(void 0!==e){e==Mo&&(a.Sb&(Go|Ho))==(Go|Ho)&&(e=No);var d=[],f=e&255;if(83<f&&83==a.X)return!1;d.push(f|(c?0:Oo));for(b=b>=n.Cd&&b<=n.tf||b>=n.Dd&&b<=n.z;e>>>=8;){var g=0,h=e&255;f==Po||f==Qo?d.push(f|(c?0:Oo)):(h==W?a.C&(Do|Eo)||a.C&Fo&&b||(g=h):h==Ro?a.C&(Go|So)||(g=h):h==To?a.C&(Ho|Uo)||(g=h):d.push(f|(c?0:Oo)),g&&(c?d.unshift(g):d.push(g|Oo)))}for(c=0;c<d.length;c++)e=a,f=d[c],e.Jb&&(e.Jb.length<Vo?(e.Jb.push(f),1==e.Jb.length&&e.V&&
Dn(e.V,f)):e.Jb.length==Vo&&e.Jb.push(Wo));d=!0}return d}var to=["US83","US84","US101"],ko=1020,lo=1144,mo=1145,Xo=n.$j+4E3,Io=4008,Mo=14,Ro=29,W=42,To=56,No=83,Oo=128,Po=224,Qo=225,Eo=1,Do=2,So=4,Go=8,Jo=12,Uo=16,Ho=32,Ko=48,io=128,Lo=192,wo=85,yo=255,Fo=512,xo=3584,vo={};vo[3016]=Eo;vo[1016]=Do;vo[1017]=Go;vo[1018]=Ho;vo[1091]=io;vo[1093]=64;vo[1224]=io;vo[ko]=Fo;vo[lo]=1024;vo[mo]=2048;
var no={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,SYSREQ:4027,CTRL_C:Xo,CTRL_BREAK:Io,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},po={esc:1027,1:n["1"],2:n["2"],3:n["3"],4:n["4"],5:n["5"],6:n["6"],7:n["7"],8:n["8"],9:n["9"],0:n["0"],"-":n["-"],"=":n["="],bs:1008,tab:1009,q:n.Q,w:n.Rh,e:n.E,r:n.Mh,t:n.Oh,y:n.Th,u:n.Ph,i:n.Eh,o:n.Kh,p:n.Lh,"[":n["["],"]":n["]"],enter:13,ctrl:1017,a:n.Cd,s:n.Nh,
d:n.Ah,f:n.Bh,g:n.Ch,h:n.Dh,j:n.Fh,k:n.Gh,l:n.Hh,";":n[";"],quote:n["'"],"`":n["`"],shift:1016,"\\":n["\\"],z:n.tf,x:n.Sh,c:n.yh,v:n.Qh,b:n.xh,n:n.Jh,m:n.Ih,",":n[","],".":n["."],"/":n["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":ko,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":lo,"scroll-lock":mo,"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,sysreq:84},zo={"caps-lock":Fo,"num-lock":1024,"scroll-lock":2048},V={1027:1};V[n["1"]]=2;V[n["!"]]=2|W<<8;V[n["2"]]=3;V[n["@"]]=3|W<<8;V[n["3"]]=4;V[n["#"]]=4|W<<8;V[n["4"]]=5;V[n.$]=5|W<<8;V[n["5"]]=6;V[n["%"]]=6|W<<8;V[n["6"]]=7;V[n["^"]]=7|W<<8;V[n["7"]]=8;V[n["&"]]=8|W<<8;V[n["8"]]=9;V[n["*"]]=9|W<<8;V[n["9"]]=10;V[n["("]]=10|W<<8;V[n["0"]]=11;V[n[")"]]=11|W<<8;V[n["-"]]=12;V[n._]=12|W<<8;V[n["="]]=13;V[n["+"]]=13|W<<8;V[1008]=Mo;
V[1009]=15;V[n.q]=16;V[n.Q]=16|W<<8;V[n.vn]=17;V[n.Rh]=17|W<<8;V[n.e]=18;V[n.E]=18|W<<8;V[n.r]=19;V[n.Mh]=19|W<<8;V[n.t]=20;V[n.Oh]=20|W<<8;V[n.y]=21;V[n.Th]=21|W<<8;V[n.tn]=22;V[n.Ph]=22|W<<8;V[n.zk]=23;V[n.Eh]=23|W<<8;V[n.Wl]=24;V[n.Kh]=24|W<<8;V[n.p]=25;V[n.Lh]=25|W<<8;V[n["["]]=26;V[n["{"]]=26|W<<8;V[n["]"]]=27;V[n["}"]]=27|W<<8;V[13]=28;V[1017]=Ro;V[n.Dd]=30;V[n.Cd]=30|W<<8;V[n.qn]=31;V[n.Nh]=31|W<<8;V[n.d]=32;V[n.Ah]=32|W<<8;V[n.wk]=33;V[n.Bh]=33|W<<8;V[n.xk]=34;V[n.Ch]=34|W<<8;V[n.yk]=35;
V[n.Dh]=35|W<<8;V[n.Kl]=36;V[n.Fh]=36|W<<8;V[n.k]=37;V[n.Gh]=37|W<<8;V[n.Ml]=38;V[n.Hh]=38|W<<8;V[n[";"]]=39;V[n[":"]]=39|W<<8;V[n["'"]]=40;V[n['"']]=40|W<<8;V[n["`"]]=41;V[n["~"]]=41|W<<8;V[1016]=W;V[n["\\"]]=43;V[n["|"]]=43|W<<8;V[n.z]=44;V[n.tf]=44|W<<8;V[n.x]=45;V[n.Sh]=45|W<<8;V[n.lk]=46;V[n.yh]=46|W<<8;V[n.un]=47;V[n.Qh]=47|W<<8;V[n.kk]=48;V[n.xh]=48|W<<8;V[n.n]=49;V[n.Jh]=49|W<<8;V[n.Ql]=50;V[n.Ih]=50|W<<8;V[n[","]]=51;V[n["<"]]=51|W<<8;V[n["."]]=52;V[n[">"]]=52|W<<8;V[n["/"]]=53;
V[1009]=15;V[n.q]=16;V[n.Q]=16|W<<8;V[n.wn]=17;V[n.Rh]=17|W<<8;V[n.e]=18;V[n.E]=18|W<<8;V[n.r]=19;V[n.Mh]=19|W<<8;V[n.t]=20;V[n.Oh]=20|W<<8;V[n.y]=21;V[n.Th]=21|W<<8;V[n.un]=22;V[n.Ph]=22|W<<8;V[n.zk]=23;V[n.Eh]=23|W<<8;V[n.Xl]=24;V[n.Kh]=24|W<<8;V[n.p]=25;V[n.Lh]=25|W<<8;V[n["["]]=26;V[n["{"]]=26|W<<8;V[n["]"]]=27;V[n["}"]]=27|W<<8;V[13]=28;V[1017]=Ro;V[n.Dd]=30;V[n.Cd]=30|W<<8;V[n.rn]=31;V[n.Nh]=31|W<<8;V[n.d]=32;V[n.Ah]=32|W<<8;V[n.wk]=33;V[n.Bh]=33|W<<8;V[n.xk]=34;V[n.Ch]=34|W<<8;V[n.yk]=35;
V[n.Dh]=35|W<<8;V[n.Ll]=36;V[n.Fh]=36|W<<8;V[n.k]=37;V[n.Gh]=37|W<<8;V[n.Nl]=38;V[n.Hh]=38|W<<8;V[n[";"]]=39;V[n[":"]]=39|W<<8;V[n["'"]]=40;V[n['"']]=40|W<<8;V[n["`"]]=41;V[n["~"]]=41|W<<8;V[1016]=W;V[n["\\"]]=43;V[n["|"]]=43|W<<8;V[n.z]=44;V[n.tf]=44|W<<8;V[n.x]=45;V[n.Sh]=45|W<<8;V[n.lk]=46;V[n.yh]=46|W<<8;V[n.vn]=47;V[n.Qh]=47|W<<8;V[n.kk]=48;V[n.xh]=48|W<<8;V[n.n]=49;V[n.Jh]=49|W<<8;V[n.Rl]=50;V[n.Ih]=50|W<<8;V[n[","]]=51;V[n["<"]]=51|W<<8;V[n["."]]=52;V[n[">"]]=52|W<<8;V[n["/"]]=53;
V[n["?"]]=53|W<<8;V[3016]=54;V[1044]=55;V[1018]=To;V[1032]=57;V[ko]=58;V[1112]=59;V[1113]=60;V[1114]=61;V[1115]=62;V[1116]=63;V[1117]=64;V[1118]=65;V[1119]=66;V[1120]=67;V[1121]=68;V[lo]=69;V[mo]=70;V[1036]=71;V[1038]=72;V[1033]=73;V[1109]=74;V[1037]=75;V[1101]=76;V[1039]=77;V[1107]=78;V[1035]=79;V[1040]=80;V[1034]=81;V[1045]=82;V[1046]=No;V[4027]=84;V[1122]=87;V[1123]=88;V[1091]=91;V[1093]=93;V[1224]=91;V[Xo]=46|Ro<<8;V[Io]=70|Ro<<8;V[4046]=No|Ro<<8|To<<16;V[4045]=82|Ro<<8|To<<16;
V[4013]=28|Ro<<8|To<<16;var en=255,jn=243,kn=237,hn=170,fn=250,Wo=255,Vo=20;Ma(function(){for(var a=eb(document,"pcx86","keyboard"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new fo(d);db(d,c)}});
function Yo(a,b,c,d){if(void 0!==b&&(!c||c.length)){this.video=a;var e=Zo[b],f=a.ea||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(b<Pn?$o:ap)];this.Ma=b;this.Ya=e[2];this.Ab=e[3];this.Vc=d||e[4];65536<=this.Vc&&720896<=this.Ya&&(this.Ab=Math.min(this.Vc>>2,32768));this.Ub=c[0];this.Cc=c[1];this.ef=c[2];this.Y=c[3];this.ec=c[4]&255;this.Vf=c[4]>>8&255;this.Qa=c[5];this.ug=$o;if(b>=Pn){this.ug=ap;(b=c[6])||(b=[!1,0,Array(bp),0,f==ek?0:cp,0,0,Array(dp),0,0,0,Array(ep),0,[this.Ya,this.Ab,this.Vc],
Array(this.Vc>>2),fp|gp|hp|ip|jp,0,-1,0,-1,0,-1,0,0,0,0,kp,lp,0,0,mp,Array(np)]);this.Ie=b[0];this.Od=b[1];this.rc=b[2];this.oh=b[3];this.ff=b[4];this.Yf=b[5];this.Rd=b[6];this.Qd=b[7];this.Pj=b[8];this.Qj=b[9];this.Pd=b[10];this.kd=b[11];this.mb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ya,this.Ab,d]);this.Ya=d[0];this.Ab=d[1];d=this.Vc>>2;if((this.qd=b[14])&&this.qd.length<d){for(var e=this.qd,g=0,h=Array(d),k=0;k<e.length-1;){for(var m=e[k++],q=e[k++];m--;)h[g]=q,g+=2;g==d&&(g=1)}this.qd=h}(d=
b[15])&&(d&jp?d&=~jp:d=op[d&65280]|op[d&255]);this.$f(d);this.kh=b[16];this.Ua=b[17];this.zc=b[18];this.pb=b[19];this.Ye=b[20];this.jd=b[21];this.zd=b[22];this.vg=b[23];this.wg=b[24];this.$c=b[25];this.lh=this.ue=0;this.Ma==Rn&&(this.ph=b[26],this.Wf=b[27],this.ad=b[28],this.sc=b[29],this.Xf=b[30],this.we=b[31])}f=pp[f]||pp[ek];this.xg=a.U.R.Xc/f.Of|0;this.Tl=this.xg*f.Tf/100|0;this.Ag=this.xg*f.Nf|0;this.Vl=this.Ag*f.Uf/100|0;this.Bg=c[7]||0}}
function qp(a){var b=[];if(void 0!==a.Ma){b[0]=a.Ub;b[1]=a.Cc;b[2]=a.ef;b[3]=a.Y;b[4]=a.ec|a.Vf<<8;b[5]=a.Qa;if(a.Ma>=Pn){var c=[];c[0]=a.Ie;c[1]=a.Od;c[2]=a.rc;c[3]=a.oh;c[4]=a.ff;c[5]=a.Yf;c[6]=a.Rd;c[7]=a.Qd;c[8]=a.Pj;c[9]=a.Qj;c[10]=a.Pd;c[11]=a.kd;c[12]=a.mb;c[13]=[a.Ya,a.Ab,a.Vc];var d;if(d=a.qd){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 k=d[h],m=h+2;m<d.length&&d[m]===k;)m+=2;f[e++]=m-h>>1;f[e++]=k;h=m}f.length<d.length&&(d=f)}c[14]=d;c[15]=a.tg|jp;
Array(this.Vc>>2),fp|gp|hp|ip|jp,0,-1,0,-1,0,-1,0,0,0,0,kp,lp,0,0,mp,Array(np)]);this.Ie=b[0];this.Od=b[1];this.rc=b[2];this.oh=b[3];this.ff=b[4];this.Yf=b[5];this.Rd=b[6];this.Qd=b[7];this.Pj=b[8];this.Qj=b[9];this.Pd=b[10];this.kd=b[11];this.mb=b[12];d=b[13];"number"==typeof d&&(d=[this.Ya,this.Ab,d]);this.Ya=d[0];this.Ab=d[1];d=this.Vc>>2;if((this.qd=b[14])&&this.qd.length<d){for(var e=this.qd,g=0,h=Array(d),l=0;l<e.length-1;){for(var m=e[l++],q=e[l++];m--;)h[g]=q,g+=2;g==d&&(g=1)}this.qd=h}(d=
b[15])&&(d&jp?d&=~jp:d=op[d&65280]|op[d&255]);this.$f(d);this.kh=b[16];this.Ua=b[17];this.zc=b[18];this.pb=b[19];this.Ye=b[20];this.jd=b[21];this.zd=b[22];this.vg=b[23];this.wg=b[24];this.$c=b[25];this.lh=this.ue=0;this.Ma==Rn&&(this.ph=b[26],this.Wf=b[27],this.ad=b[28],this.sc=b[29],this.Xf=b[30],this.we=b[31])}f=pp[f]||pp[ek];this.xg=a.U.R.Xc/f.Of|0;this.Ul=this.xg*f.Tf/100|0;this.Ag=this.xg*f.Nf|0;this.Wl=this.Ag*f.Uf/100|0;this.Bg=c[7]||0}}
function qp(a){var b=[];if(void 0!==a.Ma){b[0]=a.Ub;b[1]=a.Cc;b[2]=a.ef;b[3]=a.Y;b[4]=a.ec|a.Vf<<8;b[5]=a.Qa;if(a.Ma>=Pn){var c=[];c[0]=a.Ie;c[1]=a.Od;c[2]=a.rc;c[3]=a.oh;c[4]=a.ff;c[5]=a.Yf;c[6]=a.Rd;c[7]=a.Qd;c[8]=a.Pj;c[9]=a.Qj;c[10]=a.Pd;c[11]=a.kd;c[12]=a.mb;c[13]=[a.Ya,a.Ab,a.Vc];var d;if(d=a.qd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h<d.length;){for(var l=d[h],m=h+2;m<d.length&&d[m]===l;)m+=2;f[e++]=m-h>>1;f[e++]=l;h=m}f.length<d.length&&(d=f)}c[14]=d;c[15]=a.tg|jp;
c[16]=a.kh;c[17]=a.Ua;c[18]=a.zc;c[19]=a.pb;c[20]=a.Ye;c[21]=a.jd;c[22]=a.zd;c[23]=a.vg;c[24]=a.wg;c[25]=a.$c;a.Ma==Rn&&(c[26]=a.ph,c[27]=a.Wf,c[28]=a.ad,c[29]=a.sc,c[30]=a.Xf,c[31]=a.we);b[6]=c}b[7]=a.Bg}return b}Yo.prototype.ti=function(a){return[this.qd,a-this.Ya]};Yo.prototype.qg=function(){return this.A};Yo.prototype.$f=function(a){if(null!=a&&a!=this.tg){var b=a&rp,c=sp[b];c||b&gp&&(c=sp[gp]);var b=a&tp,d=sp[b];d||b&ip&&(d=sp[ip]);this.A||(this.A=Array(6));this.A[0]=c;this.A[1]=d;this.tg=a}};
function up(a,b){var c=a.Qa[b];if(null!=c&&a.Ma>=Pn){var d=0,e=0,f=0;switch(b){case vp:d=wp;a.Ma==Rn&&(e=xp);break;case yp:a.Ma==Pn&&(d=zp);break;case Ap:d=Bp;a.Ma==Rn&&(e=Cp);break;case Dp:d=Ep;a.Ma==Rn&&(e=Fp);break;case Gp:d=Hp;a.Ma==Rn&&(f=Ip);break;case Jp:d=Kp,a.Ma==Rn&&(f=Lp)}d&&(c|=a.Qa[Mp]&d?256:0,c|=a.Qa[Mp]&e?512:0,c|=a.Qa[Np]&f?512:0)}return c}
var $o=18,vp=6,Mp=7,wp=1,Ep=2,Bp=4,Hp=8,Kp=16,zp=32,xp=32,Fp=64,Cp=128,Np=9,Ip=32,Lp=64,yp=10,Ap=16,Dp=18,Gp=21,Jp=24,ap=25,bp=20,cp=1,kp=1,dp=5,lp=255,mp=0,np=256,ep=9,fp=1024,gp=4096,rp=65280,hp=0,ip=16,tp=255,jp=-2147483648,op=[];op[2]=fp;op[3]=fp|gp;op[16]=1280;op[512]=hp;op[1024]=hp|32;op[1536]=hp|96;op[2560]=hp|160;op[3584]=hp|224;op[768]=hp|ip;op[4096]=1;op[8192]=2;op[24576]=98;op[40960]=162;op[57344]=226;var sp=[];
@ -508,167 +509,167 @@ function Y(a,b,c,d,e){t.call(this,"Video",a);var f=this;this.Hc=Ha("Gecko/");var
c;this.D=(this.pd=d)||b||null;b=a.smoothing;(c=Ia("smoothing"))&&(b="true"==c);if(null!=b)for(c=0;c<g.length;c++)if(d=(d=g[c])?d+"ImageSmoothingEnabled":"imageSmoothingEnabled",void 0!==this.J[d]){this.J[d]=b;break}this.Rc=a.touchScreen;this.cc=Rp;this.K=null;this.ld=a.autoLock;this.Ya=this.Ab=0;this.ta=[];this.ga=Array(this.Ma==Rn?256:16);this.Ga=!1;if(this.M=e)if(this.M.je=e.requestFullscreen||e.msRequestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen,this.M.je){for(c=0;c<g.length;c++)if(d=
g[c]+"fullscreenchange","on"+d in document){document.addEventListener(d,function(){Sp(f,!!(document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement))},!1);break}for(c=0;c<g.length;c++)if(d=g[c]+"fullscreenerror","on"+d in document){document.addEventListener(d,function(){Sp(f,null)},!1);break}}this.D&&(this.D.onfocus=function(){return f.Sf(!0)},this.D.onblur=function(){return f.Sf(!1)},this.D.Id=this.D.requestPointerLock||this.D.mozRequestPointerLock||
this.D.webkitRequestPointerLock,this.D.Wj=this.D.exitPointerLock||this.D.mozExitPointerLock||this.D.webkitExitPointerLock,this.D.Id&&(e=function(){f.Ze(document.pointerLockElement===f.D||document.mozPointerLockElement===f.D||document.webkitPointerLockElement===f.D)},"onpointerlockchange"in document?document.addEventListener("pointerlockchange",e,!1):"onmozpointerlockchange"in document?document.addEventListener("mozpointerlockchange",e,!1):"onwebkitpointerlockchange"in document&&document.addEventListener("webkitpointerlockchange",
e,!1)));if(a=a.fontROM)"json"!=qa(a)&&(a=Ca()+"/api/v1/dump?file="+a+"&format=bytes"),Ba(a,null,!0,function(a,b,c){Tp(f,a,b,c)})}ba(Y,t);l=Y.prototype;
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;c=(c=Pp[this.aa])&&c[0];c!==Up&&(kc(b,this,Vp),mc(b,this,Wp));c!==Xp&&(kc(b,this,Yp),mc(b,this,Zp));this.Ma>=Pn&&(kc(b,this,$p),mc(b,this,aq));this.Ma==Rn&&(kc(b,this,bq),mc(b,this,cq));if((this.B=vb(a,"Keyboard"))&&this.O){for(var e in this.ia)0<e.indexOf("lock")&&this.B.wb("led",e,this.ia[e]);this.B.wb(this.pd?"textarea":"canvas","screen",this.D)}this.qb=9;(this.V=vb(a,"ChipSet"))&&this.Pc&&this.Ma==Pn&&(this.qb=sj(this.Pc,this.qb));"mouse"==this.Rc?
(this.K=vb(a,"Mouse"))&&dq(this,eq):"keygrid"==this.Rc&&this.B&&dq(this,fq)};l.wb=function(a,b,c){var d=this;if(!this.ia[b])switch(this.ia[b]=c,b){case "fullScreen":return this.M&&this.M.je?c.onclick=function(){d.je()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.od=c.textContent,this.D&&this.D.Id?c.onclick=function(){d.Id(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){gq(d,!0)},!0}return!1};
l.je=function(){var a=!1;if(this.M){if(this.M.je){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.X/this.ja;b>c&&(a=Math.round(c/b*100)+"%")}this.Hc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.M.style.width=a,this.M.style.height="auto");this.M.style.backgroundColor="black";this.M.je();a=!0}this.D&&this.D.focus()}return a};
function Sp(a,b){!b&&a.M&&(a.Hc?a.O.style.width=a.O.style.height="":a.M.style.width=a.M.style.height="");a.B&&(a.B.og=b)}l.Id=function(a){var b=!1;this.D&&(a?this.D.Id&&(this.D.Id(),this.K&&this.K.Ze(!0),b=!0):this.D.Wj&&(this.D.Wj(),this.K&&this.K.Ze(!1),b=!0),this.D&&this.D.focus());return b};l.Ze=function(a){this.K&&(this.K.Ze(a),this.B&&(this.B.og=a));var b=this.ia.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.od)};
function dq(a,b){var c=a.D;c&&!a.cc&&(c.addEventListener("touchstart",function(b){hq(a,b,!0)},!1),c.addEventListener("touchmove",function(b){hq(a,b)},!0),c.addEventListener("touchend",function(b){hq(a,b,!1)},!1),a.cc=b,a.bb=a.ib=a.Sc=-1,a.Wb=!1,a.sb=null,a.Vb=!1,a.nd=function(){a.Vb=!0;a.K.ie(iq,!0)})}l.Sf=function(a){this.B&&this.B.Sf(a)};
function hq(a,b,c){var d,e,f=0,g=0;e=a.O;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.X/a.O.offsetWidth,k=a.ja/a.O.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(a.cc==fq)d=d/(a.X/3)|0,e=e/(a.ja/3)|0,1!=e?e?jo(a.B,1040,!0):jo(a.B,1038,!0):1!=d&&(d?jo(a.B,1039,!0):jo(a.B,1037,!0));else if(a.K){g=a.Wb;f=b.timeStamp-a.Sc;!0===c?(a.Wb=500<f,a.Sc=b.timeStamp,
a.sb=setTimeout(a.nd,500)):null!=a.sb&&(clearTimeout(a.sb),a.sb=null);void 0===c&&(a.Wb=!1);g||b.preventDefault();if(!1===c){a.Vb?(a.K.ie(iq,!1),a.Vb=!1,b=!0):b=!1;if(b)return;if(200>f){a.K.ie(iq,!0);a.K.ie(iq,!1);return}}if(c||0>a.bb||0>a.ib)a.bb=d,a.ib=e;c=Math.round(d-a.bb);b=Math.round(e-a.ib);a.bb=d;a.ib=e;a.K.sg(c,b,a.bb,a.ib)}}l.Ob=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};
l.reset=function(){var a=!0,b=0;this.V&&(b=+dk(this.V,wj,void 0));this.aa||(this.Ma=b==ek?Xp:Up);this.ba=jq;switch(this.Ma){case Rn:b=7;break;case Pn:var c=kq[this.qb];c&&(b=c[0]);b||(b=4);break;case Xp:b=ek;this.ba=lq;break;default:b=2}this.ea!==b&&(this.ea=b,a=!0);this.C=null;this.W=this.Bb=new Yo(this,Xp);this.I=this.rb=new Yo(this,Up);this.Ma<Pn?this.A=new Yo:(this.A=new Yo(this,this.Ma,null,this.Vc),mq(this));nq(this);this.qa=null;this.xa=this.Z=-1;this.ua=0;oq(this,this.ba);if(this.C.Ya&&a){a=
this.C.Ya+this.Xa;for(b=this.C.Ya;b<a;b+=2){var d=65536*Math.random()|0;4==this.ea||7==this.ea?(c=b>>1&255,d=d>>8&~pq,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?qq|rq:sq|tq)|uq&d>>8);ic(this.ma,b,c|d<<8)}gq(this,!0)}};function mq(a){a.A.ff&cp?(a.W=a.Bb,a.I=a.A):(a.W=a.A,a.I=a.rb)}l.save=function(){var a=new Qe(this);a.set(0,qp(this.Bb));a.set(1,qp(this.rb));a.set(2,[this.ea,this.ba,this.qa]);a.set(3,qp(this.A));return a.data()};
l.restore=function(a){var b=a[2];this.ea=b[0];this.ba=b[1];this.qa=b[2];this.C=null;this.W=this.Bb=new Yo(this,Xp,a[0]);this.I=this.rb=new Yo(this,Up,a[1]);this.A=new Yo(this,this.Ma,a[3],this.Vc);this.A.Ub&&mq(this);nq(this);if(!vq(this))return!1;wq(this);return!0};
e,!1)));if(a=a.fontROM)"json"!=qa(a)&&(a=Ca()+"/api/v1/dump?file="+a+"&format=bytes"),Ba(a,null,!0,function(a,b,c){Tp(f,a,b,c)})}ba(Y,t);k=Y.prototype;
k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;c=(c=Pp[this.aa])&&c[0];c!==Up&&(kc(b,this,Vp),mc(b,this,Wp));c!==Xp&&(kc(b,this,Yp),mc(b,this,Zp));this.Ma>=Pn&&(kc(b,this,$p),mc(b,this,aq));this.Ma==Rn&&(kc(b,this,bq),mc(b,this,cq));if((this.B=vb(a,"Keyboard"))&&this.O){for(var e in this.ia)0<e.indexOf("lock")&&this.B.wb("led",e,this.ia[e]);this.B.wb(this.pd?"textarea":"canvas","screen",this.D)}this.qb=9;(this.V=vb(a,"ChipSet"))&&this.Pc&&this.Ma==Pn&&(this.qb=sj(this.Pc,this.qb));"mouse"==this.Rc?
(this.K=vb(a,"Mouse"))&&dq(this,eq):"keygrid"==this.Rc&&this.B&&dq(this,fq)};k.wb=function(a,b,c){var d=this;if(!this.ia[b])switch(this.ia[b]=c,b){case "fullScreen":return this.M&&this.M.je?c.onclick=function(){d.je()}:c.parentNode.removeChild(c),!0;case "lockPointer":return this.od=c.textContent,this.D&&this.D.Id?c.onclick=function(){d.Id(!0)}:c.parentNode.removeChild(c),!0;case "refresh":return c.onclick=function(){gq(d,!0)},!0}return!1};
k.je=function(){var a=!1;if(this.M){if(this.M.je){a="100%";if(screen&&screen.width&&screen.height){var b=screen.width/screen.height,c=this.X/this.ja;b>c&&(a=Math.round(c/b*100)+"%")}this.Hc?(this.O.style.width=a,this.O.style.width=a,this.O.style.display="block",this.O.style.margin="auto"):(this.M.style.width=a,this.M.style.height="auto");this.M.style.backgroundColor="black";this.M.je();a=!0}this.D&&this.D.focus()}return a};
function Sp(a,b){!b&&a.M&&(a.Hc?a.O.style.width=a.O.style.height="":a.M.style.width=a.M.style.height="");a.B&&(a.B.og=b)}k.Id=function(a){var b=!1;this.D&&(a?this.D.Id&&(this.D.Id(),this.K&&this.K.Ze(!0),b=!0):this.D.Wj&&(this.D.Wj(),this.K&&this.K.Ze(!1),b=!0),this.D&&this.D.focus());return b};k.Ze=function(a){this.K&&(this.K.Ze(a),this.B&&(this.B.og=a));var b=this.ia.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.od)};
function dq(a,b){var c=a.D;c&&!a.cc&&(c.addEventListener("touchstart",function(b){hq(a,b,!0)},!1),c.addEventListener("touchmove",function(b){hq(a,b)},!0),c.addEventListener("touchend",function(b){hq(a,b,!1)},!1),a.cc=b,a.bb=a.ib=a.Sc=-1,a.Wb=!1,a.sb=null,a.Vb=!1,a.nd=function(){a.Vb=!0;a.K.ie(iq,!0)})}k.Sf=function(a){this.B&&this.B.Sf(a)};
function hq(a,b,c){var d,e,f=0,g=0;e=a.O;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.X/a.O.offsetWidth,l=a.ja/a.O.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*l;if(a.cc==fq)d=d/(a.X/3)|0,e=e/(a.ja/3)|0,1!=e?e?jo(a.B,1040,!0):jo(a.B,1038,!0):1!=d&&(d?jo(a.B,1039,!0):jo(a.B,1037,!0));else if(a.K){g=a.Wb;f=b.timeStamp-a.Sc;!0===c?(a.Wb=500<f,a.Sc=b.timeStamp,
a.sb=setTimeout(a.nd,500)):null!=a.sb&&(clearTimeout(a.sb),a.sb=null);void 0===c&&(a.Wb=!1);g||b.preventDefault();if(!1===c){a.Vb?(a.K.ie(iq,!1),a.Vb=!1,b=!0):b=!1;if(b)return;if(200>f){a.K.ie(iq,!0);a.K.ie(iq,!1);return}}if(c||0>a.bb||0>a.ib)a.bb=d,a.ib=e;c=Math.round(d-a.bb);b=Math.round(e-a.ib);a.bb=d;a.ib=e;a.K.sg(c,b,a.bb,a.ib)}}k.Ob=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};
k.reset=function(){var a=!0,b=0;this.V&&(b=+dk(this.V,wj,void 0));this.aa||(this.Ma=b==ek?Xp:Up);this.ba=jq;switch(this.Ma){case Rn:b=7;break;case Pn:var c=kq[this.qb];c&&(b=c[0]);b||(b=4);break;case Xp:b=ek;this.ba=lq;break;default:b=2}this.ea!==b&&(this.ea=b,a=!0);this.C=null;this.W=this.Bb=new Yo(this,Xp);this.I=this.rb=new Yo(this,Up);this.Ma<Pn?this.A=new Yo:(this.A=new Yo(this,this.Ma,null,this.Vc),mq(this));nq(this);this.qa=null;this.xa=this.Z=-1;this.ua=0;oq(this,this.ba);if(this.C.Ya&&a){a=
this.C.Ya+this.Xa;for(b=this.C.Ya;b<a;b+=2){var d=65536*Math.random()|0;4==this.ea||7==this.ea?(c=b>>1&255,d=d>>8&~pq,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?qq|rq:sq|tq)|uq&d>>8);ic(this.ma,b,c|d<<8)}gq(this,!0)}};function mq(a){a.A.ff&cp?(a.W=a.Bb,a.I=a.A):(a.W=a.A,a.I=a.rb)}k.save=function(){var a=new Qe(this);a.set(0,qp(this.Bb));a.set(1,qp(this.rb));a.set(2,[this.ea,this.ba,this.qa]);a.set(3,qp(this.A));return a.data()};
k.restore=function(a){var b=a[2];this.ea=b[0];this.ba=b[1];this.qa=b[2];this.C=null;this.W=this.Bb=new Yo(this,Xp,a[0]);this.I=this.rb=new Yo(this,Up,a[1]);this.A=new Yo(this,this.Ma,a[3],this.Vc);this.A.Ub&&mq(this);nq(this);if(!vq(this))return!1;wq(this);return!0};
function Tp(a,b,c,d){if(d)a.Aa("Unable to load font ROM (error "+d+": "+b+")");else{Va(a.Wd,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){r("Empty font ROM: "+b);return}if(1==f.length){r(f[0]);return}if(8192==f.length)Qn(a,f,[6144,0]);else if(2048==f.length)Qn(a,f,[0]);else{a.Aa("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Aa("Font ROM data error: "+g.message);return}(a.J||a.Ea)&&mb(a)}}
function xq(a,b){if(1==b)return a.ga[0]=yq[sq],a.ga[1]=yq[qq],a.ga;if(2==b){var c=a.C.ef;if(a.C===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=yq[c&15];c=c&32?zq:Aq;for(d=0;d<c.length;d++)a.ga[d+1]=yq[c[d]];return a.ga}if(a.I===a.rb)return yq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ga[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.rc[15]?c.rc:Bq;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
function xq(a,b){if(1==b)return a.ga[0]=yq[sq],a.ga[1]=yq[qq],a.ga;if(2==b){var c=a.C.ef;if(a.C===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=yq[c&15];c=c&32?zq:Aq;for(d=0;d<c.length;d++)a.ga[d+1]=yq[c[d]];return a.ga}if(a.I===a.rb)return yq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ga[e]=[g,h,f,255];else{var l=d&&d[255];b=null!=c.rc[15]?c.rc:Bq;for(e=0;16>e;e++)f=b[e]&63,l?(f|=
(c.rc[20]&12)<<4,c.rc[16]&128&&(f&=-49,f|=(c.rc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ga[e]=[g,h,f,255]}a.Ga=!0}return a.ga}function Qn(a,b,c,d){a.nb=b;a.Va=c;a.Ca=d}
function nq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){b=0;var d=a.Ca?a.Ca:8,e=xq(a);null!=a.Va[0]&&Cq(a,Dq,a.Va[0],b,d,8,a.nb,e)&&(c=!0);b=a.Ca?0:2048;d=a.Ca?a.Ca:9;null!=a.Va[1]&&(Cq(a,Eq,a.Va[1],b,d,14,a.nb,Fq,Gq)&&(c=!0),a.Ca&&Cq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,e)&&(c=!0))}return c}function Cq(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Hq(a,b,c,d,e,f,g,h,k)&&(m=!0),a.md&&Hq(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function Hq(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:k,hg:Array(w)});for(k=0;k<w;k++){var z=h[k],B=y.ae[k]?y.Wh[k]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=k,S=q,X=c,ca=d,$a=e,zb=f,Rh=g,Jt=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,oc,Nf=8>zb||!ca?zb:8,Sh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(oc=0;oc<zb;oc++)for(var Kt=
m.De&&B&1&&oc>=zb-2,Lt=Rh[oc<Nf?X+Kb*Nf+oc:ca+Kb*Nf+oc-Nf],Th=0;Th<=S;Th++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(oc<<S)+Th,Lm=Kt||Lt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:Jt;Iq(Sh,Jm,Km,Lm);S&&Iq(Sh,Jm+1,Km,Lm)}Im.putImageData(Sh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
function nq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){b=0;var d=a.Ca?a.Ca:8,e=xq(a);null!=a.Va[0]&&Cq(a,Dq,a.Va[0],b,d,8,a.nb,e)&&(c=!0);b=a.Ca?0:2048;d=a.Ca?a.Ca:9;null!=a.Va[1]&&(Cq(a,Eq,a.Va[1],b,d,14,a.nb,Fq,Gq)&&(c=!0),a.Ca&&Cq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,e)&&(c=!0))}return c}function Cq(a,b,c,d,e,f,g,h,l){var m=!1;null!=c&&(Hq(a,b,c,d,e,f,g,h,l)&&(m=!0),a.md&&Hq(a,b<<1,c,d,e,f,g,h,l)&&(m=!0));return m}
function Hq(a,b,c,d,e,f,g,h,l){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:l,hg:Array(w)});for(l=0;l<w;l++){var z=h[l],B=y.ae[l]?y.Wh[l]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=l,S=q,X=c,ca=d,$a=e,zb=f,Th=g,Jt=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,pc,Nf=8>zb||!ca?zb:8,Uh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(pc=0;pc<zb;pc++)for(var Kt=
m.De&&B&1&&pc>=zb-2,Lt=Th[pc<Nf?X+Kb*Nf+pc:ca+Kb*Nf+pc-Nf],Vh=0;Vh<=S;Vh++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(pc<<S)+Vh,Lm=Kt||Lt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:Jt;Iq(Uh,Jm,Km,Lm);S&&Iq(Uh,Jm+1,Km,Lm)}Im.putImageData(Uh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
function wq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.C.Qa[b])return;var c=a.C.Qa[10],b=c&31,d=a.C.Qa[11]&31,e=a.C.Qa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Kq(a);else{c=a.C.Qa[15]+((a.C.Qa[14]&63)<<8);a.Z!=c&&(Kq(a),a.Z=c);d=d-b+1;if(a.Tc!=b||a.xc!=d)a.Tc=b,a.xc=d;a.wa=e+1;Jq(a)}}}function Kq(a){if(0<=a.Z){if(void 0!==a.L){var b=Lq<<8,c=a.L[a.Z];if(c&b){var c=c&~b,b=a.Z%a.F,d=a.Z/a.F|0;a.G&&a.ta[a.G]&&(a.Ba&&Mq(a,b,d,c,a.Ba),Mq(a,b,d,c));a.L[a.Z]=c}}a.Z=-1}}
function Nq(a){var b,c=a.C;a.yc=!1;var d=c.kd[5];if(null!=d){b=fp;var e=hp,f=c.kd[3]&31;switch(d&3){case 0:if(f){e=hp|32;switch(f&24){case 8:e=hp|96;break;case 16:e=hp|160;break;case 24:e=hp|224}c.zc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ma==Rn&&(e=3,c.zc=f&7)}d&8&&(b=1280);c=c.Qd[4];null!=c&&(c&4||(b|=gp,e|=ip),d&64&&(c&8&&(b|=16384,e|=4),a.yc=!0));b|=e}return b}
function Oq(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.$f(b),a.ma.$f(c.Ya,c.Ab,c.qg(),!0),!0):!1}
function vq(a,b){var c,d=a.qa,e=a.C;if(e)if(e.Ma==Xp)d=lq;else if(e.Ma>=Pn){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.kd[6];if(null!=h){switch(h&12){case 0:e.Ya=655360;e.Ab=f;d=Pq;break;case 4:e.Ya=655360;e.Ab=f;d=a.ea==ek?Qq:Rq;break;case 8:e.Ya=720896;e.Ab=g;d=lq;break;case 12:e.Ya=753664,e.Ab=g,d=a.ea==ek?Sq:jq}c=80==(e.kd[5]&80);!c||e.Ya==a.Ya&&e.Ab==a.Ab||(b=!0);var f=up(e,vp),g=e.Qa[Np],k=e.Qa[23],m=e.Qd[1]&8;d!=Pq&&(h&1?655360==e.Ya||c||k&1?e.kd[5]&64?d=g&31?143>=e.Qa[Dp]?Tq:Uq:Vq:g&128||
function vq(a,b){var c,d=a.qa,e=a.C;if(e)if(e.Ma==Xp)d=lq;else if(e.Ma>=Pn){var d=null,f=e.Vc>>2,g=32768<f?32768:f,h=e.kd[6];if(null!=h){switch(h&12){case 0:e.Ya=655360;e.Ab=f;d=Pq;break;case 4:e.Ya=655360;e.Ab=f;d=a.ea==ek?Qq:Rq;break;case 8:e.Ya=720896;e.Ab=g;d=lq;break;case 12:e.Ya=753664,e.Ab=g,d=a.ea==ek?Sq:jq}c=80==(e.kd[5]&80);!c||e.Ya==a.Ya&&e.Ab==a.Ab||(b=!0);var f=up(e,vp),g=e.Qa[Np],l=e.Qa[23],m=e.Qd[1]&8;d!=Pq&&(h&1?655360==e.Ya||c||l&1?e.kd[5]&64?d=g&31?143>=e.Qa[Dp]?Tq:Uq:Vq:g&128||
350>f?d=m?Wq:Xq:480<=f&&(d=a.ea==ek?Yq:Zq):d=m?7-d:$q:d-=m?2:0);c=Nq(a)}}else e.Cc&8&&(e.Cc&2?(d=e.Cc&16?$q:ar,e.Cc&4||--d):(d=e.Cc&1?jq:br,e.Cc&4&&--d));else a.qa=null,null==d&&(d=a.ba);if(!oq(a,d,b))return!1;Oq(a,c);return!0}
function oq(a,b,c){if(null!=b&&(b!=a.qa||c)){a.bd=0;a.qa=b;a.Ga=!1;b=a.C||(b==lq?a.W:a.I);if(b!=a.C||b.Ya!=a.Ya||b.Ab!=a.Ab){Kq(a);if(a.Ya){if(!ac(a.ma,a.Ya,a.Ab))return!1;a.C&&(a.C.Ub=!1)}a.C=b;b.Ub=!0;a.Ya=b.Ya;a.Ab=b.Ab;if(!Qb(a.ma,b.Ya,b.Ab,3,b===a.A?b:null))return!1}a:{a.G=0;a.F=a.yb;a.H=a.bc;a.Ka=a.F;a.xb=Qp[lq][2];b=0;if(c=Qp[a.qa])a.F=c[0],a.H=c[1],a.xb=c[2],b=c[3],a.G=c[4],4!=a.ea&&7!=a.ea||a.C!==a.A||a.G!=Dq||(7==(a.A.Qa[Np]&31)?a.H=350>up(a.A,Dp)?43:50:a.G=a.Ma);a.Oc=a.F*a.H|0;a.Nc=a.Oc/
a.xb|0;a.Xa=a.Nc;a.Db=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Db=a.Xa+b>>1);if(a.ta.length){a.na=a.X/a.F|0;a.pa=a.ja/a.H|0;if(a.G){b=a.ta[a.G];if(!b)break a;c=a.ta[a.G<<1];a.Ic&&80==a.F?c&&a.na>=3*c.oc>>2&&(a.G<<=1,b=c):(c&&a.na>=c.oc&&(a.G<<=1,b=c),a.Ic||(a.na=b.oc,a.pa=b.pc));a.$a=a.ab=0;b&&(a.$a=a.F*b.oc,a.ab=a.H*b.pc)}else a.na=a.pa=1,a.$a=a.F,a.ab=a.H;a.Ha=a.J.createImageData(a.$a,a.ab);a.za=document.createElement("canvas");a.za.width=a.$a;a.za.height=a.ab;a.Ba=a.za.getContext("2d");a.ic=a.jc=0;
a.Kb=a.X;a.Tb=a.ja;b=a.X-a.F*a.na;c=a.ja-a.H*a.pa;0<b&&(a.ic=b>>1,a.Kb-=b);0<c&&(a.jc=c>>1,a.Tb-=c);if(b||c)a.J.fillStyle=a.O.style.backgroundColor,a.J.fillRect(0,0,a.X,a.ja)}}cr(a,!0);gq(a)}return!0}function Iq(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 dr(a){a.ua=-1;a.la=!1;var b=a.Nc;if(void 0===a.L||a.L.length!=b)a.L=Array(b)}function cr(a,b){b||(a.Ga=!1);dr(a)}
function Mq(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.ta[a.G];h.De&&(d=h.De[d]);var k=g>>4&15;h.De&&(k=h.De[k]);e?(b*=h.oc,c*=h.pc,e.fillStyle=h.ae[k],e.fillRect(b,c,h.oc,h.pc)):(b=b*a.na+a.ic,c=c*a.pa+a.jc,a.J.fillStyle=h.ae[k],a.J.fillRect(b,c,a.na,a.pa));g&er&&(k=(f&15)*h.oc,f=(f>>4)*h.pc,e?e.drawImage(h.hg[d],k,f,h.oc,h.pc,b,c,h.oc,h.pc):a.J.drawImage(h.hg[d],k,f,h.oc,h.pc,b,c,a.na,a.pa));g&Lq&&(f=a.Tc,g=a.xc,e?(a.wa&&a.wa!==h.pc&&(f=f*h.pc/a.wa|0,g=g*h.pc/a.wa|0),e.fillStyle=h.ae[d],e.fillRect(b,
function Mq(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.ta[a.G];h.De&&(d=h.De[d]);var l=g>>4&15;h.De&&(l=h.De[l]);e?(b*=h.oc,c*=h.pc,e.fillStyle=h.ae[l],e.fillRect(b,c,h.oc,h.pc)):(b=b*a.na+a.ic,c=c*a.pa+a.jc,a.J.fillStyle=h.ae[l],a.J.fillRect(b,c,a.na,a.pa));g&er&&(l=(f&15)*h.oc,f=(f>>4)*h.pc,e?e.drawImage(h.hg[d],l,f,h.oc,h.pc,b,c,h.oc,h.pc):a.J.drawImage(h.hg[d],l,f,h.oc,h.pc,b,c,a.na,a.pa));g&Lq&&(f=a.Tc,g=a.xc,e?(a.wa&&a.wa!==h.pc&&(f=f*h.pc/a.wa|0,g=g*h.pc/a.wa|0),e.fillStyle=h.ae[d],e.fillRect(b,
c+f,h.oc,g)):(a.wa&&a.wa!==a.pa&&(f=f*a.pa/a.wa|0,g=g*a.pa/a.wa|0),a.J.fillStyle=h.ae[d],a.J.fillRect(b,c+f,a.na,g)))}
function gq(a,b){if(a.ca.Pb){var c=!1,d=a.C;d&&(d!==a.A?d.Cc&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)dr(a);else if(void 0===a.L)return;var e=!1;!(b||++a.bd&15)&&0<=a.xa&&(a.xa++,e=!0);var f=0,g=a.Oc,h=a.Ya,c=h,k=c+a.Ab;a.qa>=Tq&&(h=c=655360,k=c+65536);if(fr(a,d)&8||d.ue&&d.ue<d.lh){var m=(d.Qa[12]<<8)+d.Qa[13]|0;d.$c!==m&&(d.$c=m,cr(a));d.ue=0}m=d.$c;a.G&&(m<<=1);c+=m;m=a.Xa;a.Ma>=Pn&&d.Qa[19]&&d.Qa[19]<<1!=d.Qa[1]+1&&(a.Ka=d.Qa[19]<<(a.G?1:d.Qa[20]&64?3:4),m=(a.Ka*(a.H-1)+a.F)/a.xb|0,a.qa<=lq&&
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.la){b=a.ma;for(var q=!0,y=c>>>b.B;0<m&&y<b.X.length;)b.X[y].Da&&(b.X[y].Da=q=!1,b.X[y].ni=!0),m-=b.A,y++;b=q}if(b){if(!e)return;if(!a.ua){f=a.Z-d.$c;if(0>f)return;g=f+1}}if(a.G){if(a.ta[a.G]){d=f;f=0;e=a.ua=0;h=er<<8;b=1048575;q=a.C.Cc&32;a.Ma>=Pn&&(q=a.C.rc[16]&8);m=a.Z-a.C.$c;q&&(e=pq<<8,b&=~e,a.xa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)q=hc(a.ma,c),q|=h,q&e&&(a.ua++,q&=b),d==m&&(q|=a.xa&1?Lq<<8:0),a.la&&q===a.L[d]||(Mq(a,d%a.F,d/a.F|0,q,a.Ba),a.L[d]=
q,f++),c+=2,d++;a.la=!0;f&&a.Ba&&a.J.drawImage(a.za,0,0,a.$a,a.ab,a.ic,a.jc,a.Kb,a.Tb);Jq(a)}}else if(a.Db){var g=k,w,k=c,d=a.ua=0,f=a.xb,e=16==f?65536:196608,h=16==f?1:2;b=xq(a,h);for(var q=m=0,y=a.F,z=0,B=a.H,S=0;k<g;){w=hc(a.ma,k);if(a.la&&w===a.L[d])m+=f;else{a.L[d]=w;w=w>>8|(w&255)<<8;var X=e,ca=16;m<y&&(y=m);for(var $a=0;$a<f;$a++){var zb=(w&(X>>=h))>>(ca-=h);Iq(a.Ha,m++,q,b[zb])}m>z&&(z=m);q<B&&(B=q);q>=S&&(S=q+1)}k+=2;d++;if(m>=a.F){m=0;q+=2;if(q>a.H)break;q==a.H&&(q=1,k=c+a.Db)}}a.la=!0;
y<a.F&&(a.Ba.putImageData(a.Ha,0,0,y,B,z-y,S-B),a.J.drawImage(a.za,0,0,a.F,a.H,0,0,a.X,a.ja))}else if(a.yc){g=h;f=a.ua=0;e=xq(a,8);h=a.C.qd;m=b=0;q=a.F;y=0;z=a.H;B=0;S=a.C.Qd[4]&8?4:1;w=a.C.rc[19]&15;for(X=a.Ka>a.F?a.Ka-a.F-w>>3:0;c<k;){d=h[c-g];$a=4;w||(a.la&&d===a.L[f]?(b+=$a,$a=0):a.L[f]=d,f++);if($a){b<q&&(q=b);for(ca=0;ca<$a;ca++)Iq(a.Ha,b++,m,e[d&255]),d>>=8;b>y&&(y=b);m<z&&(z=m);m>=B&&(B=m+1)}c+=S;if(b>=a.F){b=0;if(++m>a.H)break;c+=X}}w||(a.la=!0);q<a.F&&(a.Ba.putImageData(a.Ha,0,0,q,z,y-q,
B-z),a.J.drawImage(a.za,0,0,a.F,a.H,0,0,a.X,a.ja))}else{g=h;d=a.ua=0;f=xq(a);e=a.C.qd;b=h=0;m=a.F;q=0;y=a.H;z=0;B=a.C.rc[19]&15;for(S=a.Ka>a.F?a.Ka-a.F-B>>3:0;c<k;){w=c++-g;w=e[w];ca=8;B?h?(X=a.F-h,ca>X&&(ca=X)):(w<<=B,ca-=B,a.la=!1):(a.la&&w===a.L[d]?(h+=ca,ca=0):a.L[d]=w,d++);if(ca){h<m&&(m=h);for(X=0;X<ca;X++)$a=gr[w&2155905152]||0,Iq(a.Ha,h++,b,f[$a]),w<<=1;h>q&&(q=h);b<y&&(y=b);b>=z&&(z=b+1)}if(h>=a.F){h=0;if(++b>a.H)break;c+=S}}B||(a.la=!0);m<a.F&&(a.Ba.putImageData(a.Ha,0,0,m,y,q-m,z-y),a.J.drawImage(a.za,
0,0,a.F,a.H,0,0,a.X,a.ja))}}}}function fr(a,b){var c=0;a=Yc(a.U)-b.Bg;0>a&&(b.Bg=a,a=-a|0);a%b.xg>b.Tl&&(c|=1);a%b.Ag>b.Vl&&(c|=9);b.lh=a/b.Ag|0;return c}l.ol=function(){var a=this.W,b;a.Ub&&(b=a.ec);return b};l.Jm=function(a,b){a=this.W;a.Vf=a.ec;a.ec=b&31};l.nl=function(){return hr(this.W)};l.Im=function(a,b){ir(this,this.W,b)};l.pl=function(){return this.W.Cc};l.Km=function(a,b){this.W.Cc=b;vq(this,!1)};l.ql=function(){return jr(this,this.W)};l.Gj=function(a,b){this.A.Yf=this.A.Yf&-4|b&3};
l.Nk=function(){return this.A.Od};l.ik=function(){return this.A.rc[this.A.Od&31]};l.Fj=function(a,b){a=this.A;var c=a.Od&32;if(a.Ie){a.Ie=!1;var d=a.Od&31;if(16<=d||!c)if(kr||a.rc[d]!==b)a.rc[d]=b,cr(this,!1)}else a.Od=b,a.Ie=!0,b&32&&!c&&nq(this,!0)&&gq(this,!0),b=(a.Qa[12]<<8)+a.Qa[13]|0,a.$c!=b&&(a.$c=b,cr(this)),a.ue=0};
l.Al=function(){var a=0;if(this.Ma==Pn)a=3-((this.A.ff&12)>>2),a=(this.qb&1<<a)<<4-a;else{var b=this.A.we[0];45!=(b&63)&&2880!=(b&4032)&&184320!=(b&258048)&&(a|=16)}a|=this.A.oh&-17;return this.A.oh=a};l.Lm=function(a,b){this.A.ff=b;mq(this)};l.Bl=function(){return this.A.ph};l.Tm=function(a,b){this.A.ph=b};l.yl=function(){return this.A.Rd};l.Rm=function(a,b){this.A.Rd=b};l.xl=function(){return this.A.Qd[this.A.Rd]};
l.Qm=function(a,b){if(kr||this.A.Qd[this.A.Rd]!==b)this.A.Qd[this.A.Rd]=b;switch(this.A.Rd){case 2:this.A.Ua=Op[b&15];break;case 4:Oq(this,Nq(this))&&gq(this,!0)}};l.$k=function(){return this.A.Wf};l.sm=function(a,b){if(kr||this.A.Wf!==b)this.A.Wf=b};l.al=function(){return this.A.Xf};l.tm=function(a,b){this.A.ad=b;this.A.Xf=3;this.A.sc=0};l.um=function(a,b){this.A.ad=b;this.A.Xf=mp;this.A.sc=0};
l.Zk=function(){var a=this.A.we[this.A.ad]>>this.A.sc&63;this.A.sc+=6;12<this.A.sc&&(this.A.sc=0,this.A.ad=this.A.ad+1&np-1);return a};l.rm=function(a,b){a=this.A.we[this.A.ad];b=a&~(63<<this.A.sc)|(b&63)<<this.A.sc;a!==b&&(this.A.we[this.A.ad]=b,cr(this,!1));this.A.sc+=6;12<this.A.sc&&(this.A.sc=0,this.A.ad=this.A.ad+1&np-1)};l.Cl=function(){return this.A.Yf};l.Em=function(a,b){this.A.Qj=b};l.Dl=function(){return this.A.ff};l.Dm=function(a,b){this.A.Pj=b};l.hl=function(){return this.A.Pd};
l.Cm=function(a,b){this.A.Pd=b};l.gl=function(){return this.A.kd[this.A.Pd]};
l.Bm=function(a,b){if(kr||this.A.kd[this.A.Pd]!==b)this.A.kd[this.A.Pd]=b;switch(this.A.Pd){case 0:this.A.Ye=Op[b&15];this.A.zd=this.A.Ye&~this.A.jd;break;case 1:this.A.jd=~Op[b&15];this.A.zd=this.A.Ye&~this.A.jd;break;case 2:this.A.vg=Op[b&15]&-2139062144;break;case 3:case 5:Oq(this,Nq(this));break;case 4:this.A.kh=(b&3)<<3;break;case 6:vq(this,!1);break;case 7:this.A.wg=Op[b&15]&-2139062144;break;case 8:this.A.pb=b|b<<8|b<<16|b<<24}};l.Tk=function(){var a=this.I,b;a.Ub&&(b=a.ec);return b};
l.mm=function(a,b){a=this.I;a.Vf=a.ec;a.ec=b&31};l.Sk=function(){return hr(this.I)};l.lm=function(a,b){ir(this,this.I,b)};l.Uk=function(){return this.I.Cc};l.nm=function(a,b){this.I.Cc=b;vq(this,!1)};l.Rk=function(){return this.I.ef};l.km=function(a,b){this.I.ef!==b&&(this.I.ef=b,cr(this,!1))};l.Vk=function(){return jr(this,this.I)};function hr(a){var b;a.Ub&&a.ec<a.ug&&(b=a.Qa[a.ec]);return b}
function gq(a,b){if(a.ca.Pb){var c=!1,d=a.C;d&&(d!==a.A?d.Cc&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)dr(a);else if(void 0===a.L)return;var e=!1;!(b||++a.bd&15)&&0<=a.xa&&(a.xa++,e=!0);var f=0,g=a.Oc,h=a.Ya,c=h,l=c+a.Ab;a.qa>=Tq&&(h=c=655360,l=c+65536);if(fr(a,d)&8||d.ue&&d.ue<d.lh){var m=(d.Qa[12]<<8)+d.Qa[13]|0;d.$c!==m&&(d.$c=m,cr(a));d.ue=0}m=d.$c;a.G&&(m<<=1);c+=m;m=a.Xa;a.Ma>=Pn&&d.Qa[19]&&d.Qa[19]<<1!=d.Qa[1]+1&&(a.Ka=d.Qa[19]<<(a.G?1:d.Qa[20]&64?3:4),m=(a.Ka*(a.H-1)+a.F)/a.xb|0,a.qa<=lq&&
(m<<=1));c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(b=!b&&a.la){b=a.ma;for(var q=!0,y=c>>>b.B;0<m&&y<b.X.length;)b.X[y].Da&&(b.X[y].Da=q=!1,b.X[y].ni=!0),m-=b.A,y++;b=q}if(b){if(!e)return;if(!a.ua){f=a.Z-d.$c;if(0>f)return;g=f+1}}if(a.G){if(a.ta[a.G]){d=f;f=0;e=a.ua=0;h=er<<8;b=1048575;q=a.C.Cc&32;a.Ma>=Pn&&(q=a.C.rc[16]&8);m=a.Z-a.C.$c;q&&(e=pq<<8,b&=~e,a.xa&2||(b&=~h));for(c+=d<<1;c<l&&d<g;)q=hc(a.ma,c),q|=h,q&e&&(a.ua++,q&=b),d==m&&(q|=a.xa&1?Lq<<8:0),a.la&&q===a.L[d]||(Mq(a,d%a.F,d/a.F|0,q,a.Ba),a.L[d]=
q,f++),c+=2,d++;a.la=!0;f&&a.Ba&&a.J.drawImage(a.za,0,0,a.$a,a.ab,a.ic,a.jc,a.Kb,a.Tb);Jq(a)}}else if(a.Db){var g=l,w,l=c,d=a.ua=0,f=a.xb,e=16==f?65536:196608,h=16==f?1:2;b=xq(a,h);for(var q=m=0,y=a.F,z=0,B=a.H,S=0;l<g;){w=hc(a.ma,l);if(a.la&&w===a.L[d])m+=f;else{a.L[d]=w;w=w>>8|(w&255)<<8;var X=e,ca=16;m<y&&(y=m);for(var $a=0;$a<f;$a++){var zb=(w&(X>>=h))>>(ca-=h);Iq(a.Ha,m++,q,b[zb])}m>z&&(z=m);q<B&&(B=q);q>=S&&(S=q+1)}l+=2;d++;if(m>=a.F){m=0;q+=2;if(q>a.H)break;q==a.H&&(q=1,l=c+a.Db)}}a.la=!0;
y<a.F&&(a.Ba.putImageData(a.Ha,0,0,y,B,z-y,S-B),a.J.drawImage(a.za,0,0,a.F,a.H,0,0,a.X,a.ja))}else if(a.yc){g=h;f=a.ua=0;e=xq(a,8);h=a.C.qd;m=b=0;q=a.F;y=0;z=a.H;B=0;S=a.C.Qd[4]&8?4:1;w=a.C.rc[19]&15;for(X=a.Ka>a.F?a.Ka-a.F-w>>3:0;c<l;){d=h[c-g];$a=4;w||(a.la&&d===a.L[f]?(b+=$a,$a=0):a.L[f]=d,f++);if($a){b<q&&(q=b);for(ca=0;ca<$a;ca++)Iq(a.Ha,b++,m,e[d&255]),d>>=8;b>y&&(y=b);m<z&&(z=m);m>=B&&(B=m+1)}c+=S;if(b>=a.F){b=0;if(++m>a.H)break;c+=X}}w||(a.la=!0);q<a.F&&(a.Ba.putImageData(a.Ha,0,0,q,z,y-q,
B-z),a.J.drawImage(a.za,0,0,a.F,a.H,0,0,a.X,a.ja))}else{g=h;d=a.ua=0;f=xq(a);e=a.C.qd;b=h=0;m=a.F;q=0;y=a.H;z=0;B=a.C.rc[19]&15;for(S=a.Ka>a.F?a.Ka-a.F-B>>3:0;c<l;){w=c++-g;w=e[w];ca=8;B?h?(X=a.F-h,ca>X&&(ca=X)):(w<<=B,ca-=B,a.la=!1):(a.la&&w===a.L[d]?(h+=ca,ca=0):a.L[d]=w,d++);if(ca){h<m&&(m=h);for(X=0;X<ca;X++)$a=gr[w&2155905152]||0,Iq(a.Ha,h++,b,f[$a]),w<<=1;h>q&&(q=h);b<y&&(y=b);b>=z&&(z=b+1)}if(h>=a.F){h=0;if(++b>a.H)break;c+=S}}B||(a.la=!0);m<a.F&&(a.Ba.putImageData(a.Ha,0,0,m,y,q-m,z-y),a.J.drawImage(a.za,
0,0,a.F,a.H,0,0,a.X,a.ja))}}}}function fr(a,b){var c=0;a=Yc(a.U)-b.Bg;0>a&&(b.Bg=a,a=-a|0);a%b.xg>b.Ul&&(c|=1);a%b.Ag>b.Wl&&(c|=9);b.lh=a/b.Ag|0;return c}k.ol=function(){var a=this.W,b;a.Ub&&(b=a.ec);return b};k.Km=function(a,b){a=this.W;a.Vf=a.ec;a.ec=b&31};k.nl=function(){return hr(this.W)};k.Jm=function(a,b){ir(this,this.W,b)};k.pl=function(){return this.W.Cc};k.Lm=function(a,b){this.W.Cc=b;vq(this,!1)};k.ql=function(){return jr(this,this.W)};k.Gj=function(a,b){this.A.Yf=this.A.Yf&-4|b&3};
k.Nk=function(){return this.A.Od};k.ik=function(){return this.A.rc[this.A.Od&31]};k.Fj=function(a,b){a=this.A;var c=a.Od&32;if(a.Ie){a.Ie=!1;var d=a.Od&31;if(16<=d||!c)if(kr||a.rc[d]!==b)a.rc[d]=b,cr(this,!1)}else a.Od=b,a.Ie=!0,b&32&&!c&&nq(this,!0)&&gq(this,!0),b=(a.Qa[12]<<8)+a.Qa[13]|0,a.$c!=b&&(a.$c=b,cr(this)),a.ue=0};
k.Al=function(){var a=0;if(this.Ma==Pn)a=3-((this.A.ff&12)>>2),a=(this.qb&1<<a)<<4-a;else{var b=this.A.we[0];45!=(b&63)&&2880!=(b&4032)&&184320!=(b&258048)&&(a|=16)}a|=this.A.oh&-17;return this.A.oh=a};k.Mm=function(a,b){this.A.ff=b;mq(this)};k.Bl=function(){return this.A.ph};k.Um=function(a,b){this.A.ph=b};k.yl=function(){return this.A.Rd};k.Sm=function(a,b){this.A.Rd=b};k.xl=function(){return this.A.Qd[this.A.Rd]};
k.Rm=function(a,b){if(kr||this.A.Qd[this.A.Rd]!==b)this.A.Qd[this.A.Rd]=b;switch(this.A.Rd){case 2:this.A.Ua=Op[b&15];break;case 4:Oq(this,Nq(this))&&gq(this,!0)}};k.$k=function(){return this.A.Wf};k.tm=function(a,b){if(kr||this.A.Wf!==b)this.A.Wf=b};k.al=function(){return this.A.Xf};k.um=function(a,b){this.A.ad=b;this.A.Xf=3;this.A.sc=0};k.vm=function(a,b){this.A.ad=b;this.A.Xf=mp;this.A.sc=0};
k.Zk=function(){var a=this.A.we[this.A.ad]>>this.A.sc&63;this.A.sc+=6;12<this.A.sc&&(this.A.sc=0,this.A.ad=this.A.ad+1&np-1);return a};k.sm=function(a,b){a=this.A.we[this.A.ad];b=a&~(63<<this.A.sc)|(b&63)<<this.A.sc;a!==b&&(this.A.we[this.A.ad]=b,cr(this,!1));this.A.sc+=6;12<this.A.sc&&(this.A.sc=0,this.A.ad=this.A.ad+1&np-1)};k.Cl=function(){return this.A.Yf};k.Fm=function(a,b){this.A.Qj=b};k.Dl=function(){return this.A.ff};k.Em=function(a,b){this.A.Pj=b};k.hl=function(){return this.A.Pd};
k.Dm=function(a,b){this.A.Pd=b};k.gl=function(){return this.A.kd[this.A.Pd]};
k.Cm=function(a,b){if(kr||this.A.kd[this.A.Pd]!==b)this.A.kd[this.A.Pd]=b;switch(this.A.Pd){case 0:this.A.Ye=Op[b&15];this.A.zd=this.A.Ye&~this.A.jd;break;case 1:this.A.jd=~Op[b&15];this.A.zd=this.A.Ye&~this.A.jd;break;case 2:this.A.vg=Op[b&15]&-2139062144;break;case 3:case 5:Oq(this,Nq(this));break;case 4:this.A.kh=(b&3)<<3;break;case 6:vq(this,!1);break;case 7:this.A.wg=Op[b&15]&-2139062144;break;case 8:this.A.pb=b|b<<8|b<<16|b<<24}};k.Tk=function(){var a=this.I,b;a.Ub&&(b=a.ec);return b};
k.nm=function(a,b){a=this.I;a.Vf=a.ec;a.ec=b&31};k.Sk=function(){return hr(this.I)};k.mm=function(a,b){ir(this,this.I,b)};k.Uk=function(){return this.I.Cc};k.om=function(a,b){this.I.Cc=b;vq(this,!1)};k.Rk=function(){return this.I.ef};k.lm=function(a,b){this.I.ef!==b&&(this.I.ef=b,cr(this,!1))};k.Vk=function(){return jr(this,this.I)};function hr(a){var b;a.Ub&&a.ec<a.ug&&(b=a.Qa[a.ec]);return b}
function ir(a,b,c){if(b.ec<b.ug){if(kr||b.Qa[b.ec]!==c)b.Qa[b.ec]=c;if(12==b.ec||13==b.ec)if(fr(a,b)&1){var d=(b.Qa[12]<<8)+b.Qa[13]|0;b.$c!==d&&(b.$c=d,cr(a))}else b.ue||(b.ue=b.lh);(9==b.ec&&8!=b.Vf||b.ec==Dp&&223==c)&&vq(a,!0);wq(a)}}function jr(a,b){var c=fr(a,b);b===a.A?(c|=b.Y&48^48,b.Ie=!1):c=(b.Y^=9)|240;return b.Y=c}
var kr=!0,br=1,Sq=2,jq=3,ar=5,$q=6,lq=7,Wq=13,Xq=14,Qq=15,Rq=16,Yq=17,Zq=18,Tq=19,Uq=20,Vq=21,Pq=255,Eq=1,Dq=3,Xp=Eq,Up=Dq,Pn=5,Rn=7,Pp={mda:[Xp,lq],cga:[Up,jq],ega:[Pn,jq],vga:[Rn,jq]},pp={2:{Of:15700,Nf:208,Tf:85,Uf:96}};pp[ek]={Of:18432,Nf:364,Tf:85,Uf:96};pp[4]={Of:21850,Nf:364,Tf:85,Uf:96};pp[7]={Of:16700,Nf:480,Tf:85,Uf:83};var kq={6:[1,ek,!0],7:[2,ek,!0],8:[6,ek,!0],9:[4,ek,!0],10:[ek,1,!0],11:[ek,2,!0],0:[1,ek,!1],1:[2,ek,!1],2:[6,ek,!1],3:[4,ek,!1],4:[ek,1,!1],5:[ek,2,!1]},Qp=[];
Qp[br]=[40,25,1,0,Dq];Qp[jq]=[80,25,1,0,Dq];Qp[4]=[320,200,8,192];Qp[$q]=[640,200,16,192];Qp[lq]=[80,25,1,0,Eq];Qp[Wq]=[320,200,8];Qp[Xq]=[640,200,8];Qp[Qq]=[640,350,8];Qp[Rq]=[640,350,8];Qp[Yq]=[640,480,8];Qp[Zq]=[640,480,8];Qp[Tq]=[320,200,1];Qp[Uq]=[320,240,4];Qp[Vq]=[320,400,4];Qp[0]=Qp[br];Qp[Sq]=Qp[jq];Qp[ar]=Qp[4];
var sq=0,qq=7,uq=8,rq=0,tq=112,pq=128,er=256,Lq=512,Fq=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Gq=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],yq=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Aq=[2,4,6],zq=[3,5,qq],Bq=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
Op=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],gr=[0];gr[128]=1;gr[32768]=2;gr[32896]=3;gr[8388608]=4;gr[8388736]=5;gr[8421376]=6;gr[8421504]=7;gr[-2147483648]=8;gr[-2147483520]=9;gr[-2147450880]=10;gr[-2147450752]=11;gr[-2139095040]=12;gr[-2139094912]=13;gr[-2139062272]=14;gr[-2139062144]=15;var Zo=[];Zo[Xp]=["MDA",948,720896,4096,0,ek];Zo[Up]=["CGA",980,753664,16384,0,2];Zo[Pn]=["EGA",980,753664,16384,65536,4];
Zo[Rn]=["VGA",980,753664,16384,262144,7];
var Rp=0,fq=1,eq=2,Vp={948:Y.prototype.ol,949:Y.prototype.nl,952:Y.prototype.pl,954:Y.prototype.ql},Wp={948:Y.prototype.Jm,949:Y.prototype.Im,952:Y.prototype.Km},Yp={980:Y.prototype.Tk,981:Y.prototype.Sk,984:Y.prototype.Uk,985:Y.prototype.Rk,986:Y.prototype.Vk},Zp={980:Y.prototype.mm,981:Y.prototype.lm,984:Y.prototype.nm,985:Y.prototype.km},$p={960:Y.prototype.Nk,961:Y.prototype.ik,962:Y.prototype.Al,964:Y.prototype.yl,965:Y.prototype.xl,974:Y.prototype.hl,975:Y.prototype.gl},aq={954:Y.prototype.Gj,
960:Y.prototype.Fj,961:Y.prototype.Fj,962:Y.prototype.Lm,964:Y.prototype.Rm,965:Y.prototype.Qm,970:Y.prototype.Em,972:Y.prototype.Dm,974:Y.prototype.Cm,975:Y.prototype.Bm,986:Y.prototype.Gj},bq={963:Y.prototype.Bl,966:Y.prototype.$k,967:Y.prototype.al,969:Y.prototype.Zk,970:Y.prototype.Cl,972:Y.prototype.Dl},cq={963:Y.prototype.Tm,966:Y.prototype.sm,967:Y.prototype.tm,968:Y.prototype.um,969:Y.prototype.rm};
var Rp=0,fq=1,eq=2,Vp={948:Y.prototype.ol,949:Y.prototype.nl,952:Y.prototype.pl,954:Y.prototype.ql},Wp={948:Y.prototype.Km,949:Y.prototype.Jm,952:Y.prototype.Lm},Yp={980:Y.prototype.Tk,981:Y.prototype.Sk,984:Y.prototype.Uk,985:Y.prototype.Rk,986:Y.prototype.Vk},Zp={980:Y.prototype.nm,981:Y.prototype.mm,984:Y.prototype.om,985:Y.prototype.lm},$p={960:Y.prototype.Nk,961:Y.prototype.ik,962:Y.prototype.Al,964:Y.prototype.yl,965:Y.prototype.xl,974:Y.prototype.hl,975:Y.prototype.gl},aq={954:Y.prototype.Gj,
960:Y.prototype.Fj,961:Y.prototype.Fj,962:Y.prototype.Mm,964:Y.prototype.Sm,965:Y.prototype.Rm,970:Y.prototype.Fm,972:Y.prototype.Em,974:Y.prototype.Dm,975:Y.prototype.Cm,986:Y.prototype.Gj},bq={963:Y.prototype.Bl,966:Y.prototype.$k,967:Y.prototype.al,969:Y.prototype.Zk,970:Y.prototype.Cl,972:Y.prototype.Dl},cq={963:Y.prototype.Um,966:Y.prototype.tm,967:Y.prototype.um,968:Y.prototype.vm,969:Y.prototype.sm};
Ma(function(){for(var a=eb(document,"pcx86","video"),b=0;b<a.length;b++){var c=a[b],d=bb(c),e=document.createElement("canvas");if(!e||!e.getContext){c.innerHTML="<br/>Missing &lt;canvas&gt; support. Please try a newer 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());var f=+(d.aspect||Ia("aspect"));f&&.3<=f&&3.33>=f&&(La("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ha("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"),f.style.fontSize="16px");c.appendChild(f);var g=e.getContext("2d"),d=new Y(d,e,g,f,c);db(d,c)}});
function lr(a){t.call(this,"ParallelPort",a);this.G=a.adapter;switch(this.G){case 1:this.D=956;this.C=7;break;case 2:this.D=888;this.C=7;break;case 3:this.D=632;this.C=5;break;default:r("Unrecognized parallel adapter #"+this.G);return}this.A=this.B=null;a=a.binding;"console"==a?this.B="":cb(this,a,mr)}ba(lr,t);l=lr.prototype;l.wb=function(a,b,c){switch(b){case mr:return this.ia[b]=this.A=c,!0}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");kc(b,this,nr,this.D);mc(b,this,or,this.D);mb(this)};l.Ob=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){pr(this)};l.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.F;c[b++]=this.zb;c[b]=this.Ge;a.set(0,c);return a.data()};l.restore=function(a){return pr(this,a[0])};
function pr(a,b){var c=0;b||(b=[0,0,0]);a.F=b[c++];a.zb=b[c++];a.Ge=b[c];return!0}l.bl=function(){return this.F};l.zl=function(){return this.zb};l.Yk=function(){return this.Ge};l.vm=function(a,b){this.F=b;this.zb|=qr;a=!1;this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.lc(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.zb&=~qr);rr(this)};
l.qm=function(a,b){this.Ge=b;rr(this)};function rr(a){a.V&&a.C&&(a.Ge&sr&&!(a.zb&qr)?Hf(a.V,a.C):Ff(a.V,a.C))}var mr="buffer",qr=64,sr=16,nr={0:lr.prototype.bl,1:lr.prototype.zl,2:lr.prototype.Yk},or={0:lr.prototype.vm,2:lr.prototype.qm};Ma(function(){for(var a=eb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new lr(d);db(d,c)}});
function tr(a){t.call(this,"SerialPort",a);this.ga=a.adapter;switch(this.ga){case 1:this.ba=1016;this.L=4;break;case 2:this.ba=760;this.L=3;break;default:r("Unrecognized serial adapter #"+this.ga);return}this.D=this.G=null;this.na=a.tabSize;this.la=a.charBOL;this.J=0;this.pa=ur|vr;this.O=!0;a=a.binding;"console"==a?this.G="":cb(this,a,wr);this.C=this.Z=this.W=null;this.exports={connect:this.xi,receiveData:this.df,receiveStatus:this.hk}}ba(tr,t);l=tr.prototype;
l.Zh=function(a,b,c){var d=null;a!=this.Ud||this.C||(this.C=b,this.W=c,this.O=!1,d=this);return d};l.wb=function(a,b,c){var d=this;switch(b){case wr:return this.ia[b]=this.D=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.df(b);return!0},c.onkeypress=function(a){a=a||window.event;d.df(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
l.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");kc(b,this,xr,this.ba);mc(b,this,yr,this.ba);mb(this)};
l.xi=function(a){if(!this.C){var b=Mc(this.oa,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.Ud)return;c=ua(c[1]);if(this.C=Za(c)){var e=this.C.exports;if(e){var f=e.connect;f&&f.call(this.C,this.O);if(this.Z=e.receiveData){this.O=a;this.W=e.receiveStatus;this.status("Connected "+this.Wd+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
l.Ob=function(a,b){if(!b)if(this.xi(this.O),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){zr(this)};l.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.ea;c[b++]=this.ja;c[b++]=this.K;c[b++]=this.M;c[b++]=this.F;c[b++]=this.I;c[b++]=this.X;c[b++]=this.B;c[b++]=this.A;c[b]=this.H;a.set(0,c);return a.data()};l.restore=function(a){return zr(this,a[0])};
function zr(a,b){var c=0;b||(b=[0,0,Ar,0,Br,0,0,Cr|Dr,a.pa,[]]);a.ea=b[c++];a.ja=b[c++];a.K=b[c++];a.M=b[c++];a.F=b[c++];a.I=b[c++];a.X=b[c++];a.B=b[c++];a.A=b[c++];a.H=b[c];return!0}l.df=function(a){if("number"==typeof a)this.H.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.H.push(a.charCodeAt(b));else this.H=this.H.concat(a);Er(this);return!0};l.hk=function(a){var b=this.A;this.A&=~(ur|vr);a&32&&(this.A=this.A|ur|Fr);a&64&&(this.A=this.A|vr|Gr);b!=this.A&&Hr(this)};
function Er(a){0<a.H.length&&!(a.B&Ir)&&(a.ea=a.H.shift(),a.B|=Ir);Hr(a)}l.wl=function(){var a=this.I&Jr?this.K&255:this.ea;this.B&=~Ir;Er(this);return a};l.il=function(){return this.I&Jr?this.K>>8:this.M};l.jl=function(){return this.F};l.kl=function(){return this.I};l.ml=function(){return this.X};l.ll=function(){return this.B};l.rl=function(){var a=this.A;this.A&=~(Fr|Gr);return a};
l.Sm=function(a,b){if(this.I&Jr)this.K=this.K&-256|b;else{this.ja=b;this.B&=~(Cr|Dr);a=!1;this.Z&&this.Z.call(this.C,b)&&(a=!0);if(this.D){if(13==b)this.J=0;else if(8==b)this.D.value=this.D.value.slice(0,-1),0<this.J&&this.J--;else{var c;13!=b&&10!=b&&(c=va[b]);c=c?"<"+c+">":String.fromCharCode(b);a=c.length;32>b&&1==a&&(a=0);9==b&&(b=this.na||8,a=b-this.J%b,this.na&&(c=" ".slice(0,a)));this.la&&!this.J&&a&&(c=String.fromCharCode(this.la)+c);this.D.value+=c;
this.D.scrollTop=this.D.scrollHeight;this.J+=a}a=!0}else if(null!=this.G){if(10==b||1024<=this.G.length)this.lc(this.G),this.G="";10!=b&&(this.G+=String.fromCharCode(b));a=!0}a&&(this.B=this.B|Cr|Dr)}};l.Fm=function(a,b){this.I&Jr?this.K=this.K&255|b<<8:this.M=b};l.Gm=function(a,b){this.I=b};l.Hm=function(a,b){a=b^this.X;this.X=b;a&(Kr|Lr)&&this.W&&(a=0,this.O?(a|=b&Lr?32:0,a|=b&Kr?320:0):(a|=b&Lr?16:0,a|=b&Kr?1048576:0),this.W.call(this.C,a))};
function Hr(a){var b=-1;a.B&Ir&&a.M&Mr?b=Nr:a.A&(Fr|Gr)&&a.M&Or&&(b=Pr);0<=b?(a.F&=~(Br|Qr),a.F|=b,a.V&&a.L&&Hf(a.V,a.L,100)):(a.F|=Br,a.V&&a.L&&Ff(a.V,a.L))}var wr="buffer",Ar=384,Mr=1,Or=8,Br=1,Nr=4,Pr=0,Qr=6,Jr=128,Kr=1,Lr=2,Ir=1,Cr=32,Dr=64,Fr=1,Gr=2,ur=16,vr=32,xr={0:tr.prototype.wl,1:tr.prototype.il,2:tr.prototype.jl,3:tr.prototype.kl,4:tr.prototype.ml,5:tr.prototype.ll,6:tr.prototype.rl},yr={0:tr.prototype.Sm,1:tr.prototype.Fm,3:tr.prototype.Gm,4:tr.prototype.Hm};
Ma(function(){for(var a=eb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new tr(d);db(d,c)}});function Rr(a){t.call(this,"Mouse",a);if(this.O=a.serial)this.V="SerialPort";this.M=this.L=this.Ub=!1;this.C=[];this.B=[];mb(this)}ba(Rr,t);l=Rr.prototype;l.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;for(b=null;b=vb(a,"Video",b);)this.C.push(b)};
l.Ob=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.V&&!this.D){for(a=null;(a=vb(this.oa,this.V,a))&&(!a.Zh||!(this.D=a.Zh(this.O,this,this.gk))););if(this.D)for(this.B=[],a=0;a<this.C.length;a++)b=this.C[a],b.K=this,(b=b.D)&&this.B.push(b);else r(this.id+": "+this.V+" "+this.O+" unavailable")}this.Ub?Sr(this):Tr(this)}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){Ur(this)};
l.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.Ub;c[b++]=this.F;c[b++]=this.G;c[b++]=this.H;c[b++]=this.I;c[b++]=this.J;c[b++]=this.K;c[b]=this.A;a.set(0,c);return a.data()};l.restore=function(a){return Ur(this,a[0])};function Ur(a,b){var c=0;b||(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ub=d;a.F=b[c++];a.G=b[c++];a.H=b[c++];a.I=b[c++];a.J=b[c++];a.K=b[c++];a.A=b[c];a.A&(Kr|Lr)&&(a.A=(a.A&Kr?1048576:0)|(a.A&Lr?16:0));return!0}l.Ze=function(a){this.L=a};
function lr(a){t.call(this,"ParallelPort",a);this.G=a.adapter;switch(this.G){case 1:this.D=956;this.C=7;break;case 2:this.D=888;this.C=7;break;case 3:this.D=632;this.C=5;break;default:r("Unrecognized parallel adapter #"+this.G);return}this.A=this.B=null;a=a.binding;"console"==a?this.B="":cb(this,a,mr)}ba(lr,t);k=lr.prototype;k.wb=function(a,b,c){switch(b){case mr:return this.ia[b]=this.A=c,!0}return!1};
k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");kc(b,this,nr,this.D);mc(b,this,or,this.D);mb(this)};k.Ob=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};k.reset=function(){pr(this)};k.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.F;c[b++]=this.zb;c[b]=this.Ge;a.set(0,c);return a.data()};k.restore=function(a){return pr(this,a[0])};
function pr(a,b){var c=0;b||(b=[0,0,0]);a.F=b[c++];a.zb=b[c++];a.Ge=b[c];return!0}k.bl=function(){return this.F};k.zl=function(){return this.zb};k.Yk=function(){return this.Ge};k.wm=function(a,b){this.F=b;this.zb|=qr;a=!1;this.A&&(8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0);if(null!=this.B){if(10==b||1024<=this.B.length)this.lc(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}a&&(this.zb&=~qr);rr(this)};
k.rm=function(a,b){this.Ge=b;rr(this)};function rr(a){a.V&&a.C&&(a.Ge&sr&&!(a.zb&qr)?Hf(a.V,a.C):Ff(a.V,a.C))}var mr="buffer",qr=64,sr=16,nr={0:lr.prototype.bl,1:lr.prototype.zl,2:lr.prototype.Yk},or={0:lr.prototype.wm,2:lr.prototype.rm};Ma(function(){for(var a=eb(document,"pcx86","parallel"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new lr(d);db(d,c)}});
function tr(a){t.call(this,"SerialPort",a);this.ga=a.adapter;switch(this.ga){case 1:this.ba=1016;this.L=4;break;case 2:this.ba=760;this.L=3;break;default:r("Unrecognized serial adapter #"+this.ga);return}this.D=this.G=null;this.na=a.tabSize;this.la=a.charBOL;this.J=0;this.pa=ur|vr;this.O=!0;a=a.binding;"console"==a?this.G="":cb(this,a,wr);this.C=this.Z=this.W=null;this.exports={connect:this.xi,receiveData:this.df,receiveStatus:this.hk}}ba(tr,t);k=tr.prototype;
k.Zh=function(a,b,c){var d=null;a!=this.Ud||this.C||(this.C=b,this.W=c,this.O=!1,d=this);return d};k.wb=function(a,b,c){var d=this;switch(b){case wr:return this.ia[b]=this.D=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.df(b);return!0},c.onkeypress=function(a){a=a||window.event;d.df(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;this.V=vb(a,"ChipSet");kc(b,this,xr,this.ba);mc(b,this,yr,this.ba);mb(this)};
k.xi=function(a){if(!this.C){var b=Mc(this.oa,"connection");if(b){var c=b.split("->");if(2==c.length){var d=ua(c[0]);if(d!=this.Ud)return;c=ua(c[1]);if(this.C=Za(c)){var e=this.C.exports;if(e){var f=e.connect;f&&f.call(this.C,this.O);if(this.Z=e.receiveData){this.O=a;this.W=e.receiveStatus;this.status("Connected "+this.Wd+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
k.Ob=function(a,b){if(!b)if(this.xi(this.O),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};k.reset=function(){zr(this)};k.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.ea;c[b++]=this.ja;c[b++]=this.K;c[b++]=this.M;c[b++]=this.F;c[b++]=this.I;c[b++]=this.X;c[b++]=this.B;c[b++]=this.A;c[b]=this.H;a.set(0,c);return a.data()};k.restore=function(a){return zr(this,a[0])};
function zr(a,b){var c=0;b||(b=[0,0,Ar,0,Br,0,0,Cr|Dr,a.pa,[]]);a.ea=b[c++];a.ja=b[c++];a.K=b[c++];a.M=b[c++];a.F=b[c++];a.I=b[c++];a.X=b[c++];a.B=b[c++];a.A=b[c++];a.H=b[c];return!0}k.df=function(a){if("number"==typeof a)this.H.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.H.push(a.charCodeAt(b));else this.H=this.H.concat(a);Er(this);return!0};k.hk=function(a){var b=this.A;this.A&=~(ur|vr);a&32&&(this.A=this.A|ur|Fr);a&64&&(this.A=this.A|vr|Gr);b!=this.A&&Hr(this)};
function Er(a){0<a.H.length&&!(a.B&Ir)&&(a.ea=a.H.shift(),a.B|=Ir);Hr(a)}k.wl=function(){var a=this.I&Jr?this.K&255:this.ea;this.B&=~Ir;Er(this);return a};k.il=function(){return this.I&Jr?this.K>>8:this.M};k.jl=function(){return this.F};k.kl=function(){return this.I};k.ml=function(){return this.X};k.ll=function(){return this.B};k.rl=function(){var a=this.A;this.A&=~(Fr|Gr);return a};
k.Tm=function(a,b){if(this.I&Jr)this.K=this.K&-256|b;else{this.ja=b;this.B&=~(Cr|Dr);a=!1;this.Z&&this.Z.call(this.C,b)&&(a=!0);if(this.D){if(13==b)this.J=0;else if(8==b)this.D.value=this.D.value.slice(0,-1),0<this.J&&this.J--;else{var c;13!=b&&10!=b&&(c=va[b]);c=c?"<"+c+">":String.fromCharCode(b);a=c.length;32>b&&1==a&&(a=0);9==b&&(b=this.na||8,a=b-this.J%b,this.na&&(c=" ".slice(0,a)));this.la&&!this.J&&a&&(c=String.fromCharCode(this.la)+c);this.D.value+=c;
this.D.scrollTop=this.D.scrollHeight;this.J+=a}a=!0}else if(null!=this.G){if(10==b||1024<=this.G.length)this.lc(this.G),this.G="";10!=b&&(this.G+=String.fromCharCode(b));a=!0}a&&(this.B=this.B|Cr|Dr)}};k.Gm=function(a,b){this.I&Jr?this.K=this.K&255|b<<8:this.M=b};k.Hm=function(a,b){this.I=b};k.Im=function(a,b){a=b^this.X;this.X=b;a&(Kr|Lr)&&this.W&&(a=0,this.O?(a|=b&Lr?32:0,a|=b&Kr?320:0):(a|=b&Lr?16:0,a|=b&Kr?1048576:0),this.W.call(this.C,a))};
function Hr(a){var b=-1;a.B&Ir&&a.M&Mr?b=Nr:a.A&(Fr|Gr)&&a.M&Or&&(b=Pr);0<=b?(a.F&=~(Br|Qr),a.F|=b,a.V&&a.L&&Hf(a.V,a.L,100)):(a.F|=Br,a.V&&a.L&&Ff(a.V,a.L))}var wr="buffer",Ar=384,Mr=1,Or=8,Br=1,Nr=4,Pr=0,Qr=6,Jr=128,Kr=1,Lr=2,Ir=1,Cr=32,Dr=64,Fr=1,Gr=2,ur=16,vr=32,xr={0:tr.prototype.wl,1:tr.prototype.il,2:tr.prototype.jl,3:tr.prototype.kl,4:tr.prototype.ml,5:tr.prototype.ll,6:tr.prototype.rl},yr={0:tr.prototype.Tm,1:tr.prototype.Gm,3:tr.prototype.Hm,4:tr.prototype.Im};
Ma(function(){for(var a=eb(document,"pcx86","serial"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new tr(d);db(d,c)}});function Rr(a){t.call(this,"Mouse",a);if(this.O=a.serial)this.V="SerialPort";this.M=this.L=this.Ub=!1;this.C=[];this.B=[];mb(this)}ba(Rr,t);k=Rr.prototype;k.hc=function(a,b,c,d){this.oa=a;this.ma=b;this.U=c;this.Ea=d;for(b=null;b=vb(a,"Video",b);)this.C.push(b)};
k.Ob=function(a,b){if(!b){if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;if(this.V&&!this.D){for(a=null;(a=vb(this.oa,this.V,a))&&(!a.Zh||!(this.D=a.Zh(this.O,this,this.gk))););if(this.D)for(this.B=[],a=0;a<this.C.length;a++)b=this.C[a],b.K=this,(b=b.D)&&this.B.push(b);else r(this.id+": "+this.V+" "+this.O+" unavailable")}this.Ub?Sr(this):Tr(this)}return!0};k.Nb=function(a){return a?this.save():!0};k.reset=function(){Ur(this)};
k.save=function(){var a=new Qe(this),b=0,c=[];c[b++]=this.Ub;c[b++]=this.F;c[b++]=this.G;c[b++]=this.H;c[b++]=this.I;c[b++]=this.J;c[b++]=this.K;c[b]=this.A;a.set(0,c);return a.data()};k.restore=function(a){return Ur(this,a[0])};function Ur(a,b){var c=0;b||(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.Ub=d;a.F=b[c++];a.G=b[c++];a.H=b[c++];a.I=b[c++];a.J=b[c++];a.K=b[c++];a.A=b[c];a.A&(Kr|Lr)&&(a.A=(a.A&Kr?1048576:0)|(a.A&Lr?16:0));return!0}k.Ze=function(a){this.L=a};
function Sr(a){if(!a.M)for(var b=0;b<a.B.length;b++)Vr(a,a.B[b])&&(a.M=!0)}function Tr(a){if(a.M)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function Vr(a,b){return b?(b.addEventListener("mousemove",function(b){Wr(a,b)},!1),b.addEventListener("mousedown",function(b){Wr(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Wr(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Wr(a,b,c){if(void 0!==c){var d;!(d=!1!==a.L)&&(d=a.C.length)&&(d=a.C[0],d=d.ld?d.Id(!0):!1);d||(a.L=null);a.ie(b.button,c)}else{if(0>a.F||0>a.G)a.F=b.clientX,a.G=b.clientY;a.L?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.F,d=b.clientY-a.G);a.F=b.clientX;a.G=b.clientY;a.sg(c,d,a.F,a.G)}}
l.ie=function(a,b){if(this.Ub&&this.U&&this.U.ca.Ib)switch(a){case iq:this.J!=b&&(this.J=b,Xr(this));break;case Yr:this.K!=b&&(this.K=b,Xr(this))}};l.sg=function(a,b){this.Ub&&this.U&&this.U.ca.Ib&&(a||b)&&(this.H=a,this.I=b,Xr(this))};function Xr(a){a.D.df([64|(a.J?32:0)|(a.K?16:0)|(a.I&192)>>4|(a.H&192)>>6,a.H&63,a.I&63]);a.H=a.I=0}
l.gk=function(a){var b=1048592==(a&1048592);if(b){if(!this.Ub){var c=!1;this.A&16||(this.reset(),c=!0);this.A&1048576||(c=!0);c&&this.D.df([Zr,Zr]);Sr(this);this.Ub=b}}else this.Ub&&(Tr(this),this.Ub=b);this.A=a};var Zr=77,iq=0,Yr=2;Ma(function(){for(var a=eb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Rr(d);db(d,c)}});
function $r(a,b,c){t.call(this,"Disk",{id:a.Wd+".disk"+oa(++as,4)});this.controller=a;this.oa=a.oa;this.Ea=a.Ea;this.B=b;this.Qc=b.name;this.ne=b.ne;this.Ff=this.C=!1;bs(this,c,b.fb,b.gb,b.Za,b.lb);this.G=[];this.J=[];this.D=null;this.L=0;this.K=!1;mb(this)}ba($r,t);l=$r.prototype;l.hc=function(a,b,c,d){this.Ea=d};l.Ob=function(a,b){b||!this.Ff||this.C||(mb(this,!1),this.load(this.Qc,this.F,null,this.vk,this));return!0};l.vk=function(){mb(this,!0)};
l.Nb=function(a,b){if(this.C){var c,d=0;if(this.K&&!Xa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=cs(this,!1);)if(d=c[0]){this.controller.Aa('Unable to save "'+this.Qc+'" (error '+d+")");break}b&&this.C&&(b="action=close&volume="+this.F,b+="&machine="+ds(this.controller),b+="&user="+es(this.controller),Ba(Ca()+"/api/v1/disk?"+b,null,!0),this.C=!1);!d&&a&&this.controller.Aa(this.Qc+" saved")}return!0};
k.ie=function(a,b){if(this.Ub&&this.U&&this.U.ca.Ib)switch(a){case iq:this.J!=b&&(this.J=b,Xr(this));break;case Yr:this.K!=b&&(this.K=b,Xr(this))}};k.sg=function(a,b){this.Ub&&this.U&&this.U.ca.Ib&&(a||b)&&(this.H=a,this.I=b,Xr(this))};function Xr(a){a.D.df([64|(a.J?32:0)|(a.K?16:0)|(a.I&192)>>4|(a.H&192)>>6,a.H&63,a.I&63]);a.H=a.I=0}
k.gk=function(a){var b=1048592==(a&1048592);if(b){if(!this.Ub){var c=!1;this.A&16||(this.reset(),c=!0);this.A&1048576||(c=!0);c&&this.D.df([Zr,Zr]);Sr(this);this.Ub=b}}else this.Ub&&(Tr(this),this.Ub=b);this.A=a};var Zr=77,iq=0,Yr=2;Ma(function(){for(var a=eb(document,"pcx86","mouse"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Rr(d);db(d,c)}});
function $r(a,b,c){t.call(this,"Disk",{id:a.Wd+".disk"+oa(++as,4)});this.controller=a;this.oa=a.oa;this.Ea=a.Ea;this.B=b;this.Qc=b.name;this.ne=b.ne;this.Ff=this.C=!1;bs(this,c,b.fb,b.gb,b.Za,b.lb);this.G=[];this.J=[];this.D=null;this.L=0;this.K=!1;mb(this)}ba($r,t);k=$r.prototype;k.hc=function(a,b,c,d){this.Ea=d};k.Ob=function(a,b){b||!this.Ff||this.C||(mb(this,!1),this.load(this.Qc,this.F,null,this.vk,this));return!0};k.vk=function(){mb(this,!0)};
k.Nb=function(a,b){if(this.C){var c,d=0;if(this.K&&!Xa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=cs(this,!1);)if(d=c[0]){this.controller.Aa('Unable to save "'+this.Qc+'" (error '+d+")");break}b&&this.C&&(b="action=close&volume="+this.F,b+="&machine="+ds(this.controller),b+="&user="+es(this.controller),Ba(Ca()+"/api/v1/disk?"+b,null,!0),this.C=!1);!d&&a&&this.controller.Aa(this.Qc+" saved")}return!0};
function bs(a,b,c,d,e,f){a.mode=b;a.fb=c;a.gb=d;a.Za=e;a.lb=f;a.A=[];if("preload"!=a.mode){b=Array(a.fb);for(c=0;c<b.length;c++){d=Array(a.gb);for(e=0;e<d.length;e++){f=Array(a.Za);for(var g=1;g<=f.length;g++)f[g-1]=fs(null,c,e,g,a.lb,"local"==a.mode?0:null);d[e]=f}b[c]=d}a.A=b}a.I=null}
l.load=function(a,b,c,d,e){var f=b;if(this.H)return!0;this.Qc=a;this.F=b;this.qh=pa(b);var g=this;this.H=d;this.M=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=la[c];if(d){g.fb=d[0];g.gb=d[1];g.Za=d[2];g.lb=d[3]||512;b=g.lb>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.fb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.gb),B=0;B<f.length;B++)for(var S=f[B]=Array(g.Za),X=0;X<S.length;X++){for(var ca=fs(null,c,B,X+1,g.lb,0),$a=ca.data,zb=
0;zb<b;zb++,e+=4)var Rh=$a[zb]=a.getInt32(e,!0),d=d+Rh&-1;ca.uc=b;S[X]=ca}g.I=d;b=g}else g.Aa("Unrecognized disk format ("+c+" bytes)");g.H&&(g.H.call(g.controller,g.B,b,g.Qc,g.F),g.H=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=qa(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=gs(this,b),this.Ff=!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"):
k.load=function(a,b,c,d,e){var f=b;if(this.H)return!0;this.Qc=a;this.F=b;this.qh=pa(b);var g=this;this.H=d;this.M=e||this.controller;if(c){var h=new FileReader;h.onload=function(){var a=h.result,b,c=a?a.byteLength:0,d=la[c];if(d){g.fb=d[0];g.gb=d[1];g.Za=d[2];g.lb=d[3]||512;b=g.lb>>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.fb);for(c=0;c<g.A.length;c++)for(var f=g.A[c]=Array(g.gb),B=0;B<f.length;B++)for(var S=f[B]=Array(g.Za),X=0;X<S.length;X++){for(var ca=fs(null,c,B,X+1,g.lb,0),$a=ca.data,zb=
0;zb<b;zb++,e+=4)var Th=$a[zb]=a.getInt32(e,!0),d=d+Th&-1;ca.uc=b;S[X]=ca}g.I=d;b=g}else g.Aa("Unrecognized disk format ("+c+" bytes)");g.H&&(g.H.call(g.controller,g.B,b,g.Qc,g.F),g.H=null)};h.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=qa(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=gs(this,b),this.Ff=!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"):
ra(b,"/")&&(c="dir"),f=Ca()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.ne?"":d)+"&format=json"));return!!Ba(f,null,!0,function(a,b,c){hs(g,a,b,c)})};
function hs(a,b,c,d){var e=null;a.qe=!1;var f=!(!(0>d&&a.oa)||a.oa.ca.Pb);if(a.Ff)d?a.controller.Aa('Unable to connect to disk "'+a.F+'" (error '+d+": "+c+")",f):(a.C=!0,e=a);else if(d)a.controller.Aa('Unable to load disk "'+a.Qc+'" (error '+d+": "+b+")",f);else{Va(a.controller.Wd,b,c);try{if(0<pa(a.qh,!0).toLowerCase().indexOf("-readonly"))a.qe=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.qe=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.Qc]:
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)r(h[0]);else{a.fb=h.length;a.gb=h[0].length;a.Za=h[0][0].length;var k=h[0][0][0];a.lb=k&&k.length||512;for(d=c=0;d<a.fb;d++)for(f=0;f<a.gb;f++)for(g=0;g<a.Za;g++)if(k=h[d][f][g]){var m=k.length;void 0===m&&(m=k.length=512);var m=m>>2,q=k.pattern;void 0===q&&(q=k.pattern=0);var y=k.data;if(void 0===y){var w=k.bytes;if(void 0!==w&&w.length){for(var z=
m<<2,B=w.length;B<z;B++)w[B]=q;is(k,w,0)}else y=[],q=k.pattern=q|q<<8|q<<16|q<<24,k.data=y;delete k.bytes}fs(k,d,f);for(z=0;z<y.length;z++)c=c+y[z]&-1}a.A=h;a.I=c;e=a}else r("Empty disk image: "+a.Qc)}catch(S){r("Disk image error ("+b+"): "+S.message)}}a.H&&(a.H.call(a.M,a.B,e,a.Qc,a.F),a.H=null)}function js(a,b){var c=a.gb*a.Za,d=b/c|0;return d<a.fb?(b%=c,a.seek(d,b/a.Za|0,b%a.Za+1)):null}function ks(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)r(h[0]);else{a.fb=h.length;a.gb=h[0].length;a.Za=h[0][0].length;var l=h[0][0][0];a.lb=l&&l.length||512;for(d=c=0;d<a.fb;d++)for(f=0;f<a.gb;f++)for(g=0;g<a.Za;g++)if(l=h[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,q=l.pattern;void 0===q&&(q=l.pattern=0);var y=l.data;if(void 0===y){var w=l.bytes;if(void 0!==w&&w.length){for(var z=
m<<2,B=w.length;B<z;B++)w[B]=q;is(l,w,0)}else y=[],q=l.pattern=q|q<<8|q<<16|q<<24,l.data=y;delete l.bytes}fs(l,d,f);for(z=0;z<y.length;z++)c=c+y[z]&-1}a.A=h;a.I=c;e=a}else r("Empty disk image: "+a.Qc)}catch(S){r("Disk image error ("+b+"): "+S.message)}}a.H&&(a.H.call(a.M,a.B,e,a.Qc,a.F),a.H=null)}function js(a,b){var c=a.gb*a.Za,d=b/c|0;return d<a.fb?(b%=c,a.seek(d,b/a.Za|0,b%a.Za+1)):null}function ks(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
function fs(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Bk=b;a.Ck=c;a.Mc=a.uc=0;a.Da=!1;return a}function gs(a,b){b="action=open&volume="+b+("&mode="+a.mode);b+="&chs="+a.fb+":"+a.gb+":"+a.Za+":"+a.lb;b+="&machine="+ds(a.controller);b+="&user="+es(a.controller);return Ca()+"/api/v1/disk?"+b}
function ls(a,b,c,d,e,f,g){if(a.C){var h;h="action=read&volume="+a.F;h+="&chs="+a.fb+":"+a.gb+":"+a.Za+":"+a.lb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+ds(a.controller));h+="&user="+es(a.controller);Ba(Ca()+"/api/v1/disk?"+h,null,f,function(h,m,q){h=[b,c,d,e,f,g];var k=!1,w=h[0],z=h[1],B=h[2],S=h[3];if(!q){m=JSON.parse(m);for(k=0;S--;){var X=a.seek(w,z,B,!0);if(!X)break;is(X,m,k);k+=X.length;B++}k=h[4]}(h=h[5])&&h(q,k)})}else g&&g(-1,!1)}
function ms(a,b,c,d,e,f,g){if(a.C){var h={};a.K=!0;h.action="write";h.volume=a.F;h.chs=a.fb+":"+a.gb+":"+a.Za+":"+a.lb;h.addr=b+":"+c+":"+d+":"+e;h.machine=ds(a.controller);h.user=es(a.controller);h.data=JSON.stringify(f);Ba(Ca()+"/api/v1/disk",h,g,function(f,h,q){var k=[b,c,d,e,g];f=k[0];h=k[1];var m=k[2],z=k[3],k=k[4];a.K=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(--m;0<z--&&0<=m&&m<a.A[f][h].length;m++){var B=a.A[f][h][m];q?ns(a,B,!1):B.Da||(B.Mc=B.uc=0)}k&&os(a)})}return!1}
function ls(a,b,c,d,e,f,g){if(a.C){var h;h="action=read&volume="+a.F;h+="&chs="+a.fb+":"+a.gb+":"+a.Za+":"+a.lb;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+ds(a.controller));h+="&user="+es(a.controller);Ba(Ca()+"/api/v1/disk?"+h,null,f,function(h,m,q){h=[b,c,d,e,f,g];var l=!1,w=h[0],z=h[1],B=h[2],S=h[3];if(!q){m=JSON.parse(m);for(l=0;S--;){var X=a.seek(w,z,B,!0);if(!X)break;is(X,m,l);l+=X.length;B++}l=h[4]}(h=h[5])&&h(q,l)})}else g&&g(-1,!1)}
function ms(a,b,c,d,e,f,g){if(a.C){var h={};a.K=!0;h.action="write";h.volume=a.F;h.chs=a.fb+":"+a.gb+":"+a.Za+":"+a.lb;h.addr=b+":"+c+":"+d+":"+e;h.machine=ds(a.controller);h.user=es(a.controller);h.data=JSON.stringify(f);Ba(Ca()+"/api/v1/disk",h,g,function(f,h,q){var l=[b,c,d,e,g];f=l[0];h=l[1];var m=l[2],z=l[3],l=l[4];a.K=!1;if(0<=f&&f<a.A.length&&0<=h&&h<a.A[f].length)for(--m;0<z--&&0<=m&&m<a.A[f][h].length;m++){var B=a.A[f][h][m];q?ns(a,B,!1):B.Da||(B.Mc=B.uc=0)}l&&os(a)})}return!1}
function ns(a,b,c){b.Da=!0;var d=a.G.indexOf(b);0<=d&&(a.G.splice(d,1),a.J.splice(d,1));a.G.push(b);a.J.push(Aa());c&&os(a)}function os(a){if(a.G.length){var b=a.J[0]+2E3;a.D&&a.L<b&&(clearTimeout(a.D),a.D=null);if(!a.D){var c=Aa(),b=b-c;0>b&&(b=0);2E3<b&&(b=2E3);a.D=setTimeout(function(){cs(a,!0)},b);a.L=c+b}}else a.D&&(clearTimeout(a.D),a.D=null)}
function cs(a,b){b&&(a.D=null);var c=a.G[0];if(c){for(var d=c.Bk,e=c.Ck,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var k=a.A[d][e][h];if(!k.Da)break;var m=a.G.indexOf(k);a.G.splice(m,1);a.J.splice(m,1);g=g.concat(ps(k));k.Da=!1;f++}a=ms(a,d,e,c,f,g,b);return b||a}return!1}l.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
l.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var k=h[b];if(!k&&g.jg&&b<g.gb)for(k=h[b]=Array(g.td),h=0;h<k.length;h++)k[h]=fs(null,a,b,h+1,g.tb,0);if(k){for(h=0;h<k.length;h++)if(k[h]&&k[h].sector==c){f=k[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<k.length;)null===k[h].pattern&&d++;ls(this,a,b,c,d,!!e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.jg&&9==g.kb&&(f=k[h]=fs(null,a,b,g.kb,g.tb,0))}}e&&e(f,!1);return f};
function is(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 ps(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}l.read=function(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};
l.write=function(a,b,c){if(this.qe)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){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.uc?f<a.Mc?(a.uc+=a.Mc-f,a.Mc=f):f>=a.Mc+a.uc&&(a.uc+=f-(a.Mc+a.uc)+1):(a.Mc=f,a.uc=1);d[f]=d[f]&~(255<<b)|c<<b;this.C&&ns(this,a,!0)}return!0}return null};function qs(a){for(var b="",c=0,d;d=js(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ks(a,d,e));return btoa(b)}
l.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.fb,this.gb,this.Za,this.lb];if(!this.C&&!this.qe)for(var c=this.A,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.uc){for(var h=[],k=0,m=g.Mc,q=g.Mc+g.uc;m<q;)h[k++]=g.data[m++];b[a++]=[d,e,f,g.Mc,h]}}return b};
l.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.A.length&&6<=e.length?bs(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.I&&e[1]!=this.I&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.I+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.qe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.uc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.controller.Aa("Unable to restore disk '"+this.Qc+": "+c);return b};
l.toJSON=function(){var a;a=0;for(var b;b=js(this,a++);)rs(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});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,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function rs(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.L=ts(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);l=ss.prototype;
l.wb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===
function cs(a,b){b&&(a.D=null);var c=a.G[0];if(c){for(var d=c.Bk,e=c.Ck,c=c.sector,f=0,g=[],h=c-1;h<a.A[d][e].length;h++){var l=a.A[d][e][h];if(!l.Da)break;var m=a.G.indexOf(l);a.G.splice(m,1);a.J.splice(m,1);g=g.concat(ps(l));l.Da=!1;f++}a=ms(a,d,e,c,f,g,b);return b||a}return!1}k.info=function(){return this.A.length?[this.A.length,this.A[0].length,this.A[0][0].length,this.A[0][0][0].length]:[0,0,0,0]};
k.seek=function(a,b,c,d,e){var f=null,g=this.B,h=this.A[a];if(h){var l=h[b];if(!l&&g.jg&&b<g.gb)for(l=h[b]=Array(g.td),h=0;h<l.length;h++)l[h]=fs(null,a,b,h+1,g.tb,0);if(l){for(h=0;h<l.length;h++)if(l[h]&&l[h].sector==c){f=l[h];if(null===f.pattern)if(d)f.pattern=0;else{for(d=1;++h<l.length;)null===l[h].pattern&&d++;ls(this,a,b,c,d,!!e,function(a,b){a&&(f=null);e&&e(f,b)});return e?null:f}break}!f&&g.jg&&9==g.kb&&(f=l[h]=fs(null,a,b,g.kb,g.tb,0))}}e&&e(f,!1);return f};
function is(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 ps(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}k.read=function(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.qe)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){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.uc?f<a.Mc?(a.uc+=a.Mc-f,a.Mc=f):f>=a.Mc+a.uc&&(a.uc+=f-(a.Mc+a.uc)+1):(a.Mc=f,a.uc=1);d[f]=d[f]&~(255<<b)|c<<b;this.C&&ns(this,a,!0)}return!0}return null};function qs(a){for(var b="",c=0,d;d=js(a,c++);)for(var e=0,f=d.length;e<f;e++)b+=String.fromCharCode(ks(a,d,e));return btoa(b)}
k.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.fb,this.gb,this.Za,this.lb];if(!this.C&&!this.qe)for(var c=this.A,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.uc){for(var h=[],l=0,m=g.Mc,q=g.Mc+g.uc;m<q;)h[l++]=g.data[m++];b[a++]=[d,e,f,g.Mc,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.A.length&&6<=e.length?bs(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.I&&e[1]!=this.I&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.I+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],m=g[f++];if(h>=this.A.length||l>=this.A[h].length||m>=this.A[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.qe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][l][m]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Mc=e;for(h.uc=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.Aa("Unable to restore disk '"+this.Qc+": "+c);return b};
k.toJSON=function(){var a;a=0;for(var b;b=js(this,a++);)rs(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});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,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function rs(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.L=ts(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);k=ss.prototype;
k.wb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("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}};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&us(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=function(){var a=d.ia.listDisks;a&&vs(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.ia[b]=c;c.onclick=function(){var a=d.ia.listDrives;a&&a.options&&d.A&&((a=d.A[na(a.value,
10)||0])?(a=a.sa)?(a=Ka(qs(a),"octet-stream",!0,a.qh.replace(".json",".img")),r(a)):d.Aa("No diskette loaded in drive."):d.Aa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.ia[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;vs(d,pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");ts(Mc(this.oa,"autoMount"),this.L);ws(this);kc(b,this,xs);mc(b,this,ys);zs(this,"None","",!0);this.M&&zs(this,"Local Disk","?");zs(this,"Remote Disk","??");As(this)||mb(this)};function ts(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){r("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
l.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)Bs(this,a,!0);As(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",us(this,0))}}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){ws(this)};
l.save=function(){var a=new Qe(this);a.set(0,Cs(this));return a.data()};l.restore=function(a){return ws(this,a[0])};
k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");ts(Mc(this.oa,"autoMount"),this.L);ws(this);kc(b,this,xs);mc(b,this,ys);zs(this,"None","",!0);this.M&&zs(this,"Local Disk","?");zs(this,"Remote Disk","??");As(this)||mb(this)};function ts(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){r("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
k.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)Bs(this,a,!0);As(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",us(this,0))}}return!0};k.Nb=function(a){return a?this.save():!0};k.reset=function(){ws(this)};
k.save=function(){var a=new Qe(this);a.set(0,Cs(this));return a.data()};k.restore=function(a){return ws(this,a[0])};
function ws(a,b){var c=0,d,e=!0;b||(b=[0,0,Ds,Array(9),0,0,0,[]]);a.La=b[c++];c++;a.Y=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.O=4,a.V&&(a.O=+dk(a.V,vj,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.V)a:{h=a.V;if(d<+dk(h,vj,void 0)){if(!h.O){h=360;break a}if(d<h.O.length){h=h.O[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.fb=40;g.Za=9;break;case 720:g.fb=
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var k=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Es,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Fs,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=k.A[m],Bs(k,m,!0,!0),y.me=!0,m=new $r(k,y,"preload"),k.ki(y,m,w,q,!0)):Gs(k,m,w,q,!0)?g.sa&&q&&Hs(k,w,q,g.sa):mb(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.H=b[c++]||0;a.F=b[c]||Is;return e}
function Cs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,q=[];q[m++]=k.hb;q[m++]=[k.name,k.fb,k.gb,k.Za,k.lb,k.ne,k.Mf,k.Re,k.Se];q[m++]=k.Sa;q[m++]=k.sd+100;q[m++]=k.ub;q[m++]=k.kb;q[m++]=k.td;q[m++]=k.tb;q[m++]=k.Oa;q[m++]=k.me;q[m++]=k.Rj;q[m]=k.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Js(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var l=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Es,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Fs,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=l.A[m],Bs(l,m,!0,!0),y.me=!0,m=new $r(l,y,"preload"),l.ki(y,m,w,q,!0)):Gs(l,m,w,q,!0)?g.sa&&q&&Hs(l,w,q,g.sa):mb(l,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.H=b[c++]||0;a.F=b[c]||Is;return e}
function Cs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,l=a.A[g],m=0,q=[];q[m++]=l.hb;q[m++]=[l.name,l.fb,l.gb,l.Za,l.lb,l.ne,l.Mf,l.Re,l.Se];q[m++]=l.Sa;q[m++]=l.sd+100;q[m++]=l.ub;q[m++]=l.kb;q[m++]=l.td;q[m++]=l.tb;q[m++]=l.Oa;q[m++]=l.me;q[m++]=l.Rj;q[m]=l.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Js(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
function As(a,b){b||(a.J=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.ia.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=pa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Gs(a,g,f,e,!0)&&b&&mb(a,!1);continue}a.Aa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.J}
function vs(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=na(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Mount" 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=pa(c)}for(;0>Gs(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Bs(a,e,!1,
!0)}}else Bs(a,e);else a.Aa("Unable to load the selected drive")}function Gs(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Sd.toLowerCase()!=d.toLowerCase())){Bs(a,b,e,!0);if(g.ke)return a.Aa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new $r(a,g,"preload")).load(c,d,f,a.ki)?1:0}return-1}
l.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Hs(this,c,d,b),f=b.info(),this.H|=Ks,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));us(this,a.La)};
k.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Hs(this,c,d,b),f=b.info(),this.H|=Ks,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));us(this,a.La)};
function zs(a,b,c,d){if((a=a.ia.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function us(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=na(a.value,10),c=c.me?"?":c.Sd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Bs(a,b,c,d){var e=a.A[b];e.sa&&(Js(a,e.Sd,e.sa),e.Rj="",e.Sd="",e.sa=null,e.me=!1,a.H|=Ks,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||us(a,b))}
function Hs(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Js(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.ym=function(a,b){b&Ls?this.I&Ls||this.I&Ms&&this.V&&Hf(this.V,6):ws(this);this.I=b};l.dl=function(){return 80};l.fl=function(){return this.Y};l.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&Ms&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ns|Os),this.D=this.C=0);return a};
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&Ps;if(void 0!==Qs[a]&&this.C>=Qs[a].ed){b=!1;this.D=0;a=Rs(this);var c,d,e,f,g,h=a&Ps;switch(h){case Ss:Rs(this);Rs(this);Ts(this);break;case Us:d=Rs(this);this.La=d&3;c=this.A[this.La];Ts(this);Vs(this,(c.hb&Ws)>>>24);break;case Xs:case Ys:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Rs(this);e=Rs(this);f=c.kb=Rs(this);g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);Rs(this);h==Ys?(h=c,h.hb=Zs|$s,h.sa&&(h.Ra=
function Hs(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Js(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}k.zm=function(a,b){b&Ls?this.I&Ls||this.I&Ms&&this.V&&Hf(this.V,6):ws(this);this.I=b};k.dl=function(){return 80};k.fl=function(){return this.Y};k.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&Ms&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ns|Os),this.D=this.C=0);return a};
k.ym=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&Ps;if(void 0!==Qs[a]&&this.C>=Qs[a].ed){b=!1;this.D=0;a=Rs(this);var c,d,e,f,g,h=a&Ps;switch(h){case Ss:Rs(this);Rs(this);Ts(this);break;case Us:d=Rs(this);this.La=d&3;c=this.A[this.La];Ts(this);Vs(this,(c.hb&Ws)>>>24);break;case Xs:case Ys:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Rs(this);e=Rs(this);f=c.kb=Rs(this);g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);Rs(this);h==Ys?(h=c,h.hb=Zs|$s,h.sa&&(h.Ra=
null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaRead",h),sl(this.V,2)))):(h=c,h.hb=Zs|$s,h.sa&&(h.sa.qe?h.hb=bt|$s:(h.Ra=null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaWrite",h),sl(this.V,2)))));ct(this,c,a,b,d,e,f,g);b=!0;break;case dt:d=Rs(this);this.La=d&3;c=this.A[this.La];c.ub=c.sd=0;c.hb=et|ft;Ts(this);b=!0;break;case gt:c=this.A[this.La];c.Sa=0;Ts(this);Vs(this,c.La|c.Sa<<2|c.hb&ht);Vs(this,c.ub);this.La=this.La+1&3;break;case it:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=c.kb=
1;g=0;c.hb=at;c.sa&&(c.Ra=c.sa.seek(c.ub,c.Sa,c.kb))?g=c.Ra.length>>8:c.hb=Zs|$s;ct(this,c,a,b,d,e,f,g);b=!0;break;case jt:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=1;g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);c.$h=Rs(this);h=c;h.hb=Zs|$s;h.sa&&(h.Ra=null,h.hb=at,this.V&&(h.he=0,h.Fc=Array(4),h.jg=!0,h.yf=0,wl(this.V,2,this,"dmaFormat",h),sl(this.V,2),h.jg=!1));ct(this,c,a,b,d,e,f,g);b=!0;break;case kt:d=Rs(this),this.La=d&3,c=this.A[this.La],c.Sa=d>>2&1,d=Rs(this),c.ub+=
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=et,c.ub||(c.hb|=ft),Ts(this),b=!0}0<this.C&&(this.Y=this.Y|Ns|Os);this.I&Ms&&(!c||c.hb&Zs||!b||this.V&&Hf(this.V,6))}};l.el=function(){var a=this.H;this.H&=~Ks;return a};l.wm=function(a,b){this.F=b};function ct(a,b,c,d,e,f,g,h){Ts(a);Vs(a,b.La|b.Sa<<2|b.hb&ht);Vs(a,(b.hb&lt)>>>8);Vs(a,(b.hb&mt)>>>16);var k=0;if(e!=b.ub||f!=b.Sa)k=g=1;c&nt&&(f^=k,d||(k=0));Vs(a,e+k);Vs(a,f);Vs(a,g);Vs(a,h)}function Rs(a){var b=a.G[a.D];a.D++;return b}
function Ts(a){a.D=a.C=0}function Vs(a,b){a.G[a.C++]=b}l.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.bk=function(a,b){return void 0!==b&&0<=b?ot(a,b):-1};l.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>ot(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
l.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=pt|$s;break}a.Oa=0;qt(a)}while(1)}b(c,!1,d,e)};function ot(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=rt|$s;b=-1;break}a.Oa=0;qt(a)}while(1);return b}function qt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=et,c.ub||(c.hb|=ft),Ts(this),b=!0}0<this.C&&(this.Y=this.Y|Ns|Os);this.I&Ms&&(!c||c.hb&Zs||!b||this.V&&Hf(this.V,6))}};k.el=function(){var a=this.H;this.H&=~Ks;return a};k.xm=function(a,b){this.F=b};function ct(a,b,c,d,e,f,g,h){Ts(a);Vs(a,b.La|b.Sa<<2|b.hb&ht);Vs(a,(b.hb&lt)>>>8);Vs(a,(b.hb&mt)>>>16);var l=0;if(e!=b.ub||f!=b.Sa)l=g=1;c&nt&&(f^=l,d||(l=0));Vs(a,e+l);Vs(a,f);Vs(a,g);Vs(a,h)}function Rs(a){var b=a.G[a.D];a.D++;return b}
function Ts(a){a.D=a.C=0}function Vs(a,b){a.G[a.C++]=b}k.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};k.bk=function(a,b){return void 0!==b&&0<=b?ot(a,b):-1};k.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>ot(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
k.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=pt|$s;break}a.Oa=0;qt(a)}while(1)}b(c,!1,d,e)};function ot(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=rt|$s;b=-1;break}a.Oa=0;qt(a)}while(1);return b}function qt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
var Fs="Floppy Drive",Ls=4,Ms=8,Os=16,Ns=64,Ds=128,Ss=3,Us=4,Xs=5,Ys=6,dt=7,gt=8,it=10,jt=13,kt=15,Ps=31,nt=128,at=0,Zs=8,et=32,$s=64,Es=192,ht=255,bt=512,pt=1024,rt=8192,lt=65280,mt=16711680,ft=268435456,Ws=-16777216,Ks=128,Is=0;aa={};
var Qs={3:{ed:3,ud:0,name:aa.Ao},4:{ed:2,ud:1,name:aa.yo},5:{ed:9,ud:7,name:aa.Eo},6:{ed:9,ud:7,name:aa.uo},7:{ed:2,ud:0,name:aa.wo},8:{ed:1,ud:2,name:aa.zo},10:{ed:2,ud:7,name:aa.vo},13:{ed:6,ud:7,name:aa.ro},15:{ed:3,ud:0,name:aa.xo}},xs={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},ys={1010:ss.prototype.ym,1013:ss.prototype.xm,1015:ss.prototype.wm};
Ma(function(){for(var a=eb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new ss(d);db(d,c)}});function Z(a){t.call(this,"HDC",a);this.dmaRead=Z.prototype.ck;this.dmaWrite=Z.prototype.dk;this.dmaWriteBuffer=Z.prototype.sk;this.dmaWriteFormat=Z.prototype.tk;this.X=[];this.ja=a.drives;this.L="at"==a.type}ba(Z,t);l=Z.prototype;
l.wb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.qh||b.Qc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Ka(qs(b),"octet-stream",!0,c);r(b)}else d.Aa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?st:tt);mc(b,this,this.L?ut:vt);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[wt]=2,b.O[wt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();xt(this)||mb(this)};
l.Ob=function(a,b){if(!b)if(!a)yt(this),this.oa.O&&xt(this,!0);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}l.reset=function(){yt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,zt(this));return a.data()};l.restore=function(a){return yt(this,a[0])};
var Qs={3:{ed:3,ud:0,name:aa.Bo},4:{ed:2,ud:1,name:aa.zo},5:{ed:9,ud:7,name:aa.Fo},6:{ed:9,ud:7,name:aa.vo},7:{ed:2,ud:0,name:aa.xo},8:{ed:1,ud:2,name:aa.Ao},10:{ed:2,ud:7,name:aa.wo},13:{ed:6,ud:7,name:aa.so},15:{ed:3,ud:0,name:aa.yo}},xs={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},ys={1010:ss.prototype.zm,1013:ss.prototype.ym,1015:ss.prototype.xm};
Ma(function(){for(var a=eb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new ss(d);db(d,c)}});function Z(a){t.call(this,"HDC",a);this.dmaRead=Z.prototype.ck;this.dmaWrite=Z.prototype.dk;this.dmaWriteBuffer=Z.prototype.sk;this.dmaWriteFormat=Z.prototype.tk;this.X=[];this.ja=a.drives;this.L="at"==a.type}ba(Z,t);k=Z.prototype;
k.wb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.qh||b.Qc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Ka(qs(b),"octet-stream",!0,c);r(b)}else d.Aa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
k.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?st:tt);mc(b,this,this.L?ut:vt);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[wt]=2,b.O[wt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();xt(this)||mb(this)};
k.Ob=function(a,b){if(!b)if(!a)yt(this),this.oa.O&&xt(this,!0);else if(!this.restore(a))return!1;return!0};k.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}k.reset=function(){yt(this,null,!0)};k.save=function(){var a=new Qe(this);a.set(0,zt(this));return a.data()};k.restore=function(a){return yt(this,a[0])};
function yt(a,b,c){var d=0,e=!0;a.La=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,At,0,[0,-1]]),a.H=b[d++],a.ta=b[d++],a.I=b[d++],a.ea=b[d++],a.ba=b[d++],a.Z=b[d++],a.O=b[d++],a.Y=b[d++],a.ga=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.La=f[1]}}else b||(b=[0,Bt,Array(14),0,0]),a.W=b[d++],a.Y=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.pa=b[d++],a.na=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Ct,0,!1,Array(8)]);k.La=h;k.errorCode=q[w++];k.Sj=q[w++];k.ne=q[w++];k.ce=q[w++];k.de=q[w++];k.Sa=q[w++];k.gb=q[w++];k.Bd=q[w++];k.kb=q[w++];k.td=q[w++];k.tb=q[w++];k.wf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Dt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||es(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Et[g.F][k.type])k.type=g.la;m=Et[g.F][k.type];
k.Za=m[2]||17;k.lb=m[3]||512;if(y&&g.V){var m=g.V,B=k.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===k.sa&&(k.sa=null,g.Aa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Ft(g,k);k.Oa=q[w++];k.Ra=null;k.sa&&(g=q[w],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Oa&&(k.Ra=k.sa.seek(k.Bd,k.Sa,k.kb+k.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,l=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Ct,0,!1,Array(8)]);l.La=h;l.errorCode=q[w++];l.Sj=q[w++];l.ne=q[w++];l.ce=q[w++];l.de=q[w++];l.Sa=q[w++];l.gb=q[w++];l.Bd=q[w++];l.kb=q[w++];l.td=q[w++];l.tb=q[w++];l.wf=g.L?0:1;l.name=m.name;void 0===l.name&&(l.name=Dt);l.path=m.path;l.mode=m.mode||(l.path?"preload":"local");"demandro"!=l.mode&&"demandrw"!=l.mode||es(g)||(l.mode="local");l.type=m.type;if(void 0===l.type||void 0===Et[g.F][l.type])l.type=g.la;m=Et[g.F][l.type];
l.Za=m[2]||17;l.lb=m[3]||512;if(y&&g.V){var m=g.V,B=l.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===l.sa&&(l.sa=null,g.Aa("Type "+l.type+' "'+l.name+'" is fixed disk '+h,!0));Ft(g,l);l.Oa=q[w++];l.Ra=null;l.sa&&(g=q[w],void 0!==g&&0>l.sa.restore(g)&&(z=!1),z&&void 0!==l.Oa&&(l.Ra=l.sa.seek(l.Bd,l.Sa,l.kb+l.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
return e}
function zt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Sj;m[k++]=h.ne;m[k++]=h.ce;m[k++]=h.de;m[k++]=h.Sa;m[k++]=h.gb;m[k++]=h.Bd;m[k++]=h.kb;m[k++]=h.td;m[k++]=h.tb;m[k++]=h.Oa;m[k]=h.sa?h.sa.save():null;
function zt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],l=0,m=[];m[l++]=h.errorCode;m[l++]=h.Sj;m[l++]=h.ne;m[l++]=h.ce;m[l++]=h.de;m[l++]=h.Sa;m[l++]=h.gb;m[l++]=h.Bd;m[l++]=h.kb;m[l++]=h.td;m[l++]=h.tb;m[l++]=h.Oa;m[l]=h.sa?h.sa.save():null;
e[g]=m}c[b]=e;return c}function Ft(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ce[2])?e=b.ce[0]<<8|b.ce[1]:c=b.type);null==c||d||(d=Et[a.F][c][1],e=Et[a.F][c][0]);d&&((c=Et[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fb=e,b.gb=d,null==b.sa&&(b.sa=new $r(a,b,b.mode)))}}
function xt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.Ff)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ke?(e.Aa("Drive "+c+" busy"),e=!0):(g.ke=!0,g.Gd=!0,e.J++,(g.sa||new $r(e,g,g.mode)).load(f,d,null,e.uk),e=!1);!e&&b&&mb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Ft(a,d,d.type))}return!!a.J}
l.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Gt[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
l.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Ht;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(It|Mt|Nt));return a};l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Ot?6:this.G.length;6==this.C&&(this.Y&=~Pt);this.C>=a&&(this.Y|=It,this.Y&=~Pt,Qt(this))};l.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Pt);return a};l.Xm=function(a,b){this.qa=b;this.V&&Ff(this.V,5);yt(this)};l.El=function(){return this.W};
l.Wm=function(a,b){this.pa=b;this.Y=Pt|Mt|Nt};l.Vm=function(a,b){this.na=b};l.mh=function(){};function Rt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=St,a.ve(a.B,function(b){0<=b?(Tt(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1)):a.Y=At|Ut));return b}l.ek=function(){return Rt(this)|Rt(this)<<8};
function Yt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Zt(a.B,b)?(a.Y=Wt,a.H=Xt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,Tt(a),a.Y=At|Ut,a.B.tb>=a.B.lb&&(a.Y|=Vt)))}l.em=function(a,b){Yt(this,b&255);Yt(this,b>>8&255)};l.Mk=function(){return this.H};l.jm=function(a,b){this.ta=b};l.Ok=function(){return this.I};l.hm=function(a,b){this.I=b};l.Pk=function(){return this.ea};l.im=function(a,b){this.ea=b};l.Kk=function(){return this.ba};l.dm=function(a,b){this.ba=b};l.Jk=function(){return this.Z};
l.cm=function(a,b){this.Z=b};l.Lk=function(){return this.O};l.fm=function(a,b){this.O=b;this.Y=this.A[this.O&$t?1:0]?this.Y|At|Ut:this.Y&~At};l.Qk=function(){var a=this.Y;this.Y&At&&(this.Y&=~St);return a};l.bm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);au(this)};l.gm=function(a,b){this.K&bu&&!(b&bu)&&(this.H=cu);this.K=b};
function au(a){var b=!1,c=a.ga,d=a.O&$t?1:0,e=a.O&du,f=a.ba|(a.Z&eu)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=fu;a.Y=At|Ut;var k=a.A[d];k?(k.Bd=f,k.Sa=e,k.kb=g,k.tb=h*k.lb,c=c>=gu?c:c&hu,k.Ra=null,k.Oa=0,k.errorCode=0,a.La=d,a.B=k):c=-1;switch(c&hu){case iu:b=!0;break;case ju:a.Y=St;a.ve(k,function(b){0<=b&&a.V?(Tt(a),a.Y=At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1);break;case ku:a.Y=Vt;break;case lu:b=!0;break;case mu:b=!0;break;case gu:a.H=cu;b=!0;break;case nu:k.gb=e+1,k.Za=h,b=!0}b&&Tt(a)}
k.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Gt[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
k.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Ht;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(It|Mt|Nt));return a};k.Vm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Ot?6:this.G.length;6==this.C&&(this.Y&=~Pt);this.C>=a&&(this.Y|=It,this.Y&=~Pt,Qt(this))};k.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Pt);return a};k.Ym=function(a,b){this.qa=b;this.V&&Ff(this.V,5);yt(this)};k.El=function(){return this.W};
k.Xm=function(a,b){this.pa=b;this.Y=Pt|Mt|Nt};k.Wm=function(a,b){this.na=b};k.mh=function(){};function Rt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=St,a.ve(a.B,function(b){0<=b?(Tt(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1)):a.Y=At|Ut));return b}k.ek=function(){return Rt(this)|Rt(this)<<8};
function Yt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Zt(a.B,b)?(a.Y=Wt,a.H=Xt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,Tt(a),a.Y=At|Ut,a.B.tb>=a.B.lb&&(a.Y|=Vt)))}k.fm=function(a,b){Yt(this,b&255);Yt(this,b>>8&255)};k.Mk=function(){return this.H};k.km=function(a,b){this.ta=b};k.Ok=function(){return this.I};k.im=function(a,b){this.I=b};k.Pk=function(){return this.ea};k.jm=function(a,b){this.ea=b};k.Kk=function(){return this.ba};k.em=function(a,b){this.ba=b};k.Jk=function(){return this.Z};
k.dm=function(a,b){this.Z=b};k.Lk=function(){return this.O};k.gm=function(a,b){this.O=b;this.Y=this.A[this.O&$t?1:0]?this.Y|At|Ut:this.Y&~At};k.Qk=function(){var a=this.Y;this.Y&At&&(this.Y&=~St);return a};k.cm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);au(this)};k.hm=function(a,b){this.K&bu&&!(b&bu)&&(this.H=cu);this.K=b};
function au(a){var b=!1,c=a.ga,d=a.O&$t?1:0,e=a.O&du,f=a.ba|(a.Z&eu)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=fu;a.Y=At|Ut;var l=a.A[d];l?(l.Bd=f,l.Sa=e,l.kb=g,l.tb=h*l.lb,c=c>=gu?c:c&hu,l.Ra=null,l.Oa=0,l.errorCode=0,a.La=d,a.B=l):c=-1;switch(c&hu){case iu:b=!0;break;case ju:a.Y=St;a.ve(l,function(b){0<=b&&a.V?(Tt(a),a.Y=At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1);break;case ku:a.Y=Vt;break;case lu:b=!0;break;case mu:b=!0;break;case gu:a.H=cu;b=!0;break;case nu:l.gb=e+1,l.Za=h,b=!0}b&&Tt(a)}
function Tt(a){!a.V||a.K&ou||Hf(a.V,14,120)}
function Qt(a){a.D=0;var b=pu(a),c=pu(a),d=c&32,e=d>>5,f=c&31,g=pu(a),h=pu(a),k=g<<2&768|h,m=g&63,q=pu(a),y=pu(a),w=a.A[e];w&&(w.Bd=k,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case qu:ru(a,w?w.errorCode:su);tu(a,c);tu(a,g);tu(a,h);tu(a,uu|d);b=-1;break;case Ot:for(c=0;0<=(b=pu(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Ft(a,w);b=uu;w||a.M!=e||(a.M=-1,b=vu);ru(a,b|d);b=-1;break;case wu:case xu:ru(a,uu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Ct,w.Sj=0),b){case yu:ru(a,uu|d);break;case zu:w.Ge=y;
ru(a,uu|d);break;case Au:ru(a,uu|d);break;case Bu:Cu(a,w,function(b){ru(a,b|d)});break;case Du:Eu(a,w,function(b){ru(a,b|d)});break;case Fu:Gu(a,w,function(b){ru(a,b|d)});break;default:ru(a,vu|d)}}function pu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function ru(a,b){a.D=a.C=0;void 0!==b&&tu(a,b);a.V&&Hf(a.V,5);a.Y|=Ht}function tu(a,b){a.G[a.C++]=b}l.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.dk=function(a,b){return void 0!==b&&0<=b?Zt(a,b):-1};
l.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Hu,b=-1),a=b):a=-1;return a};l.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Zt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
function Qt(a){a.D=0;var b=pu(a),c=pu(a),d=c&32,e=d>>5,f=c&31,g=pu(a),h=pu(a),l=g<<2&768|h,m=g&63,q=pu(a),y=pu(a),w=a.A[e];w&&(w.Bd=l,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case qu:ru(a,w?w.errorCode:su);tu(a,c);tu(a,g);tu(a,h);tu(a,uu|d);b=-1;break;case Ot:for(c=0;0<=(b=pu(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Ft(a,w);b=uu;w||a.M!=e||(a.M=-1,b=vu);ru(a,b|d);b=-1;break;case wu:case xu:ru(a,uu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Ct,w.Sj=0),b){case yu:ru(a,uu|d);break;case zu:w.Ge=y;
ru(a,uu|d);break;case Au:ru(a,uu|d);break;case Bu:Cu(a,w,function(b){ru(a,b|d)});break;case Du:Eu(a,w,function(b){ru(a,b|d)});break;case Fu:Gu(a,w,function(b){ru(a,b|d)});break;default:ru(a,vu|d)}}function pu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function ru(a,b){a.D=a.C=0;void 0!==b&&tu(a,b);a.V&&Hf(a.V,5);a.Y|=Ht}function tu(a,b){a.G[a.C++]=b}k.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};k.dk=function(a,b){return void 0!==b&&0<=b?Zt(a,b):-1};
k.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Hu,b=-1),a=b):a=-1;return a};k.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Zt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
function Cu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaRead",b);sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}function Eu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaWrite",b);sl(a.V,3,function(a){a||(b.errorCode==Ct&&(b.errorCode=su),b.errorCode==Hu&&(b.errorCode=Ct));c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}
function Gu(a,b,c){b.errorCode=su;b.de&&b.de.length==b.tb||(b.de=Array(b.tb));b.Oa=0;a.V?(b.errorCode=Ct,wl(a.V,3,a,"dmaWriteBuffer",b),sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)})):c(b.errorCode?vu:uu)}
l.ve=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.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,k){(a.Ra=c)?(e=c,f=a.Oa=0,Iu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Hu;b(d,k,e,f)}),d;a.errorCode=Hu;b(d,!1,e,f)}return d};
function Zt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Hu;b=-1;break}a.Oa=0;Iu(a)}while(1);return b}function Iu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}l.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};l.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
k.ve=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.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,l){(a.Ra=c)?(e=c,f=a.Oa=0,Iu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Hu;b(d,l,e,f)}),d;a.errorCode=Hu;b(d,!1,e,f)}return d};
function Zt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Hu;b=-1;break}a.Oa=0;Iu(a)}while(1);return b}function Iu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}k.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};k.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
var Dt="Hard Drive",Gt=["XTC","ATC","COMPAQ"],Et=[{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],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],wt=496,cu=1,fu=0,Xt=16,eu=3,du=15,$t=16,Wt=1,Vt=8,Ut=16,At=64,St=128,iu=16,ju=32,ku=48,lu=64,mu=
112,gu=144,nu=145,hu=240,ou=2,bu=4,uu=0,vu=2,yu=0,zu=1,qu=3,Au=5,Bu=8,Du=10,Ot=12,Fu=15,wu=224,xu=228,Ct=0,su=4,Hu=20,Bt=0,Pt=1,It=2,Mt=4,Nt=8,Ht=32,tt={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},st={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},vt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
ut={496:Z.prototype.em,497:Z.prototype.jm,498:Z.prototype.hm,499:Z.prototype.im,500:Z.prototype.dm,501:Z.prototype.cm,502:Z.prototype.fm,503:Z.prototype.bm,1014:Z.prototype.gm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
112,gu=144,nu=145,hu=240,ou=2,bu=4,uu=0,vu=2,yu=0,zu=1,qu=3,Au=5,Bu=8,Du=10,Ot=12,Fu=15,wu=224,xu=228,Ct=0,su=4,Hu=20,Bt=0,Pt=1,It=2,Mt=4,Nt=8,Ht=32,tt={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},st={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},vt={800:Z.prototype.Vm,801:Z.prototype.Ym,802:Z.prototype.Xm,803:Z.prototype.Wm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
ut={496:Z.prototype.fm,497:Z.prototype.km,498:Z.prototype.im,499:Z.prototype.jm,500:Z.prototype.em,501:Z.prototype.dm,502:Z.prototype.gm,503:Z.prototype.cm,1014:Z.prototype.hm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
function Ju(a,b,c){t.call(this,"Computer",a);this.ca.Pb=!1;Ku(this,b);this.M=Mc(this,"autoPower",a);this.C=0;this.Z=a.busWidth||a.buswidth;this.A=Lu;this.K=null;this.H=this.X=!1;this.ba=Mc(this,"url")||"";this.ga=(Math.random()+.1).toString(36).substr(2,12);this.B=Mu(this);if(this.U=ab("CPU",this.id)){this.Ea=ab("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.ma=new Nb({id:this.Wd+".bus",busWidth:this.Z},this.U,this.Ea);var d,e=Ya(this.id);if((this.D=ab("Panel",
this.id))&&this.D.Df)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.D.Aa,d.lc=this.D.lc,d.Df=this.D.Df;this.lc("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.hc&&d.hc(this,this.ma,this.U,this.Ea);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Mc(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.H=!0,this.A=Lu),this.A&&(this.L=new Qe(this,"1.35.0"),
this.L.load()?b=null:delete this.L);!b&&this.A&&(b=Nu(this))&&(this.H=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.J=null,g.H=!1,g.Aa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.K=b,g.X=!0);mb(g)})}else mb(this);this.ia.power||(this.M=!0);!c&&this.M&&Ou(this,this.af)}else r("Unable to find CPU component")}ba(Ju,t);
function Ku(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Mc(a,b,c){var d=b.toLowerCase(),d=Ia(b)||Ia(d);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ou(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){Ou(a,b,c)});return}}b.call(a,c)}
function Pu(a,b){var c=new Qe(a,"1.35.0",Qu);if(c.load()&&Ru(c)){var d=c.get(Su),e=b?b.get(Su):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ju.prototype;
l.af=function(a){void 0===a&&(a=this.A||(this.K?Tu:Lu));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Uu)b=!0;else if(a>Lu){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Vu);this.F.load()&&(Wu(this,d),a=Xu,Yu(this.F));this.F.set(Su,wa());Zu(this.F);var e=this.A&&!this.H;if(a==Tu||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ru(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
function Pu(a,b){var c=new Qe(a,"1.35.0",Qu);if(c.load()&&Ru(c)){var d=c.get(Su),e=b?b.get(Su):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=Ju.prototype;
k.af=function(a){void 0===a&&(a=this.A||(this.K?Tu:Lu));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Uu)b=!0;else if(a>Lu){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Vu);this.F.load()&&(Wu(this,d),a=Xu,Yu(this.F));this.F.set(Su,wa());Zu(this.F);var e=this.A&&!this.H;if(a==Tu||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ru(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Aa("Error: "+g),"unable to verify user"==g&&(Ga($u,""),this.B=null)):this.lc(f+": "+g),Yu(d),d.load()?(c=Ru(d),e=!0):c=!1))}e&&Pu(this,c?d:null)}else a==Xu&&d.clear()}else Pu(this);delete this.K;delete this.L}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=av(this,g,d,b,c));b=[d,a,c];a!=Uu?Ou(this,this.li,b):this.li(b)}};
function av(a,b,c,d,e){if(!b.ca.Pb){b.ca.Pb=!0;if(b.Ob){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.Ob(f,d)&&f&&(r("Unable to restore state for "+b.type),a.V&&!a.X?(c.clear(),a.A=Lu,window&&window.location.reload()):a.W=!0,b.Ob(null),e=!1)}if(!d&&b.ui)for(a=b.ui.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(av(this,this.U,b,c,a),this.U.Fe());this.W&&(Wu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
k.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(av(this,this.U,b,c,a),this.U.Fe());this.W&&(Wu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
function Wu(a,b){if(Xa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
function bv(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Qu),h=wa();g.set(Su,h);f.set(Su,h);f.set(cv,"1.35.0");f.set(dv,window?window.location.href:null);f.set(ev,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
null)))}e&&(c?(h=d=!1,b?(a.B&&fv(a,a.B,f.toString()),Zu(g)&&Zu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==gv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
l.stop=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?bv(d,!1,!0):Ou(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bv(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Lu),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
function bv(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Qu),h=wa();g.set(Su,h);f.set(Su,h);f.set(cv,"1.35.0");f.set(dv,window?window.location.href:null);f.set(ev,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),l=0;l<h.length;l++){var m=h[l];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
null)))}e&&(c?(h=d=!1,b?(a.B&&fv(a,a.B,f.toString()),Zu(g)&&Zu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==gv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}k.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};k.start=function(a,b){for(var c=Ya(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=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
k.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?bv(d,!1,!0):Ou(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bv(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Lu),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.ia[b]=c,c.onclick=function(){var a=Mu(d,!0);if(a){var b=!!(d.A&&!d.J||d.V),c=bv(d,b);b?fv(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0}return!1};
function Mu(a,b){var c=a.B;c||((c=Fa($u),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=hv(a,c))||a.Aa("The user ID is invalid.")):b&&a.Aa("Browser local storage is not available"));return c}
function hv(a,b){a.B=null;b=Ba(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga($u,b.data),a.B=b.data)}catch(d){r(d.message+" ("+c+")")}return a.B}function Nu(a){var b=null;a.B&&(b=Ca()+"/api/v1/user?req=load&user="+a.B+"&state="+iv(a,"1.35.0"));return b}
@ -680,19 +681,19 @@ function fd(a,b){for(var c=0;c<a.G.length;c++)gq(a.G[c],b);if(a.D&&(a=a.D,a.na))
b,g,e)),e=f,b=c;g=h}d+=Jb(a,b,c-b,e);e=a.A.pk!=d;a.A.pk=d;if(e){e=new sb(0,0,a.J.width,a.J.height);a.A.be=[];b=a.A.dd;for(d=0;d<a.A.ci;d++)c=a.A.Ee[d].dd,a.A.be.push(tb(e,c,b,!d)),b-=c;for(d=0;d<a.A.be.length;d++)e=a.A.Ee[d],b=c=a.A.be[d],f=a.la,(g=Ic[e.type])||(g=new rb),f.strokeStyle="black",f.strokeRect(b.x,b.y,b.wc,b.A),f.fillStyle="string"==typeof g?g:g.toString(),f.fillRect(b.x,b.y,b.wc,b.A),b=a,f=c,b.L=b.X,b.I=b.Z,c=f.x+(f.wc>>1),g=f.y+(f.A>>1),h=f.A,f.wc<f.A&&(h=f.wc,b.W=!0,b.D.save(),b.D.translate(c,
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.I&&(b.I=h,b.L=b.I+"px "+Lb),f=g,b.C=c,b.H=f,b=a,e=Ub[e.type]+" ("+(e.dd*a.ma.A/1024|0)+"Kb)",b.D.font=b.L,b.C-=b.D.measureText(e).width>>1,b.H+=(b.I>>1)-2,Ib(b,e),b.W&&(b.D.restore(),b.W=!1)}}else Ib(a,"This space intentionally left blank");a.context.drawImage(a.J,0,0,a.J.width,a.J.height,a.Ga,a.Ka,a.ua,a.xa);a.na=!1}}var Vu="failsafe",Qu="validate",Su="timestamp",cv="version",dv="url",ev="browser",$u="user",Uu=-1,Lu=0,Tu=1,Xu=2,gv=3;
Ma(function(){for(var a=eb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=eb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new Ju(g,d,!0);db(g,f);g.M&&Ou(g,g.af)}});Na.show.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ea&&!c.ca.Pb&&c.af(Uu)}});
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&bv(c,!(!c.A||c.J),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=iv(a,b,c);Yu(this,a.Ij)}l=Qe.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Ru(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Zu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function Yu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Yu(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function iv(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var jv=0;
function kv(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):lv(h,a,b,c,d,e,f)})}
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&bv(c,!(!c.A||c.J),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=iv(a,b,c);Yu(this,a.Ij)}k=Qe.prototype;k.set=function(a,b){try{this.state[a]=b}catch(c){}};k.get=function(a){return this.state[a]||null};k.data=function(){return this.state};
k.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Ru(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Zu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function Yu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}k.clear=function(a){Yu(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function iv(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}var jv=0;
function kv(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):lv(h,a,b,c,d,e,f)})}
function lv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(Va(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PCx86$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?mv(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function mv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
function mv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);mv(a,b,c)}})}else c(a,null)}
function nv(a,b,c,d){function e(a){if(void 0===h){var b=g&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);k&&(--jv||Qa(!0));k=!1}var g,h,k=!0;jv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?kv(c,null,null,!1,e,function(d,k){k?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jv||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jv||Qa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kv(b,a,d,!0,e,m):lv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return k}function ov(a,b,c,d){Qa(!1);return nv(a,b,c,d)}window.embedPC=ov;window.embedPCx86=ov;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!gb[a]){for(var c=!0,d=gb,e=a,f=b.length,g=[],h=[],k="",m=null,q=0;q<f;q++){var y=b[q];if('"'==y||"'"==y)m&&y!=m?k+=y:(m?m=null:m=y,k&&(h.push(k),k=""));else{if(!m){if("\r"==y||"\n"==y)y=";";if(" "==y||"\t"==y||";"==y){k&&(h.push(k),k="");";"==y&&h.length&&(g.push(h),h=[]);continue}}k+=y}}k&&h.push(k);h.length&&g.push(h);d[e]=g;fb(a)||(c=!1)}return c};window.enableEvents=Qa;window.sendEvent=Sa;
function nv(a,b,c,d){function e(a){if(void 0===h){var b=g&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);l&&(--jv||Qa(!0));l=!1}var g,h,l=!0;jv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?kv(c,null,null,!1,e,function(d,l){l?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--jv||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--jv||Qa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kv(b,a,d,!0,e,m):lv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}function ov(a,b,c,d){Qa(!1);return nv(a,b,c,d)}window.embedPC=ov;window.embedPCx86=ov;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!gb[a]){for(var c=!0,d=gb,e=a,f=b.length,g=[],h=[],l="",m=null,q=0;q<f;q++){var y=b[q];if('"'==y||"'"==y)m&&y!=m?l+=y:(m?m=null:m=y,l&&(h.push(l),l=""));else{if(!m){if("\r"==y||"\n"==y)y=";";if(" "==y||"\t"==y||";"==y){l&&(h.push(l),l="");";"==y&&h.length&&(g.push(h),h=[]);continue}}l+=y}}l&&h.push(l);h.length&&g.push(h);d[e]=g;fb(a)||(c=!1)}return c};window.enableEvents=Qa;window.sendEvent=Sa;
function pv(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ra(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ba(b,null,!0,function(a,b){qv(b,d)}):qv(null,d)}else r("Error ("+c+") requesting "+a)}
function qv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],k={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
function qv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],l={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));l[m]=q}a&&(l[m="css"]=a);b[2]&&(l[m="parms"]=b[2]);b[3]&&(l[m="state"]=b[3]);d&&e?(a=JSON.stringify(l),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Ka(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",r(a)):r("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=ab("Computer",a),e=ab("Debugger",a);if(d){var f=bv(d,!0),g=d.I?JSON.stringify(d.I):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ij:g}))return!0;Ba(b,null,!0,function(c,d,e){pv(c,d,e,[a,pa(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -434,7 +434,7 @@ DiskDump.aDefaultBPBs = [
[ // define BPB for 320Kb diskette
0xEB, 0xFE, 0x90, // 0x00: JMP instruction, following by 8-byte OEM signature
0x50, 0x43, 0x4A, 0x53, 0x2E, 0x4F, 0x52, 0x47, // PCJS_OEM
// 0x49, 0x42, 0x4D, 0x20, 0x20, 0x31, 0x2E, 0x30, // "IBM 1.0" (this is a real OEM signature)
// 0x49, 0x42, 0x4D, 0x20, 0x20, 0x31, 0x2E, 0x30, // "IBM 1.0" (this is a real OEM signature)
0x00, 0x02, // 0x0B: bytes per sector (0x200 or 512)
0x02, // 0x0D: sectors per cluster (2)
0x01, 0x00, // 0x0E: reserved sectors; ie, # sectors preceding the first FAT--usually just the boot sector (1)
@ -530,15 +530,15 @@ DiskDump.aDefaultBPBs = [
/*
* Here's some useful background information on a 10Mb PC XT fixed disk, partitioned with a single DOS partition.
*
* The BPB for a 10Mb "type 3" PC XT drive specifies 0x5103 or 20739 for TOTAL_SECS, which is the partition
* The BPB for a 10Mb "type 3" PC XT hard disk specifies 0x5103 or 20739 for TOTAL_SECS, which is the partition
* size in sectors (10,618,368 bytes), whereas total disk size is 20808 sectors (10,653,696 bytes). The partition
* is 69 sectors smaller than the disk because the first sector is reserved for the MBR and 68 sectors (the entire
* last cylinder) are reserved for diagnostics, head parking, etc. This cylinder usage is confirmed by FDISK,
* which reports that 305 cylinders (not 306) are assigned to the DOS partition.
*
* That 69-sector overhead is NOT the overhead incurred by the FAT file system. That overhead is the boot sector
* That 69-sector overhead is NOT overhead incurred by the FAT file system. The FAT overhead is the boot sector
* (1), FAT sectors (2 * 8), and root directory sectors (32), for a total of 49 sectors, leaving 20739 - 49 or
* 20690 sectors. However, free space is measured in clusters, not sectors, and the partition uses 8 sectors/cluster,
* 20690 sectors. Moreover, free space is measured in clusters, not sectors, and the partition uses 8 sectors/cluster,
* leaving room for 2586.25 clusters. Since a fractional cluster is not allowed, another 2 sectors are lost, for
* a total of 51 sectors of FAT overhead. So actual free space is (20739 - 51) * 512, or 10,592,256 bytes -- which
* is exactly what is reported as the available space on a freshly formatted 10Mb PC XT fixed disk.
@ -562,7 +562,7 @@ DiskDump.aDefaultBPBs = [
* and then they conflated the two values to produce a single (incorrect) result.
*
* Even if one were to assume that the disk had only 305 cylinders, that would only change the partitioning overhead
* to 1 sector; the file system overhead would still be 51 sectors.
* to 1 sector; the FAT file system overhead would still be 51 sectors.
*/
[ // define BPB for 10Mb hard drive
0xEB, 0xFE, 0x90, // 0x00: JMP instruction, following by 8-byte OEM signature

View file

@ -35,6 +35,7 @@ if (NODE) {
var Keys = require("../../shared/lib/keys");
var State = require("../../shared/lib/state");
var PCX86 = require("./defines");
var Interrupts = require("./interrupts");
var Messages = require("./messages");
var ChipSet = require("./chipset");
var CPU = require("./cpu");
@ -59,6 +60,8 @@ class Keyboard extends Component {
* "US84"
* "US101"
*
* autoType: string of keys to automatically inject when the machine is ready (undefined if none)
*
* Its main purpose is to receive binding requests for various keyboard events, and to use those events
* to simulate the PC's keyboard hardware.
*
@ -137,7 +140,14 @@ class Keyboard extends Component {
this.msAutoRepeat = 500;
this.msNextRepeat = 100;
this.msAutoRelease = 50;
this.msInjectDelay = 300; // number of milliseconds between injected keystrokes
this.msInjectDelay = 150; // number of milliseconds between injected keystrokes
/*
* autoType records the machine's specified autoType sequence, if any. At the appropriate signal(s),
* autoType will be copied to autoInject, and injection will commence.
*/
this.autoInject = null;
this.autoType = parmsKbd['autoType'];
/*
* HACK: We set fAllDown to false to ignore all down/up events for keys not explicitly marked as ONDOWN;
@ -351,6 +361,26 @@ class Keyboard extends Component {
this.cpu = cpu;
this.dbg = dbg;
this.chipset = cmp.getMachineComponent("ChipSet");
this.autoType = cmp.getMachineParm('autoType') || this.autoType;
cpu.addIntNotify(Interrupts.DOS, this.intDOS.bind(this));
}
/**
* intDOS()
*
* Monitors selected DOS interrupts for signals to initialize 'autoType' injection.
*
* @this {Keyboard}
* @param {number} addr
* @return {boolean} true to proceed with the INT 0x21 software interrupt, false to skip
*/
intDOS(addr)
{
var AH = (this.cpu.regEAX >> 8) & 0xff;
if (AH == 0x0A) {
this.injectInit();
}
return true;
}
/**
@ -726,6 +756,7 @@ class Keyboard extends Component {
/*
* Make sure the auto-injection buffer is empty (an injection could have been in progress on any reset after the first).
*/
this.autoInject = null;
this.sInjectBuffer = "";
}
@ -833,6 +864,19 @@ class Keyboard extends Component {
}
}
/**
* injectInit()
*
* @this {Keyboard}
*/
injectInit()
{
if (!this.autoInject && this.autoType) {
this.autoInject = this.autoType;
this.injectKeys(this.autoInject);
}
}
/**
* injectKeys(sKeys, msDelay)
*
@ -857,15 +901,41 @@ class Keyboard extends Component {
*/
injectKeysFromBuffer(msDelay)
{
if (this.sInjectBuffer.length > 0) {
var ch = this.sInjectBuffer.charCodeAt(0);
var charCode = 0;
while (this.sInjectBuffer.length > 0 && !charCode) {
var ch = this.sInjectBuffer.charAt(0);
this.sInjectBuffer = this.sInjectBuffer.substr(1);
if (ch != '\\') {
charCode = ch.charCodeAt(0);
} else {
ch = this.sInjectBuffer.charAt(0);
this.sInjectBuffer = this.sInjectBuffer.substr(1);
switch (ch) {
case 'n':
charCode = 0x0A;
break;
case 'r':
charCode = 0x0D;
break;
case 't':
charCode = 0x09;
break;
default:
if (ch >= '1' && ch <= '9') {
msDelay = ch.charCodeAt(0) * 100;
break;
}
charCode = ch.charCodeAt(0);
break;
}
}
}
if (charCode) {
/*
* I could require all callers to supply CRs instead of LFs, but this is friendlier.
*/
if (ch == 0x0a) ch = 0x0d;
this.sInjectBuffer = this.sInjectBuffer.substr(1);
this.addActiveKey(ch, true);
if (charCode == 0x0A) charCode = 0x0D;
this.addActiveKey(charCode, true);
}
if (this.sInjectBuffer.length > 0) {
setTimeout(function(kbd) {
@ -1012,7 +1082,9 @@ class Keyboard extends Component {
*/
addActiveKey(simCode, fPress)
{
if (!Keyboard.SIMCODES[simCode]) {
var wCode = Keyboard.SIMCODES[simCode] || Keyboard.SIMCODES[simCode += Keys.KEYCODE.ONDOWN];
if (!wCode) {
if (!COMPILED && this.messageEnabled(Messages.KEYS)) {
this.printMessage("addActiveKey(" + simCode + "," + (fPress? "press" : "down") + "): unrecognized", true);
}

View file

@ -1461,7 +1461,7 @@ class X86CPU extends CPU {
/**
* addIntNotify(nInt, fn)
*
* Add an software interrupt notification handler to the CPU's list of such handlers.
* Add a software interrupt notification handler to the CPU's list of such handlers.
*
* TODO: Consider adding removeIntNotify(). Example use case: if the Debugger's intWindowsDebugger() function
* detects that an INT 0x41 client is loaded, it would be quite happy to uninstall itself.

View file

@ -905,8 +905,8 @@ class Debugger extends Component
* And to avoid conflicts with MACRO-10 syntax, I've replaced the original mod operator ('%') with '^/'.
*
* The MACRO-10 binary shifting suffix ('B') is a bit more problematic, since a capital B can also appear
* inside symbols. So I pre-scan for that suffix and replace all non-symbolic occurrences with an internal
* shift operator ('^_').
* inside symbols, or inside hex values. So if the default base is NOT 16, then I pre-scan for that suffix
* and replace all non-symbolic occurrences with an internal shift operator ('^_').
*
* Note that Str.parseInt(), which parseValue() relies on, supports both the MACRO-10 base prefix overrides
* and the binary shifting suffix ('B'), but since that suffix can also be a bracketed expression, we have to
@ -923,7 +923,9 @@ class Debugger extends Component
* that to generate an error; if we converted it to "AB", evaluation might inadvertently succeed.
*/
var regExp = /({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/;
sExp = sExp.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/, "$1$2^_").replace(/\s+/g, ' ');
if (this.nBase != 16) {
sExp = sExp.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/, "$1$2^_").replace(/\s+/g, ' ');
}
var asValues = sExp.split(regExp);
value = this.parseArray(asValues, 0, asValues.length, this.nBase, aUndefined);
if (value !== undefined && fPrint) {