URL
https://opencores.org/ocsvn/thor/thor/trunk
Subversion Repositories thor
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 29 to Rev 30
- ↔ Reverse comparison
Rev 29 → Rev 30
/thor/trunk/software/emuThor/source/clsCPU.h
0,0 → 1,14
#pragma once |
#include "clsSystem.h" |
|
class clsCPU |
{ |
public: |
bool irq; |
unsigned __int16 vecno; |
unsigned __int64 pcs[40]; |
clsSystem *system1; |
public: |
virtual void Reset() {}; |
virtual void Step() {}; |
}; |
/thor/trunk/software/emuThor/source/stdafx.h
0,0 → 1,24
// stdafx.h : include file for standard system include files, |
// or project specific include files that are used frequently, but |
// are changed infrequently |
#pragma once |
|
// TODO: reference additional headers your program requires here |
#include <string> |
#include "clsPIC.h" |
#include "clsSystem.h" |
|
enum { |
PF = 0, |
PT = 1, |
PEQ = 2, |
PNE = 3, |
PLE = 4, |
PGT = 5, |
PGE = 6, |
PLT = 7, |
PLEU = 8, |
PGTU = 9, |
PGEU = 10, |
PLTU = 11 |
}; |
/thor/trunk/software/emuThor/source/clsKeyboard.cpp
0,0 → 1,15
#include "StdAfx.h" |
#include "clsKeyboard.h" |
|
|
clsKeyboard::clsKeyboard(void) |
{ |
scancode = 0; |
status = 0; |
head = tail = 0; |
} |
|
|
clsKeyboard::~clsKeyboard(void) |
{ |
} |
/thor/trunk/software/emuThor/source/ExecToolbar.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
thor/trunk/software/emuThor/source/ExecToolbar.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/frmKeyboard.cpp
===================================================================
--- thor/trunk/software/emuThor/source/frmKeyboard.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/frmKeyboard.cpp (revision 30)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "frmKeyboard.h"
+
Index: thor/trunk/software/emuThor/source/clsDevice.h
===================================================================
--- thor/trunk/software/emuThor/source/clsDevice.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsDevice.h (revision 30)
@@ -0,0 +1,18 @@
+#pragma once
+
+// Generic system device
+
+class clsDevice
+{
+public:
+ clsDevice(void) {};
+ void Reset() {};
+ bool IsSelected(unsigned int ad) { return false; };
+ unsigned int Read(unsigned int ad) { return 0xDEADDEAD; };
+ int Write(unsigned int ad, unsigned int dat, unsigned int mask) {};
+ // Read the device and optionally set an address reservation.
+ unsigned int Read(unsigned int ad, int sr) { return 0xDEADDEAD; };
+ // Write the device and optionally clear an address reservation.
+ int Write(unsigned int ad, unsigned int dat, unsigned int mask, int cr) {};
+ void Step(void) {};
+};
Index: thor/trunk/software/emuThor/source/app.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/app.ico
===================================================================
--- thor/trunk/software/emuThor/source/app.ico (nonexistent)
+++ thor/trunk/software/emuThor/source/app.ico (revision 30)
thor/trunk/software/emuThor/source/app.ico
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/emuThor.vcxproj.user
===================================================================
--- thor/trunk/software/emuThor/source/emuThor.vcxproj.user (nonexistent)
+++ thor/trunk/software/emuThor/source/emuThor.vcxproj.user (revision 30)
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/About.resx
===================================================================
--- thor/trunk/software/emuThor/source/About.resx (nonexistent)
+++ thor/trunk/software/emuThor/source/About.resx (revision 30)
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Most instructions haven't been implemented yet.
+Only the HEX file produced by the assembler is accepted.
+Most of the GUI doesn't work yet.
+But it works enough to run the first few lines of the boot ROM.
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/clsDisassem.cpp
===================================================================
--- thor/trunk/software/emuThor/source/clsDisassem.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/clsDisassem.cpp (revision 30)
@@ -0,0 +1,612 @@
+#include "stdafx.h"
+#include "insn.h"
+#include "clsSystem.h"
+#include "clsDisassem.h"
+
+extern clsSystem system1;
+
+std::string clsDisassem::SprName(int rg)
+{
+ char buf[100];
+
+ buf[0] = '\0';
+ if (rg < 16)
+ sprintf(buf, "p%d", rg);
+ else if (rg < 32)
+ sprintf(buf, "c%d", rg-16);
+ else if (rg < 48) {
+ switch(rg) {
+ case 32: sprintf(buf, "zs"); break;
+ case 33: sprintf(buf, "ds"); break;
+ case 34: sprintf(buf, "es"); break;
+ case 35: sprintf(buf, "fs"); break;
+ case 36: sprintf(buf, "gs"); break;
+ case 37: sprintf(buf, "hs"); break;
+ case 38: sprintf(buf, "ss"); break;
+ case 39: sprintf(buf, "cs"); break;
+ case 40: sprintf(buf, "zs.lmt"); break;
+ case 41: sprintf(buf, "ds.lmt"); break;
+ case 42: sprintf(buf, "es.lmt"); break;
+ case 43: sprintf(buf, "fs.lmt"); break;
+ case 44: sprintf(buf, "gs.lmt"); break;
+ case 45: sprintf(buf, "hs.lmt"); break;
+ case 46: sprintf(buf, "ss.lmt"); break;
+ case 47: sprintf(buf, "cs.lmt"); break;
+ }
+ }
+ return std::string(buf);
+}
+
+std::string clsDisassem::PredCond(int cnd)
+{
+ switch(cnd) {
+ case PF: return "PF ";
+ case PT: return "PT ";
+ case PEQ: return "PEQ ";
+ case PNE: return "PNE ";
+ case PLE: return "PLE ";
+ case PGT: return "PGT ";
+ case PGE: return "PGE ";
+ case PLT: return "PLT ";
+ case PLEU: return "PLEU";
+ case PGTU: return "PGTU";
+ case PGEU: return "PGEU";
+ case PLTU: return "PLTU";
+ default: return "????";
+ }
+}
+
+// Compute d[Rn] address info
+std::string clsDisassem::dRn(int b1, int b2, int b3, int *Ra, int *Sg, __int64 *disp)
+{
+ char buf[100];
+
+ if (!Ra || !disp || !Sg)
+ return "";
+ *Ra = b1 & 0x3f;
+ *Sg = (b3 >> 5) & 7;
+ *disp = ((b2 >> 4) & 0xF) | ((b3 & 0x1f) << 4);
+ if (*disp & 0x100)
+ *disp |= 0xFFFFFFFFFFFFFE00LL;
+ if (imm_prefix) {
+ *disp &= 0xFF;
+ *disp |= imm;
+ }
+ sprintf(buf, "$%I64X[r%d]", *disp, *Ra);
+ return std::string(buf);
+}
+
+std::string clsDisassem::Disassem(int ad, int *nb)
+{
+ int byt;
+ int opcode, func;
+ int n;
+ __int64 val, disp;
+ int rv;
+ int b1, b2, b3, b4;
+ int Ra,Rb,Rc,Rt,Sprn,Sg;
+ int Cr,Ct;
+ int Pn;
+ char buf[100];
+ std::string str;
+
+ buf[0] = '\0';
+ byt = system1.ReadByte(ad);
+ ad++;
+ if (byt==0x00) {
+ if (nb) *nb = 1;
+ return std::string(" BRK");
+ }
+ if (byt==0x10) {
+ if (nb) *nb = 1;
+ return std::string(" NOP");
+ }
+ if (byt==0x20) {
+ val = system1.ReadByte(ad);
+ ad++;
+ if (val & 0x80LL)
+ val |= 0xFFFFFFFFFFFFFF00LL;
+ sprintf(buf, " IMM %02LLX",val);
+ if (nb) *nb = 2;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x30) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ if (val & 0x8000LL)
+ val |= 0xFFFFFFFFFFFF0000LL;
+ sprintf(buf, " IMM %04LLX",val);
+ if (nb) *nb = 3;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x40) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ val += (system1.ReadByte(ad) << 16);
+ ad++;
+ if (val & 0x800000LL)
+ val |= 0xFFFFFFFFFF000000LL;
+ sprintf(buf, " IMM %06LLX",val);
+ imm = val << 8;
+ if (nb) *nb = 4;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x50) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ val += (system1.ReadByte(ad) << 16);
+ ad++;
+ val += (system1.ReadByte(ad) << 24);
+ ad++;
+ if (val & 0x80000000LL)
+ val |= 0xFFFFFFFF00000000LL;
+ sprintf(buf, " IMM %08LLX",val);
+ if (nb) *nb = 5;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x60) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ val += (system1.ReadByte(ad) << 16);
+ ad++;
+ val += (system1.ReadByte(ad) << 24);
+ ad++;
+ val += (system1.ReadByte(ad) << 32);
+ ad++;
+ if (val & 0x8000000000LL)
+ val |= 0xFFFFFF0000000000LL;
+ sprintf(buf, " IMM %010LLX",val);
+ if (nb) *nb = 6;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x70) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ val += (system1.ReadByte(ad) << 16);
+ ad++;
+ val += (system1.ReadByte(ad) << 24);
+ ad++;
+ val += (system1.ReadByte(ad) << 32);
+ ad++;
+ val += (system1.ReadByte(ad) << 40);
+ ad++;
+ if (val & 0x800000000000LL)
+ val |= 0xFFFF000000000000LL;
+ sprintf(buf, " IMM %012LLX",val);
+ if (nb) *nb = 7;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt==0x80) {
+ val = system1.ReadByte(ad);
+ ad++;
+ val += (system1.ReadByte(ad) << 8);
+ ad++;
+ val += (system1.ReadByte(ad) << 16);
+ ad++;
+ val += (system1.ReadByte(ad) << 24);
+ ad++;
+ val += (system1.ReadByte(ad) << 32);
+ ad++;
+ val += (system1.ReadByte(ad) << 40);
+ ad++;
+ val += (system1.ReadByte(ad) << 48);
+ ad++;
+ if (val & 0x80000000000000LL)
+ val |= 0xFF00000000000000LL;
+ sprintf(buf, " IMM %014LLX",val);
+ if (nb) *nb = 8;
+ imm = val << 8;
+ imm_prefix = true;
+ return std::string(buf);
+ }
+ if (byt != 0x01)
+ sprintf(buf, "p%d.%s ", (byt & 0xF0) >> 4, PredCond(byt & 0xF).c_str());
+ opcode = system1.ReadByte(ad);
+ ad++;
+ if ((opcode & 0xF0)==0x00) {
+ b1 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Pn = opcode & 0x0f;
+ sprintf(&buf[strlen(buf)], "TST p%d,r%d", Pn, Ra);
+ if (nb) *nb = 3;
+ imm_prefix = false;
+ return std::string(buf);
+ }
+ if ((opcode & 0xF0)==0x20) {
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Pn = opcode & 0x0f;
+ val = (b2 << 2) | (b1 >> 6);
+ if (imm_prefix)
+ val = imm | (val & 0xFF);
+ else {
+ if (val & 0x200)
+ val |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ sprintf(&buf[strlen(buf)], " CMPI p%d,r%d,#$%LLX", Pn, Ra, val);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+ }
+ if ((opcode & 0xF0)==0x30) {
+ b1 = system1.ReadByte(ad);
+ ad++;
+ disp = (b1 << 4) | (opcode & 0xF);
+ if (disp & 0x800)
+ disp |= 0xFFFFFFFFFFFFF000LL;
+ sprintf(&buf[strlen(buf)], " BR $%LLX", disp + cpu1.pc);
+ if (nb) *nb = 3;
+ imm_prefix = false;
+ return std::string(buf);
+ }
+
+ switch(opcode) {
+
+ case ADDUI:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rt = ((b2 & 0xf) << 2) | (b1 >> 6);
+ val = (b3 << 4) | (b2 >> 4);
+ sprintf(&buf[strlen(buf)], " ADDUI r%d,r%d,#$%08LLX", Rt, Ra, val);
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case ADDUIS:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rt = Ra;
+ val = (b2 << 2) | (b1 >> 6);
+ sprintf(&buf[strlen(buf)], " ADDUI r%d,r%d,#$%08LLX", Rt, Ra, val);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case JSR:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ b4 = system1.ReadByte(ad);
+ ad++;
+ Cr = b1 >> 4;
+ Ct = b1 & 0xF;
+ if (imm_prefix)
+ disp = imm | b2;
+ else {
+ disp = (b4 << 16) | (b3 << 8) | b2;
+ if (disp & 0x800000LL)
+ disp |= 0xFFFFFFFFFF000000LL;
+ }
+ if (nb) *nb = 6;
+ imm_prefix = false;
+ sprintf(&buf[strlen(buf)], " JSR c%d,$%LLX[c%d]", Ct, disp, Cr);
+ return std::string(buf);
+
+ case JSRS:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ Cr = b1 >> 4;
+ Ct = b1 & 0xF;
+ if (imm_prefix)
+ disp = imm | b2;
+ else {
+ disp = (b3 << 8) | b2;
+ if (disp & 0x8000LL)
+ disp |= 0xFFFFFFFFFFFF0000LL;
+ }
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ sprintf(&buf[strlen(buf)], " JSR c%d,$%LLX", Ct, disp);
+ if (Cr==15)
+ sprintf(&buf[strlen(buf)], "[c%d] ($%LLX)", Cr, cpu1.pc + disp);
+ else
+ sprintf(&buf[strlen(buf)], "[c%d]", Cr);
+ return std::string(buf);
+
+ case LDI:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Rt = b1 & 0x3f;
+ val = (b2 << 2) | (b1 >> 6);
+ if (imm_prefix)
+ val = imm | (val & 0xFF);
+ else {
+ if (val & 0x200)
+ val |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ sprintf(&buf[strlen(buf)], " LDI r%d,#$%08LLX", Rt, val);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case LDIS:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Sprn = b1 & 0x3f;
+ val = (b2 << 2) | (b1 >> 6);
+ if (imm_prefix)
+ val = imm | (val & 0xFF);
+ else {
+ if (val & 0x200)
+ val |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ sprintf(&buf[strlen(buf)], " LDIS %s,#$%08LLX", SprName(Sprn).c_str(), val);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case LH:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," LH r%d,%s", Rt, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case LLA:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," LLA r%d,%s", Rt, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case LOGIC:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rb = ((b2 & 0x0f) << 2) | (b1 >> 6);
+ Rt = ((b3 & 3) << 4) | (b2 >> 4);
+ func = b3 >> 2;
+ switch(func) {
+ case OR:
+ sprintf(&buf[strlen(buf)], " OR r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ }
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case LOOP:
+ disp = system1.ReadByte(ad);
+ ad++;
+ if (disp & 0x80LL)
+ disp |= 0xFFFFFFFFFFFFFF00LL;
+ sprintf(&buf[strlen(buf)], " LOOP $%LLX", disp + ad);
+ if (nb) *nb = 3;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case MFSPR:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Sprn = b1 & 0x3f;
+ Rt = ((b2 & 0x0f) << 2) | (b1 >> 6);
+ sprintf(&buf[strlen(buf)], " MFSPR r%d,%s", Rt, SprName(Sprn).c_str());
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case MOV:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rt = ((b2 & 0xF) << 2) | (b1 >> 6);
+ sprintf(&buf[strlen(buf)]," MOV r%d,r%d", Rt, Ra);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case MTSPR:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Sprn = ((b2 & 0x0f) << 2) | (b1 >> 6);
+ sprintf(&buf[strlen(buf)], " MTSPR %s,r%d", SprName(Sprn).c_str(), Ra);
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case RR:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rb = ((b2 & 0x0f) << 2) | (b1 >> 6);
+ Rt = ((b3 & 3) << 4) | (b2 >> 4);
+ func = b3 >> 2;
+ switch(func) {
+ case _2ADDU:
+ sprintf(&buf[strlen(buf)], " _2ADDU r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ case _4ADDU:
+ sprintf(&buf[strlen(buf)], " _4ADDU r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ case _8ADDU:
+ sprintf(&buf[strlen(buf)], " _8ADDU r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ case _16ADDU:
+ sprintf(&buf[strlen(buf)], " _16ADDU r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ }
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case RTS:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ Cr = b1 >> 4;
+ sprintf(&buf[strlen(buf)], " RTS $%X[c%d]", b1 & 0xF, Cr);
+ if (nb) *nb = 3;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case RTSQ:
+ sprintf(&buf[strlen(buf)], " RTS");
+ if (nb) *nb = 2;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case SB:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," SB r%d,%s", Rb, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case SC:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," SC r%d,%s", Rb, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case SH:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," SH r%d,%s", Rb, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case SHIFT:
+ b1 = system1.ReadByte(ad);
+ ad++;
+ b2 = system1.ReadByte(ad);
+ ad++;
+ b3 = system1.ReadByte(ad);
+ ad++;
+ Ra = b1 & 0x3f;
+ Rb = ((b2 & 0x0f) << 2) | (b1 >> 6);
+ Rt = ((b3 & 3) << 4) | (b2 >> 4);
+ func = b3 >> 2;
+ switch(func) {
+ case SHL:
+ sprintf(&buf[strlen(buf)], " SHL r%d,r%d,r%d", Rt, Ra, Rb);
+ break;
+ case SHLI:
+ sprintf(&buf[strlen(buf)], " SHLI r%d,r%d,#$%X", Rt, Ra, Rb);
+ break;
+ }
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case STP:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ sprintf(&buf[strlen(buf)]," STP #$%04X", (int)((b2<<8)|b1));
+ if (nb) *nb = 4;
+ imm_prefix = false;
+ return std::string(buf);
+
+ case SW:
+ b1 = ReadByte(ad);
+ ad++;
+ b2 = ReadByte(ad);
+ ad++;
+ b3 = ReadByte(ad);
+ ad++;
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ str = dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ sprintf(&buf[strlen(buf)]," SW r%d,%s", Rb, str.c_str());
+ if (nb) *nb = 5;
+ imm_prefix = false;
+ return std::string(buf);
+
+ }
+ *nb = 1;
+ return std::string("");
+}
Index: thor/trunk/software/emuThor/source/About.cpp
===================================================================
--- thor/trunk/software/emuThor/source/About.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/About.cpp (revision 30)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "About.h"
+
Index: thor/trunk/software/emuThor/source/frmRegisters.resx
===================================================================
--- thor/trunk/software/emuThor/source/frmRegisters.resx (nonexistent)
+++ thor/trunk/software/emuThor/source/frmRegisters.resx (revision 30)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/frmMemory.resx
===================================================================
--- thor/trunk/software/emuThor/source/frmMemory.resx (nonexistent)
+++ thor/trunk/software/emuThor/source/frmMemory.resx (revision 30)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/frmRegisters.cpp
===================================================================
--- thor/trunk/software/emuThor/source/frmRegisters.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/frmRegisters.cpp (revision 30)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "frmRegisters.h"
+
Index: thor/trunk/software/emuThor/source/insn.h
===================================================================
--- thor/trunk/software/emuThor/source/insn.h (nonexistent)
+++ thor/trunk/software/emuThor/source/insn.h (revision 30)
@@ -0,0 +1,30 @@
+#define RR 0x40
+#define _2ADDU 0x08
+#define _4ADDU 0x09
+#define _8ADDU 0x0A
+#define _16ADDU 0x0B
+#define ADDUIS 0x47
+#define ADDUI 0x4C
+#define LOGIC 0x50
+#define OR 0x01
+#define SHIFT 0x58
+#define SHL 0x00
+#define SHLI 0x10
+#define LLA 0x6A
+#define LDI 0x6F
+#define LH 0x84
+#define SB 0x90
+#define SC 0x91
+#define SH 0x92
+#define SW 0x93
+#define LDIS 0x9D
+#define JSRR 0xA0
+#define JSRS 0xA1
+#define JSR 0xA2
+#define RTS 0xA3
+#define LOOP 0xA4
+#define MOV 0xA7
+#define MFSPR 0xA8
+#define MTSPR 0xA9
+#define RTSQ 0xF2
+#define STP 0xF6
Index: thor/trunk/software/emuThor/source/frmMemory.h
===================================================================
--- thor/trunk/software/emuThor/source/frmMemory.h (nonexistent)
+++ thor/trunk/software/emuThor/source/frmMemory.h (revision 30)
@@ -0,0 +1,132 @@
+#pragma once
+#include "stdafx.h"
+#include
+#include
+#include
+#include
+
+extern clsSystem system1;
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+ using namespace System::Runtime::InteropServices;
+
+ ///
+ /// Summary for frmMemory
+ ///
+ public ref class frmMemory : public System::Windows::Forms::Form
+ {
+ public:
+ frmMemory(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~frmMemory()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::TextBox^ textBoxAddr;
+ protected:
+
+ protected:
+ private: System::Windows::Forms::Label^ label1;
+ private: System::Windows::Forms::TextBox^ textBoxMem;
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+ System::ComponentModel::Container ^components;
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ this->textBoxAddr = (gcnew System::Windows::Forms::TextBox());
+ this->label1 = (gcnew System::Windows::Forms::Label());
+ this->textBoxMem = (gcnew System::Windows::Forms::TextBox());
+ this->SuspendLayout();
+ //
+ // textBoxAddr
+ //
+ this->textBoxAddr->Location = System::Drawing::Point(75, 18);
+ this->textBoxAddr->Name = L"textBoxAddr";
+ this->textBoxAddr->Size = System::Drawing::Size(100, 20);
+ this->textBoxAddr->TabIndex = 0;
+ this->textBoxAddr->TextChanged += gcnew System::EventHandler(this, &frmMemory::textBox1_TextChanged);
+ //
+ // label1
+ //
+ this->label1->AutoSize = true;
+ this->label1->Location = System::Drawing::Point(24, 21);
+ this->label1->Name = L"label1";
+ this->label1->Size = System::Drawing::Size(45, 13);
+ this->label1->TabIndex = 1;
+ this->label1->Text = L"Address";
+ //
+ // textBoxMem
+ //
+ this->textBoxMem->Enabled = false;
+ this->textBoxMem->Font = (gcnew System::Drawing::Font(L"Lucida Console", 8.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
+ static_cast(0)));
+ this->textBoxMem->Location = System::Drawing::Point(27, 44);
+ this->textBoxMem->Multiline = true;
+ this->textBoxMem->Name = L"textBoxMem";
+ this->textBoxMem->Size = System::Drawing::Size(561, 353);
+ this->textBoxMem->TabIndex = 2;
+ //
+ // frmMemory
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->ClientSize = System::Drawing::Size(614, 409);
+ this->Controls->Add(this->textBoxMem);
+ this->Controls->Add(this->label1);
+ this->Controls->Add(this->textBoxAddr);
+ this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
+ this->Name = L"frmMemory";
+ this->Text = L"Memory";
+ this->ResumeLayout(false);
+ this->PerformLayout();
+
+ }
+#pragma endregion
+ private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
+ int nn;
+ char* str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->textBoxAddr->Text);
+ std::string str2;
+ char buf[50];
+
+ str2 = "";
+ for (nn = strtoul(str,NULL,16); nn < strtoul(str,NULL,16) + 512; nn++) {
+ if ((nn % 16)==0) {
+ sprintf(buf, "\r\n%06X ", nn);
+ str2 += buf;
+ }
+ sprintf(buf, "%02X ", (system1.Read(nn,0) >> ((nn & 7)<<3)) & 0xFF);
+ str2 += buf;
+ }
+ this->textBoxMem->Text = gcnew String(str2.c_str());
+ }
+ };
+}
Index: thor/trunk/software/emuThor/source/clsPIC.h
===================================================================
--- thor/trunk/software/emuThor/source/clsPIC.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsPIC.h (revision 30)
@@ -0,0 +1,75 @@
+#pragma once
+#include "clsDevice.h"
+#include "clsCPU.h"
+#include "clsThor.h"
+
+extern clsThor cpu1;
+
+class clsPIC : public clsDevice
+{
+ bool enables[16];
+public:
+ bool irq30Hz;
+ bool irq1024Hz;
+ bool irqKeyboard;
+ unsigned int vecno;
+ clsPIC(void);
+ void Reset();
+ bool IsSelected(unsigned int ad) {
+ return ((ad & 0xFFFFFFC0)==0xFFDC0FC0);
+ };
+ unsigned int Read(unsigned int ad) {
+ int nn;
+ unsigned int dat;
+ switch((ad >> 2) & 15) {
+ case 0:
+ return vecno;
+ default:
+ dat = 0;
+ for (nn = 0; nn < 16; nn++)
+ dat |= (enables[nn] << nn);
+ return dat;
+ }
+ };
+ void Write(unsigned int ad, unsigned int dat, unsigned int mask) {
+ int nn;
+ switch((ad >> 2) & 15) {
+ case 1:
+ for (nn = 0; nn < 16; nn++)
+ enables[nn] = dat & (1 << nn);
+ break;
+ case 2:
+ enables[dat & 15] = false;
+ break;
+ case 3:
+ enables[dat & 15] = true;
+ break;
+ case 5:
+ if (dat==2)
+ irq1024Hz = false;
+ if (dat==3)
+ irq30Hz = false;
+ if (dat==15)
+ irqKeyboard = false;
+ break;
+ }
+ };
+ void Step(void) {
+ vecno = 448;
+ cpu1.irq = false;
+ if (enables[15] & irqKeyboard) {
+ cpu1.irq = true;
+ vecno = 448+15;
+ }
+ if (enables[3] & irq30Hz) {
+ cpu1.irq = true;
+ vecno = 448+3;
+ }
+ if (enables[2] & irq1024Hz) {
+ cpu1.irq = true;
+ vecno = 448+2;
+ }
+ cpu1.vecno = vecno;
+ };
+};
+
Index: thor/trunk/software/emuThor/source/frmScreen.resx
===================================================================
--- thor/trunk/software/emuThor/source/frmScreen.resx (nonexistent)
+++ thor/trunk/software/emuThor/source/frmScreen.resx (revision 30)
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/clsThor.h
===================================================================
--- thor/trunk/software/emuThor/source/clsThor.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsThor.h (revision 30)
@@ -0,0 +1,31 @@
+#pragma once
+#include "clsCPU.h"
+
+extern clsSystem system1;
+
+class clsThor : public clsCPU
+{
+public:
+ __int64 pc;
+ __int64 gp[64]; // general purpose registers
+ __int64 ca[16]; // code address registers
+ __int8 pr[16]; // predicate registers
+ __int64 seg_base[8];
+ __int64 seg_limit[8];
+ __int64 lc;
+ __int64 tick;
+ __int8 bir;
+ __int64 dbad0,dbad1,dbad2,dbad3;
+ __int64 dbctrl,dbstat;
+ unsigned __int64 imm;
+ bool imm_prefix;
+ unsigned __int64 ea;
+ bool im;
+ int imcd;
+ int pred;
+ void Reset();
+ void Step();
+ unsigned __int64 ReadByte(int ad) { return system1->ReadByte(ad); };
+ void dRn(int b1, int b2, int b3, int *Ra, int *Sg, __int64 *disp);
+};
+
Index: thor/trunk/software/emuThor/source/emuThor.cpp
===================================================================
--- thor/trunk/software/emuThor/source/emuThor.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/emuThor.cpp (revision 30)
@@ -0,0 +1,45 @@
+// emuThor.cpp : main project file.
+
+#include "stdafx.h"
+#include "frmRegisters.h"
+#include "frmMain.h"
+#include "frmScreen.h"
+#include "clsCPU.h"
+#include "clsThor.h"
+#include "clsSystem.h"
+#include "clsKeyboard.h"
+
+clsThor cpu1;
+clsPIC pic1;
+clsSystem system1;
+clsKeyboard keybd;
+volatile unsigned __int8 keybd_scancode;
+volatile unsigned __int8 keybd_status;
+volatile unsigned int interval1024;
+volatile unsigned int interval30;
+
+char refscreen;
+unsigned int breakpoints[30];
+unsigned int dataBreakpoints[30];
+int numBreakpoints;
+int numDataBreakpoints;
+int runstop;
+bool irq1024Hz;
+bool irq30Hz;
+bool irqKeyboard;
+bool trigger30;
+bool trigger1024;
+
+using namespace emuThor;
+
+[STAThreadAttribute]
+int main(array ^args)
+{
+ // Enabling Windows XP visual effects before any controls are created
+ Application::EnableVisualStyles();
+ Application::SetCompatibleTextRenderingDefault(false);
+
+ // Create the main window and run it
+ Application::Run(gcnew frmMain());
+ return 0;
+}
Index: thor/trunk/software/emuThor/source/frmScreen.cpp
===================================================================
--- thor/trunk/software/emuThor/source/frmScreen.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/frmScreen.cpp (revision 30)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "frmScreen.h"
+
Index: thor/trunk/software/emuThor/source/clsSystem.cpp
===================================================================
--- thor/trunk/software/emuThor/source/clsSystem.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/clsSystem.cpp (revision 30)
@@ -0,0 +1,229 @@
+#include "stdafx.h"
+
+extern clsPIC pic1;
+
+clsSystem::clsSystem() {
+ int nn;
+ WriteROM = false;
+ for (nn = 0; nn < sizeof(memory); nn+=8) {
+ memory[nn>>3] = 0;
+ }
+ Reset();
+};
+void clsSystem::Reset()
+{
+ int nn;
+ WriteROM = false;
+ m_z = 88888888;
+ m_w = 12345678;
+ for (nn = 0; nn < 4096; nn++) {
+ VideoMem[nn] = random();
+ VideoMemDirty[nn] = true;
+ }
+ leds = 0;
+ write_error = false;
+ runstop = false;
+ cpu1.system1 = this;
+ refscreen = true;
+};
+ unsigned __int64 clsSystem::Read(unsigned int ad, int sr) {
+ __int64 rr;
+ unsigned __int8 sc;
+ unsigned __int8 st;
+ if (sr) {
+ if (radr1 == 0)
+ radr1 = ad;
+ else if (radr2 == 0)
+ radr2 = ad;
+ else {
+ if (random()&1)
+ radr2 = ad;
+ else
+ radr1 = ad;
+ }
+ }
+ if (ad < 134217728) {
+ return memory[ad >> 3];
+ }
+ else if ((ad & 0xFFFF0000)==0xFFD00000) {
+ rr = VideoMem[(ad>>2)& 0xFFF];
+ rr = (rr << 32) | rr;
+ return rr;
+ }
+ else if ((ad & 0xFFFC0000)==0xFFFC0000) {
+ return rom[(ad&0x3FFFF)>>3];
+ }
+ else if (keybd.IsSelected(ad)) {
+ switch(ad & 0x1) {
+ case 0:
+ sc = keybd.Get();
+ rr = ((int)sc<<24)|((int)sc << 16)|((int)sc<<8)|sc;
+ rr = (rr << 32) | rr;
+ break;
+ case 1:
+ st = keybd.GetStatus();
+ rr = ((int)st<<24)|((int)st<<16)|((int)st<<8)|st;
+ rr = (rr << 32) | rr;
+ keybd_status = st;
+ break;
+ }
+ return rr;
+ }
+ else if (pic1.IsSelected(ad)) {
+ rr = pic1.Read(ad);
+ rr = (rr << 48) | (rr << 32) | (rr << 16) | rr;
+ return rr;
+ }
+ return 0;
+ };
+ int clsSystem::Write(unsigned int ad, unsigned __int64 dat, unsigned int mask, int cr) {
+ int nn;
+ int ret;
+
+ if (cr && (ad!=radr1 && ad!=radr2)) {
+ ret = false;
+ goto j1;
+ }
+ if (cr) {
+ if (ad==radr1)
+ radr1 = 0x00000000;
+ if (ad==radr2)
+ radr2 = 0x00000000;
+ }
+ if (ad < 134217728) {
+ if (ad >= 0x10000 && ad < 0x20000) {
+ write_error = true;
+ ret = true;
+ goto j1;
+ }
+ if ((ad & 0xfffffff0)==0x00c431a0) {
+ ret = true;
+ }
+ switch(mask) {
+ case 0xFF:
+ memory[ad>>3] = dat;
+ break;
+ case 0x1:
+ memory[ad >> 3] &= 0xFFFFFFFFFFFFFF00LL;
+ memory[ad >> 3] |= dat & 0xFFLL;
+ break;
+ case 0x2:
+ memory[ad >> 3] &= 0xFFFFFFFFFFFF00FFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 8;
+ break;
+ case 0x4:
+ memory[ad >> 3] &= 0xFFFFFFFFFF00FFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 16;
+ break;
+ case 0x8:
+ memory[ad >> 3] &= 0xFFFFFFFF00FFFFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 24;
+ break;
+ case 0x10:
+ memory[ad >> 3] &= 0xFFFFFF00FFFFFFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 32;
+ break;
+ case 0x20:
+ memory[ad >> 3] &= 0xFFFF00FFFFFFFFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 40;
+ break;
+ case 0x40:
+ memory[ad >> 3] &= 0xFF00FFFFFFFFFFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 48;
+ break;
+ case 0x80:
+ memory[ad >> 3] &= 0x00FFFFFFFFFFFFFFLL;
+ memory[ad >> 3] |= (dat & 0xFFLL) << 56;
+ break;
+ case 0x3:
+ memory[ad >> 3] &= 0xFFFFFFFFFFFF0000;
+ memory[ad >> 3] |= dat & 0xFFFFLL;
+ break;
+ case 0x6:
+ memory[ad >> 3] &= 0xFFFFFFFFFF0000FF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 8;
+ break;
+ case 0xC:
+ memory[ad >> 3] &= 0xFFFFFFFF0000FFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 16;
+ case 0x18:
+ break;
+ memory[ad >> 3] &= 0xFFFFFF0000FFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 24;
+ break;
+ case 0x30:
+ memory[ad >> 3] &= 0xFFFF0000FFFFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 32;
+ break;
+ case 0x60:
+ memory[ad >> 3] &= 0xFF0000FFFFFFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 40;
+ break;
+ case 0xC0:
+ memory[ad >> 3] &= 0x0000FFFFFFFFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFLL) << 48;
+ break;
+ case 0x0F:
+ memory[ad >> 3] &= 0xFFFFFFFF00000000;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 0;
+ break;
+ case 0x1E:
+ memory[ad >> 3] &= 0xFFFFFF00000000FF;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 8;
+ break;
+ case 0x3C:
+ memory[ad >> 3] &= 0xFFFF00000000FFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 16;
+ break;
+ case 0x78:
+ memory[ad >> 3] &= 0xFF00000000FFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 24;
+ break;
+ case 0xF0:
+ memory[ad >> 3] &= 0x00000000FFFFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 32;
+ break;
+ case 0xE0:
+ memory[ad >> 3] &= 0x000000FFFFFFFFFF;
+ memory[ad >> 3] |= (dat & 0xFFFFFFFFLL) << 40;
+ break;
+ }
+ }
+ else if ((ad & 0xFFFFFF00)==0xFFDC0600) {
+ leds = dat;
+ }
+ else if ((ad & 0xFFFF0000)==0xFFD00000) {
+ VideoMem[(ad>>2)& 0xFFF] = dat;
+ VideoMemDirty[(ad>>2)&0xfff] = true;
+ refscreen = true;
+ }
+ else if ((ad & 0xFFFC0000)==0xFFFC0000 && WriteROM) {
+ rom[(ad&0x3FFFF)>>3] = dat;
+ }
+ else if (keybd.IsSelected(ad)) {
+ switch(ad & 1) {
+ case 1: keybd_status = 0; pic1.irqKeyboard = keybd.GetStatus()==0x80; break;
+ }
+ }
+ else if (pic1.IsSelected(ad)) {
+ pic1.Write(ad,dat,0x3);
+ }
+ ret = true;
+j1:
+ for (nn = 0; nn < numDataBreakpoints; nn++) {
+ if (ad==dataBreakpoints[nn]) {
+ runstop = true;
+ }
+ }
+ return ret;
+ };
+ int clsSystem::random() {
+ m_z = 36969 * (m_z & 65535) + (m_z >> 16);
+ m_w = 18000 * (m_w & 65535) + (m_w >> 16);
+ return (m_z << 16) + m_w;
+ };
+
+unsigned __int64 clsSystem::ReadByte(unsigned int ad) {
+unsigned __int64 dat = Read(ad);
+ return (dat >> ((ad & 7) * 8)) & 0xFFLL;
+}
Index: thor/trunk/software/emuThor/source/stdafx.cpp
===================================================================
--- thor/trunk/software/emuThor/source/stdafx.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/stdafx.cpp (revision 30)
@@ -0,0 +1,7 @@
+// stdafx.cpp : source file that includes just the standard includes
+// emuThor.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+
Index: thor/trunk/software/emuThor/source/resource.h
===================================================================
--- thor/trunk/software/emuThor/source/resource.h (nonexistent)
+++ thor/trunk/software/emuThor/source/resource.h (revision 30)
@@ -0,0 +1,3 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by app.rc
Index: thor/trunk/software/emuThor/source/emuThor.vcxproj
===================================================================
--- thor/trunk/software/emuThor/source/emuThor.vcxproj (nonexistent)
+++ thor/trunk/software/emuThor/source/emuThor.vcxproj (revision 30)
@@ -0,0 +1,151 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {66801657-7E09-44B5-ABD9-E98665E86F91}
+ v4.0
+ ManagedCProj
+ emuThor
+
+
+
+ Application
+ true
+ Pure
+ Unicode
+
+
+ Application
+ false
+ Pure
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;%(PreprocessorDefinitions)
+ Use
+
+
+ true
+
+
+ Windows
+ main
+
+
+
+
+ Level3
+ WIN32;NDEBUG;%(PreprocessorDefinitions)
+ Use
+
+
+ true
+
+
+ Windows
+ main
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+
+
+
+
+ CppForm
+
+
+
+
+
+
+
+
+
+ CppForm
+
+
+
+
+ CppForm
+
+
+
+
+
+
+
+
+
+
+
+ About.h
+
+
+ frmMain.h
+ Designer
+
+
+
+
+ frmRegisters.h
+
+
+
+
+
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/frmMain.h
===================================================================
--- thor/trunk/software/emuThor/source/frmMain.h (nonexistent)
+++ thor/trunk/software/emuThor/source/frmMain.h (revision 30)
@@ -0,0 +1,589 @@
+#pragma once
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "frmRegisters.h"
+//#include "frmBreakpoint.h"
+#include "frmScreen.h"
+#include "frmKeyboard.h"
+#include "About.h"
+//#include "fmrPCS.h"
+//#include "frmInterrupts.h"
+//#include "frmStack.h"
+#include "frmMemory.h"
+//#include "Disassem.h"
+#include "clsCPU.h"
+#include "clsPIC.h"
+#include "clsDisassem.h"
+
+clsDisassem da;
+extern clsThor cpu1;
+extern clsPIC pic1;
+extern clsSystem system1;
+extern unsigned int breakpoints[30];
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+ using namespace System::Runtime::InteropServices;
+ using namespace System::Threading;
+
+ ///
+ /// Summary for frmMain
+ ///
+ public ref class frmMain : public System::Windows::Forms::Form
+ {
+ public:
+ frmMain(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ frmKeyboard^ keyboardFrm = gcnew frmKeyboard();
+ keyboardFrm->Show();
+ frmScreen^ screenFrm = gcnew frmScreen();
+ screenFrm->Show();
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~frmMain()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::MenuStrip^ menuStrip1;
+ protected:
+ private: System::Windows::Forms::ToolStripMenuItem^ viewToolStripMenuItem;
+ private: System::Windows::Forms::ToolStripMenuItem^ registersToolStripMenuItem;
+ private: System::Windows::Forms::ToolStripMenuItem^ fileToolStripMenuItem;
+ private: System::Windows::Forms::ToolStripMenuItem^ runToolStripMenuItem;
+ private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem;
+ private: System::Windows::Forms::ToolStrip^ toolStrip1;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton1;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton2;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton3;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton4;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton5;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton6;
+ private: System::Windows::Forms::ToolStripButton^ toolStripButton7;
+ private: System::Windows::Forms::ToolStripMenuItem^ loadINTELHexFIleToolStripMenuItem;
+ private: System::Windows::Forms::OpenFileDialog^ openFileDialog1;
+ private: System::Windows::Forms::Label^ lblChecksumError;
+ private: System::Windows::Forms::ToolStripMenuItem^ memoryToolStripMenuItem;
+ private: System::Windows::Forms::PictureBox^ pictureBox1;
+ private: System::Windows::Forms::ListBox^ listBoxAdr;
+ private: System::Windows::Forms::ListBox^ listBoxBytes;
+ private: System::Windows::Forms::ListBox^ listBoxCode;
+ private: System::Windows::Forms::ToolStripMenuItem^ stepToolStripMenuItem;
+ private: System::Windows::Forms::ToolStripMenuItem^ resetToolStripMenuItem;
+ private: System::Windows::Forms::Label^ lblLEDS;
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+ System::ComponentModel::Container ^components;
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(frmMain::typeid));
+ this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
+ this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->loadINTELHexFIleToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->runToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->resetToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->stepToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->viewToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->registersToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->memoryToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->aboutToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
+ this->toolStrip1 = (gcnew System::Windows::Forms::ToolStrip());
+ this->toolStripButton1 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton2 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton3 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton4 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton5 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton6 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->toolStripButton7 = (gcnew System::Windows::Forms::ToolStripButton());
+ this->openFileDialog1 = (gcnew System::Windows::Forms::OpenFileDialog());
+ this->lblChecksumError = (gcnew System::Windows::Forms::Label());
+ this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());
+ this->listBoxAdr = (gcnew System::Windows::Forms::ListBox());
+ this->listBoxBytes = (gcnew System::Windows::Forms::ListBox());
+ this->listBoxCode = (gcnew System::Windows::Forms::ListBox());
+ this->lblLEDS = (gcnew System::Windows::Forms::Label());
+ this->menuStrip1->SuspendLayout();
+ this->toolStrip1->SuspendLayout();
+ (cli::safe_cast(this->pictureBox1))->BeginInit();
+ this->SuspendLayout();
+ //
+ // menuStrip1
+ //
+ this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(4) {this->fileToolStripMenuItem,
+ this->runToolStripMenuItem, this->viewToolStripMenuItem, this->aboutToolStripMenuItem});
+ this->menuStrip1->Location = System::Drawing::Point(0, 0);
+ this->menuStrip1->Name = L"menuStrip1";
+ this->menuStrip1->Size = System::Drawing::Size(684, 24);
+ this->menuStrip1->TabIndex = 0;
+ this->menuStrip1->Text = L"menuStrip1";
+ //
+ // fileToolStripMenuItem
+ //
+ this->fileToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) {this->loadINTELHexFIleToolStripMenuItem});
+ this->fileToolStripMenuItem->Name = L"fileToolStripMenuItem";
+ this->fileToolStripMenuItem->Size = System::Drawing::Size(37, 20);
+ this->fileToolStripMenuItem->Text = L"&File";
+ //
+ // loadINTELHexFIleToolStripMenuItem
+ //
+ this->loadINTELHexFIleToolStripMenuItem->Name = L"loadINTELHexFIleToolStripMenuItem";
+ this->loadINTELHexFIleToolStripMenuItem->Size = System::Drawing::Size(178, 22);
+ this->loadINTELHexFIleToolStripMenuItem->Text = L"&Load INTEL Hex FIle";
+ this->loadINTELHexFIleToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::loadINTELHexFIleToolStripMenuItem_Click);
+ //
+ // runToolStripMenuItem
+ //
+ this->runToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->resetToolStripMenuItem,
+ this->stepToolStripMenuItem});
+ this->runToolStripMenuItem->Name = L"runToolStripMenuItem";
+ this->runToolStripMenuItem->Size = System::Drawing::Size(40, 20);
+ this->runToolStripMenuItem->Text = L"&Run";
+ //
+ // resetToolStripMenuItem
+ //
+ this->resetToolStripMenuItem->Name = L"resetToolStripMenuItem";
+ this->resetToolStripMenuItem->Size = System::Drawing::Size(152, 22);
+ this->resetToolStripMenuItem->Text = L"&Reset";
+ this->resetToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::resetToolStripMenuItem_Click);
+ //
+ // stepToolStripMenuItem
+ //
+ this->stepToolStripMenuItem->Name = L"stepToolStripMenuItem";
+ this->stepToolStripMenuItem->Size = System::Drawing::Size(152, 22);
+ this->stepToolStripMenuItem->Text = L"&Step";
+ this->stepToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::stepToolStripMenuItem_Click);
+ //
+ // viewToolStripMenuItem
+ //
+ this->viewToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->registersToolStripMenuItem,
+ this->memoryToolStripMenuItem});
+ this->viewToolStripMenuItem->Name = L"viewToolStripMenuItem";
+ this->viewToolStripMenuItem->Size = System::Drawing::Size(44, 20);
+ this->viewToolStripMenuItem->Text = L"&View";
+ //
+ // registersToolStripMenuItem
+ //
+ this->registersToolStripMenuItem->Name = L"registersToolStripMenuItem";
+ this->registersToolStripMenuItem->Size = System::Drawing::Size(152, 22);
+ this->registersToolStripMenuItem->Text = L"&Registers";
+ this->registersToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::registersToolStripMenuItem_Click);
+ //
+ // memoryToolStripMenuItem
+ //
+ this->memoryToolStripMenuItem->Name = L"memoryToolStripMenuItem";
+ this->memoryToolStripMenuItem->Size = System::Drawing::Size(152, 22);
+ this->memoryToolStripMenuItem->Text = L"&Memory";
+ this->memoryToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::memoryToolStripMenuItem_Click);
+ //
+ // aboutToolStripMenuItem
+ //
+ this->aboutToolStripMenuItem->Name = L"aboutToolStripMenuItem";
+ this->aboutToolStripMenuItem->Size = System::Drawing::Size(52, 20);
+ this->aboutToolStripMenuItem->Text = L"&About";
+ this->aboutToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::aboutToolStripMenuItem_Click);
+ //
+ // toolStrip1
+ //
+ this->toolStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(7) {this->toolStripButton1,
+ this->toolStripButton2, this->toolStripButton3, this->toolStripButton4, this->toolStripButton5, this->toolStripButton6, this->toolStripButton7});
+ this->toolStrip1->Location = System::Drawing::Point(0, 24);
+ this->toolStrip1->Name = L"toolStrip1";
+ this->toolStrip1->Size = System::Drawing::Size(684, 25);
+ this->toolStrip1->TabIndex = 1;
+ this->toolStrip1->Text = L"toolStrip1";
+ //
+ // toolStripButton1
+ //
+ this->toolStripButton1->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton1->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton1.Image")));
+ this->toolStripButton1->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton1->Name = L"toolStripButton1";
+ this->toolStripButton1->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton1->Text = L"Step Into";
+ this->toolStripButton1->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton1_Click);
+ //
+ // toolStripButton2
+ //
+ this->toolStripButton2->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton2->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton2.Image")));
+ this->toolStripButton2->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton2->Name = L"toolStripButton2";
+ this->toolStripButton2->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton2->Text = L"Step Over (Bounce)";
+ //
+ // toolStripButton3
+ //
+ this->toolStripButton3->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton3->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton3.Image")));
+ this->toolStripButton3->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton3->Name = L"toolStripButton3";
+ this->toolStripButton3->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton3->Text = L"Step Out Of";
+ //
+ // toolStripButton4
+ //
+ this->toolStripButton4->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton4->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton4.Image")));
+ this->toolStripButton4->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton4->Name = L"toolStripButton4";
+ this->toolStripButton4->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton4->Text = L"Run";
+ //
+ // toolStripButton5
+ //
+ this->toolStripButton5->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton5->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton5.Image")));
+ this->toolStripButton5->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton5->Name = L"toolStripButton5";
+ this->toolStripButton5->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton5->Text = L"Stop";
+ //
+ // toolStripButton6
+ //
+ this->toolStripButton6->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton6->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton6.Image")));
+ this->toolStripButton6->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton6->Name = L"toolStripButton6";
+ this->toolStripButton6->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton6->Text = L"Interrupt";
+ //
+ // toolStripButton7
+ //
+ this->toolStripButton7->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image;
+ this->toolStripButton7->Image = (cli::safe_cast(resources->GetObject(L"toolStripButton7.Image")));
+ this->toolStripButton7->ImageTransparentColor = System::Drawing::Color::Magenta;
+ this->toolStripButton7->Name = L"toolStripButton7";
+ this->toolStripButton7->Size = System::Drawing::Size(23, 22);
+ this->toolStripButton7->Text = L"Breakpoints";
+ //
+ // openFileDialog1
+ //
+ this->openFileDialog1->DefaultExt = L"hex";
+ this->openFileDialog1->FileName = L"boot";
+ this->openFileDialog1->Filter = L"\"INTEL Hex Files|*.hex|All Files|*.*\"";
+ this->openFileDialog1->FileOk += gcnew System::ComponentModel::CancelEventHandler(this, &frmMain::openFileDialog1_FileOk);
+ //
+ // lblChecksumError
+ //
+ this->lblChecksumError->Anchor = static_cast((System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left));
+ this->lblChecksumError->AutoSize = true;
+ this->lblChecksumError->Location = System::Drawing::Point(75, 522);
+ this->lblChecksumError->Name = L"lblChecksumError";
+ this->lblChecksumError->Size = System::Drawing::Size(35, 13);
+ this->lblChecksumError->TabIndex = 2;
+ this->lblChecksumError->Text = L"label1";
+ //
+ // pictureBox1
+ //
+ this->pictureBox1->Anchor = static_cast((System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left));
+ this->pictureBox1->Location = System::Drawing::Point(12, 507);
+ this->pictureBox1->Name = L"pictureBox1";
+ this->pictureBox1->Size = System::Drawing::Size(218, 12);
+ this->pictureBox1->TabIndex = 3;
+ this->pictureBox1->TabStop = false;
+ this->pictureBox1->Click += gcnew System::EventHandler(this, &frmMain::pictureBox1_Click);
+ this->pictureBox1->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmMain::pictureBox1_Paint);
+ //
+ // listBoxAdr
+ //
+ this->listBoxAdr->FormattingEnabled = true;
+ this->listBoxAdr->Location = System::Drawing::Point(12, 52);
+ this->listBoxAdr->Name = L"listBoxAdr";
+ this->listBoxAdr->Size = System::Drawing::Size(71, 433);
+ this->listBoxAdr->TabIndex = 4;
+ //
+ // listBoxBytes
+ //
+ this->listBoxBytes->FormattingEnabled = true;
+ this->listBoxBytes->Location = System::Drawing::Point(89, 52);
+ this->listBoxBytes->Name = L"listBoxBytes";
+ this->listBoxBytes->Size = System::Drawing::Size(141, 433);
+ this->listBoxBytes->TabIndex = 5;
+ //
+ // listBoxCode
+ //
+ this->listBoxCode->FormattingEnabled = true;
+ this->listBoxCode->Location = System::Drawing::Point(236, 52);
+ this->listBoxCode->Name = L"listBoxCode";
+ this->listBoxCode->Size = System::Drawing::Size(327, 433);
+ this->listBoxCode->TabIndex = 6;
+ //
+ // lblLEDS
+ //
+ this->lblLEDS->AutoSize = true;
+ this->lblLEDS->Location = System::Drawing::Point(275, 507);
+ this->lblLEDS->Name = L"lblLEDS";
+ this->lblLEDS->Size = System::Drawing::Size(40, 13);
+ this->lblLEDS->TabIndex = 7;
+ this->lblLEDS->Text = L"lblLeds";
+ //
+ // frmMain
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->ClientSize = System::Drawing::Size(684, 548);
+ this->Controls->Add(this->lblLEDS);
+ this->Controls->Add(this->listBoxCode);
+ this->Controls->Add(this->listBoxBytes);
+ this->Controls->Add(this->listBoxAdr);
+ this->Controls->Add(this->pictureBox1);
+ this->Controls->Add(this->lblChecksumError);
+ this->Controls->Add(this->toolStrip1);
+ this->Controls->Add(this->menuStrip1);
+ this->MainMenuStrip = this->menuStrip1;
+ this->Name = L"frmMain";
+ this->Text = L"Thor ISA Emulator";
+ this->menuStrip1->ResumeLayout(false);
+ this->menuStrip1->PerformLayout();
+ this->toolStrip1->ResumeLayout(false);
+ this->toolStrip1->PerformLayout();
+ (cli::safe_cast(this->pictureBox1))->EndInit();
+ this->ResumeLayout(false);
+ this->PerformLayout();
+
+ }
+#pragma endregion
+ private: System::Void registersToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ frmRegisters^ form = gcnew frmRegisters();
+ form->Show();
+ }
+ private: System::Void loadINTELHexFIleToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ this->openFileDialog1->ShowDialog();
+ LoadIntelHexFile();
+ return;
+ }
+
+private: int IHChecksumCheck(const char *buf) {
+ int nn;
+ int sum;
+ std::string str;
+ std::string str1;
+ str = std::string(buf);
+ sum = 0;
+ for (nn = 1; nn < str.length(); nn+=2) {
+ str1 = str.substr(nn,2);
+ sum += strtoul(str1.c_str(),NULL,16);
+ }
+ sum &= 0xff;
+ return sum;
+}
+
+private: void LoadIntelHexFile() {
+ int nc,nn;
+ std::string buf;
+ std::string str_ad;
+ std::string str_insn;
+ std::string str_ad_insn;
+ std::string str_disassem;
+ unsigned int ad;
+ unsigned __int64 dat;
+ unsigned __int64 b0,b1,b2,b3,b4,b5,b6,b7;
+ unsigned int firstAdr;
+ char buf2[40];
+ unsigned int ad_msbs;
+ int chksum;
+ int lineno; // 16531
+
+ char* str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->openFileDialog1->FileName);
+ System::Windows::Forms::Cursor::Current = System::Windows::Forms::Cursors::WaitCursor;
+ std::ifstream fp_in;
+ fp_in.open(str,std::ios::in);
+ firstAdr = 0;
+ ad_msbs = 0;
+ chksum = 0;
+ lineno=0;
+ system1.WriteROM = true;
+ while (!fp_in.eof()) {
+ lineno++;
+ std::getline(fp_in, buf);
+ chksum += IHChecksumCheck(buf.c_str());
+ if (buf.c_str()[0]!=':') continue;
+ if (buf.c_str()[8]=='4') {
+ strncpy(buf2,&((buf.c_str())[9]),4);
+ buf2[4] = '\0';
+ ad_msbs = strtoul(buf2,NULL,16);
+ continue;
+ }
+ // Process record type #'00'
+ if (buf.c_str()[8]=='0') {
+ ad = strtoul(buf.substr(3,4).c_str(),NULL,16) | (ad_msbs << 16);
+ b0 = strtoul(buf.substr(9,2).c_str(),NULL,16);
+ b1 = strtoul(buf.substr(11,2).c_str(),NULL,16);
+ b2 = strtoul(buf.substr(13,2).c_str(),NULL,16);
+ b3 = strtoul(buf.substr(15,2).c_str(),NULL,16);
+ b4 = strtoul(buf.substr(17,2).c_str(),NULL,16);
+ b5 = strtoul(buf.substr(19,2).c_str(),NULL,16);
+ b6 = strtoul(buf.substr(21,2).c_str(),NULL,16);
+ b7 = strtoul(buf.substr(23,2).c_str(),NULL,16);
+ dat = b0 |
+ (b1 << 8) |
+ (b2 << 16) |
+ (b3 << 24) |
+ (b4 << 32) |
+ (b5 << 40) |
+ (b6 << 48) |
+ (b7 << 56)
+ ;
+ }
+ if (!firstAdr)
+ firstAdr = ad;
+ system1.Write(ad, dat, 0xFF, 0);
+ //system1.memory[ad>>2] = dat;
+ //sprintf(buf2,"%06X", ad);
+ //str_ad = std::string(buf2);
+ //sprintf(buf2,"%08X", dat);
+ //str_insn = std::string(buf2);
+ //str_disassem = Disassem(str_ad,str_insn);
+ //str_ad_insn = str_ad + " " + str_insn + " " + str_disassem;
+ //label1->Text = gcnew String(str_ad_insn.c_str());
+ //this->checkedListBox1->Items->Add(gcnew String(str_ad_insn.c_str()));
+ }
+ fp_in.close();
+ system1.WriteROM = false;
+ ad = firstAdr;
+ UpdateListBoxes(ad);
+ if (chksum != 0) {
+ sprintf(buf2, "Checksum Error: %d", chksum);
+ this->lblChecksumError->Text = gcnew String(buf2);
+ }
+ else
+ this->lblChecksumError->Text = "Checksum OK";
+ System::Windows::Forms::Cursor::Current = System::Windows::Forms::Cursors::Default;
+ }
+private: System::Void memoryToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ frmMemory^ form = gcnew frmMemory;
+ form->Show();
+ }
+private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
+ }
+private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
+ Graphics^ gr = e->Graphics;
+ int h = pictureBox1->ClientSize.Height;
+ int w = h;
+ int nn,kk;
+ for (kk= 15, nn = 0; nn < 16; nn++, kk--) {
+ if (system1.leds & (1 << kk))
+ gr->FillEllipse(gcnew SolidBrush(Color::Green),System::Drawing::Rectangle(w*nn,0,w-1,h-1));
+ else
+ gr->FillEllipse(gcnew SolidBrush(Color::FromArgb(0xFF003000)),System::Drawing::Rectangle(w*nn,0,w-1,h-1));
+ }
+ }
+private: void UpdateListBoxes(int ad)
+ {
+ int nn,nb,kk;
+ char buf2[100];
+ std::string dstr;
+ std::string buf;
+ int adr[32];
+
+ listBoxAdr->Items->Clear();
+ listBoxBytes->Items->Clear();
+ listBoxCode->Items->Clear();
+ for (nn = 0; nn < 32; nn++) {
+ adr[nn] = ad;
+ sprintf(buf2,"%06X", ad);
+ buf = std::string(buf2);
+ this->listBoxAdr->Items->Add(gcnew String(buf.c_str()));
+ dstr = da.Disassem(ad,&nb);
+ buf2[0] = '\0';
+ for (kk = 0; kk < nb; kk++) {
+ sprintf(&buf2[strlen(buf2)], "%02X ", system1.ReadByte(ad));
+ ad++;
+ }
+ buf = std::string(buf2);
+ this->listBoxBytes->Items->Add(gcnew String(buf.c_str()));
+ this->listBoxCode->Items->Add(gcnew String(dstr.c_str()));
+ }
+ for (nn = 0; nn < 32; nn++) {
+ if (adr[nn]==cpu1.pc) {
+ this->listBoxAdr->SetSelected(nn,true);
+ this->listBoxBytes->SetSelected(nn,true);
+ this->listBoxCode->SetSelected(nn,true);
+ }
+ }
+ }
+private: System::Void stepToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ }
+private: System::Void resetToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ Reset();
+ }
+private: void Reset() {
+ system1.Reset();
+ pic1.Reset();
+ cpu1.Reset();
+ UpdateListBoxes(PCIsInList(cpu1.pc-32));
+ }
+
+// Try and align the disassembled code with the current PC.
+private: int PCIsInList(int as)
+{
+ int nn, nb;
+ std::string dstr;
+ int ae;
+ int ad = as;
+
+ for (ad = as; ad > as-32; ad--) {
+ ae = ad;
+ for (nn = 0; nn < 64; nn++) {
+ if (ae==cpu1.pc)
+ return ad;
+ dstr = da.Disassem(ae,&nb);
+ ae += nb;
+ }
+ }
+ return as;
+}
+
+private: void DoStepInto() {
+// animate = false;
+// isRunning = false;
+ char buf[100];
+ cpu1.Step();
+ pic1.Step();
+ UpdateListBoxes(PCIsInList(cpu1.pc-32));
+ sprintf(buf, "%04X", system1.leds);
+ lblLEDS->Text = gcnew String(buf);
+ pictureBox1->Refresh();
+ }
+private: System::Void toolStripButton1_Click(System::Object^ sender, System::EventArgs^ e) {
+ DoStepInto();
+ }
+private: System::Void openFileDialog1_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) {
+ }
+private: System::Void aboutToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
+ About^ form = gcnew About;
+ form->Show();
+ }
+};
+}
+
Index: thor/trunk/software/emuThor/source/app.rc
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/app.rc
===================================================================
--- thor/trunk/software/emuThor/source/app.rc (nonexistent)
+++ thor/trunk/software/emuThor/source/app.rc (revision 30)
thor/trunk/software/emuThor/source/app.rc
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/emuThor.vcxproj.filters
===================================================================
--- thor/trunk/software/emuThor/source/emuThor.vcxproj.filters (nonexistent)
+++ thor/trunk/software/emuThor/source/emuThor.vcxproj.filters (revision 30)
@@ -0,0 +1,136 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+
+ Resource Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/frmKeyboard.resx
===================================================================
--- thor/trunk/software/emuThor/source/frmKeyboard.resx (nonexistent)
+++ thor/trunk/software/emuThor/source/frmKeyboard.resx (revision 30)
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/clsKeyboard.h
===================================================================
--- thor/trunk/software/emuThor/source/clsKeyboard.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsKeyboard.h (revision 30)
@@ -0,0 +1,46 @@
+#pragma once
+class clsKeyboard
+{
+ unsigned __int8 buffer[32];
+ int head;
+ int tail;
+public:
+ volatile unsigned __int8 scancode;
+ volatile unsigned __int8 status;
+ clsKeyboard(void);
+ ~clsKeyboard(void);
+ bool IsSelected(unsigned int ad) { return ((ad & 0xFFFFFFF0)==0xFFDC0000); };
+ void Put(unsigned __int8 sc) {
+ scancode = sc;
+ buffer[head] = sc;
+ head++;
+ head &= 31;
+ };
+ unsigned __int8 Get() {
+ unsigned __int8 sc;
+
+ sc = 0;
+ if (head != tail) {
+ sc = buffer[tail];
+ tail++;
+ tail &= 31;
+ }
+ return sc;
+ };
+ unsigned __int8 Peek(int amt) {
+ unsigned __int8 sc;
+ int ndx;
+
+ ndx = tail + amt;
+ ndx &= 31;
+ sc = buffer[ndx];
+ return sc;
+ };
+ unsigned __int8 GetStatus() {
+ if (head != tail)
+ return 0x80;
+ else
+ return 0x00;
+ };
+};
+
Index: thor/trunk/software/emuThor/source/frmKeyboard.h
===================================================================
--- thor/trunk/software/emuThor/source/frmKeyboard.h (nonexistent)
+++ thor/trunk/software/emuThor/source/frmKeyboard.h (revision 30)
@@ -0,0 +1,1688 @@
+#pragma once
+#include "stdafx.h"
+#include "clsKeyboard.h"
+
+extern clsKeyboard keybd;
+extern clsPIC pic1;
+extern volatile unsigned __int8 keybd_status;
+extern volatile unsigned __int8 keybd_scancode;
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+
+ ///
+ /// Summary for frmKeyboard
+ ///
+ public ref class frmKeyboard : public System::Windows::Forms::Form
+ {
+
+ public:
+ frmKeyboard(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~frmKeyboard()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::Button^ btnQ;
+ protected:
+ private: System::Windows::Forms::Button^ btnW;
+ private: System::Windows::Forms::Button^ btnE;
+ private: System::Windows::Forms::Button^ btnQuest;
+ private: System::Windows::Forms::Button^ btnEnter;
+ private: System::Windows::Forms::Button^ btnR;
+ private: System::Windows::Forms::Button^ btnT;
+ private: System::Windows::Forms::Button^ btnY;
+ private: System::Windows::Forms::Button^ btnU;
+ private: System::Windows::Forms::Button^ btnI;
+ private: System::Windows::Forms::Button^ btnRshift;
+ private: System::Windows::Forms::Button^ btnO;
+ private: System::Windows::Forms::Button^ btnLshift;
+ private: System::Windows::Forms::Button^ btnP;
+ private: System::Windows::Forms::Button^ btnA;
+ private: System::Windows::Forms::Button^ btnS;
+ private: System::Windows::Forms::Button^ btnD;
+ private: System::Windows::Forms::Button^ btnF;
+ private: System::Windows::Forms::Button^ btnG;
+ private: System::Windows::Forms::Button^ btnZ;
+ private: System::Windows::Forms::Button^ btnH;
+ private: System::Windows::Forms::Button^ btnJ;
+ private: System::Windows::Forms::Button^ btnK;
+ private: System::Windows::Forms::Button^ btnL;
+ private: System::Windows::Forms::Button^ btnX;
+ private: System::Windows::Forms::Button^ btnC;
+ private: System::Windows::Forms::Button^ btnV;
+ private: System::Windows::Forms::Button^ btnB;
+ private: System::Windows::Forms::Button^ btnN;
+ private: System::Windows::Forms::Button^ btnM;
+ private: System::Windows::Forms::Button^ btn1;
+ private: System::Windows::Forms::Button^ btn2;
+ private: System::Windows::Forms::Button^ btn3;
+ private: System::Windows::Forms::Button^ btn4;
+ private: System::Windows::Forms::Button^ btn5;
+ private: System::Windows::Forms::Button^ btn6;
+ private: System::Windows::Forms::Button^ btn7;
+ private: System::Windows::Forms::Button^ btn8;
+ private: System::Windows::Forms::Button^ btn9;
+ private: System::Windows::Forms::Button^ btn0;
+ private: System::Windows::Forms::Button^ btnSpace;
+ private: System::Windows::Forms::Button^ button1;
+ private: System::Windows::Forms::Button^ button2;
+ private: System::Windows::Forms::Button^ button3;
+ private: System::Windows::Forms::Button^ button4;
+ private: System::Windows::Forms::Button^ button5;
+ private: System::Windows::Forms::Button^ button6;
+ private: System::Windows::Forms::Button^ button7;
+ private: System::Windows::Forms::Button^ btnMinus;
+
+ private: System::Windows::Forms::Button^ button9;
+ private: System::Windows::Forms::Button^ btnBackspace;
+ private: System::Windows::Forms::Button^ btnRctrl;
+ private: System::Windows::Forms::Button^ btnLalt;
+ private: System::Windows::Forms::Button^ button10;
+ private: System::Windows::Forms::Button^ button11;
+ private: System::Windows::Forms::Button^ button12;
+ private: System::Windows::Forms::Button^ button13;
+ private: System::Windows::Forms::Button^ button14;
+ private: System::Windows::Forms::Button^ button15;
+ private: System::Windows::Forms::Button^ button16;
+ private: System::Windows::Forms::Button^ button17;
+ private: System::Windows::Forms::Button^ button18;
+ private: System::Windows::Forms::Button^ button19;
+ private: System::Windows::Forms::Button^ button8;
+ private: System::Windows::Forms::Button^ button20;
+ private: System::Windows::Forms::Button^ buttonLctrl;
+ private: System::Windows::Forms::Button^ buttonEsc;
+ private: System::Windows::Forms::Button^ buttonF1;
+ private: System::Windows::Forms::Button^ buttonF2;
+ private: System::Windows::Forms::Button^ buttonF3;
+ private: System::Windows::Forms::Button^ buttonF4;
+ private: System::Windows::Forms::Button^ buttonF5;
+ private: System::Windows::Forms::Button^ buttonF6;
+ private: System::Windows::Forms::Button^ buttonF7;
+ private: System::Windows::Forms::Button^ buttonF8;
+ private: System::Windows::Forms::Button^ buttonF9;
+ private: System::Windows::Forms::Button^ buttonF10;
+ private: System::Windows::Forms::Button^ buttonF11;
+ private: System::Windows::Forms::Button^ buttonF12;
+private: System::Windows::Forms::Button^ buttonCapslock;
+private: System::Windows::Forms::Button^ button21;
+private: System::Windows::Forms::Button^ button22;
+private: System::Windows::Forms::Button^ button23;
+private: System::Windows::Forms::Button^ buttonTab;
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+ System::ComponentModel::Container ^components;
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ this->btnQ = (gcnew System::Windows::Forms::Button());
+ this->btnW = (gcnew System::Windows::Forms::Button());
+ this->btnE = (gcnew System::Windows::Forms::Button());
+ this->btnQuest = (gcnew System::Windows::Forms::Button());
+ this->btnEnter = (gcnew System::Windows::Forms::Button());
+ this->btnR = (gcnew System::Windows::Forms::Button());
+ this->btnT = (gcnew System::Windows::Forms::Button());
+ this->btnY = (gcnew System::Windows::Forms::Button());
+ this->btnU = (gcnew System::Windows::Forms::Button());
+ this->btnI = (gcnew System::Windows::Forms::Button());
+ this->btnRshift = (gcnew System::Windows::Forms::Button());
+ this->btnO = (gcnew System::Windows::Forms::Button());
+ this->btnLshift = (gcnew System::Windows::Forms::Button());
+ this->btnP = (gcnew System::Windows::Forms::Button());
+ this->btnA = (gcnew System::Windows::Forms::Button());
+ this->btnS = (gcnew System::Windows::Forms::Button());
+ this->btnD = (gcnew System::Windows::Forms::Button());
+ this->btnF = (gcnew System::Windows::Forms::Button());
+ this->btnG = (gcnew System::Windows::Forms::Button());
+ this->btnZ = (gcnew System::Windows::Forms::Button());
+ this->btnH = (gcnew System::Windows::Forms::Button());
+ this->btnJ = (gcnew System::Windows::Forms::Button());
+ this->btnK = (gcnew System::Windows::Forms::Button());
+ this->btnL = (gcnew System::Windows::Forms::Button());
+ this->btnX = (gcnew System::Windows::Forms::Button());
+ this->btnC = (gcnew System::Windows::Forms::Button());
+ this->btnV = (gcnew System::Windows::Forms::Button());
+ this->btnB = (gcnew System::Windows::Forms::Button());
+ this->btnN = (gcnew System::Windows::Forms::Button());
+ this->btnM = (gcnew System::Windows::Forms::Button());
+ this->btn1 = (gcnew System::Windows::Forms::Button());
+ this->btn2 = (gcnew System::Windows::Forms::Button());
+ this->btn3 = (gcnew System::Windows::Forms::Button());
+ this->btn4 = (gcnew System::Windows::Forms::Button());
+ this->btn5 = (gcnew System::Windows::Forms::Button());
+ this->btn6 = (gcnew System::Windows::Forms::Button());
+ this->btn7 = (gcnew System::Windows::Forms::Button());
+ this->btn8 = (gcnew System::Windows::Forms::Button());
+ this->btn9 = (gcnew System::Windows::Forms::Button());
+ this->btn0 = (gcnew System::Windows::Forms::Button());
+ this->btnSpace = (gcnew System::Windows::Forms::Button());
+ this->button1 = (gcnew System::Windows::Forms::Button());
+ this->button2 = (gcnew System::Windows::Forms::Button());
+ this->button3 = (gcnew System::Windows::Forms::Button());
+ this->button4 = (gcnew System::Windows::Forms::Button());
+ this->button5 = (gcnew System::Windows::Forms::Button());
+ this->button6 = (gcnew System::Windows::Forms::Button());
+ this->button7 = (gcnew System::Windows::Forms::Button());
+ this->btnMinus = (gcnew System::Windows::Forms::Button());
+ this->button9 = (gcnew System::Windows::Forms::Button());
+ this->btnBackspace = (gcnew System::Windows::Forms::Button());
+ this->btnRctrl = (gcnew System::Windows::Forms::Button());
+ this->btnLalt = (gcnew System::Windows::Forms::Button());
+ this->button10 = (gcnew System::Windows::Forms::Button());
+ this->button11 = (gcnew System::Windows::Forms::Button());
+ this->button12 = (gcnew System::Windows::Forms::Button());
+ this->button13 = (gcnew System::Windows::Forms::Button());
+ this->button14 = (gcnew System::Windows::Forms::Button());
+ this->button15 = (gcnew System::Windows::Forms::Button());
+ this->button16 = (gcnew System::Windows::Forms::Button());
+ this->button17 = (gcnew System::Windows::Forms::Button());
+ this->button18 = (gcnew System::Windows::Forms::Button());
+ this->button19 = (gcnew System::Windows::Forms::Button());
+ this->button8 = (gcnew System::Windows::Forms::Button());
+ this->button20 = (gcnew System::Windows::Forms::Button());
+ this->buttonLctrl = (gcnew System::Windows::Forms::Button());
+ this->buttonEsc = (gcnew System::Windows::Forms::Button());
+ this->buttonF1 = (gcnew System::Windows::Forms::Button());
+ this->buttonF2 = (gcnew System::Windows::Forms::Button());
+ this->buttonF3 = (gcnew System::Windows::Forms::Button());
+ this->buttonF4 = (gcnew System::Windows::Forms::Button());
+ this->buttonF5 = (gcnew System::Windows::Forms::Button());
+ this->buttonF6 = (gcnew System::Windows::Forms::Button());
+ this->buttonF7 = (gcnew System::Windows::Forms::Button());
+ this->buttonF8 = (gcnew System::Windows::Forms::Button());
+ this->buttonF9 = (gcnew System::Windows::Forms::Button());
+ this->buttonF10 = (gcnew System::Windows::Forms::Button());
+ this->buttonF11 = (gcnew System::Windows::Forms::Button());
+ this->buttonF12 = (gcnew System::Windows::Forms::Button());
+ this->buttonCapslock = (gcnew System::Windows::Forms::Button());
+ this->button21 = (gcnew System::Windows::Forms::Button());
+ this->button22 = (gcnew System::Windows::Forms::Button());
+ this->button23 = (gcnew System::Windows::Forms::Button());
+ this->buttonTab = (gcnew System::Windows::Forms::Button());
+ this->SuspendLayout();
+ //
+ // btnQ
+ //
+ this->btnQ->Location = System::Drawing::Point(83, 90);
+ this->btnQ->Name = L"btnQ";
+ this->btnQ->Size = System::Drawing::Size(36, 34);
+ this->btnQ->TabIndex = 0;
+ this->btnQ->Text = L"Q";
+ this->btnQ->UseVisualStyleBackColor = true;
+ this->btnQ->Click += gcnew System::EventHandler(this, &frmKeyboard::btnQ_Click);
+ //
+ // btnW
+ //
+ this->btnW->Location = System::Drawing::Point(125, 90);
+ this->btnW->Name = L"btnW";
+ this->btnW->Size = System::Drawing::Size(35, 34);
+ this->btnW->TabIndex = 1;
+ this->btnW->Text = L"W";
+ this->btnW->UseVisualStyleBackColor = true;
+ this->btnW->Click += gcnew System::EventHandler(this, &frmKeyboard::btnW_Click);
+ //
+ // btnE
+ //
+ this->btnE->Location = System::Drawing::Point(166, 90);
+ this->btnE->Name = L"btnE";
+ this->btnE->Size = System::Drawing::Size(35, 34);
+ this->btnE->TabIndex = 2;
+ this->btnE->Text = L"E";
+ this->btnE->UseVisualStyleBackColor = true;
+ this->btnE->Click += gcnew System::EventHandler(this, &frmKeyboard::btnE_Click);
+ //
+ // btnQuest
+ //
+ this->btnQuest->Location = System::Drawing::Point(474, 170);
+ this->btnQuest->Name = L"btnQuest";
+ this->btnQuest->Size = System::Drawing::Size(39, 33);
+ this->btnQuest->TabIndex = 3;
+ this->btnQuest->Text = L"\?/";
+ this->btnQuest->UseVisualStyleBackColor = true;
+ this->btnQuest->Click += gcnew System::EventHandler(this, &frmKeyboard::btnQuest_Click);
+ //
+ // btnEnter
+ //
+ this->btnEnter->Location = System::Drawing::Point(580, 90);
+ this->btnEnter->Name = L"btnEnter";
+ this->btnEnter->Size = System::Drawing::Size(46, 74);
+ this->btnEnter->TabIndex = 4;
+ this->btnEnter->Text = L"Enter";
+ this->btnEnter->UseVisualStyleBackColor = true;
+ this->btnEnter->Click += gcnew System::EventHandler(this, &frmKeyboard::btnEnter_Click);
+ //
+ // btnR
+ //
+ this->btnR->Location = System::Drawing::Point(206, 90);
+ this->btnR->Name = L"btnR";
+ this->btnR->Size = System::Drawing::Size(34, 34);
+ this->btnR->TabIndex = 5;
+ this->btnR->Text = L"R";
+ this->btnR->UseVisualStyleBackColor = true;
+ this->btnR->Click += gcnew System::EventHandler(this, &frmKeyboard::btnR_Click);
+ //
+ // btnT
+ //
+ this->btnT->Location = System::Drawing::Point(246, 90);
+ this->btnT->Name = L"btnT";
+ this->btnT->Size = System::Drawing::Size(35, 34);
+ this->btnT->TabIndex = 6;
+ this->btnT->Text = L"T";
+ this->btnT->UseVisualStyleBackColor = true;
+ this->btnT->Click += gcnew System::EventHandler(this, &frmKeyboard::btnT_Click);
+ //
+ // btnY
+ //
+ this->btnY->Location = System::Drawing::Point(287, 90);
+ this->btnY->Name = L"btnY";
+ this->btnY->Size = System::Drawing::Size(34, 34);
+ this->btnY->TabIndex = 7;
+ this->btnY->Text = L"Y";
+ this->btnY->UseVisualStyleBackColor = true;
+ this->btnY->Click += gcnew System::EventHandler(this, &frmKeyboard::btnY_Click);
+ //
+ // btnU
+ //
+ this->btnU->Location = System::Drawing::Point(327, 90);
+ this->btnU->Name = L"btnU";
+ this->btnU->Size = System::Drawing::Size(35, 34);
+ this->btnU->TabIndex = 8;
+ this->btnU->Text = L"U";
+ this->btnU->UseVisualStyleBackColor = true;
+ this->btnU->Click += gcnew System::EventHandler(this, &frmKeyboard::btnU_Click);
+ //
+ // btnI
+ //
+ this->btnI->Location = System::Drawing::Point(368, 90);
+ this->btnI->Name = L"btnI";
+ this->btnI->Size = System::Drawing::Size(34, 34);
+ this->btnI->TabIndex = 9;
+ this->btnI->Text = L"I";
+ this->btnI->UseVisualStyleBackColor = true;
+ this->btnI->Click += gcnew System::EventHandler(this, &frmKeyboard::btnI_Click);
+ //
+ // btnRshift
+ //
+ this->btnRshift->Location = System::Drawing::Point(519, 170);
+ this->btnRshift->Name = L"btnRshift";
+ this->btnRshift->Size = System::Drawing::Size(107, 33);
+ this->btnRshift->TabIndex = 10;
+ this->btnRshift->Text = L"shift";
+ this->btnRshift->UseVisualStyleBackColor = true;
+ this->btnRshift->Click += gcnew System::EventHandler(this, &frmKeyboard::btnRshift_Click);
+ //
+ // btnO
+ //
+ this->btnO->Location = System::Drawing::Point(408, 90);
+ this->btnO->Name = L"btnO";
+ this->btnO->Size = System::Drawing::Size(34, 34);
+ this->btnO->TabIndex = 11;
+ this->btnO->Text = L"O";
+ this->btnO->UseVisualStyleBackColor = true;
+ this->btnO->Click += gcnew System::EventHandler(this, &frmKeyboard::btnO_Click);
+ //
+ // btnLshift
+ //
+ this->btnLshift->Location = System::Drawing::Point(24, 170);
+ this->btnLshift->Name = L"btnLshift";
+ this->btnLshift->Size = System::Drawing::Size(39, 33);
+ this->btnLshift->TabIndex = 12;
+ this->btnLshift->Text = L"shift";
+ this->btnLshift->UseVisualStyleBackColor = true;
+ //
+ // btnP
+ //
+ this->btnP->Location = System::Drawing::Point(448, 90);
+ this->btnP->Name = L"btnP";
+ this->btnP->Size = System::Drawing::Size(38, 34);
+ this->btnP->TabIndex = 13;
+ this->btnP->Text = L"P";
+ this->btnP->UseVisualStyleBackColor = true;
+ this->btnP->Click += gcnew System::EventHandler(this, &frmKeyboard::btnP_Click);
+ //
+ // btnA
+ //
+ this->btnA->Location = System::Drawing::Point(93, 130);
+ this->btnA->Name = L"btnA";
+ this->btnA->Size = System::Drawing::Size(34, 34);
+ this->btnA->TabIndex = 14;
+ this->btnA->Text = L"A";
+ this->btnA->UseVisualStyleBackColor = true;
+ this->btnA->Click += gcnew System::EventHandler(this, &frmKeyboard::btnA_Click);
+ //
+ // btnS
+ //
+ this->btnS->Location = System::Drawing::Point(133, 130);
+ this->btnS->Name = L"btnS";
+ this->btnS->Size = System::Drawing::Size(36, 34);
+ this->btnS->TabIndex = 15;
+ this->btnS->Text = L"S";
+ this->btnS->UseVisualStyleBackColor = true;
+ this->btnS->Click += gcnew System::EventHandler(this, &frmKeyboard::btnS_Click);
+ //
+ // btnD
+ //
+ this->btnD->Location = System::Drawing::Point(175, 130);
+ this->btnD->Name = L"btnD";
+ this->btnD->Size = System::Drawing::Size(35, 34);
+ this->btnD->TabIndex = 16;
+ this->btnD->Text = L"D";
+ this->btnD->UseVisualStyleBackColor = true;
+ this->btnD->Click += gcnew System::EventHandler(this, &frmKeyboard::btnD_Click);
+ //
+ // btnF
+ //
+ this->btnF->Location = System::Drawing::Point(216, 130);
+ this->btnF->Name = L"btnF";
+ this->btnF->Size = System::Drawing::Size(33, 34);
+ this->btnF->TabIndex = 17;
+ this->btnF->Text = L"F";
+ this->btnF->UseVisualStyleBackColor = true;
+ this->btnF->Click += gcnew System::EventHandler(this, &frmKeyboard::btnF_Click);
+ //
+ // btnG
+ //
+ this->btnG->Location = System::Drawing::Point(256, 130);
+ this->btnG->Name = L"btnG";
+ this->btnG->Size = System::Drawing::Size(36, 34);
+ this->btnG->TabIndex = 18;
+ this->btnG->Text = L"G";
+ this->btnG->UseVisualStyleBackColor = true;
+ this->btnG->Click += gcnew System::EventHandler(this, &frmKeyboard::btnG_Click);
+ //
+ // btnZ
+ //
+ this->btnZ->Location = System::Drawing::Point(102, 170);
+ this->btnZ->Name = L"btnZ";
+ this->btnZ->Size = System::Drawing::Size(34, 33);
+ this->btnZ->TabIndex = 19;
+ this->btnZ->Text = L"Z";
+ this->btnZ->UseVisualStyleBackColor = true;
+ this->btnZ->Click += gcnew System::EventHandler(this, &frmKeyboard::btnZ_Click);
+ //
+ // btnH
+ //
+ this->btnH->Location = System::Drawing::Point(298, 130);
+ this->btnH->Name = L"btnH";
+ this->btnH->Size = System::Drawing::Size(33, 34);
+ this->btnH->TabIndex = 21;
+ this->btnH->Text = L"H";
+ this->btnH->UseVisualStyleBackColor = true;
+ this->btnH->Click += gcnew System::EventHandler(this, &frmKeyboard::btnH_Click);
+ //
+ // btnJ
+ //
+ this->btnJ->Location = System::Drawing::Point(339, 130);
+ this->btnJ->Name = L"btnJ";
+ this->btnJ->Size = System::Drawing::Size(32, 34);
+ this->btnJ->TabIndex = 22;
+ this->btnJ->Text = L"J";
+ this->btnJ->UseVisualStyleBackColor = true;
+ this->btnJ->Click += gcnew System::EventHandler(this, &frmKeyboard::btnJ_Click);
+ //
+ // btnK
+ //
+ this->btnK->Location = System::Drawing::Point(377, 130);
+ this->btnK->Name = L"btnK";
+ this->btnK->Size = System::Drawing::Size(34, 34);
+ this->btnK->TabIndex = 23;
+ this->btnK->Text = L"K";
+ this->btnK->UseVisualStyleBackColor = true;
+ this->btnK->Click += gcnew System::EventHandler(this, &frmKeyboard::btnK_Click);
+ //
+ // btnL
+ //
+ this->btnL->Location = System::Drawing::Point(417, 130);
+ this->btnL->Name = L"btnL";
+ this->btnL->Size = System::Drawing::Size(39, 34);
+ this->btnL->TabIndex = 24;
+ this->btnL->Text = L"L";
+ this->btnL->UseVisualStyleBackColor = true;
+ this->btnL->Click += gcnew System::EventHandler(this, &frmKeyboard::btnL_Click);
+ //
+ // btnX
+ //
+ this->btnX->Location = System::Drawing::Point(142, 170);
+ this->btnX->Name = L"btnX";
+ this->btnX->Size = System::Drawing::Size(42, 33);
+ this->btnX->TabIndex = 20;
+ this->btnX->Text = L"X";
+ this->btnX->UseVisualStyleBackColor = true;
+ this->btnX->Click += gcnew System::EventHandler(this, &frmKeyboard::btnX_Click);
+ //
+ // btnC
+ //
+ this->btnC->Location = System::Drawing::Point(190, 170);
+ this->btnC->Name = L"btnC";
+ this->btnC->Size = System::Drawing::Size(32, 33);
+ this->btnC->TabIndex = 25;
+ this->btnC->Text = L"C";
+ this->btnC->UseVisualStyleBackColor = true;
+ this->btnC->Click += gcnew System::EventHandler(this, &frmKeyboard::btnC_Click);
+ //
+ // btnV
+ //
+ this->btnV->Location = System::Drawing::Point(228, 170);
+ this->btnV->Name = L"btnV";
+ this->btnV->Size = System::Drawing::Size(34, 33);
+ this->btnV->TabIndex = 26;
+ this->btnV->Text = L"V";
+ this->btnV->UseVisualStyleBackColor = true;
+ this->btnV->Click += gcnew System::EventHandler(this, &frmKeyboard::btnV_Click);
+ //
+ // btnB
+ //
+ this->btnB->Location = System::Drawing::Point(267, 170);
+ this->btnB->Name = L"btnB";
+ this->btnB->Size = System::Drawing::Size(35, 33);
+ this->btnB->TabIndex = 27;
+ this->btnB->Text = L"B";
+ this->btnB->UseVisualStyleBackColor = true;
+ this->btnB->Click += gcnew System::EventHandler(this, &frmKeyboard::btnB_Click);
+ //
+ // btnN
+ //
+ this->btnN->Location = System::Drawing::Point(308, 170);
+ this->btnN->Name = L"btnN";
+ this->btnN->Size = System::Drawing::Size(34, 33);
+ this->btnN->TabIndex = 28;
+ this->btnN->Text = L"N";
+ this->btnN->UseVisualStyleBackColor = true;
+ this->btnN->Click += gcnew System::EventHandler(this, &frmKeyboard::btnN_Click);
+ //
+ // btnM
+ //
+ this->btnM->Location = System::Drawing::Point(348, 170);
+ this->btnM->Name = L"btnM";
+ this->btnM->Size = System::Drawing::Size(36, 33);
+ this->btnM->TabIndex = 29;
+ this->btnM->Text = L"M";
+ this->btnM->UseVisualStyleBackColor = true;
+ this->btnM->Click += gcnew System::EventHandler(this, &frmKeyboard::btnM_Click);
+ //
+ // btn1
+ //
+ this->btn1->Location = System::Drawing::Point(69, 48);
+ this->btn1->Name = L"btn1";
+ this->btn1->Size = System::Drawing::Size(39, 36);
+ this->btn1->TabIndex = 30;
+ this->btn1->Text = L"!1";
+ this->btn1->UseVisualStyleBackColor = true;
+ this->btn1->Click += gcnew System::EventHandler(this, &frmKeyboard::btn1_Click);
+ //
+ // btn2
+ //
+ this->btn2->Location = System::Drawing::Point(114, 48);
+ this->btn2->Name = L"btn2";
+ this->btn2->Size = System::Drawing::Size(37, 36);
+ this->btn2->TabIndex = 31;
+ this->btn2->Text = L"@2";
+ this->btn2->UseVisualStyleBackColor = true;
+ this->btn2->Click += gcnew System::EventHandler(this, &frmKeyboard::btn2_Click);
+ //
+ // btn3
+ //
+ this->btn3->Location = System::Drawing::Point(159, 48);
+ this->btn3->Name = L"btn3";
+ this->btn3->Size = System::Drawing::Size(34, 36);
+ this->btn3->TabIndex = 32;
+ this->btn3->Text = L"#3";
+ this->btn3->UseVisualStyleBackColor = true;
+ this->btn3->Click += gcnew System::EventHandler(this, &frmKeyboard::btn3_Click);
+ //
+ // btn4
+ //
+ this->btn4->Location = System::Drawing::Point(199, 48);
+ this->btn4->Name = L"btn4";
+ this->btn4->Size = System::Drawing::Size(32, 36);
+ this->btn4->TabIndex = 33;
+ this->btn4->Text = L"$4";
+ this->btn4->UseVisualStyleBackColor = true;
+ this->btn4->Click += gcnew System::EventHandler(this, &frmKeyboard::btn4_Click);
+ //
+ // btn5
+ //
+ this->btn5->Location = System::Drawing::Point(235, 48);
+ this->btn5->Name = L"btn5";
+ this->btn5->Size = System::Drawing::Size(36, 36);
+ this->btn5->TabIndex = 34;
+ this->btn5->Text = L"%5";
+ this->btn5->UseVisualStyleBackColor = true;
+ this->btn5->Click += gcnew System::EventHandler(this, &frmKeyboard::btn5_Click);
+ //
+ // btn6
+ //
+ this->btn6->Location = System::Drawing::Point(277, 48);
+ this->btn6->Name = L"btn6";
+ this->btn6->Size = System::Drawing::Size(35, 36);
+ this->btn6->TabIndex = 35;
+ this->btn6->Text = L"^6";
+ this->btn6->UseVisualStyleBackColor = true;
+ this->btn6->Click += gcnew System::EventHandler(this, &frmKeyboard::btn6_Click);
+ //
+ // btn7
+ //
+ this->btn7->Location = System::Drawing::Point(317, 48);
+ this->btn7->Name = L"btn7";
+ this->btn7->Size = System::Drawing::Size(35, 36);
+ this->btn7->TabIndex = 36;
+ this->btn7->Text = L"&&7";
+ this->btn7->UseVisualStyleBackColor = true;
+ this->btn7->Click += gcnew System::EventHandler(this, &frmKeyboard::btn7_Click);
+ //
+ // btn8
+ //
+ this->btn8->Location = System::Drawing::Point(358, 48);
+ this->btn8->Name = L"btn8";
+ this->btn8->Size = System::Drawing::Size(35, 36);
+ this->btn8->TabIndex = 37;
+ this->btn8->Text = L"*8";
+ this->btn8->UseVisualStyleBackColor = true;
+ this->btn8->Click += gcnew System::EventHandler(this, &frmKeyboard::btn8_Click);
+ //
+ // btn9
+ //
+ this->btn9->Location = System::Drawing::Point(399, 48);
+ this->btn9->Name = L"btn9";
+ this->btn9->Size = System::Drawing::Size(32, 36);
+ this->btn9->TabIndex = 38;
+ this->btn9->Text = L"(9";
+ this->btn9->UseVisualStyleBackColor = true;
+ this->btn9->Click += gcnew System::EventHandler(this, &frmKeyboard::btn9_Click);
+ //
+ // btn0
+ //
+ this->btn0->Location = System::Drawing::Point(437, 48);
+ this->btn0->Name = L"btn0";
+ this->btn0->Size = System::Drawing::Size(34, 36);
+ this->btn0->TabIndex = 39;
+ this->btn0->Text = L")0";
+ this->btn0->UseVisualStyleBackColor = true;
+ this->btn0->Click += gcnew System::EventHandler(this, &frmKeyboard::btn0_Click);
+ //
+ // btnSpace
+ //
+ this->btnSpace->Location = System::Drawing::Point(206, 209);
+ this->btnSpace->Name = L"btnSpace";
+ this->btnSpace->Size = System::Drawing::Size(250, 33);
+ this->btnSpace->TabIndex = 40;
+ this->btnSpace->UseVisualStyleBackColor = true;
+ this->btnSpace->Click += gcnew System::EventHandler(this, &frmKeyboard::btnSpace_Click);
+ //
+ // button1
+ //
+ this->button1->Location = System::Drawing::Point(390, 170);
+ this->button1->Name = L"button1";
+ this->button1->Size = System::Drawing::Size(36, 33);
+ this->button1->TabIndex = 41;
+ this->button1->Text = L"<,";
+ this->button1->UseVisualStyleBackColor = true;
+ this->button1->Click += gcnew System::EventHandler(this, &frmKeyboard::button1_Click);
+ //
+ // button2
+ //
+ this->button2->Location = System::Drawing::Point(432, 170);
+ this->button2->Name = L"button2";
+ this->button2->Size = System::Drawing::Size(36, 33);
+ this->button2->TabIndex = 42;
+ this->button2->Text = L">.";
+ this->button2->UseVisualStyleBackColor = true;
+ this->button2->Click += gcnew System::EventHandler(this, &frmKeyboard::button2_Click);
+ //
+ // button3
+ //
+ this->button3->Location = System::Drawing::Point(462, 130);
+ this->button3->Name = L"button3";
+ this->button3->Size = System::Drawing::Size(39, 34);
+ this->button3->TabIndex = 43;
+ this->button3->Text = L":;";
+ this->button3->UseVisualStyleBackColor = true;
+ this->button3->Click += gcnew System::EventHandler(this, &frmKeyboard::button3_Click);
+ //
+ // button4
+ //
+ this->button4->Location = System::Drawing::Point(506, 130);
+ this->button4->Name = L"button4";
+ this->button4->Size = System::Drawing::Size(39, 34);
+ this->button4->TabIndex = 44;
+ this->button4->Text = L"\"\'";
+ this->button4->UseVisualStyleBackColor = true;
+ this->button4->Click += gcnew System::EventHandler(this, &frmKeyboard::button4_Click);
+ //
+ // button5
+ //
+ this->button5->Location = System::Drawing::Point(551, 130);
+ this->button5->Name = L"button5";
+ this->button5->Size = System::Drawing::Size(39, 34);
+ this->button5->TabIndex = 45;
+ this->button5->Text = L"|\\";
+ this->button5->UseVisualStyleBackColor = true;
+ this->button5->Click += gcnew System::EventHandler(this, &frmKeyboard::button5_Click);
+ //
+ // button6
+ //
+ this->button6->Location = System::Drawing::Point(492, 90);
+ this->button6->Name = L"button6";
+ this->button6->Size = System::Drawing::Size(38, 34);
+ this->button6->TabIndex = 46;
+ this->button6->Text = L"{[";
+ this->button6->UseVisualStyleBackColor = true;
+ this->button6->Click += gcnew System::EventHandler(this, &frmKeyboard::button6_Click);
+ //
+ // button7
+ //
+ this->button7->Location = System::Drawing::Point(536, 90);
+ this->button7->Name = L"button7";
+ this->button7->Size = System::Drawing::Size(38, 34);
+ this->button7->TabIndex = 47;
+ this->button7->Text = L"}]";
+ this->button7->UseVisualStyleBackColor = true;
+ this->button7->Click += gcnew System::EventHandler(this, &frmKeyboard::button7_Click);
+ //
+ // btnMinus
+ //
+ this->btnMinus->Location = System::Drawing::Point(474, 48);
+ this->btnMinus->Name = L"btnMinus";
+ this->btnMinus->Size = System::Drawing::Size(34, 36);
+ this->btnMinus->TabIndex = 48;
+ this->btnMinus->Text = L"_-";
+ this->btnMinus->UseVisualStyleBackColor = true;
+ this->btnMinus->Click += gcnew System::EventHandler(this, &frmKeyboard::btnMinus_Click);
+ //
+ // button9
+ //
+ this->button9->Location = System::Drawing::Point(514, 48);
+ this->button9->Name = L"button9";
+ this->button9->Size = System::Drawing::Size(34, 36);
+ this->button9->TabIndex = 49;
+ this->button9->Text = L"+=";
+ this->button9->UseVisualStyleBackColor = true;
+ this->button9->Click += gcnew System::EventHandler(this, &frmKeyboard::button9_Click);
+ //
+ // btnBackspace
+ //
+ this->btnBackspace->Location = System::Drawing::Point(554, 48);
+ this->btnBackspace->Name = L"btnBackspace";
+ this->btnBackspace->Size = System::Drawing::Size(72, 36);
+ this->btnBackspace->TabIndex = 50;
+ this->btnBackspace->Text = L"<--";
+ this->btnBackspace->UseVisualStyleBackColor = true;
+ this->btnBackspace->Click += gcnew System::EventHandler(this, &frmKeyboard::btnBackspace_Click);
+ //
+ // btnRctrl
+ //
+ this->btnRctrl->Location = System::Drawing::Point(568, 212);
+ this->btnRctrl->Name = L"btnRctrl";
+ this->btnRctrl->Size = System::Drawing::Size(58, 33);
+ this->btnRctrl->TabIndex = 51;
+ this->btnRctrl->Text = L"Ctrl";
+ this->btnRctrl->UseVisualStyleBackColor = true;
+ this->btnRctrl->Click += gcnew System::EventHandler(this, &frmKeyboard::btnRctrl_Click);
+ //
+ // btnLalt
+ //
+ this->btnLalt->Location = System::Drawing::Point(142, 209);
+ this->btnLalt->Name = L"btnLalt";
+ this->btnLalt->Size = System::Drawing::Size(58, 33);
+ this->btnLalt->TabIndex = 52;
+ this->btnLalt->Text = L"Alt";
+ this->btnLalt->UseVisualStyleBackColor = true;
+ this->btnLalt->Click += gcnew System::EventHandler(this, &frmKeyboard::btnLalt_Click);
+ //
+ // button10
+ //
+ this->button10->Location = System::Drawing::Point(643, 212);
+ this->button10->Name = L"button10";
+ this->button10->Size = System::Drawing::Size(36, 33);
+ this->button10->TabIndex = 53;
+ this->button10->Text = L"<";
+ this->button10->UseVisualStyleBackColor = true;
+ this->button10->Click += gcnew System::EventHandler(this, &frmKeyboard::button10_Click);
+ //
+ // button11
+ //
+ this->button11->Location = System::Drawing::Point(685, 212);
+ this->button11->Name = L"button11";
+ this->button11->Size = System::Drawing::Size(36, 33);
+ this->button11->TabIndex = 54;
+ this->button11->Text = L"V";
+ this->button11->UseVisualStyleBackColor = true;
+ this->button11->Click += gcnew System::EventHandler(this, &frmKeyboard::button11_Click);
+ //
+ // button12
+ //
+ this->button12->Location = System::Drawing::Point(727, 212);
+ this->button12->Name = L"button12";
+ this->button12->Size = System::Drawing::Size(36, 33);
+ this->button12->TabIndex = 55;
+ this->button12->Text = L">";
+ this->button12->UseVisualStyleBackColor = true;
+ this->button12->Click += gcnew System::EventHandler(this, &frmKeyboard::button12_Click);
+ //
+ // button13
+ //
+ this->button13->Location = System::Drawing::Point(685, 173);
+ this->button13->Name = L"button13";
+ this->button13->Size = System::Drawing::Size(36, 33);
+ this->button13->TabIndex = 56;
+ this->button13->Text = L"^";
+ this->button13->UseVisualStyleBackColor = true;
+ this->button13->Click += gcnew System::EventHandler(this, &frmKeyboard::button13_Click);
+ //
+ // button14
+ //
+ this->button14->Location = System::Drawing::Point(641, 90);
+ this->button14->Name = L"button14";
+ this->button14->Size = System::Drawing::Size(38, 34);
+ this->button14->TabIndex = 57;
+ this->button14->Text = L"Del";
+ this->button14->UseVisualStyleBackColor = true;
+ this->button14->Click += gcnew System::EventHandler(this, &frmKeyboard::button14_Click);
+ //
+ // button15
+ //
+ this->button15->Location = System::Drawing::Point(683, 90);
+ this->button15->Name = L"button15";
+ this->button15->Size = System::Drawing::Size(38, 34);
+ this->button15->TabIndex = 58;
+ this->button15->Text = L"End";
+ this->button15->UseVisualStyleBackColor = true;
+ this->button15->Click += gcnew System::EventHandler(this, &frmKeyboard::button15_Click);
+ //
+ // button16
+ //
+ this->button16->Location = System::Drawing::Point(641, 50);
+ this->button16->Name = L"button16";
+ this->button16->Size = System::Drawing::Size(38, 34);
+ this->button16->TabIndex = 59;
+ this->button16->Text = L"Ins";
+ this->button16->UseVisualStyleBackColor = true;
+ this->button16->Click += gcnew System::EventHandler(this, &frmKeyboard::button16_Click);
+ //
+ // button17
+ //
+ this->button17->Location = System::Drawing::Point(683, 50);
+ this->button17->Name = L"button17";
+ this->button17->Size = System::Drawing::Size(38, 34);
+ this->button17->TabIndex = 60;
+ this->button17->Text = L"Home";
+ this->button17->UseVisualStyleBackColor = true;
+ this->button17->Click += gcnew System::EventHandler(this, &frmKeyboard::button17_Click);
+ //
+ // button18
+ //
+ this->button18->Location = System::Drawing::Point(727, 90);
+ this->button18->Name = L"button18";
+ this->button18->Size = System::Drawing::Size(38, 34);
+ this->button18->TabIndex = 61;
+ this->button18->Text = L"PgDn";
+ this->button18->UseVisualStyleBackColor = true;
+ this->button18->Click += gcnew System::EventHandler(this, &frmKeyboard::button18_Click);
+ //
+ // button19
+ //
+ this->button19->Location = System::Drawing::Point(727, 50);
+ this->button19->Name = L"button19";
+ this->button19->Size = System::Drawing::Size(38, 34);
+ this->button19->TabIndex = 62;
+ this->button19->Text = L"PgUp";
+ this->button19->UseVisualStyleBackColor = true;
+ this->button19->Click += gcnew System::EventHandler(this, &frmKeyboard::button19_Click);
+ //
+ // button8
+ //
+ this->button8->Location = System::Drawing::Point(24, 48);
+ this->button8->Name = L"button8";
+ this->button8->Size = System::Drawing::Size(39, 36);
+ this->button8->TabIndex = 63;
+ this->button8->Text = L"~`";
+ this->button8->UseVisualStyleBackColor = true;
+ this->button8->Click += gcnew System::EventHandler(this, &frmKeyboard::button8_Click);
+ //
+ // button20
+ //
+ this->button20->Location = System::Drawing::Point(462, 209);
+ this->button20->Name = L"button20";
+ this->button20->Size = System::Drawing::Size(58, 33);
+ this->button20->TabIndex = 64;
+ this->button20->Text = L"Alt";
+ this->button20->UseVisualStyleBackColor = true;
+ this->button20->Click += gcnew System::EventHandler(this, &frmKeyboard::button20_Click);
+ //
+ // buttonLctrl
+ //
+ this->buttonLctrl->Location = System::Drawing::Point(24, 209);
+ this->buttonLctrl->Name = L"buttonLctrl";
+ this->buttonLctrl->Size = System::Drawing::Size(58, 33);
+ this->buttonLctrl->TabIndex = 65;
+ this->buttonLctrl->Text = L"Ctrl";
+ this->buttonLctrl->UseVisualStyleBackColor = true;
+ this->buttonLctrl->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonLctrl_Click);
+ //
+ // buttonEsc
+ //
+ this->buttonEsc->Location = System::Drawing::Point(24, -3);
+ this->buttonEsc->Name = L"buttonEsc";
+ this->buttonEsc->Size = System::Drawing::Size(39, 36);
+ this->buttonEsc->TabIndex = 66;
+ this->buttonEsc->Text = L"Esc";
+ this->buttonEsc->UseVisualStyleBackColor = true;
+ this->buttonEsc->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonEsc_Click);
+ //
+ // buttonF1
+ //
+ this->buttonF1->Location = System::Drawing::Point(112, -3);
+ this->buttonF1->Name = L"buttonF1";
+ this->buttonF1->Size = System::Drawing::Size(39, 36);
+ this->buttonF1->TabIndex = 67;
+ this->buttonF1->Text = L"F1";
+ this->buttonF1->UseVisualStyleBackColor = true;
+ this->buttonF1->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonF1_Click);
+ //
+ // buttonF2
+ //
+ this->buttonF2->Location = System::Drawing::Point(154, -3);
+ this->buttonF2->Name = L"buttonF2";
+ this->buttonF2->Size = System::Drawing::Size(39, 36);
+ this->buttonF2->TabIndex = 68;
+ this->buttonF2->Text = L"F2";
+ this->buttonF2->UseVisualStyleBackColor = true;
+ this->buttonF2->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonF2_Click);
+ //
+ // buttonF3
+ //
+ this->buttonF3->Location = System::Drawing::Point(192, -3);
+ this->buttonF3->Name = L"buttonF3";
+ this->buttonF3->Size = System::Drawing::Size(39, 36);
+ this->buttonF3->TabIndex = 69;
+ this->buttonF3->Text = L"F3";
+ this->buttonF3->UseVisualStyleBackColor = true;
+ //
+ // buttonF4
+ //
+ this->buttonF4->Location = System::Drawing::Point(235, -3);
+ this->buttonF4->Name = L"buttonF4";
+ this->buttonF4->Size = System::Drawing::Size(39, 36);
+ this->buttonF4->TabIndex = 70;
+ this->buttonF4->Text = L"F4";
+ this->buttonF4->UseVisualStyleBackColor = true;
+ //
+ // buttonF5
+ //
+ this->buttonF5->Location = System::Drawing::Point(287, -3);
+ this->buttonF5->Name = L"buttonF5";
+ this->buttonF5->Size = System::Drawing::Size(39, 36);
+ this->buttonF5->TabIndex = 71;
+ this->buttonF5->Text = L"F5";
+ this->buttonF5->UseVisualStyleBackColor = true;
+ //
+ // buttonF6
+ //
+ this->buttonF6->Location = System::Drawing::Point(327, -3);
+ this->buttonF6->Name = L"buttonF6";
+ this->buttonF6->Size = System::Drawing::Size(39, 36);
+ this->buttonF6->TabIndex = 72;
+ this->buttonF6->Text = L"F6";
+ this->buttonF6->UseVisualStyleBackColor = true;
+ //
+ // buttonF7
+ //
+ this->buttonF7->Location = System::Drawing::Point(363, -3);
+ this->buttonF7->Name = L"buttonF7";
+ this->buttonF7->Size = System::Drawing::Size(39, 36);
+ this->buttonF7->TabIndex = 73;
+ this->buttonF7->Text = L"F7";
+ this->buttonF7->UseVisualStyleBackColor = true;
+ //
+ // buttonF8
+ //
+ this->buttonF8->Location = System::Drawing::Point(403, -3);
+ this->buttonF8->Name = L"buttonF8";
+ this->buttonF8->Size = System::Drawing::Size(39, 36);
+ this->buttonF8->TabIndex = 74;
+ this->buttonF8->Text = L"F8";
+ this->buttonF8->UseVisualStyleBackColor = true;
+ //
+ // buttonF9
+ //
+ this->buttonF9->Location = System::Drawing::Point(462, -3);
+ this->buttonF9->Name = L"buttonF9";
+ this->buttonF9->Size = System::Drawing::Size(39, 36);
+ this->buttonF9->TabIndex = 75;
+ this->buttonF9->Text = L"F9";
+ this->buttonF9->UseVisualStyleBackColor = true;
+ //
+ // buttonF10
+ //
+ this->buttonF10->Location = System::Drawing::Point(506, -3);
+ this->buttonF10->Name = L"buttonF10";
+ this->buttonF10->Size = System::Drawing::Size(39, 36);
+ this->buttonF10->TabIndex = 76;
+ this->buttonF10->Text = L"F10";
+ this->buttonF10->UseVisualStyleBackColor = true;
+ //
+ // buttonF11
+ //
+ this->buttonF11->Location = System::Drawing::Point(551, -3);
+ this->buttonF11->Name = L"buttonF11";
+ this->buttonF11->Size = System::Drawing::Size(39, 36);
+ this->buttonF11->TabIndex = 77;
+ this->buttonF11->Text = L"F11";
+ this->buttonF11->UseVisualStyleBackColor = true;
+ //
+ // buttonF12
+ //
+ this->buttonF12->Location = System::Drawing::Point(596, -3);
+ this->buttonF12->Name = L"buttonF12";
+ this->buttonF12->Size = System::Drawing::Size(39, 36);
+ this->buttonF12->TabIndex = 78;
+ this->buttonF12->Text = L"F12";
+ this->buttonF12->UseVisualStyleBackColor = true;
+ //
+ // buttonCapslock
+ //
+ this->buttonCapslock->Location = System::Drawing::Point(24, 130);
+ this->buttonCapslock->Name = L"buttonCapslock";
+ this->buttonCapslock->Size = System::Drawing::Size(63, 33);
+ this->buttonCapslock->TabIndex = 79;
+ this->buttonCapslock->Text = L"CapsLock";
+ this->buttonCapslock->UseVisualStyleBackColor = true;
+ this->buttonCapslock->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonCapslock_Click);
+ //
+ // button21
+ //
+ this->button21->Location = System::Drawing::Point(641, -1);
+ this->button21->Name = L"button21";
+ this->button21->Size = System::Drawing::Size(38, 34);
+ this->button21->TabIndex = 80;
+ this->button21->Text = L"Prt Scr";
+ this->button21->UseVisualStyleBackColor = true;
+ //
+ // button22
+ //
+ this->button22->Location = System::Drawing::Point(683, -1);
+ this->button22->Name = L"button22";
+ this->button22->Size = System::Drawing::Size(38, 34);
+ this->button22->TabIndex = 81;
+ this->button22->Text = L"Scr Lck";
+ this->button22->UseVisualStyleBackColor = true;
+ //
+ // button23
+ //
+ this->button23->Location = System::Drawing::Point(727, -1);
+ this->button23->Name = L"button23";
+ this->button23->Size = System::Drawing::Size(38, 34);
+ this->button23->TabIndex = 82;
+ this->button23->Text = L"Pause";
+ this->button23->UseVisualStyleBackColor = true;
+ //
+ // buttonTab
+ //
+ this->buttonTab->Location = System::Drawing::Point(24, 90);
+ this->buttonTab->Name = L"buttonTab";
+ this->buttonTab->Size = System::Drawing::Size(53, 33);
+ this->buttonTab->TabIndex = 83;
+ this->buttonTab->Text = L"Tab <-|";
+ this->buttonTab->UseVisualStyleBackColor = true;
+ this->buttonTab->Click += gcnew System::EventHandler(this, &frmKeyboard::buttonTab_Click);
+ //
+ // frmKeyboard
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->ClientSize = System::Drawing::Size(778, 252);
+ this->Controls->Add(this->buttonTab);
+ this->Controls->Add(this->button23);
+ this->Controls->Add(this->button22);
+ this->Controls->Add(this->button21);
+ this->Controls->Add(this->buttonCapslock);
+ this->Controls->Add(this->buttonF12);
+ this->Controls->Add(this->buttonF11);
+ this->Controls->Add(this->buttonF10);
+ this->Controls->Add(this->buttonF9);
+ this->Controls->Add(this->buttonF8);
+ this->Controls->Add(this->buttonF7);
+ this->Controls->Add(this->buttonF6);
+ this->Controls->Add(this->buttonF5);
+ this->Controls->Add(this->buttonF4);
+ this->Controls->Add(this->buttonF3);
+ this->Controls->Add(this->buttonF2);
+ this->Controls->Add(this->buttonF1);
+ this->Controls->Add(this->buttonEsc);
+ this->Controls->Add(this->buttonLctrl);
+ this->Controls->Add(this->button20);
+ this->Controls->Add(this->button8);
+ this->Controls->Add(this->button19);
+ this->Controls->Add(this->button18);
+ this->Controls->Add(this->button17);
+ this->Controls->Add(this->button16);
+ this->Controls->Add(this->button15);
+ this->Controls->Add(this->button14);
+ this->Controls->Add(this->button13);
+ this->Controls->Add(this->button12);
+ this->Controls->Add(this->button11);
+ this->Controls->Add(this->button10);
+ this->Controls->Add(this->btnLalt);
+ this->Controls->Add(this->btnRctrl);
+ this->Controls->Add(this->btnBackspace);
+ this->Controls->Add(this->button9);
+ this->Controls->Add(this->btnMinus);
+ this->Controls->Add(this->button7);
+ this->Controls->Add(this->button6);
+ this->Controls->Add(this->button5);
+ this->Controls->Add(this->button4);
+ this->Controls->Add(this->button3);
+ this->Controls->Add(this->button2);
+ this->Controls->Add(this->button1);
+ this->Controls->Add(this->btnSpace);
+ this->Controls->Add(this->btn0);
+ this->Controls->Add(this->btn9);
+ this->Controls->Add(this->btn8);
+ this->Controls->Add(this->btn7);
+ this->Controls->Add(this->btn6);
+ this->Controls->Add(this->btn5);
+ this->Controls->Add(this->btn4);
+ this->Controls->Add(this->btn3);
+ this->Controls->Add(this->btn2);
+ this->Controls->Add(this->btn1);
+ this->Controls->Add(this->btnM);
+ this->Controls->Add(this->btnN);
+ this->Controls->Add(this->btnB);
+ this->Controls->Add(this->btnV);
+ this->Controls->Add(this->btnC);
+ this->Controls->Add(this->btnL);
+ this->Controls->Add(this->btnK);
+ this->Controls->Add(this->btnJ);
+ this->Controls->Add(this->btnH);
+ this->Controls->Add(this->btnX);
+ this->Controls->Add(this->btnZ);
+ this->Controls->Add(this->btnG);
+ this->Controls->Add(this->btnF);
+ this->Controls->Add(this->btnD);
+ this->Controls->Add(this->btnS);
+ this->Controls->Add(this->btnA);
+ this->Controls->Add(this->btnP);
+ this->Controls->Add(this->btnLshift);
+ this->Controls->Add(this->btnO);
+ this->Controls->Add(this->btnRshift);
+ this->Controls->Add(this->btnI);
+ this->Controls->Add(this->btnU);
+ this->Controls->Add(this->btnY);
+ this->Controls->Add(this->btnT);
+ this->Controls->Add(this->btnR);
+ this->Controls->Add(this->btnEnter);
+ this->Controls->Add(this->btnQuest);
+ this->Controls->Add(this->btnE);
+ this->Controls->Add(this->btnW);
+ this->Controls->Add(this->btnQ);
+ this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
+ this->MaximizeBox = false;
+ this->Name = L"frmKeyboard";
+ this->Text = L"emuThor Keyboard";
+ this->MouseUp += gcnew System::Windows::Forms::MouseEventHandler(this, &frmKeyboard::frmKeyboard_MouseUp);
+ this->ResumeLayout(false);
+
+ }
+#pragma endregion
+ private: System::Void btnQuest_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x4A);
+ keybd.Put(0xF0);
+ keybd.Put(0x4A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnEnter_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x5A);
+ keybd.Put(0xF0);
+ keybd.Put(0x5A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnRshift_Click(System::Object^ sender, System::EventArgs^ e) {
+ static bool sh = false;
+
+ if (sh!=0)
+ keybd.Put(0xF0);
+ keybd.Put(0x59);
+ sh = !sh;
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn1_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x16);
+ keybd.Put(0xF0);
+ keybd.Put(0x16);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnD_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x23);
+ keybd.Put(0xF0);
+ keybd.Put(0x23);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnB_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x32);
+ keybd.Put(0xF0);
+ keybd.Put(0x32);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnG_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x34);
+ keybd.Put(0xF0);
+ keybd.Put(0x34);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnQ_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x15);
+ keybd.Put(0xF0);
+ keybd.Put(0x15);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnT_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x2C);
+ keybd.Put(0xF0);
+ keybd.Put(0x2C);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnS_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x1B);
+ keybd.Put(0xF0);
+ keybd.Put(0x1B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnM_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x3A);
+ keybd.Put(0xF0);
+ keybd.Put(0x3A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnMinus_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x4E);
+ keybd.Put(0xF0);
+ keybd.Put(0x4E);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnBackspace_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x66);
+ keybd.Put(0xF0);
+ keybd.Put(0x66);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button14_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x71);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x71);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnJ_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x3B);
+ keybd.Put(0xF0);
+ keybd.Put(0x3B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnSpace_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x29);
+ keybd.Put(0xF0);
+ keybd.Put(0x29);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button10_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x6B);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x6B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn2_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x1E);
+ keybd.Put(0xF0);
+ keybd.Put(0x1E);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn3_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x26);
+ keybd.Put(0xF0);
+ keybd.Put(0x26);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn4_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x25);
+ keybd.Put(0xF0);
+ keybd.Put(0x25);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn5_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x2E);
+ keybd.Put(0xF0);
+ keybd.Put(0x2E);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn6_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x36);
+ keybd.Put(0xF0);
+ keybd.Put(0x36);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn7_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x3D);
+ keybd.Put(0xF0);
+ keybd.Put(0x3D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn8_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x3E);
+ keybd.Put(0xF0);
+ keybd.Put(0x3E);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn9_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x46);
+ keybd.Put(0xF0);
+ keybd.Put(0x46);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btn0_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x45);
+ keybd.Put(0xF0);
+ keybd.Put(0x45);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnA_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x1C);
+ keybd.Put(0xF0);
+ keybd.Put(0x1C);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnC_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x21);
+ keybd.Put(0xF0);
+ keybd.Put(0x21);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnE_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x24);
+ keybd.Put(0xF0);
+ keybd.Put(0x24);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnF_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x2B);
+ keybd.Put(0xF0);
+ keybd.Put(0x2B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnX_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x22);
+ keybd.Put(0xF0);
+ keybd.Put(0x22);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnRctrl_Click(System::Object^ sender, System::EventArgs^ e) {
+ static bool sh = false;
+ keybd.Put(0xE0);
+ if (sh!=0)
+ keybd.Put(0xF0);
+ keybd.Put(0x14);
+ sh = !sh;
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x55);
+ keybd.Put(0xF0);
+ keybd.Put(0x55);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x0E);
+ keybd.Put(0xF0);
+ keybd.Put(0x0E);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnW_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x1D);
+ keybd_status = 0x80;
+ keybd.Put(0xF0);
+ keybd.Put(0x1D);
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnR_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x2D);
+ keybd.Put(0xF0);
+ keybd.Put(0x2D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnY_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x35);
+ keybd.Put(0xF0);
+ keybd.Put(0x35);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnU_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x3C);
+ keybd.Put(0xF0);
+ keybd.Put(0x3C);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnI_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x43);
+ keybd.Put(0xF0);
+ keybd.Put(0x43);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnO_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x44);
+ keybd.Put(0xF0);
+ keybd.Put(0x44);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnP_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x4D);
+ keybd.Put(0xF0);
+ keybd.Put(0x4D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnH_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x33);
+ keybd.Put(0xF0);
+ keybd.Put(0x33);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnK_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x42);
+ keybd.Put(0xF0);
+ keybd.Put(0x42);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnL_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x4B);
+ keybd.Put(0xF0);
+ keybd.Put(0x4B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x4C);
+ keybd.Put(0xF0);
+ keybd.Put(0x4C);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x52);
+ keybd.Put(0xF0);
+ keybd.Put(0x52);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnZ_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x1A);
+ keybd.Put(0xF0);
+ keybd.Put(0x1A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnV_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x2A);
+ keybd.Put(0xF0);
+ keybd.Put(0x2A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnN_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x31);
+ keybd.Put(0xF0);
+ keybd.Put(0x31);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x41);
+ keybd.Put(0xF0);
+ keybd.Put(0x41);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x49);
+ keybd.Put(0xF0);
+ keybd.Put(0x49);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x5D);
+ keybd.Put(0xF0);
+ keybd.Put(0x5D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void btnLalt_Click(System::Object^ sender, System::EventArgs^ e) {
+ static bool sh = false;
+ if (sh!=0)
+ keybd.Put(0xF0);
+ keybd.Put(0x11);
+ sh = !sh;
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // Alt
+private: System::Void button20_Click(System::Object^ sender, System::EventArgs^ e) {
+ static bool sh = false;
+ keybd.Put(0xE0);
+ if (sh!=0)
+ keybd.Put(0xF0);
+ keybd.Put(0x11);
+ sh = !sh;
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void buttonLctrl_Click(System::Object^ sender, System::EventArgs^ e) {
+ static bool sh = false;
+ if (sh!=0)
+ keybd.Put(0xF0);
+ keybd.Put(0x14);
+ sh = !sh;
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button16_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x70);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x70);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // Home
+private: System::Void button17_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x6C);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x6C);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // End
+private: System::Void button15_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x69);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x69);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // Cursor down
+private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x72);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x72);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // Cursor Up
+private: System::Void button13_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x75);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x75);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // Cursor right
+private: System::Void button12_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x74);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x74);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // page up
+private: System::Void button19_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x7D);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x7D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+ // page down
+private: System::Void button18_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0xE0);
+ keybd.Put(0x7A);
+ keybd.Put(0xE0);
+ keybd.Put(0xF0);
+ keybd.Put(0x7A);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x54);
+ keybd.Put(0xF0);
+ keybd.Put(0x54);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x5B);
+ keybd.Put(0xF0);
+ keybd.Put(0x5B);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void buttonEsc_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x76);
+ keybd.Put(0xF0);
+ keybd.Put(0x76);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void buttonF1_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x05);
+ keybd.Put(0xF0);
+ keybd.Put(0x05);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void buttonF2_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x06);
+ keybd.Put(0xF0);
+ keybd.Put(0x06);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+private: System::Void buttonCapslock_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x58);
+ keybd_status = 0x80;
+ keybd.Put(0xF0);
+ keybd.Put(0x58);
+ pic1.irqKeyboard = true;
+ }
+private: System::Void frmKeyboard_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
+ }
+private: System::Void buttonTab_Click(System::Object^ sender, System::EventArgs^ e) {
+ keybd.Put(0x0D);
+ keybd.Put(0xF0);
+ keybd.Put(0x0D);
+ keybd_status = 0x80;
+ pic1.irqKeyboard = true;
+ }
+};
+}
Index: thor/trunk/software/emuThor/source/clsPIC.cpp
===================================================================
--- thor/trunk/software/emuThor/source/clsPIC.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/clsPIC.cpp (revision 30)
@@ -0,0 +1,20 @@
+#include "StdAfx.h"
+#include "clsPIC.h"
+
+
+clsPIC::clsPIC(void)
+{
+ Reset();
+}
+
+void clsPIC::Reset(void)
+{
+ int nn;
+
+ for (nn = 0; nn < 16; nn++) {
+ enables[nn] = false;
+ }
+ irq30Hz = false;
+ irq1024Hz = false;
+ irqKeyboard = false;
+}
Index: thor/trunk/software/emuThor/source/frmMemory.cpp
===================================================================
--- thor/trunk/software/emuThor/source/frmMemory.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/frmMemory.cpp (revision 30)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "frmMemory.h"
+
Index: thor/trunk/software/emuThor/source/clsThor.cpp
===================================================================
--- thor/trunk/software/emuThor/source/clsThor.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/clsThor.cpp (revision 30)
@@ -0,0 +1,777 @@
+#include "stdafx.h"
+#include "clsThor.h"
+#include "insn.h"
+
+extern clsSystem system1;
+
+void clsThor::Reset()
+{
+ pc = 0xFFFFFFFFFFFC0000LL;
+ tick = 0;
+ gp[0] = 0;
+ ca[0] = 0;
+}
+
+// Compute d[Rn] address info
+void clsThor::dRn(int b1, int b2, int b3, int *Ra, int *Sg, __int64 *disp)
+{
+ if (Ra) *Ra = b1 & 0x3f;
+ if (Sg) *Sg = (b3 >> 5) & 7;
+ if (disp) *disp = ((b2 >> 4) & 0xF) | ((b3 & 0x1f) << 4);
+ if (*disp & 0x100)
+ *disp |= 0xFFFFFFFFFFFFFE00LL;
+ if (imm_prefix) {
+ *disp &= 0xFF;
+ *disp |= imm;
+ }
+}
+
+void clsThor::Step()
+{
+ bool ex = true; // execute instruction
+ unsigned int opcode, func;
+ __int64 disp;
+ int Ra,Rb,Rc,Rt,Pn,Cr,Ct;
+ int Sprn,Sg;
+ int b1, b2, b3, b4;
+ int nn;
+ __int64 dat;
+
+ gp[0] = 0;
+ ca[0] = 0;
+ if (imcd > 0) {
+ imcd--;
+ if (imcd==1)
+ im = 0;
+ }
+ tick = tick + 1;
+ pred = ReadByte(pc);
+ pc++;
+ for (nn = 39; nn >= 0; nn--)
+ pcs[nn] = pcs[nn-1];
+ pcs[0] = pc;
+ switch (pred) {
+ case 0x00: // BRK instruction
+ return;
+ case 0x10: // NOP
+ return;
+ case 0x20:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ if (imm & 0x8000LL)
+ imm |= 0xFFFFFFFFFFFF0000LL;
+ imm_prefix = true;
+ return;
+ case 0x30:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ if (imm & 0x800000LL)
+ imm |= 0xFFFFFFFFFF000000LL;
+ imm_prefix = true;
+ return;
+ case 0x40:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ imm |= ReadByte(pc) << 24;
+ pc++;
+ if (imm & 0x80000000LL)
+ imm |= 0xFFFFFFFF00000000LL;
+ imm_prefix = true;
+ return;
+ case 0x50:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ imm |= ReadByte(pc) << 24;
+ pc++;
+ imm |= ReadByte(pc) << 32;
+ pc++;
+ if (imm & 0x8000000000LL)
+ imm |= 0xFFFFFF0000000000LL;
+ imm_prefix = true;
+ return;
+ case 0x60:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ imm |= ReadByte(pc) << 24;
+ pc++;
+ imm |= ReadByte(pc) << 32;
+ pc++;
+ imm |= ReadByte(pc) << 40;
+ pc++;
+ if (imm & 0x800000000000LL)
+ imm |= 0xFFFF000000000000LL;
+ imm_prefix = true;
+ return;
+ case 0x70:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ imm |= ReadByte(pc) << 24;
+ pc++;
+ imm |= ReadByte(pc) << 32;
+ pc++;
+ imm |= ReadByte(pc) << 40;
+ pc++;
+ imm |= ReadByte(pc) << 48;
+ pc++;
+ if (imm & 0x80000000000000LL)
+ imm |= 0xFF00000000000000LL;
+ imm_prefix = true;
+ return;
+ case 0x80:
+ imm = ReadByte(pc) << 8;
+ pc++;
+ imm |= ReadByte(pc) << 16;
+ pc++;
+ imm |= ReadByte(pc) << 24;
+ pc++;
+ imm |= ReadByte(pc) << 32;
+ pc++;
+ imm |= ReadByte(pc) << 40;
+ pc++;
+ imm |= ReadByte(pc) << 48;
+ pc++;
+ imm |= ReadByte(pc) << 56;
+ pc++;
+ imm_prefix = true;
+ return;
+ default: {
+ int rv;
+
+ rv = pr[pred>>4];
+ switch(pred & 15) {
+ case PF: ex = false; break;
+ case PT: ex = true; break;
+ case PEQ: ex = rv & 1; break;
+ case PNE: ex = !(rv & 1); break;
+ case PLE: ex = (rv & 1)||(rv & 2); break;
+ case PGT: ex = !((rv & 1)||(rv & 2)); break;
+ case PGE: ex = (rv & 2)==0; break;
+ case PLT: ex = (rv & 2)!=0; break;
+ case PLEU: ex = (rv & 1)||(rv & 4); break;
+ case PGTU: ex = !((rv & 1)||(rv & 4)); break;
+ case PGEU: ex = (rv & 4)==0; break;
+ case PLTU: ex = (rv & 4)!=0; break;
+ default: ex = false;
+ }
+ }
+ }
+ opcode = ReadByte(pc);
+ pc++;
+ if ((opcode & 0xF0)==0x00) { // TST
+ b1 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Pn = opcode & 0x0f;
+ pr[Pn] = 0;
+ if (gp[Ra]==0)
+ pr[Pn] |= 1;
+ if ((signed)gp[Ra] < (signed)0)
+ pr[Pn] |= 2;
+ }
+ imm_prefix = false;
+ return;
+ }
+ else if ((opcode & 0xF0)==0x10) { // CMP
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rb = ((b1 & 0xC0) >> 6) | ((b2 & 0x0f)<<2);
+ Pn = opcode & 0x0f;
+ pr[Pn] = 0;
+ if (gp[Ra]==gp[Rb])
+ pr[Pn] |= 1;
+ if ((signed)gp[Ra] < (signed)gp[Rb])
+ pr[Pn] |= 2;
+ if (gp[Ra] < gp[Rb])
+ pr[Pn] |= 4;
+ }
+ imm_prefix = false;
+ return;
+ }
+ else if ((opcode & 0xF0)==0x20) { // CMPI
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ if (imm_prefix) {
+ imm |= ((b2 << 2) & 0xFF) | ((b1 >> 6) & 3);
+ }
+ else {
+ imm = ((b2 << 2) & 0x3FF) | ((b1 >> 6) & 3);
+ if (imm & 0x200)
+ imm |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ Pn = opcode & 0x0f;
+ pr[Pn] = 0;
+ if (gp[Ra]==imm)
+ pr[Pn] |= 1;
+ if ((signed)gp[Ra] < (signed)imm)
+ pr[Pn] |= 2;
+ if (gp[Ra] < imm)
+ pr[Pn] |= 4;
+ }
+ imm_prefix = false;
+ return;
+ }
+ else if ((opcode & 0xF0)==0x30) { // BR
+ disp = ReadByte(pc);
+ pc++;
+ if (ex) {
+ disp = disp | ((opcode & 0x0F) << 8);
+ if (disp & 0x800)
+ disp |= 0xFFFFFFFFFFFFF000LL;
+ pc = pc + disp;
+ }
+ imm_prefix = false;
+ return;
+ }
+ else {
+ switch(opcode) {
+ case ADDUI:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ if (imm_prefix) {
+ imm |= ((b3 << 4)&0xF0) | ((b2 >> 4) & 0xF);
+ }
+ else {
+ imm = (b3 << 4) | ((b2 >> 4) & 0xF);
+ if (imm & 0x800)
+ imm |= 0xFFFFFFFFFFFFF000LL;
+ }
+ gp[Rt] = gp[Ra] + imm;
+ gp[0] = 0;
+ }
+ imm_prefix = false;
+ return;
+
+ case ADDUIS:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rt = Ra;
+ if (imm_prefix) {
+ imm |= ((b2 << 2)&0xFC) | ((b1 >> 6) & 0x3);
+ }
+ else {
+ imm = ((b2 << 2)&0x3FC) | ((b1 >> 6) & 0x3);
+ if (imm & 0x200)
+ imm |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ gp[Rt] = gp[Ra] + imm;
+ gp[0] = 0;
+ }
+ imm_prefix = false;
+ return;
+
+ case JSR:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ b4 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ct = b1 & 0x0F;
+ Cr = (b1 & 0xF0) >> 4;
+ if (Ct != 0)
+ ca[Ct] = pc;
+ disp = (b3 << 16) | (b2 << 8) | b1;
+ if (disp & 0x800000)
+ disp |= 0xFFFFFFFFFF000000LL;
+ if (imm_prefix) {
+ disp &= 0xFF;
+ disp |= imm;
+ }
+ ca[15] = pc;
+ pc = disp + ca[Cr];
+ }
+ imm_prefix = false;
+ return;
+
+ case JSRS:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ct = b1 & 0x0F;
+ Cr = (b1 & 0xF0) >> 4;
+ ca[Ct] = pc;
+ ca[0] = 0;
+ disp = (b3 << 8) | b2;
+ if (disp & 0x8000)
+ disp |= 0xFFFFFFFFFFFF0000LL;
+ if (imm_prefix) {
+ disp &= 0xFFLL;
+ disp |= imm;
+ }
+ ca[15] = pc;
+ pc = disp + ca[Cr] - 5;
+ }
+ imm_prefix = false;
+ return;
+
+ case JSRR:
+ b1 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ct = b1 & 0x0F;
+ Cr = (b1 & 0xF0) >> 4;
+ if (Ct != 0)
+ ca[Ct] = pc;
+ disp = 0;
+ if (imm_prefix) {
+ disp &= 0xFF;
+ disp |= imm;
+ }
+ ca[15] = pc;
+ pc = disp + ca[Cr];
+ }
+ imm_prefix = false;
+ return;
+
+ case LDIS:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Sprn = b1 & 0x3f;
+ if (imm_prefix) {
+ imm |= ((b2 << 2) & 0xFF) | ((b1 >> 6) & 3);
+ }
+ else {
+ imm = ((b2 << 2) & 0x3FF) | ((b1 >> 6) & 3);
+ if (imm & 0x200)
+ imm |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ if (Sprn < 16) {
+ pr[Sprn] = imm & 0xF;
+ }
+ else if (Sprn < 32) {
+ ca[Sprn-16] = imm;
+ ca[0] = 0;
+ ca[15] = pc;
+ }
+ else if (Sprn < 40) {
+ seg_base[Sprn-32] = imm & 0xFFFFFFFFFFFFF000LL;
+ }
+ else if (Sprn < 48) {
+ seg_limit[Sprn-40] = imm & 0xFFFFFFFFFFFFF000LL;
+ }
+ else {
+ switch(Sprn) {
+ case 51: lc = imm; break;
+ case 52:
+ for (nn = 0; nn < 16; nn++) {
+ pr[nn] = (imm >> (nn * 4)) & 0xF;
+ }
+ break;
+ case 60: bir = imm & 0xFFLL; break;
+ case 61:
+ switch(bir) {
+ case 0: dbad0 = imm; break;
+ case 1: dbad1 = imm; break;
+ case 2: dbad2 = imm; break;
+ case 3: dbad3 = imm; break;
+ case 4: dbctrl = imm; break;
+ case 5: dbstat = imm; break;
+ }
+ }
+ }
+ }
+ imm_prefix = false;
+ return;
+
+ case LDI:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rt = b1 & 0x3f;
+ if (imm_prefix) {
+ imm |= ((b2 << 2) & 0xFF) | ((b1 >> 6) & 3);
+ }
+ else {
+ imm = ((b2 << 2) & 0x3FF) | ((b1 >> 6) & 3);
+ if (imm & 0x200)
+ imm |= 0xFFFFFFFFFFFFFE00LL;
+ }
+ gp[Rt] = imm;
+ }
+ imm_prefix = false;
+ return;
+
+ case LH:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ dat = system1->Read(ea);
+ if (ea & 4)
+ dat = (dat >> 32);
+ if (ea & 2)
+ dat = (dat >> 16);
+ dat &= 0xFFFF;
+ if (dat & 0x8000LL)
+ dat |= 0xFFFFFFFFFFFF0000LL;
+ gp[Rt] = dat;
+ gp[0] = 0;
+ }
+ imm_prefix = false;
+ return;
+
+ case LLA:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ gp[Rt] = ea;
+ gp[0] = 0;
+ }
+ imm_prefix = false;
+ return;
+
+ case LOGIC:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rb = ((b2 << 2) & 0x3c) | (b1 >> 6);
+ Rt = (b2 >> 4) | ((b3 & 0x3) << 4);
+ func = b3 >> 2;
+ switch(func) {
+ case OR:
+ gp[Rt] = gp[Ra] | gp[Rb];
+ gp[0] = 0;
+ break;
+ }
+ }
+ imm_prefix = 0;
+ return;
+
+ case LOOP:
+ disp = ReadByte(pc);
+ pc++;
+ if (ex) {
+ if (disp & 0x80LL)
+ disp |= 0xFFFFFFFFFFFFFF00LL;
+ if (lc > 0) {
+ lc--;
+ pc = pc + disp;
+ }
+ }
+ imm_prefix = false;
+ return;
+
+ case MFSPR:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Sprn = b1 & 0x3f;
+ Rt = ((b2 & 0xF) << 2) | ((b1 >> 6) & 3);
+ if (Sprn < 16) {
+ gp[Rt] = pr[Sprn];
+ gp[0] = 0;
+ }
+ else if (Sprn < 32) {
+ Sprn -= 16;
+ gp[Rt] = ca[Sprn];
+ gp[0] = 0;
+ }
+ else if (Sprn < 40) {
+ gp[Rt] = seg_base[Sprn-32];
+ gp[0] = 0;
+ }
+ else if (Sprn < 48) {
+ gp[Rt] = seg_limit[Sprn-32];
+ gp[0] = 0;
+ }
+ else {
+ switch(Sprn) {
+ case 50: gp[Rt] = tick; gp[0] = 0; break;
+ case 51: gp[Rt] = lc; gp[0] = 0; break;
+ case 52:
+ gp[Rt] = 0;
+ for (nn = 0; nn < 16; nn++) {
+ gp[Rt] |= pr[nn] << (nn * 4);
+ }
+ gp[0] = 0;
+ break;
+ case 60: gp[Rt] = bir; gp[0] = 0; break;
+ case 61:
+ switch(bir) {
+ case 0: gp[Rt] = dbad0; gp[0] = 0; break;
+ case 1: gp[Rt] = dbad1; gp[0] = 0; break;
+ case 2: gp[Rt] = dbad2; gp[0] = 0; break;
+ case 3: gp[Rt] = dbad3; gp[0] = 0; break;
+ case 4: gp[Rt] = dbctrl; gp[0] = 0; break;
+ case 5: gp[Rt] = dbstat; gp[0] = 0; break;
+ }
+ }
+ }
+ }
+ imm_prefix = false;
+ return;
+
+ case MOV:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rt = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ gp[Rt] = gp[Ra];
+ gp[0] = 0;
+ }
+ imm_prefix = false;
+ return;
+
+ case MTSPR:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Sprn = ((b2 & 0xF) << 2) | ((b1 >> 6) & 3);
+ if (Sprn < 16)
+ pr[Sprn] = gp[Ra];
+ else if (Sprn < 32) {
+ Sprn -= 16;
+ ca[Sprn] = gp[Ra];
+ ca[0] = 0;
+ ca[15] = pc;
+ }
+ else if (Sprn < 40) {
+ seg_base[Sprn-32] = gp[Ra] & 0xFFFFFFFFFFFFF000LL;
+ }
+ else if (Sprn < 48) {
+ seg_limit[Sprn-32] = gp[Ra] & 0xFFFFFFFFFFFFF000LL;
+ }
+ else {
+ switch(Sprn) {
+ case 51: lc = gp[Ra]; break;
+ case 52:
+ for (nn = 0; nn < 16; nn++) {
+ pr[nn] = (gp[Ra] >> (nn * 4)) & 0xF;
+ }
+ break;
+ case 60: bir = gp[Ra] & 0xFFLL; break;
+ case 61:
+ switch(bir) {
+ case 0: dbad0 = gp[Ra]; break;
+ case 1: dbad1 = gp[Ra]; break;
+ case 2: dbad2 = gp[Ra]; break;
+ case 3: dbad3 = gp[Ra]; break;
+ case 4: dbctrl = gp[Ra]; break;
+ case 5: dbstat = gp[Ra]; break;
+ }
+ }
+ }
+ }
+ imm_prefix = false;
+ return;
+
+ case RR:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rb = ((b2 << 2) & 0x3c) | (b1 >> 6);
+ Rt = (b2 >> 4) | ((b3 & 0x3) << 4);
+ func = b3 >> 2;
+ switch(func) {
+ case _2ADDU:
+ gp[Rt] = (gp[Ra] << 1) + gp[Rb];
+ gp[0] = 0;
+ break;
+ case _4ADDU:
+ gp[Rt] = (gp[Ra] << 2) + gp[Rb];
+ gp[0] = 0;
+ break;
+ case _8ADDU:
+ gp[Rt] = (gp[Ra] << 3) + gp[Rb];
+ gp[0] = 0;
+ break;
+ case _16ADDU:
+ gp[Rt] = (gp[Ra] << 4) + gp[Rb];
+ gp[0] = 0;
+ break;
+ }
+ }
+ imm_prefix = 0;
+ return;
+
+ case RTS:
+ b1 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Cr = (b1 & 0xF0) >> 4;
+ pc = ca[Cr] + (b1 & 0x0F);
+ }
+ imm_prefix = 0;
+ return;
+
+ case RTSQ:
+ if (ex) {
+ pc = ca[1];
+ }
+ imm_prefix = 0;
+ return;
+
+ case SB:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ system1->Write(ea,gp[Rb],(0x1 << (ea & 7)) & 0xFF);
+ }
+ imm_prefix = false;
+ return;
+
+ case SC:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ system1->Write(ea,gp[Rb],(0x3 << (ea & 7)) & 0xFF);
+ }
+ imm_prefix = false;
+ return;
+
+ case SH:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ system1->Write(ea,gp[Rb],(0xF << (ea & 7)) & 0xFF);
+ }
+ imm_prefix = false;
+ return;
+
+ case SHIFT:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Ra = b1 & 0x3f;
+ Rb = ((b2 << 2) & 0x3c) | (b1 >> 6);
+ Rt = (b2 >> 4) | ((b3 & 0x3) << 4);
+ func = b3 >> 2;
+ switch(func) {
+ case SHL:
+ gp[Rt] = (gp[Ra] << (gp[Rb] & 0x3f));
+ gp[0] = 0;
+ break;
+ case SHLI:
+ gp[Rt] = (gp[Ra] << Rb);
+ gp[0] = 0;
+ break;
+ }
+ }
+ imm_prefix = false;
+ return;
+
+ case STP:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ imm_prefix = false;
+ return;
+
+ case SW:
+ b1 = ReadByte(pc);
+ pc++;
+ b2 = ReadByte(pc);
+ pc++;
+ b3 = ReadByte(pc);
+ pc++;
+ if (ex) {
+ Rb = ((b2 & 0xF) << 2) | (( b1 >> 6) & 3);
+ dRn(b1,b2,b3,&Ra,&Sg,&disp);
+ ea = (unsigned __int64) disp + seg_base[Sg] + gp[Ra];
+ system1->Write(ea,gp[Rb],(0xFF << (ea & 7)) & 0xFF);
+ }
+ imm_prefix = false;
+ return;
+
+ }
+ }
+}
Index: thor/trunk/software/emuThor/source/clsDisassem.h
===================================================================
--- thor/trunk/software/emuThor/source/clsDisassem.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsDisassem.h (revision 30)
@@ -0,0 +1,14 @@
+#pragma once
+#include "stdafx.h"
+
+class clsDisassem
+{
+ bool imm_prefix;
+ unsigned __int64 imm;
+ std::string PredCond(int cnd);
+ std::string SprName(int rg);
+ std::string dRn(int b1, int b2, int b3, int *Ra, int *Sg, __int64 *disp);
+ unsigned __int64 ReadByte(int ad) { return system1.ReadByte(ad); };
+public:
+ std::string Disassem(int ad, int *nb);
+};
Index: thor/trunk/software/emuThor/source/About.h
===================================================================
--- thor/trunk/software/emuThor/source/About.h (nonexistent)
+++ thor/trunk/software/emuThor/source/About.h (revision 30)
@@ -0,0 +1,146 @@
+#pragma once
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+
+ ///
+ /// Summary for About
+ ///
+ public ref class About : public System::Windows::Forms::Form
+ {
+ public:
+ About(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~About()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::Label^ label1;
+ protected:
+ private: System::Windows::Forms::Label^ label2;
+ private: System::Windows::Forms::LinkLabel^ linkLabel1;
+ private: System::Windows::Forms::Label^ label3;
+ private: System::Windows::Forms::Label^ label4;
+ private: System::Windows::Forms::Label^ label5;
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+ System::ComponentModel::Container ^components;
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(About::typeid));
+ this->label1 = (gcnew System::Windows::Forms::Label());
+ this->label2 = (gcnew System::Windows::Forms::Label());
+ this->linkLabel1 = (gcnew System::Windows::Forms::LinkLabel());
+ this->label3 = (gcnew System::Windows::Forms::Label());
+ this->label4 = (gcnew System::Windows::Forms::Label());
+ this->label5 = (gcnew System::Windows::Forms::Label());
+ this->SuspendLayout();
+ //
+ // label1
+ //
+ this->label1->AutoSize = true;
+ this->label1->Location = System::Drawing::Point(61, 31);
+ this->label1->Name = L"label1";
+ this->label1->Size = System::Drawing::Size(179, 13);
+ this->label1->TabIndex = 0;
+ this->label1->Text = L"emuThor Thor Test System Emulator";
+ //
+ // label2
+ //
+ this->label2->AutoSize = true;
+ this->label2->Location = System::Drawing::Point(89, 56);
+ this->label2->Name = L"label2";
+ this->label2->Size = System::Drawing::Size(111, 13);
+ this->label2->TabIndex = 1;
+ this->label2->Text = L"(C) 2016 Robert Finch";
+ //
+ // linkLabel1
+ //
+ this->linkLabel1->AutoSize = true;
+ this->linkLabel1->Location = System::Drawing::Point(89, 83);
+ this->linkLabel1->Name = L"linkLabel1";
+ this->linkLabel1->Size = System::Drawing::Size(111, 13);
+ this->linkLabel1->TabIndex = 2;
+ this->linkLabel1->TabStop = true;
+ this->linkLabel1->Text = L"http://www.finitron.ca";
+ //
+ // label3
+ //
+ this->label3->AutoSize = true;
+ this->label3->ForeColor = System::Drawing::Color::FromArgb(static_cast(static_cast(192)), static_cast(static_cast(64)),
+ static_cast(static_cast(0)));
+ this->label3->Location = System::Drawing::Point(12, 117);
+ this->label3->Name = L"label3";
+ this->label3->Size = System::Drawing::Size(180, 13);
+ this->label3->TabIndex = 3;
+ this->label3->Text = L"*Only partially complete and working.";
+ //
+ // label4
+ //
+ this->label4->AutoSize = true;
+ this->label4->Location = System::Drawing::Point(12, 141);
+ this->label4->Name = L"label4";
+ this->label4->Size = System::Drawing::Size(297, 52);
+ this->label4->TabIndex = 4;
+ this->label4->Text = resources->GetString(L"label4.Text");
+ //
+ // label5
+ //
+ this->label5->AutoSize = true;
+ this->label5->Location = System::Drawing::Point(12, 208);
+ this->label5->Name = L"label5";
+ this->label5->Size = System::Drawing::Size(267, 65);
+ this->label5->TabIndex = 5;
+ this->label5->Text = L"For an example:\r\n\r\nLoad a hex file (boot.hex) using the file menu.\r\nGoto the run "
+ L"menu and select reset to reset the system.\r\nThen single step via the single step"
+ L" toolbar button.";
+ //
+ // About
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->ClientSize = System::Drawing::Size(316, 291);
+ this->Controls->Add(this->label5);
+ this->Controls->Add(this->label4);
+ this->Controls->Add(this->label3);
+ this->Controls->Add(this->linkLabel1);
+ this->Controls->Add(this->label2);
+ this->Controls->Add(this->label1);
+ this->MaximizeBox = false;
+ this->Name = L"About";
+ this->Text = L"About";
+ this->ResumeLayout(false);
+ this->PerformLayout();
+
+ }
+#pragma endregion
+ };
+}
Index: thor/trunk/software/emuThor/source/frmRegisters.h
===================================================================
--- thor/trunk/software/emuThor/source/frmRegisters.h (nonexistent)
+++ thor/trunk/software/emuThor/source/frmRegisters.h (revision 30)
@@ -0,0 +1,3074 @@
+#pragma once
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+
+ ///
+ /// Summary for frmRegisters
+ ///
+ public ref class frmRegisters : public System::Windows::Forms::Form
+ {
+ public:
+ frmRegisters(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ char buf[100];
+ sprintf(buf, "%016I64X", cpu1.gp[1]);
+ txtR1->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[2]);
+ txtR2->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[3]);
+ txtR3->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[4]);
+ txtR4->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[5]);
+ txtR5->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[6]);
+ txtR6->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[7]);
+ txtR7->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.gp[8]);
+ txtR8->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.ca[1]);
+ txtCa1->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.ca[12]);
+ txtCa12->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.pc);
+ txtCa15->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.tick);
+ txtTick->Text = gcnew String(buf);
+ sprintf(buf, "%016I64X", cpu1.lc);
+ txtLC->Text = gcnew String(buf);
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~frmRegisters()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::TabControl^ tabControl1;
+ protected:
+ private: System::Windows::Forms::TabPage^ tabPage1;
+ private: System::Windows::Forms::TextBox^ txtR1;
+
+ private: System::Windows::Forms::Label^ label2;
+ private: System::Windows::Forms::TextBox^ txtR0;
+
+ private: System::Windows::Forms::Label^ label1;
+ private: System::Windows::Forms::TabPage^ tabPage2;
+ private: System::Windows::Forms::TextBox^ textBox49;
+ private: System::Windows::Forms::Label^ label49;
+ private: System::Windows::Forms::TextBox^ textBox50;
+ private: System::Windows::Forms::Label^ label50;
+ private: System::Windows::Forms::TextBox^ textBox51;
+ private: System::Windows::Forms::Label^ label51;
+ private: System::Windows::Forms::TextBox^ textBox52;
+ private: System::Windows::Forms::Label^ label52;
+ private: System::Windows::Forms::TextBox^ textBox53;
+ private: System::Windows::Forms::Label^ label53;
+ private: System::Windows::Forms::TextBox^ textBox54;
+ private: System::Windows::Forms::Label^ label54;
+ private: System::Windows::Forms::TextBox^ textBox55;
+ private: System::Windows::Forms::Label^ label55;
+ private: System::Windows::Forms::TextBox^ textBox56;
+ private: System::Windows::Forms::Label^ label56;
+ private: System::Windows::Forms::TextBox^ textBox57;
+ private: System::Windows::Forms::Label^ label57;
+ private: System::Windows::Forms::TextBox^ textBox58;
+ private: System::Windows::Forms::Label^ label58;
+ private: System::Windows::Forms::TextBox^ textBox59;
+ private: System::Windows::Forms::Label^ label59;
+ private: System::Windows::Forms::TextBox^ textBox60;
+ private: System::Windows::Forms::Label^ label60;
+ private: System::Windows::Forms::TextBox^ textBox61;
+ private: System::Windows::Forms::Label^ label61;
+ private: System::Windows::Forms::TextBox^ textBox62;
+ private: System::Windows::Forms::Label^ label62;
+ private: System::Windows::Forms::TextBox^ textBox63;
+ private: System::Windows::Forms::Label^ label63;
+ private: System::Windows::Forms::TextBox^ textBox64;
+ private: System::Windows::Forms::Label^ label64;
+ private: System::Windows::Forms::TextBox^ textBox33;
+ private: System::Windows::Forms::Label^ label33;
+ private: System::Windows::Forms::TextBox^ textBox34;
+ private: System::Windows::Forms::Label^ label34;
+ private: System::Windows::Forms::TextBox^ textBox35;
+ private: System::Windows::Forms::Label^ label35;
+ private: System::Windows::Forms::TextBox^ textBox36;
+ private: System::Windows::Forms::Label^ label36;
+ private: System::Windows::Forms::TextBox^ textBox37;
+ private: System::Windows::Forms::Label^ label37;
+ private: System::Windows::Forms::TextBox^ textBox38;
+ private: System::Windows::Forms::Label^ label38;
+ private: System::Windows::Forms::TextBox^ textBox39;
+ private: System::Windows::Forms::Label^ label39;
+ private: System::Windows::Forms::TextBox^ textBox40;
+ private: System::Windows::Forms::Label^ label40;
+ private: System::Windows::Forms::TextBox^ textBox41;
+ private: System::Windows::Forms::Label^ label41;
+ private: System::Windows::Forms::TextBox^ textBox42;
+ private: System::Windows::Forms::Label^ label42;
+ private: System::Windows::Forms::TextBox^ textBox43;
+ private: System::Windows::Forms::Label^ label43;
+ private: System::Windows::Forms::TextBox^ textBox44;
+ private: System::Windows::Forms::Label^ label44;
+ private: System::Windows::Forms::TextBox^ textBox45;
+ private: System::Windows::Forms::Label^ label45;
+ private: System::Windows::Forms::TextBox^ textBox46;
+ private: System::Windows::Forms::Label^ label46;
+ private: System::Windows::Forms::TextBox^ textBox47;
+ private: System::Windows::Forms::Label^ label47;
+ private: System::Windows::Forms::TextBox^ textBox48;
+ private: System::Windows::Forms::Label^ label48;
+ private: System::Windows::Forms::TextBox^ textBox17;
+ private: System::Windows::Forms::Label^ label17;
+ private: System::Windows::Forms::TextBox^ textBox18;
+ private: System::Windows::Forms::Label^ label18;
+ private: System::Windows::Forms::TextBox^ textBox19;
+ private: System::Windows::Forms::Label^ label19;
+ private: System::Windows::Forms::TextBox^ textBox20;
+ private: System::Windows::Forms::Label^ label20;
+private: System::Windows::Forms::TextBox^ txtR27;
+
+ private: System::Windows::Forms::Label^ label21;
+private: System::Windows::Forms::TextBox^ txtR26;
+
+ private: System::Windows::Forms::Label^ label22;
+private: System::Windows::Forms::TextBox^ txtR25;
+
+ private: System::Windows::Forms::Label^ label23;
+private: System::Windows::Forms::TextBox^ txtR24;
+
+ private: System::Windows::Forms::Label^ label24;
+private: System::Windows::Forms::TextBox^ txtR23;
+
+ private: System::Windows::Forms::Label^ label25;
+private: System::Windows::Forms::TextBox^ txtR22;
+
+ private: System::Windows::Forms::Label^ label26;
+private: System::Windows::Forms::TextBox^ txtR21;
+
+ private: System::Windows::Forms::Label^ label27;
+private: System::Windows::Forms::TextBox^ txtR20;
+
+ private: System::Windows::Forms::Label^ label28;
+private: System::Windows::Forms::TextBox^ txtR19;
+
+ private: System::Windows::Forms::Label^ label29;
+private: System::Windows::Forms::TextBox^ txtR18;
+
+ private: System::Windows::Forms::Label^ label30;
+private: System::Windows::Forms::TextBox^ txtR17;
+
+ private: System::Windows::Forms::Label^ label31;
+private: System::Windows::Forms::TextBox^ txtR16;
+
+ private: System::Windows::Forms::Label^ label32;
+private: System::Windows::Forms::TextBox^ txtR15;
+
+ private: System::Windows::Forms::Label^ label9;
+private: System::Windows::Forms::TextBox^ txtR14;
+
+ private: System::Windows::Forms::Label^ label10;
+private: System::Windows::Forms::TextBox^ txtR13;
+
+ private: System::Windows::Forms::Label^ label11;
+private: System::Windows::Forms::TextBox^ txtR12;
+
+ private: System::Windows::Forms::Label^ label12;
+private: System::Windows::Forms::TextBox^ txtR11;
+
+ private: System::Windows::Forms::Label^ label13;
+private: System::Windows::Forms::TextBox^ txtR10;
+
+ private: System::Windows::Forms::Label^ label14;
+private: System::Windows::Forms::TextBox^ txtR9;
+
+ private: System::Windows::Forms::Label^ label15;
+private: System::Windows::Forms::TextBox^ txtR8;
+
+ private: System::Windows::Forms::Label^ label16;
+private: System::Windows::Forms::TextBox^ txtR7;
+
+ private: System::Windows::Forms::Label^ label5;
+private: System::Windows::Forms::TextBox^ txtR6;
+
+ private: System::Windows::Forms::Label^ label6;
+private: System::Windows::Forms::TextBox^ txtR5;
+
+ private: System::Windows::Forms::Label^ label7;
+private: System::Windows::Forms::TextBox^ txtR4;
+
+ private: System::Windows::Forms::Label^ label8;
+private: System::Windows::Forms::TextBox^ txtR3;
+
+ private: System::Windows::Forms::Label^ label3;
+private: System::Windows::Forms::TextBox^ txtR2;
+
+ private: System::Windows::Forms::Label^ label4;
+private: System::Windows::Forms::Label^ label109;
+private: System::Windows::Forms::Label^ label108;
+private: System::Windows::Forms::Label^ label107;
+private: System::Windows::Forms::Label^ label106;
+private: System::Windows::Forms::Label^ label105;
+private: System::Windows::Forms::TextBox^ textBox94;
+private: System::Windows::Forms::TextBox^ txtCs;
+
+private: System::Windows::Forms::Label^ label104;
+private: System::Windows::Forms::TextBox^ textBox92;
+private: System::Windows::Forms::TextBox^ txtSs;
+
+private: System::Windows::Forms::Label^ label103;
+private: System::Windows::Forms::TextBox^ textBox90;
+private: System::Windows::Forms::TextBox^ txtHs;
+
+private: System::Windows::Forms::Label^ label102;
+private: System::Windows::Forms::TextBox^ textBox88;
+private: System::Windows::Forms::TextBox^ txtGs;
+
+private: System::Windows::Forms::Label^ label101;
+private: System::Windows::Forms::TextBox^ textBox86;
+private: System::Windows::Forms::TextBox^ txtFs;
+
+private: System::Windows::Forms::Label^ label100;
+private: System::Windows::Forms::TextBox^ textBox84;
+private: System::Windows::Forms::TextBox^ txtEs;
+
+private: System::Windows::Forms::Label^ label99;
+private: System::Windows::Forms::TextBox^ textBox82;
+private: System::Windows::Forms::TextBox^ txtDs;
+
+private: System::Windows::Forms::Label^ label98;
+private: System::Windows::Forms::TextBox^ textBox81;
+private: System::Windows::Forms::TextBox^ txtZs;
+
+private: System::Windows::Forms::Label^ label97;
+private: System::Windows::Forms::TextBox^ txtCa15;
+
+private: System::Windows::Forms::Label^ label96;
+private: System::Windows::Forms::TextBox^ txtCa14;
+
+private: System::Windows::Forms::Label^ label95;
+private: System::Windows::Forms::TextBox^ txtCa13;
+
+private: System::Windows::Forms::Label^ label94;
+private: System::Windows::Forms::TextBox^ txtCa12;
+
+private: System::Windows::Forms::Label^ label93;
+private: System::Windows::Forms::TextBox^ txtCa11;
+
+private: System::Windows::Forms::Label^ label92;
+private: System::Windows::Forms::TextBox^ txtCa10;
+
+private: System::Windows::Forms::Label^ label91;
+private: System::Windows::Forms::TextBox^ txtCa9;
+
+private: System::Windows::Forms::Label^ label90;
+private: System::Windows::Forms::TextBox^ txtCa8;
+
+private: System::Windows::Forms::Label^ label89;
+private: System::Windows::Forms::TextBox^ txtCa7;
+
+private: System::Windows::Forms::Label^ label88;
+private: System::Windows::Forms::TextBox^ txtCa6;
+
+private: System::Windows::Forms::Label^ label87;
+private: System::Windows::Forms::TextBox^ txtCa5;
+
+private: System::Windows::Forms::Label^ label86;
+private: System::Windows::Forms::TextBox^ txtCa4;
+
+private: System::Windows::Forms::Label^ label85;
+private: System::Windows::Forms::TextBox^ txtCa3;
+
+private: System::Windows::Forms::Label^ label84;
+private: System::Windows::Forms::TextBox^ txtCa2;
+
+private: System::Windows::Forms::Label^ label83;
+private: System::Windows::Forms::TextBox^ txtCa1;
+
+private: System::Windows::Forms::Label^ label82;
+private: System::Windows::Forms::TextBox^ textBox16;
+private: System::Windows::Forms::Label^ label81;
+private: System::Windows::Forms::TextBox^ textBox15;
+private: System::Windows::Forms::Label^ label80;
+private: System::Windows::Forms::TextBox^ textBox14;
+private: System::Windows::Forms::Label^ label79;
+private: System::Windows::Forms::TextBox^ textBox13;
+private: System::Windows::Forms::Label^ label78;
+private: System::Windows::Forms::TextBox^ textBox12;
+private: System::Windows::Forms::Label^ label77;
+private: System::Windows::Forms::TextBox^ textBox11;
+private: System::Windows::Forms::Label^ label76;
+private: System::Windows::Forms::TextBox^ textBox10;
+private: System::Windows::Forms::Label^ label75;
+private: System::Windows::Forms::TextBox^ textBox9;
+private: System::Windows::Forms::Label^ label74;
+private: System::Windows::Forms::TextBox^ textBox8;
+private: System::Windows::Forms::Label^ label73;
+private: System::Windows::Forms::TextBox^ txtP7;
+
+private: System::Windows::Forms::Label^ label72;
+private: System::Windows::Forms::TextBox^ txtP6;
+
+private: System::Windows::Forms::Label^ label71;
+private: System::Windows::Forms::TextBox^ txtP5;
+
+private: System::Windows::Forms::Label^ label70;
+private: System::Windows::Forms::TextBox^ txtP4;
+
+private: System::Windows::Forms::Label^ label69;
+private: System::Windows::Forms::TextBox^ txtP3;
+
+private: System::Windows::Forms::Label^ label68;
+private: System::Windows::Forms::TextBox^ txtP2;
+
+private: System::Windows::Forms::Label^ label67;
+private: System::Windows::Forms::TextBox^ txtP1;
+
+private: System::Windows::Forms::Label^ label66;
+private: System::Windows::Forms::TextBox^ txtP0;
+private: System::Windows::Forms::Label^ label65;
+private: System::Windows::Forms::Label^ label116;
+private: System::Windows::Forms::TextBox^ textBox101;
+private: System::Windows::Forms::Label^ label115;
+private: System::Windows::Forms::TextBox^ textBox100;
+private: System::Windows::Forms::Label^ label114;
+private: System::Windows::Forms::TextBox^ textBox99;
+private: System::Windows::Forms::Label^ label113;
+private: System::Windows::Forms::TextBox^ textBox98;
+private: System::Windows::Forms::Label^ label112;
+private: System::Windows::Forms::TextBox^ textBox97;
+private: System::Windows::Forms::Label^ label111;
+private: System::Windows::Forms::TextBox^ textBox96;
+private: System::Windows::Forms::Label^ label110;
+private: System::Windows::Forms::TextBox^ txtTick;
+private: System::Windows::Forms::Label^ label118;
+private: System::Windows::Forms::TextBox^ txtLC;
+private: System::Windows::Forms::Label^ label117;
+
+ protected:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+ System::ComponentModel::Container ^components;
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ this->tabControl1 = (gcnew System::Windows::Forms::TabControl());
+ this->tabPage1 = (gcnew System::Windows::Forms::TabPage());
+ this->textBox49 = (gcnew System::Windows::Forms::TextBox());
+ this->label49 = (gcnew System::Windows::Forms::Label());
+ this->textBox50 = (gcnew System::Windows::Forms::TextBox());
+ this->label50 = (gcnew System::Windows::Forms::Label());
+ this->textBox51 = (gcnew System::Windows::Forms::TextBox());
+ this->label51 = (gcnew System::Windows::Forms::Label());
+ this->textBox52 = (gcnew System::Windows::Forms::TextBox());
+ this->label52 = (gcnew System::Windows::Forms::Label());
+ this->textBox53 = (gcnew System::Windows::Forms::TextBox());
+ this->label53 = (gcnew System::Windows::Forms::Label());
+ this->textBox54 = (gcnew System::Windows::Forms::TextBox());
+ this->label54 = (gcnew System::Windows::Forms::Label());
+ this->textBox55 = (gcnew System::Windows::Forms::TextBox());
+ this->label55 = (gcnew System::Windows::Forms::Label());
+ this->textBox56 = (gcnew System::Windows::Forms::TextBox());
+ this->label56 = (gcnew System::Windows::Forms::Label());
+ this->textBox57 = (gcnew System::Windows::Forms::TextBox());
+ this->label57 = (gcnew System::Windows::Forms::Label());
+ this->textBox58 = (gcnew System::Windows::Forms::TextBox());
+ this->label58 = (gcnew System::Windows::Forms::Label());
+ this->textBox59 = (gcnew System::Windows::Forms::TextBox());
+ this->label59 = (gcnew System::Windows::Forms::Label());
+ this->textBox60 = (gcnew System::Windows::Forms::TextBox());
+ this->label60 = (gcnew System::Windows::Forms::Label());
+ this->textBox61 = (gcnew System::Windows::Forms::TextBox());
+ this->label61 = (gcnew System::Windows::Forms::Label());
+ this->textBox62 = (gcnew System::Windows::Forms::TextBox());
+ this->label62 = (gcnew System::Windows::Forms::Label());
+ this->textBox63 = (gcnew System::Windows::Forms::TextBox());
+ this->label63 = (gcnew System::Windows::Forms::Label());
+ this->textBox64 = (gcnew System::Windows::Forms::TextBox());
+ this->label64 = (gcnew System::Windows::Forms::Label());
+ this->textBox33 = (gcnew System::Windows::Forms::TextBox());
+ this->label33 = (gcnew System::Windows::Forms::Label());
+ this->textBox34 = (gcnew System::Windows::Forms::TextBox());
+ this->label34 = (gcnew System::Windows::Forms::Label());
+ this->textBox35 = (gcnew System::Windows::Forms::TextBox());
+ this->label35 = (gcnew System::Windows::Forms::Label());
+ this->textBox36 = (gcnew System::Windows::Forms::TextBox());
+ this->label36 = (gcnew System::Windows::Forms::Label());
+ this->textBox37 = (gcnew System::Windows::Forms::TextBox());
+ this->label37 = (gcnew System::Windows::Forms::Label());
+ this->textBox38 = (gcnew System::Windows::Forms::TextBox());
+ this->label38 = (gcnew System::Windows::Forms::Label());
+ this->textBox39 = (gcnew System::Windows::Forms::TextBox());
+ this->label39 = (gcnew System::Windows::Forms::Label());
+ this->textBox40 = (gcnew System::Windows::Forms::TextBox());
+ this->label40 = (gcnew System::Windows::Forms::Label());
+ this->textBox41 = (gcnew System::Windows::Forms::TextBox());
+ this->label41 = (gcnew System::Windows::Forms::Label());
+ this->textBox42 = (gcnew System::Windows::Forms::TextBox());
+ this->label42 = (gcnew System::Windows::Forms::Label());
+ this->textBox43 = (gcnew System::Windows::Forms::TextBox());
+ this->label43 = (gcnew System::Windows::Forms::Label());
+ this->textBox44 = (gcnew System::Windows::Forms::TextBox());
+ this->label44 = (gcnew System::Windows::Forms::Label());
+ this->textBox45 = (gcnew System::Windows::Forms::TextBox());
+ this->label45 = (gcnew System::Windows::Forms::Label());
+ this->textBox46 = (gcnew System::Windows::Forms::TextBox());
+ this->label46 = (gcnew System::Windows::Forms::Label());
+ this->textBox47 = (gcnew System::Windows::Forms::TextBox());
+ this->label47 = (gcnew System::Windows::Forms::Label());
+ this->textBox48 = (gcnew System::Windows::Forms::TextBox());
+ this->label48 = (gcnew System::Windows::Forms::Label());
+ this->textBox17 = (gcnew System::Windows::Forms::TextBox());
+ this->label17 = (gcnew System::Windows::Forms::Label());
+ this->textBox18 = (gcnew System::Windows::Forms::TextBox());
+ this->label18 = (gcnew System::Windows::Forms::Label());
+ this->textBox19 = (gcnew System::Windows::Forms::TextBox());
+ this->label19 = (gcnew System::Windows::Forms::Label());
+ this->textBox20 = (gcnew System::Windows::Forms::TextBox());
+ this->label20 = (gcnew System::Windows::Forms::Label());
+ this->txtR27 = (gcnew System::Windows::Forms::TextBox());
+ this->label21 = (gcnew System::Windows::Forms::Label());
+ this->txtR26 = (gcnew System::Windows::Forms::TextBox());
+ this->label22 = (gcnew System::Windows::Forms::Label());
+ this->txtR25 = (gcnew System::Windows::Forms::TextBox());
+ this->label23 = (gcnew System::Windows::Forms::Label());
+ this->txtR24 = (gcnew System::Windows::Forms::TextBox());
+ this->label24 = (gcnew System::Windows::Forms::Label());
+ this->txtR23 = (gcnew System::Windows::Forms::TextBox());
+ this->label25 = (gcnew System::Windows::Forms::Label());
+ this->txtR22 = (gcnew System::Windows::Forms::TextBox());
+ this->label26 = (gcnew System::Windows::Forms::Label());
+ this->txtR21 = (gcnew System::Windows::Forms::TextBox());
+ this->label27 = (gcnew System::Windows::Forms::Label());
+ this->txtR20 = (gcnew System::Windows::Forms::TextBox());
+ this->label28 = (gcnew System::Windows::Forms::Label());
+ this->txtR19 = (gcnew System::Windows::Forms::TextBox());
+ this->label29 = (gcnew System::Windows::Forms::Label());
+ this->txtR18 = (gcnew System::Windows::Forms::TextBox());
+ this->label30 = (gcnew System::Windows::Forms::Label());
+ this->txtR17 = (gcnew System::Windows::Forms::TextBox());
+ this->label31 = (gcnew System::Windows::Forms::Label());
+ this->txtR16 = (gcnew System::Windows::Forms::TextBox());
+ this->label32 = (gcnew System::Windows::Forms::Label());
+ this->txtR15 = (gcnew System::Windows::Forms::TextBox());
+ this->label9 = (gcnew System::Windows::Forms::Label());
+ this->txtR14 = (gcnew System::Windows::Forms::TextBox());
+ this->label10 = (gcnew System::Windows::Forms::Label());
+ this->txtR13 = (gcnew System::Windows::Forms::TextBox());
+ this->label11 = (gcnew System::Windows::Forms::Label());
+ this->txtR12 = (gcnew System::Windows::Forms::TextBox());
+ this->label12 = (gcnew System::Windows::Forms::Label());
+ this->txtR11 = (gcnew System::Windows::Forms::TextBox());
+ this->label13 = (gcnew System::Windows::Forms::Label());
+ this->txtR10 = (gcnew System::Windows::Forms::TextBox());
+ this->label14 = (gcnew System::Windows::Forms::Label());
+ this->txtR9 = (gcnew System::Windows::Forms::TextBox());
+ this->label15 = (gcnew System::Windows::Forms::Label());
+ this->txtR8 = (gcnew System::Windows::Forms::TextBox());
+ this->label16 = (gcnew System::Windows::Forms::Label());
+ this->txtR7 = (gcnew System::Windows::Forms::TextBox());
+ this->label5 = (gcnew System::Windows::Forms::Label());
+ this->txtR6 = (gcnew System::Windows::Forms::TextBox());
+ this->label6 = (gcnew System::Windows::Forms::Label());
+ this->txtR5 = (gcnew System::Windows::Forms::TextBox());
+ this->label7 = (gcnew System::Windows::Forms::Label());
+ this->txtR4 = (gcnew System::Windows::Forms::TextBox());
+ this->label8 = (gcnew System::Windows::Forms::Label());
+ this->txtR3 = (gcnew System::Windows::Forms::TextBox());
+ this->label3 = (gcnew System::Windows::Forms::Label());
+ this->txtR2 = (gcnew System::Windows::Forms::TextBox());
+ this->label4 = (gcnew System::Windows::Forms::Label());
+ this->txtR1 = (gcnew System::Windows::Forms::TextBox());
+ this->label2 = (gcnew System::Windows::Forms::Label());
+ this->txtR0 = (gcnew System::Windows::Forms::TextBox());
+ this->label1 = (gcnew System::Windows::Forms::Label());
+ this->tabPage2 = (gcnew System::Windows::Forms::TabPage());
+ this->txtTick = (gcnew System::Windows::Forms::TextBox());
+ this->label118 = (gcnew System::Windows::Forms::Label());
+ this->txtLC = (gcnew System::Windows::Forms::TextBox());
+ this->label117 = (gcnew System::Windows::Forms::Label());
+ this->label116 = (gcnew System::Windows::Forms::Label());
+ this->textBox101 = (gcnew System::Windows::Forms::TextBox());
+ this->label115 = (gcnew System::Windows::Forms::Label());
+ this->textBox100 = (gcnew System::Windows::Forms::TextBox());
+ this->label114 = (gcnew System::Windows::Forms::Label());
+ this->textBox99 = (gcnew System::Windows::Forms::TextBox());
+ this->label113 = (gcnew System::Windows::Forms::Label());
+ this->textBox98 = (gcnew System::Windows::Forms::TextBox());
+ this->label112 = (gcnew System::Windows::Forms::Label());
+ this->textBox97 = (gcnew System::Windows::Forms::TextBox());
+ this->label111 = (gcnew System::Windows::Forms::Label());
+ this->textBox96 = (gcnew System::Windows::Forms::TextBox());
+ this->label110 = (gcnew System::Windows::Forms::Label());
+ this->label109 = (gcnew System::Windows::Forms::Label());
+ this->label108 = (gcnew System::Windows::Forms::Label());
+ this->label107 = (gcnew System::Windows::Forms::Label());
+ this->label106 = (gcnew System::Windows::Forms::Label());
+ this->label105 = (gcnew System::Windows::Forms::Label());
+ this->textBox94 = (gcnew System::Windows::Forms::TextBox());
+ this->txtCs = (gcnew System::Windows::Forms::TextBox());
+ this->label104 = (gcnew System::Windows::Forms::Label());
+ this->textBox92 = (gcnew System::Windows::Forms::TextBox());
+ this->txtSs = (gcnew System::Windows::Forms::TextBox());
+ this->label103 = (gcnew System::Windows::Forms::Label());
+ this->textBox90 = (gcnew System::Windows::Forms::TextBox());
+ this->txtHs = (gcnew System::Windows::Forms::TextBox());
+ this->label102 = (gcnew System::Windows::Forms::Label());
+ this->textBox88 = (gcnew System::Windows::Forms::TextBox());
+ this->txtGs = (gcnew System::Windows::Forms::TextBox());
+ this->label101 = (gcnew System::Windows::Forms::Label());
+ this->textBox86 = (gcnew System::Windows::Forms::TextBox());
+ this->txtFs = (gcnew System::Windows::Forms::TextBox());
+ this->label100 = (gcnew System::Windows::Forms::Label());
+ this->textBox84 = (gcnew System::Windows::Forms::TextBox());
+ this->txtEs = (gcnew System::Windows::Forms::TextBox());
+ this->label99 = (gcnew System::Windows::Forms::Label());
+ this->textBox82 = (gcnew System::Windows::Forms::TextBox());
+ this->txtDs = (gcnew System::Windows::Forms::TextBox());
+ this->label98 = (gcnew System::Windows::Forms::Label());
+ this->textBox81 = (gcnew System::Windows::Forms::TextBox());
+ this->txtZs = (gcnew System::Windows::Forms::TextBox());
+ this->label97 = (gcnew System::Windows::Forms::Label());
+ this->txtCa15 = (gcnew System::Windows::Forms::TextBox());
+ this->label96 = (gcnew System::Windows::Forms::Label());
+ this->txtCa14 = (gcnew System::Windows::Forms::TextBox());
+ this->label95 = (gcnew System::Windows::Forms::Label());
+ this->txtCa13 = (gcnew System::Windows::Forms::TextBox());
+ this->label94 = (gcnew System::Windows::Forms::Label());
+ this->txtCa12 = (gcnew System::Windows::Forms::TextBox());
+ this->label93 = (gcnew System::Windows::Forms::Label());
+ this->txtCa11 = (gcnew System::Windows::Forms::TextBox());
+ this->label92 = (gcnew System::Windows::Forms::Label());
+ this->txtCa10 = (gcnew System::Windows::Forms::TextBox());
+ this->label91 = (gcnew System::Windows::Forms::Label());
+ this->txtCa9 = (gcnew System::Windows::Forms::TextBox());
+ this->label90 = (gcnew System::Windows::Forms::Label());
+ this->txtCa8 = (gcnew System::Windows::Forms::TextBox());
+ this->label89 = (gcnew System::Windows::Forms::Label());
+ this->txtCa7 = (gcnew System::Windows::Forms::TextBox());
+ this->label88 = (gcnew System::Windows::Forms::Label());
+ this->txtCa6 = (gcnew System::Windows::Forms::TextBox());
+ this->label87 = (gcnew System::Windows::Forms::Label());
+ this->txtCa5 = (gcnew System::Windows::Forms::TextBox());
+ this->label86 = (gcnew System::Windows::Forms::Label());
+ this->txtCa4 = (gcnew System::Windows::Forms::TextBox());
+ this->label85 = (gcnew System::Windows::Forms::Label());
+ this->txtCa3 = (gcnew System::Windows::Forms::TextBox());
+ this->label84 = (gcnew System::Windows::Forms::Label());
+ this->txtCa2 = (gcnew System::Windows::Forms::TextBox());
+ this->label83 = (gcnew System::Windows::Forms::Label());
+ this->txtCa1 = (gcnew System::Windows::Forms::TextBox());
+ this->label82 = (gcnew System::Windows::Forms::Label());
+ this->textBox16 = (gcnew System::Windows::Forms::TextBox());
+ this->label81 = (gcnew System::Windows::Forms::Label());
+ this->textBox15 = (gcnew System::Windows::Forms::TextBox());
+ this->label80 = (gcnew System::Windows::Forms::Label());
+ this->textBox14 = (gcnew System::Windows::Forms::TextBox());
+ this->label79 = (gcnew System::Windows::Forms::Label());
+ this->textBox13 = (gcnew System::Windows::Forms::TextBox());
+ this->label78 = (gcnew System::Windows::Forms::Label());
+ this->textBox12 = (gcnew System::Windows::Forms::TextBox());
+ this->label77 = (gcnew System::Windows::Forms::Label());
+ this->textBox11 = (gcnew System::Windows::Forms::TextBox());
+ this->label76 = (gcnew System::Windows::Forms::Label());
+ this->textBox10 = (gcnew System::Windows::Forms::TextBox());
+ this->label75 = (gcnew System::Windows::Forms::Label());
+ this->textBox9 = (gcnew System::Windows::Forms::TextBox());
+ this->label74 = (gcnew System::Windows::Forms::Label());
+ this->textBox8 = (gcnew System::Windows::Forms::TextBox());
+ this->label73 = (gcnew System::Windows::Forms::Label());
+ this->txtP7 = (gcnew System::Windows::Forms::TextBox());
+ this->label72 = (gcnew System::Windows::Forms::Label());
+ this->txtP6 = (gcnew System::Windows::Forms::TextBox());
+ this->label71 = (gcnew System::Windows::Forms::Label());
+ this->txtP5 = (gcnew System::Windows::Forms::TextBox());
+ this->label70 = (gcnew System::Windows::Forms::Label());
+ this->txtP4 = (gcnew System::Windows::Forms::TextBox());
+ this->label69 = (gcnew System::Windows::Forms::Label());
+ this->txtP3 = (gcnew System::Windows::Forms::TextBox());
+ this->label68 = (gcnew System::Windows::Forms::Label());
+ this->txtP2 = (gcnew System::Windows::Forms::TextBox());
+ this->label67 = (gcnew System::Windows::Forms::Label());
+ this->txtP1 = (gcnew System::Windows::Forms::TextBox());
+ this->label66 = (gcnew System::Windows::Forms::Label());
+ this->txtP0 = (gcnew System::Windows::Forms::TextBox());
+ this->label65 = (gcnew System::Windows::Forms::Label());
+ this->tabControl1->SuspendLayout();
+ this->tabPage1->SuspendLayout();
+ this->tabPage2->SuspendLayout();
+ this->SuspendLayout();
+ //
+ // tabControl1
+ //
+ this->tabControl1->Controls->Add(this->tabPage1);
+ this->tabControl1->Controls->Add(this->tabPage2);
+ this->tabControl1->Location = System::Drawing::Point(12, 12);
+ this->tabControl1->Name = L"tabControl1";
+ this->tabControl1->SelectedIndex = 0;
+ this->tabControl1->Size = System::Drawing::Size(743, 507);
+ this->tabControl1->TabIndex = 0;
+ //
+ // tabPage1
+ //
+ this->tabPage1->Controls->Add(this->textBox49);
+ this->tabPage1->Controls->Add(this->label49);
+ this->tabPage1->Controls->Add(this->textBox50);
+ this->tabPage1->Controls->Add(this->label50);
+ this->tabPage1->Controls->Add(this->textBox51);
+ this->tabPage1->Controls->Add(this->label51);
+ this->tabPage1->Controls->Add(this->textBox52);
+ this->tabPage1->Controls->Add(this->label52);
+ this->tabPage1->Controls->Add(this->textBox53);
+ this->tabPage1->Controls->Add(this->label53);
+ this->tabPage1->Controls->Add(this->textBox54);
+ this->tabPage1->Controls->Add(this->label54);
+ this->tabPage1->Controls->Add(this->textBox55);
+ this->tabPage1->Controls->Add(this->label55);
+ this->tabPage1->Controls->Add(this->textBox56);
+ this->tabPage1->Controls->Add(this->label56);
+ this->tabPage1->Controls->Add(this->textBox57);
+ this->tabPage1->Controls->Add(this->label57);
+ this->tabPage1->Controls->Add(this->textBox58);
+ this->tabPage1->Controls->Add(this->label58);
+ this->tabPage1->Controls->Add(this->textBox59);
+ this->tabPage1->Controls->Add(this->label59);
+ this->tabPage1->Controls->Add(this->textBox60);
+ this->tabPage1->Controls->Add(this->label60);
+ this->tabPage1->Controls->Add(this->textBox61);
+ this->tabPage1->Controls->Add(this->label61);
+ this->tabPage1->Controls->Add(this->textBox62);
+ this->tabPage1->Controls->Add(this->label62);
+ this->tabPage1->Controls->Add(this->textBox63);
+ this->tabPage1->Controls->Add(this->label63);
+ this->tabPage1->Controls->Add(this->textBox64);
+ this->tabPage1->Controls->Add(this->label64);
+ this->tabPage1->Controls->Add(this->textBox33);
+ this->tabPage1->Controls->Add(this->label33);
+ this->tabPage1->Controls->Add(this->textBox34);
+ this->tabPage1->Controls->Add(this->label34);
+ this->tabPage1->Controls->Add(this->textBox35);
+ this->tabPage1->Controls->Add(this->label35);
+ this->tabPage1->Controls->Add(this->textBox36);
+ this->tabPage1->Controls->Add(this->label36);
+ this->tabPage1->Controls->Add(this->textBox37);
+ this->tabPage1->Controls->Add(this->label37);
+ this->tabPage1->Controls->Add(this->textBox38);
+ this->tabPage1->Controls->Add(this->label38);
+ this->tabPage1->Controls->Add(this->textBox39);
+ this->tabPage1->Controls->Add(this->label39);
+ this->tabPage1->Controls->Add(this->textBox40);
+ this->tabPage1->Controls->Add(this->label40);
+ this->tabPage1->Controls->Add(this->textBox41);
+ this->tabPage1->Controls->Add(this->label41);
+ this->tabPage1->Controls->Add(this->textBox42);
+ this->tabPage1->Controls->Add(this->label42);
+ this->tabPage1->Controls->Add(this->textBox43);
+ this->tabPage1->Controls->Add(this->label43);
+ this->tabPage1->Controls->Add(this->textBox44);
+ this->tabPage1->Controls->Add(this->label44);
+ this->tabPage1->Controls->Add(this->textBox45);
+ this->tabPage1->Controls->Add(this->label45);
+ this->tabPage1->Controls->Add(this->textBox46);
+ this->tabPage1->Controls->Add(this->label46);
+ this->tabPage1->Controls->Add(this->textBox47);
+ this->tabPage1->Controls->Add(this->label47);
+ this->tabPage1->Controls->Add(this->textBox48);
+ this->tabPage1->Controls->Add(this->label48);
+ this->tabPage1->Controls->Add(this->textBox17);
+ this->tabPage1->Controls->Add(this->label17);
+ this->tabPage1->Controls->Add(this->textBox18);
+ this->tabPage1->Controls->Add(this->label18);
+ this->tabPage1->Controls->Add(this->textBox19);
+ this->tabPage1->Controls->Add(this->label19);
+ this->tabPage1->Controls->Add(this->textBox20);
+ this->tabPage1->Controls->Add(this->label20);
+ this->tabPage1->Controls->Add(this->txtR27);
+ this->tabPage1->Controls->Add(this->label21);
+ this->tabPage1->Controls->Add(this->txtR26);
+ this->tabPage1->Controls->Add(this->label22);
+ this->tabPage1->Controls->Add(this->txtR25);
+ this->tabPage1->Controls->Add(this->label23);
+ this->tabPage1->Controls->Add(this->txtR24);
+ this->tabPage1->Controls->Add(this->label24);
+ this->tabPage1->Controls->Add(this->txtR23);
+ this->tabPage1->Controls->Add(this->label25);
+ this->tabPage1->Controls->Add(this->txtR22);
+ this->tabPage1->Controls->Add(this->label26);
+ this->tabPage1->Controls->Add(this->txtR21);
+ this->tabPage1->Controls->Add(this->label27);
+ this->tabPage1->Controls->Add(this->txtR20);
+ this->tabPage1->Controls->Add(this->label28);
+ this->tabPage1->Controls->Add(this->txtR19);
+ this->tabPage1->Controls->Add(this->label29);
+ this->tabPage1->Controls->Add(this->txtR18);
+ this->tabPage1->Controls->Add(this->label30);
+ this->tabPage1->Controls->Add(this->txtR17);
+ this->tabPage1->Controls->Add(this->label31);
+ this->tabPage1->Controls->Add(this->txtR16);
+ this->tabPage1->Controls->Add(this->label32);
+ this->tabPage1->Controls->Add(this->txtR15);
+ this->tabPage1->Controls->Add(this->label9);
+ this->tabPage1->Controls->Add(this->txtR14);
+ this->tabPage1->Controls->Add(this->label10);
+ this->tabPage1->Controls->Add(this->txtR13);
+ this->tabPage1->Controls->Add(this->label11);
+ this->tabPage1->Controls->Add(this->txtR12);
+ this->tabPage1->Controls->Add(this->label12);
+ this->tabPage1->Controls->Add(this->txtR11);
+ this->tabPage1->Controls->Add(this->label13);
+ this->tabPage1->Controls->Add(this->txtR10);
+ this->tabPage1->Controls->Add(this->label14);
+ this->tabPage1->Controls->Add(this->txtR9);
+ this->tabPage1->Controls->Add(this->label15);
+ this->tabPage1->Controls->Add(this->txtR8);
+ this->tabPage1->Controls->Add(this->label16);
+ this->tabPage1->Controls->Add(this->txtR7);
+ this->tabPage1->Controls->Add(this->label5);
+ this->tabPage1->Controls->Add(this->txtR6);
+ this->tabPage1->Controls->Add(this->label6);
+ this->tabPage1->Controls->Add(this->txtR5);
+ this->tabPage1->Controls->Add(this->label7);
+ this->tabPage1->Controls->Add(this->txtR4);
+ this->tabPage1->Controls->Add(this->label8);
+ this->tabPage1->Controls->Add(this->txtR3);
+ this->tabPage1->Controls->Add(this->label3);
+ this->tabPage1->Controls->Add(this->txtR2);
+ this->tabPage1->Controls->Add(this->label4);
+ this->tabPage1->Controls->Add(this->txtR1);
+ this->tabPage1->Controls->Add(this->label2);
+ this->tabPage1->Controls->Add(this->txtR0);
+ this->tabPage1->Controls->Add(this->label1);
+ this->tabPage1->Location = System::Drawing::Point(4, 22);
+ this->tabPage1->Name = L"tabPage1";
+ this->tabPage1->Padding = System::Windows::Forms::Padding(3);
+ this->tabPage1->Size = System::Drawing::Size(735, 481);
+ this->tabPage1->TabIndex = 0;
+ this->tabPage1->Text = L"General Registers";
+ this->tabPage1->UseVisualStyleBackColor = true;
+ //
+ // textBox49
+ //
+ this->textBox49->Location = System::Drawing::Point(516, 403);
+ this->textBox49->Name = L"textBox49";
+ this->textBox49->Size = System::Drawing::Size(121, 20);
+ this->textBox49->TabIndex = 127;
+ this->textBox49->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label49
+ //
+ this->label49->AutoSize = true;
+ this->label49->Location = System::Drawing::Point(489, 406);
+ this->label49->Name = L"label49";
+ this->label49->Size = System::Drawing::Size(27, 13);
+ this->label49->TabIndex = 126;
+ this->label49->Text = L"R63";
+ //
+ // textBox50
+ //
+ this->textBox50->Location = System::Drawing::Point(516, 377);
+ this->textBox50->Name = L"textBox50";
+ this->textBox50->Size = System::Drawing::Size(121, 20);
+ this->textBox50->TabIndex = 125;
+ this->textBox50->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label50
+ //
+ this->label50->AutoSize = true;
+ this->label50->Location = System::Drawing::Point(489, 380);
+ this->label50->Name = L"label50";
+ this->label50->Size = System::Drawing::Size(27, 13);
+ this->label50->TabIndex = 124;
+ this->label50->Text = L"R62";
+ //
+ // textBox51
+ //
+ this->textBox51->Location = System::Drawing::Point(516, 351);
+ this->textBox51->Name = L"textBox51";
+ this->textBox51->Size = System::Drawing::Size(121, 20);
+ this->textBox51->TabIndex = 123;
+ this->textBox51->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label51
+ //
+ this->label51->AutoSize = true;
+ this->label51->Location = System::Drawing::Point(489, 354);
+ this->label51->Name = L"label51";
+ this->label51->Size = System::Drawing::Size(27, 13);
+ this->label51->TabIndex = 122;
+ this->label51->Text = L"R61";
+ //
+ // textBox52
+ //
+ this->textBox52->Location = System::Drawing::Point(516, 325);
+ this->textBox52->Name = L"textBox52";
+ this->textBox52->Size = System::Drawing::Size(121, 20);
+ this->textBox52->TabIndex = 121;
+ this->textBox52->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label52
+ //
+ this->label52->AutoSize = true;
+ this->label52->Location = System::Drawing::Point(489, 328);
+ this->label52->Name = L"label52";
+ this->label52->Size = System::Drawing::Size(27, 13);
+ this->label52->TabIndex = 120;
+ this->label52->Text = L"R60";
+ //
+ // textBox53
+ //
+ this->textBox53->Location = System::Drawing::Point(516, 299);
+ this->textBox53->Name = L"textBox53";
+ this->textBox53->Size = System::Drawing::Size(121, 20);
+ this->textBox53->TabIndex = 119;
+ this->textBox53->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label53
+ //
+ this->label53->AutoSize = true;
+ this->label53->Location = System::Drawing::Point(489, 302);
+ this->label53->Name = L"label53";
+ this->label53->Size = System::Drawing::Size(27, 13);
+ this->label53->TabIndex = 118;
+ this->label53->Text = L"R59";
+ //
+ // textBox54
+ //
+ this->textBox54->Location = System::Drawing::Point(516, 273);
+ this->textBox54->Name = L"textBox54";
+ this->textBox54->Size = System::Drawing::Size(121, 20);
+ this->textBox54->TabIndex = 117;
+ this->textBox54->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label54
+ //
+ this->label54->AutoSize = true;
+ this->label54->Location = System::Drawing::Point(489, 276);
+ this->label54->Name = L"label54";
+ this->label54->Size = System::Drawing::Size(27, 13);
+ this->label54->TabIndex = 116;
+ this->label54->Text = L"R58";
+ //
+ // textBox55
+ //
+ this->textBox55->Location = System::Drawing::Point(516, 247);
+ this->textBox55->Name = L"textBox55";
+ this->textBox55->Size = System::Drawing::Size(121, 20);
+ this->textBox55->TabIndex = 115;
+ this->textBox55->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label55
+ //
+ this->label55->AutoSize = true;
+ this->label55->Location = System::Drawing::Point(489, 250);
+ this->label55->Name = L"label55";
+ this->label55->Size = System::Drawing::Size(27, 13);
+ this->label55->TabIndex = 114;
+ this->label55->Text = L"R57";
+ //
+ // textBox56
+ //
+ this->textBox56->Location = System::Drawing::Point(516, 221);
+ this->textBox56->Name = L"textBox56";
+ this->textBox56->Size = System::Drawing::Size(121, 20);
+ this->textBox56->TabIndex = 113;
+ this->textBox56->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label56
+ //
+ this->label56->AutoSize = true;
+ this->label56->Location = System::Drawing::Point(489, 224);
+ this->label56->Name = L"label56";
+ this->label56->Size = System::Drawing::Size(27, 13);
+ this->label56->TabIndex = 112;
+ this->label56->Text = L"R56";
+ //
+ // textBox57
+ //
+ this->textBox57->Location = System::Drawing::Point(516, 195);
+ this->textBox57->Name = L"textBox57";
+ this->textBox57->Size = System::Drawing::Size(121, 20);
+ this->textBox57->TabIndex = 111;
+ this->textBox57->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label57
+ //
+ this->label57->AutoSize = true;
+ this->label57->Location = System::Drawing::Point(489, 198);
+ this->label57->Name = L"label57";
+ this->label57->Size = System::Drawing::Size(27, 13);
+ this->label57->TabIndex = 110;
+ this->label57->Text = L"R55";
+ //
+ // textBox58
+ //
+ this->textBox58->Location = System::Drawing::Point(516, 169);
+ this->textBox58->Name = L"textBox58";
+ this->textBox58->Size = System::Drawing::Size(121, 20);
+ this->textBox58->TabIndex = 109;
+ this->textBox58->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label58
+ //
+ this->label58->AutoSize = true;
+ this->label58->Location = System::Drawing::Point(489, 172);
+ this->label58->Name = L"label58";
+ this->label58->Size = System::Drawing::Size(27, 13);
+ this->label58->TabIndex = 108;
+ this->label58->Text = L"R54";
+ //
+ // textBox59
+ //
+ this->textBox59->Location = System::Drawing::Point(516, 143);
+ this->textBox59->Name = L"textBox59";
+ this->textBox59->Size = System::Drawing::Size(121, 20);
+ this->textBox59->TabIndex = 107;
+ this->textBox59->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label59
+ //
+ this->label59->AutoSize = true;
+ this->label59->Location = System::Drawing::Point(489, 146);
+ this->label59->Name = L"label59";
+ this->label59->Size = System::Drawing::Size(27, 13);
+ this->label59->TabIndex = 106;
+ this->label59->Text = L"R53";
+ //
+ // textBox60
+ //
+ this->textBox60->Location = System::Drawing::Point(516, 117);
+ this->textBox60->Name = L"textBox60";
+ this->textBox60->Size = System::Drawing::Size(121, 20);
+ this->textBox60->TabIndex = 105;
+ this->textBox60->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label60
+ //
+ this->label60->AutoSize = true;
+ this->label60->Location = System::Drawing::Point(489, 120);
+ this->label60->Name = L"label60";
+ this->label60->Size = System::Drawing::Size(27, 13);
+ this->label60->TabIndex = 104;
+ this->label60->Text = L"R52";
+ //
+ // textBox61
+ //
+ this->textBox61->Location = System::Drawing::Point(516, 91);
+ this->textBox61->Name = L"textBox61";
+ this->textBox61->Size = System::Drawing::Size(121, 20);
+ this->textBox61->TabIndex = 103;
+ this->textBox61->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label61
+ //
+ this->label61->AutoSize = true;
+ this->label61->Location = System::Drawing::Point(489, 94);
+ this->label61->Name = L"label61";
+ this->label61->Size = System::Drawing::Size(27, 13);
+ this->label61->TabIndex = 102;
+ this->label61->Text = L"R51";
+ //
+ // textBox62
+ //
+ this->textBox62->Location = System::Drawing::Point(516, 65);
+ this->textBox62->Name = L"textBox62";
+ this->textBox62->Size = System::Drawing::Size(121, 20);
+ this->textBox62->TabIndex = 101;
+ this->textBox62->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label62
+ //
+ this->label62->AutoSize = true;
+ this->label62->Location = System::Drawing::Point(489, 68);
+ this->label62->Name = L"label62";
+ this->label62->Size = System::Drawing::Size(27, 13);
+ this->label62->TabIndex = 100;
+ this->label62->Text = L"R50";
+ //
+ // textBox63
+ //
+ this->textBox63->Location = System::Drawing::Point(516, 39);
+ this->textBox63->Name = L"textBox63";
+ this->textBox63->Size = System::Drawing::Size(121, 20);
+ this->textBox63->TabIndex = 99;
+ this->textBox63->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label63
+ //
+ this->label63->AutoSize = true;
+ this->label63->Location = System::Drawing::Point(489, 42);
+ this->label63->Name = L"label63";
+ this->label63->Size = System::Drawing::Size(27, 13);
+ this->label63->TabIndex = 98;
+ this->label63->Text = L"R49";
+ //
+ // textBox64
+ //
+ this->textBox64->Location = System::Drawing::Point(516, 13);
+ this->textBox64->Name = L"textBox64";
+ this->textBox64->Size = System::Drawing::Size(121, 20);
+ this->textBox64->TabIndex = 97;
+ this->textBox64->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label64
+ //
+ this->label64->AutoSize = true;
+ this->label64->Location = System::Drawing::Point(489, 16);
+ this->label64->Name = L"label64";
+ this->label64->Size = System::Drawing::Size(27, 13);
+ this->label64->TabIndex = 96;
+ this->label64->Text = L"R48";
+ //
+ // textBox33
+ //
+ this->textBox33->Location = System::Drawing::Point(354, 403);
+ this->textBox33->Name = L"textBox33";
+ this->textBox33->Size = System::Drawing::Size(121, 20);
+ this->textBox33->TabIndex = 95;
+ this->textBox33->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label33
+ //
+ this->label33->AutoSize = true;
+ this->label33->Location = System::Drawing::Point(327, 406);
+ this->label33->Name = L"label33";
+ this->label33->Size = System::Drawing::Size(27, 13);
+ this->label33->TabIndex = 94;
+ this->label33->Text = L"R47";
+ //
+ // textBox34
+ //
+ this->textBox34->Location = System::Drawing::Point(354, 377);
+ this->textBox34->Name = L"textBox34";
+ this->textBox34->Size = System::Drawing::Size(121, 20);
+ this->textBox34->TabIndex = 93;
+ this->textBox34->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label34
+ //
+ this->label34->AutoSize = true;
+ this->label34->Location = System::Drawing::Point(327, 380);
+ this->label34->Name = L"label34";
+ this->label34->Size = System::Drawing::Size(27, 13);
+ this->label34->TabIndex = 92;
+ this->label34->Text = L"R46";
+ //
+ // textBox35
+ //
+ this->textBox35->Location = System::Drawing::Point(354, 351);
+ this->textBox35->Name = L"textBox35";
+ this->textBox35->Size = System::Drawing::Size(121, 20);
+ this->textBox35->TabIndex = 91;
+ this->textBox35->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label35
+ //
+ this->label35->AutoSize = true;
+ this->label35->Location = System::Drawing::Point(327, 354);
+ this->label35->Name = L"label35";
+ this->label35->Size = System::Drawing::Size(27, 13);
+ this->label35->TabIndex = 90;
+ this->label35->Text = L"R45";
+ //
+ // textBox36
+ //
+ this->textBox36->Location = System::Drawing::Point(354, 325);
+ this->textBox36->Name = L"textBox36";
+ this->textBox36->Size = System::Drawing::Size(121, 20);
+ this->textBox36->TabIndex = 89;
+ this->textBox36->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label36
+ //
+ this->label36->AutoSize = true;
+ this->label36->Location = System::Drawing::Point(327, 328);
+ this->label36->Name = L"label36";
+ this->label36->Size = System::Drawing::Size(27, 13);
+ this->label36->TabIndex = 88;
+ this->label36->Text = L"R44";
+ //
+ // textBox37
+ //
+ this->textBox37->Location = System::Drawing::Point(354, 299);
+ this->textBox37->Name = L"textBox37";
+ this->textBox37->Size = System::Drawing::Size(121, 20);
+ this->textBox37->TabIndex = 87;
+ this->textBox37->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label37
+ //
+ this->label37->AutoSize = true;
+ this->label37->Location = System::Drawing::Point(327, 302);
+ this->label37->Name = L"label37";
+ this->label37->Size = System::Drawing::Size(27, 13);
+ this->label37->TabIndex = 86;
+ this->label37->Text = L"R43";
+ //
+ // textBox38
+ //
+ this->textBox38->Location = System::Drawing::Point(354, 273);
+ this->textBox38->Name = L"textBox38";
+ this->textBox38->Size = System::Drawing::Size(121, 20);
+ this->textBox38->TabIndex = 85;
+ this->textBox38->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label38
+ //
+ this->label38->AutoSize = true;
+ this->label38->Location = System::Drawing::Point(327, 276);
+ this->label38->Name = L"label38";
+ this->label38->Size = System::Drawing::Size(27, 13);
+ this->label38->TabIndex = 84;
+ this->label38->Text = L"R42";
+ //
+ // textBox39
+ //
+ this->textBox39->Location = System::Drawing::Point(354, 247);
+ this->textBox39->Name = L"textBox39";
+ this->textBox39->Size = System::Drawing::Size(121, 20);
+ this->textBox39->TabIndex = 83;
+ this->textBox39->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label39
+ //
+ this->label39->AutoSize = true;
+ this->label39->Location = System::Drawing::Point(327, 250);
+ this->label39->Name = L"label39";
+ this->label39->Size = System::Drawing::Size(27, 13);
+ this->label39->TabIndex = 82;
+ this->label39->Text = L"R41";
+ //
+ // textBox40
+ //
+ this->textBox40->Location = System::Drawing::Point(354, 221);
+ this->textBox40->Name = L"textBox40";
+ this->textBox40->Size = System::Drawing::Size(121, 20);
+ this->textBox40->TabIndex = 81;
+ this->textBox40->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label40
+ //
+ this->label40->AutoSize = true;
+ this->label40->Location = System::Drawing::Point(327, 224);
+ this->label40->Name = L"label40";
+ this->label40->Size = System::Drawing::Size(27, 13);
+ this->label40->TabIndex = 80;
+ this->label40->Text = L"R40";
+ //
+ // textBox41
+ //
+ this->textBox41->Location = System::Drawing::Point(354, 195);
+ this->textBox41->Name = L"textBox41";
+ this->textBox41->Size = System::Drawing::Size(121, 20);
+ this->textBox41->TabIndex = 79;
+ this->textBox41->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label41
+ //
+ this->label41->AutoSize = true;
+ this->label41->Location = System::Drawing::Point(327, 198);
+ this->label41->Name = L"label41";
+ this->label41->Size = System::Drawing::Size(27, 13);
+ this->label41->TabIndex = 78;
+ this->label41->Text = L"R39";
+ //
+ // textBox42
+ //
+ this->textBox42->Location = System::Drawing::Point(354, 169);
+ this->textBox42->Name = L"textBox42";
+ this->textBox42->Size = System::Drawing::Size(121, 20);
+ this->textBox42->TabIndex = 77;
+ this->textBox42->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label42
+ //
+ this->label42->AutoSize = true;
+ this->label42->Location = System::Drawing::Point(327, 172);
+ this->label42->Name = L"label42";
+ this->label42->Size = System::Drawing::Size(27, 13);
+ this->label42->TabIndex = 76;
+ this->label42->Text = L"R38";
+ //
+ // textBox43
+ //
+ this->textBox43->Location = System::Drawing::Point(354, 143);
+ this->textBox43->Name = L"textBox43";
+ this->textBox43->Size = System::Drawing::Size(121, 20);
+ this->textBox43->TabIndex = 75;
+ this->textBox43->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label43
+ //
+ this->label43->AutoSize = true;
+ this->label43->Location = System::Drawing::Point(327, 146);
+ this->label43->Name = L"label43";
+ this->label43->Size = System::Drawing::Size(27, 13);
+ this->label43->TabIndex = 74;
+ this->label43->Text = L"R37";
+ //
+ // textBox44
+ //
+ this->textBox44->Location = System::Drawing::Point(354, 117);
+ this->textBox44->Name = L"textBox44";
+ this->textBox44->Size = System::Drawing::Size(121, 20);
+ this->textBox44->TabIndex = 73;
+ this->textBox44->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label44
+ //
+ this->label44->AutoSize = true;
+ this->label44->Location = System::Drawing::Point(327, 120);
+ this->label44->Name = L"label44";
+ this->label44->Size = System::Drawing::Size(27, 13);
+ this->label44->TabIndex = 72;
+ this->label44->Text = L"R36";
+ //
+ // textBox45
+ //
+ this->textBox45->Location = System::Drawing::Point(354, 91);
+ this->textBox45->Name = L"textBox45";
+ this->textBox45->Size = System::Drawing::Size(121, 20);
+ this->textBox45->TabIndex = 71;
+ this->textBox45->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label45
+ //
+ this->label45->AutoSize = true;
+ this->label45->Location = System::Drawing::Point(327, 94);
+ this->label45->Name = L"label45";
+ this->label45->Size = System::Drawing::Size(27, 13);
+ this->label45->TabIndex = 70;
+ this->label45->Text = L"R35";
+ //
+ // textBox46
+ //
+ this->textBox46->Location = System::Drawing::Point(354, 65);
+ this->textBox46->Name = L"textBox46";
+ this->textBox46->Size = System::Drawing::Size(121, 20);
+ this->textBox46->TabIndex = 69;
+ this->textBox46->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label46
+ //
+ this->label46->AutoSize = true;
+ this->label46->Location = System::Drawing::Point(327, 68);
+ this->label46->Name = L"label46";
+ this->label46->Size = System::Drawing::Size(27, 13);
+ this->label46->TabIndex = 68;
+ this->label46->Text = L"R34";
+ //
+ // textBox47
+ //
+ this->textBox47->Location = System::Drawing::Point(354, 39);
+ this->textBox47->Name = L"textBox47";
+ this->textBox47->Size = System::Drawing::Size(121, 20);
+ this->textBox47->TabIndex = 67;
+ this->textBox47->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label47
+ //
+ this->label47->AutoSize = true;
+ this->label47->Location = System::Drawing::Point(327, 42);
+ this->label47->Name = L"label47";
+ this->label47->Size = System::Drawing::Size(27, 13);
+ this->label47->TabIndex = 66;
+ this->label47->Text = L"R33";
+ //
+ // textBox48
+ //
+ this->textBox48->Location = System::Drawing::Point(354, 13);
+ this->textBox48->Name = L"textBox48";
+ this->textBox48->Size = System::Drawing::Size(121, 20);
+ this->textBox48->TabIndex = 65;
+ this->textBox48->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label48
+ //
+ this->label48->AutoSize = true;
+ this->label48->Location = System::Drawing::Point(327, 16);
+ this->label48->Name = L"label48";
+ this->label48->Size = System::Drawing::Size(27, 13);
+ this->label48->TabIndex = 64;
+ this->label48->Text = L"R32";
+ //
+ // textBox17
+ //
+ this->textBox17->Location = System::Drawing::Point(192, 403);
+ this->textBox17->Name = L"textBox17";
+ this->textBox17->Size = System::Drawing::Size(121, 20);
+ this->textBox17->TabIndex = 63;
+ this->textBox17->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label17
+ //
+ this->label17->AutoSize = true;
+ this->label17->Location = System::Drawing::Point(165, 406);
+ this->label17->Name = L"label17";
+ this->label17->Size = System::Drawing::Size(27, 13);
+ this->label17->TabIndex = 62;
+ this->label17->Text = L"R31";
+ //
+ // textBox18
+ //
+ this->textBox18->Location = System::Drawing::Point(192, 377);
+ this->textBox18->Name = L"textBox18";
+ this->textBox18->Size = System::Drawing::Size(121, 20);
+ this->textBox18->TabIndex = 61;
+ this->textBox18->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label18
+ //
+ this->label18->AutoSize = true;
+ this->label18->Location = System::Drawing::Point(165, 380);
+ this->label18->Name = L"label18";
+ this->label18->Size = System::Drawing::Size(27, 13);
+ this->label18->TabIndex = 60;
+ this->label18->Text = L"R30";
+ //
+ // textBox19
+ //
+ this->textBox19->Location = System::Drawing::Point(192, 351);
+ this->textBox19->Name = L"textBox19";
+ this->textBox19->Size = System::Drawing::Size(121, 20);
+ this->textBox19->TabIndex = 59;
+ this->textBox19->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label19
+ //
+ this->label19->AutoSize = true;
+ this->label19->Location = System::Drawing::Point(165, 354);
+ this->label19->Name = L"label19";
+ this->label19->Size = System::Drawing::Size(27, 13);
+ this->label19->TabIndex = 58;
+ this->label19->Text = L"R29";
+ //
+ // textBox20
+ //
+ this->textBox20->Location = System::Drawing::Point(192, 325);
+ this->textBox20->Name = L"textBox20";
+ this->textBox20->Size = System::Drawing::Size(121, 20);
+ this->textBox20->TabIndex = 57;
+ this->textBox20->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label20
+ //
+ this->label20->AutoSize = true;
+ this->label20->Location = System::Drawing::Point(165, 328);
+ this->label20->Name = L"label20";
+ this->label20->Size = System::Drawing::Size(27, 13);
+ this->label20->TabIndex = 56;
+ this->label20->Text = L"R28";
+ //
+ // txtR27
+ //
+ this->txtR27->Location = System::Drawing::Point(192, 299);
+ this->txtR27->Name = L"txtR27";
+ this->txtR27->Size = System::Drawing::Size(121, 20);
+ this->txtR27->TabIndex = 55;
+ this->txtR27->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label21
+ //
+ this->label21->AutoSize = true;
+ this->label21->Location = System::Drawing::Point(165, 302);
+ this->label21->Name = L"label21";
+ this->label21->Size = System::Drawing::Size(27, 13);
+ this->label21->TabIndex = 54;
+ this->label21->Text = L"R27";
+ //
+ // txtR26
+ //
+ this->txtR26->Location = System::Drawing::Point(192, 273);
+ this->txtR26->Name = L"txtR26";
+ this->txtR26->Size = System::Drawing::Size(121, 20);
+ this->txtR26->TabIndex = 53;
+ this->txtR26->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label22
+ //
+ this->label22->AutoSize = true;
+ this->label22->Location = System::Drawing::Point(165, 276);
+ this->label22->Name = L"label22";
+ this->label22->Size = System::Drawing::Size(27, 13);
+ this->label22->TabIndex = 52;
+ this->label22->Text = L"R26";
+ //
+ // txtR25
+ //
+ this->txtR25->Location = System::Drawing::Point(192, 247);
+ this->txtR25->Name = L"txtR25";
+ this->txtR25->Size = System::Drawing::Size(121, 20);
+ this->txtR25->TabIndex = 51;
+ this->txtR25->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label23
+ //
+ this->label23->AutoSize = true;
+ this->label23->Location = System::Drawing::Point(165, 250);
+ this->label23->Name = L"label23";
+ this->label23->Size = System::Drawing::Size(27, 13);
+ this->label23->TabIndex = 50;
+ this->label23->Text = L"R25";
+ //
+ // txtR24
+ //
+ this->txtR24->Location = System::Drawing::Point(192, 221);
+ this->txtR24->Name = L"txtR24";
+ this->txtR24->Size = System::Drawing::Size(121, 20);
+ this->txtR24->TabIndex = 49;
+ this->txtR24->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label24
+ //
+ this->label24->AutoSize = true;
+ this->label24->Location = System::Drawing::Point(165, 224);
+ this->label24->Name = L"label24";
+ this->label24->Size = System::Drawing::Size(27, 13);
+ this->label24->TabIndex = 48;
+ this->label24->Text = L"R24";
+ //
+ // txtR23
+ //
+ this->txtR23->Location = System::Drawing::Point(192, 195);
+ this->txtR23->Name = L"txtR23";
+ this->txtR23->Size = System::Drawing::Size(121, 20);
+ this->txtR23->TabIndex = 47;
+ this->txtR23->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label25
+ //
+ this->label25->AutoSize = true;
+ this->label25->Location = System::Drawing::Point(165, 198);
+ this->label25->Name = L"label25";
+ this->label25->Size = System::Drawing::Size(27, 13);
+ this->label25->TabIndex = 46;
+ this->label25->Text = L"R23";
+ //
+ // txtR22
+ //
+ this->txtR22->Location = System::Drawing::Point(192, 169);
+ this->txtR22->Name = L"txtR22";
+ this->txtR22->Size = System::Drawing::Size(121, 20);
+ this->txtR22->TabIndex = 45;
+ this->txtR22->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label26
+ //
+ this->label26->AutoSize = true;
+ this->label26->Location = System::Drawing::Point(165, 172);
+ this->label26->Name = L"label26";
+ this->label26->Size = System::Drawing::Size(27, 13);
+ this->label26->TabIndex = 44;
+ this->label26->Text = L"R22";
+ //
+ // txtR21
+ //
+ this->txtR21->Location = System::Drawing::Point(192, 143);
+ this->txtR21->Name = L"txtR21";
+ this->txtR21->Size = System::Drawing::Size(121, 20);
+ this->txtR21->TabIndex = 43;
+ this->txtR21->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label27
+ //
+ this->label27->AutoSize = true;
+ this->label27->Location = System::Drawing::Point(165, 146);
+ this->label27->Name = L"label27";
+ this->label27->Size = System::Drawing::Size(27, 13);
+ this->label27->TabIndex = 42;
+ this->label27->Text = L"R21";
+ //
+ // txtR20
+ //
+ this->txtR20->Location = System::Drawing::Point(192, 117);
+ this->txtR20->Name = L"txtR20";
+ this->txtR20->Size = System::Drawing::Size(121, 20);
+ this->txtR20->TabIndex = 41;
+ this->txtR20->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label28
+ //
+ this->label28->AutoSize = true;
+ this->label28->Location = System::Drawing::Point(165, 120);
+ this->label28->Name = L"label28";
+ this->label28->Size = System::Drawing::Size(27, 13);
+ this->label28->TabIndex = 40;
+ this->label28->Text = L"R20";
+ //
+ // txtR19
+ //
+ this->txtR19->Location = System::Drawing::Point(192, 91);
+ this->txtR19->Name = L"txtR19";
+ this->txtR19->Size = System::Drawing::Size(121, 20);
+ this->txtR19->TabIndex = 39;
+ this->txtR19->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label29
+ //
+ this->label29->AutoSize = true;
+ this->label29->Location = System::Drawing::Point(165, 94);
+ this->label29->Name = L"label29";
+ this->label29->Size = System::Drawing::Size(27, 13);
+ this->label29->TabIndex = 38;
+ this->label29->Text = L"R19";
+ //
+ // txtR18
+ //
+ this->txtR18->Location = System::Drawing::Point(192, 65);
+ this->txtR18->Name = L"txtR18";
+ this->txtR18->Size = System::Drawing::Size(121, 20);
+ this->txtR18->TabIndex = 37;
+ this->txtR18->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label30
+ //
+ this->label30->AutoSize = true;
+ this->label30->Location = System::Drawing::Point(165, 68);
+ this->label30->Name = L"label30";
+ this->label30->Size = System::Drawing::Size(27, 13);
+ this->label30->TabIndex = 36;
+ this->label30->Text = L"R18";
+ //
+ // txtR17
+ //
+ this->txtR17->Location = System::Drawing::Point(192, 39);
+ this->txtR17->Name = L"txtR17";
+ this->txtR17->Size = System::Drawing::Size(121, 20);
+ this->txtR17->TabIndex = 35;
+ this->txtR17->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label31
+ //
+ this->label31->AutoSize = true;
+ this->label31->Location = System::Drawing::Point(165, 42);
+ this->label31->Name = L"label31";
+ this->label31->Size = System::Drawing::Size(27, 13);
+ this->label31->TabIndex = 34;
+ this->label31->Text = L"R17";
+ //
+ // txtR16
+ //
+ this->txtR16->Location = System::Drawing::Point(192, 13);
+ this->txtR16->Name = L"txtR16";
+ this->txtR16->Size = System::Drawing::Size(121, 20);
+ this->txtR16->TabIndex = 33;
+ this->txtR16->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label32
+ //
+ this->label32->AutoSize = true;
+ this->label32->Location = System::Drawing::Point(165, 16);
+ this->label32->Name = L"label32";
+ this->label32->Size = System::Drawing::Size(27, 13);
+ this->label32->TabIndex = 32;
+ this->label32->Text = L"R16";
+ //
+ // txtR15
+ //
+ this->txtR15->Location = System::Drawing::Point(33, 403);
+ this->txtR15->Name = L"txtR15";
+ this->txtR15->Size = System::Drawing::Size(121, 20);
+ this->txtR15->TabIndex = 31;
+ this->txtR15->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label9
+ //
+ this->label9->AutoSize = true;
+ this->label9->Location = System::Drawing::Point(6, 406);
+ this->label9->Name = L"label9";
+ this->label9->Size = System::Drawing::Size(27, 13);
+ this->label9->TabIndex = 30;
+ this->label9->Text = L"R15";
+ //
+ // txtR14
+ //
+ this->txtR14->Location = System::Drawing::Point(33, 377);
+ this->txtR14->Name = L"txtR14";
+ this->txtR14->Size = System::Drawing::Size(121, 20);
+ this->txtR14->TabIndex = 29;
+ this->txtR14->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label10
+ //
+ this->label10->AutoSize = true;
+ this->label10->Location = System::Drawing::Point(6, 380);
+ this->label10->Name = L"label10";
+ this->label10->Size = System::Drawing::Size(27, 13);
+ this->label10->TabIndex = 28;
+ this->label10->Text = L"R14";
+ //
+ // txtR13
+ //
+ this->txtR13->Location = System::Drawing::Point(33, 351);
+ this->txtR13->Name = L"txtR13";
+ this->txtR13->Size = System::Drawing::Size(121, 20);
+ this->txtR13->TabIndex = 27;
+ this->txtR13->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label11
+ //
+ this->label11->AutoSize = true;
+ this->label11->Location = System::Drawing::Point(6, 354);
+ this->label11->Name = L"label11";
+ this->label11->Size = System::Drawing::Size(27, 13);
+ this->label11->TabIndex = 26;
+ this->label11->Text = L"R13";
+ //
+ // txtR12
+ //
+ this->txtR12->Location = System::Drawing::Point(33, 325);
+ this->txtR12->Name = L"txtR12";
+ this->txtR12->Size = System::Drawing::Size(121, 20);
+ this->txtR12->TabIndex = 25;
+ this->txtR12->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label12
+ //
+ this->label12->AutoSize = true;
+ this->label12->Location = System::Drawing::Point(6, 328);
+ this->label12->Name = L"label12";
+ this->label12->Size = System::Drawing::Size(27, 13);
+ this->label12->TabIndex = 24;
+ this->label12->Text = L"R12";
+ //
+ // txtR11
+ //
+ this->txtR11->Location = System::Drawing::Point(33, 299);
+ this->txtR11->Name = L"txtR11";
+ this->txtR11->Size = System::Drawing::Size(121, 20);
+ this->txtR11->TabIndex = 23;
+ this->txtR11->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label13
+ //
+ this->label13->AutoSize = true;
+ this->label13->Location = System::Drawing::Point(6, 302);
+ this->label13->Name = L"label13";
+ this->label13->Size = System::Drawing::Size(27, 13);
+ this->label13->TabIndex = 22;
+ this->label13->Text = L"R11";
+ //
+ // txtR10
+ //
+ this->txtR10->Location = System::Drawing::Point(33, 273);
+ this->txtR10->Name = L"txtR10";
+ this->txtR10->Size = System::Drawing::Size(121, 20);
+ this->txtR10->TabIndex = 21;
+ this->txtR10->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label14
+ //
+ this->label14->AutoSize = true;
+ this->label14->Location = System::Drawing::Point(6, 276);
+ this->label14->Name = L"label14";
+ this->label14->Size = System::Drawing::Size(27, 13);
+ this->label14->TabIndex = 20;
+ this->label14->Text = L"R10";
+ //
+ // txtR9
+ //
+ this->txtR9->Location = System::Drawing::Point(33, 247);
+ this->txtR9->Name = L"txtR9";
+ this->txtR9->Size = System::Drawing::Size(121, 20);
+ this->txtR9->TabIndex = 19;
+ this->txtR9->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label15
+ //
+ this->label15->AutoSize = true;
+ this->label15->Location = System::Drawing::Point(6, 250);
+ this->label15->Name = L"label15";
+ this->label15->Size = System::Drawing::Size(21, 13);
+ this->label15->TabIndex = 18;
+ this->label15->Text = L"R9";
+ //
+ // txtR8
+ //
+ this->txtR8->Location = System::Drawing::Point(33, 221);
+ this->txtR8->Name = L"txtR8";
+ this->txtR8->Size = System::Drawing::Size(121, 20);
+ this->txtR8->TabIndex = 17;
+ this->txtR8->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label16
+ //
+ this->label16->AutoSize = true;
+ this->label16->Location = System::Drawing::Point(6, 224);
+ this->label16->Name = L"label16";
+ this->label16->Size = System::Drawing::Size(21, 13);
+ this->label16->TabIndex = 16;
+ this->label16->Text = L"R8";
+ //
+ // txtR7
+ //
+ this->txtR7->Location = System::Drawing::Point(33, 195);
+ this->txtR7->Name = L"txtR7";
+ this->txtR7->Size = System::Drawing::Size(121, 20);
+ this->txtR7->TabIndex = 15;
+ this->txtR7->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label5
+ //
+ this->label5->AutoSize = true;
+ this->label5->Location = System::Drawing::Point(6, 198);
+ this->label5->Name = L"label5";
+ this->label5->Size = System::Drawing::Size(21, 13);
+ this->label5->TabIndex = 14;
+ this->label5->Text = L"R7";
+ //
+ // txtR6
+ //
+ this->txtR6->Location = System::Drawing::Point(33, 169);
+ this->txtR6->Name = L"txtR6";
+ this->txtR6->Size = System::Drawing::Size(121, 20);
+ this->txtR6->TabIndex = 13;
+ this->txtR6->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label6
+ //
+ this->label6->AutoSize = true;
+ this->label6->Location = System::Drawing::Point(6, 172);
+ this->label6->Name = L"label6";
+ this->label6->Size = System::Drawing::Size(21, 13);
+ this->label6->TabIndex = 12;
+ this->label6->Text = L"R6";
+ //
+ // txtR5
+ //
+ this->txtR5->Location = System::Drawing::Point(33, 143);
+ this->txtR5->Name = L"txtR5";
+ this->txtR5->Size = System::Drawing::Size(121, 20);
+ this->txtR5->TabIndex = 11;
+ this->txtR5->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label7
+ //
+ this->label7->AutoSize = true;
+ this->label7->Location = System::Drawing::Point(6, 146);
+ this->label7->Name = L"label7";
+ this->label7->Size = System::Drawing::Size(21, 13);
+ this->label7->TabIndex = 10;
+ this->label7->Text = L"R5";
+ //
+ // txtR4
+ //
+ this->txtR4->Location = System::Drawing::Point(33, 117);
+ this->txtR4->Name = L"txtR4";
+ this->txtR4->Size = System::Drawing::Size(121, 20);
+ this->txtR4->TabIndex = 9;
+ this->txtR4->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label8
+ //
+ this->label8->AutoSize = true;
+ this->label8->Location = System::Drawing::Point(6, 120);
+ this->label8->Name = L"label8";
+ this->label8->Size = System::Drawing::Size(21, 13);
+ this->label8->TabIndex = 8;
+ this->label8->Text = L"R4";
+ //
+ // txtR3
+ //
+ this->txtR3->Location = System::Drawing::Point(33, 91);
+ this->txtR3->Name = L"txtR3";
+ this->txtR3->Size = System::Drawing::Size(121, 20);
+ this->txtR3->TabIndex = 7;
+ this->txtR3->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label3
+ //
+ this->label3->AutoSize = true;
+ this->label3->Location = System::Drawing::Point(6, 94);
+ this->label3->Name = L"label3";
+ this->label3->Size = System::Drawing::Size(21, 13);
+ this->label3->TabIndex = 6;
+ this->label3->Text = L"R3";
+ //
+ // txtR2
+ //
+ this->txtR2->Location = System::Drawing::Point(33, 65);
+ this->txtR2->Name = L"txtR2";
+ this->txtR2->Size = System::Drawing::Size(121, 20);
+ this->txtR2->TabIndex = 5;
+ this->txtR2->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label4
+ //
+ this->label4->AutoSize = true;
+ this->label4->Location = System::Drawing::Point(6, 68);
+ this->label4->Name = L"label4";
+ this->label4->Size = System::Drawing::Size(21, 13);
+ this->label4->TabIndex = 4;
+ this->label4->Text = L"R2";
+ //
+ // txtR1
+ //
+ this->txtR1->Location = System::Drawing::Point(33, 39);
+ this->txtR1->Name = L"txtR1";
+ this->txtR1->Size = System::Drawing::Size(121, 20);
+ this->txtR1->TabIndex = 3;
+ this->txtR1->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ this->txtR1->TextChanged += gcnew System::EventHandler(this, &frmRegisters::textBox2_TextChanged);
+ //
+ // label2
+ //
+ this->label2->AutoSize = true;
+ this->label2->Location = System::Drawing::Point(6, 42);
+ this->label2->Name = L"label2";
+ this->label2->Size = System::Drawing::Size(21, 13);
+ this->label2->TabIndex = 2;
+ this->label2->Text = L"R1";
+ this->label2->Click += gcnew System::EventHandler(this, &frmRegisters::label2_Click);
+ //
+ // txtR0
+ //
+ this->txtR0->Location = System::Drawing::Point(33, 13);
+ this->txtR0->Name = L"txtR0";
+ this->txtR0->ReadOnly = true;
+ this->txtR0->Size = System::Drawing::Size(121, 20);
+ this->txtR0->TabIndex = 1;
+ this->txtR0->Text = L"0";
+ this->txtR0->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label1
+ //
+ this->label1->AutoSize = true;
+ this->label1->Location = System::Drawing::Point(6, 16);
+ this->label1->Name = L"label1";
+ this->label1->Size = System::Drawing::Size(21, 13);
+ this->label1->TabIndex = 0;
+ this->label1->Text = L"R0";
+ //
+ // tabPage2
+ //
+ this->tabPage2->Controls->Add(this->txtTick);
+ this->tabPage2->Controls->Add(this->label118);
+ this->tabPage2->Controls->Add(this->txtLC);
+ this->tabPage2->Controls->Add(this->label117);
+ this->tabPage2->Controls->Add(this->label116);
+ this->tabPage2->Controls->Add(this->textBox101);
+ this->tabPage2->Controls->Add(this->label115);
+ this->tabPage2->Controls->Add(this->textBox100);
+ this->tabPage2->Controls->Add(this->label114);
+ this->tabPage2->Controls->Add(this->textBox99);
+ this->tabPage2->Controls->Add(this->label113);
+ this->tabPage2->Controls->Add(this->textBox98);
+ this->tabPage2->Controls->Add(this->label112);
+ this->tabPage2->Controls->Add(this->textBox97);
+ this->tabPage2->Controls->Add(this->label111);
+ this->tabPage2->Controls->Add(this->textBox96);
+ this->tabPage2->Controls->Add(this->label110);
+ this->tabPage2->Controls->Add(this->label109);
+ this->tabPage2->Controls->Add(this->label108);
+ this->tabPage2->Controls->Add(this->label107);
+ this->tabPage2->Controls->Add(this->label106);
+ this->tabPage2->Controls->Add(this->label105);
+ this->tabPage2->Controls->Add(this->textBox94);
+ this->tabPage2->Controls->Add(this->txtCs);
+ this->tabPage2->Controls->Add(this->label104);
+ this->tabPage2->Controls->Add(this->textBox92);
+ this->tabPage2->Controls->Add(this->txtSs);
+ this->tabPage2->Controls->Add(this->label103);
+ this->tabPage2->Controls->Add(this->textBox90);
+ this->tabPage2->Controls->Add(this->txtHs);
+ this->tabPage2->Controls->Add(this->label102);
+ this->tabPage2->Controls->Add(this->textBox88);
+ this->tabPage2->Controls->Add(this->txtGs);
+ this->tabPage2->Controls->Add(this->label101);
+ this->tabPage2->Controls->Add(this->textBox86);
+ this->tabPage2->Controls->Add(this->txtFs);
+ this->tabPage2->Controls->Add(this->label100);
+ this->tabPage2->Controls->Add(this->textBox84);
+ this->tabPage2->Controls->Add(this->txtEs);
+ this->tabPage2->Controls->Add(this->label99);
+ this->tabPage2->Controls->Add(this->textBox82);
+ this->tabPage2->Controls->Add(this->txtDs);
+ this->tabPage2->Controls->Add(this->label98);
+ this->tabPage2->Controls->Add(this->textBox81);
+ this->tabPage2->Controls->Add(this->txtZs);
+ this->tabPage2->Controls->Add(this->label97);
+ this->tabPage2->Controls->Add(this->txtCa15);
+ this->tabPage2->Controls->Add(this->label96);
+ this->tabPage2->Controls->Add(this->txtCa14);
+ this->tabPage2->Controls->Add(this->label95);
+ this->tabPage2->Controls->Add(this->txtCa13);
+ this->tabPage2->Controls->Add(this->label94);
+ this->tabPage2->Controls->Add(this->txtCa12);
+ this->tabPage2->Controls->Add(this->label93);
+ this->tabPage2->Controls->Add(this->txtCa11);
+ this->tabPage2->Controls->Add(this->label92);
+ this->tabPage2->Controls->Add(this->txtCa10);
+ this->tabPage2->Controls->Add(this->label91);
+ this->tabPage2->Controls->Add(this->txtCa9);
+ this->tabPage2->Controls->Add(this->label90);
+ this->tabPage2->Controls->Add(this->txtCa8);
+ this->tabPage2->Controls->Add(this->label89);
+ this->tabPage2->Controls->Add(this->txtCa7);
+ this->tabPage2->Controls->Add(this->label88);
+ this->tabPage2->Controls->Add(this->txtCa6);
+ this->tabPage2->Controls->Add(this->label87);
+ this->tabPage2->Controls->Add(this->txtCa5);
+ this->tabPage2->Controls->Add(this->label86);
+ this->tabPage2->Controls->Add(this->txtCa4);
+ this->tabPage2->Controls->Add(this->label85);
+ this->tabPage2->Controls->Add(this->txtCa3);
+ this->tabPage2->Controls->Add(this->label84);
+ this->tabPage2->Controls->Add(this->txtCa2);
+ this->tabPage2->Controls->Add(this->label83);
+ this->tabPage2->Controls->Add(this->txtCa1);
+ this->tabPage2->Controls->Add(this->label82);
+ this->tabPage2->Controls->Add(this->textBox16);
+ this->tabPage2->Controls->Add(this->label81);
+ this->tabPage2->Controls->Add(this->textBox15);
+ this->tabPage2->Controls->Add(this->label80);
+ this->tabPage2->Controls->Add(this->textBox14);
+ this->tabPage2->Controls->Add(this->label79);
+ this->tabPage2->Controls->Add(this->textBox13);
+ this->tabPage2->Controls->Add(this->label78);
+ this->tabPage2->Controls->Add(this->textBox12);
+ this->tabPage2->Controls->Add(this->label77);
+ this->tabPage2->Controls->Add(this->textBox11);
+ this->tabPage2->Controls->Add(this->label76);
+ this->tabPage2->Controls->Add(this->textBox10);
+ this->tabPage2->Controls->Add(this->label75);
+ this->tabPage2->Controls->Add(this->textBox9);
+ this->tabPage2->Controls->Add(this->label74);
+ this->tabPage2->Controls->Add(this->textBox8);
+ this->tabPage2->Controls->Add(this->label73);
+ this->tabPage2->Controls->Add(this->txtP7);
+ this->tabPage2->Controls->Add(this->label72);
+ this->tabPage2->Controls->Add(this->txtP6);
+ this->tabPage2->Controls->Add(this->label71);
+ this->tabPage2->Controls->Add(this->txtP5);
+ this->tabPage2->Controls->Add(this->label70);
+ this->tabPage2->Controls->Add(this->txtP4);
+ this->tabPage2->Controls->Add(this->label69);
+ this->tabPage2->Controls->Add(this->txtP3);
+ this->tabPage2->Controls->Add(this->label68);
+ this->tabPage2->Controls->Add(this->txtP2);
+ this->tabPage2->Controls->Add(this->label67);
+ this->tabPage2->Controls->Add(this->txtP1);
+ this->tabPage2->Controls->Add(this->label66);
+ this->tabPage2->Controls->Add(this->txtP0);
+ this->tabPage2->Controls->Add(this->label65);
+ this->tabPage2->Location = System::Drawing::Point(4, 22);
+ this->tabPage2->Name = L"tabPage2";
+ this->tabPage2->Padding = System::Windows::Forms::Padding(3);
+ this->tabPage2->Size = System::Drawing::Size(735, 481);
+ this->tabPage2->TabIndex = 1;
+ this->tabPage2->Text = L"Other";
+ this->tabPage2->UseVisualStyleBackColor = true;
+ //
+ // txtTick
+ //
+ this->txtTick->Location = System::Drawing::Point(512, 322);
+ this->txtTick->Name = L"txtTick";
+ this->txtTick->ReadOnly = true;
+ this->txtTick->Size = System::Drawing::Size(118, 20);
+ this->txtTick->TabIndex = 107;
+ this->txtTick->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label118
+ //
+ this->label118->AutoSize = true;
+ this->label118->Location = System::Drawing::Point(476, 325);
+ this->label118->Name = L"label118";
+ this->label118->Size = System::Drawing::Size(31, 13);
+ this->label118->TabIndex = 106;
+ this->label118->Text = L"TICK";
+ //
+ // txtLC
+ //
+ this->txtLC->Location = System::Drawing::Point(512, 296);
+ this->txtLC->Name = L"txtLC";
+ this->txtLC->Size = System::Drawing::Size(118, 20);
+ this->txtLC->TabIndex = 105;
+ this->txtLC->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label117
+ //
+ this->label117->AutoSize = true;
+ this->label117->Location = System::Drawing::Point(476, 299);
+ this->label117->Name = L"label117";
+ this->label117->Size = System::Drawing::Size(20, 13);
+ this->label117->TabIndex = 104;
+ this->label117->Text = L"LC";
+ //
+ // label116
+ //
+ this->label116->AutoSize = true;
+ this->label116->Location = System::Drawing::Point(350, 277);
+ this->label116->Name = L"label116";
+ this->label116->Size = System::Drawing::Size(86, 13);
+ this->label116->TabIndex = 103;
+ this->label116->Text = L"Debug Registers";
+ //
+ // textBox101
+ //
+ this->textBox101->Location = System::Drawing::Point(353, 426);
+ this->textBox101->Name = L"textBox101";
+ this->textBox101->Size = System::Drawing::Size(118, 20);
+ this->textBox101->TabIndex = 102;
+ this->textBox101->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label115
+ //
+ this->label115->AutoSize = true;
+ this->label115->Location = System::Drawing::Point(304, 429);
+ this->label115->Name = L"label115";
+ this->label115->Size = System::Drawing::Size(50, 13);
+ this->label115->TabIndex = 101;
+ this->label115->Text = L"DBSTAT";
+ //
+ // textBox100
+ //
+ this->textBox100->Location = System::Drawing::Point(353, 400);
+ this->textBox100->Name = L"textBox100";
+ this->textBox100->Size = System::Drawing::Size(118, 20);
+ this->textBox100->TabIndex = 100;
+ this->textBox100->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label114
+ //
+ this->label114->AutoSize = true;
+ this->label114->Location = System::Drawing::Point(304, 403);
+ this->label114->Name = L"label114";
+ this->label114->Size = System::Drawing::Size(50, 13);
+ this->label114->TabIndex = 99;
+ this->label114->Text = L"DBCTRL";
+ //
+ // textBox99
+ //
+ this->textBox99->Location = System::Drawing::Point(353, 374);
+ this->textBox99->Name = L"textBox99";
+ this->textBox99->Size = System::Drawing::Size(118, 20);
+ this->textBox99->TabIndex = 98;
+ this->textBox99->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label113
+ //
+ this->label113->AutoSize = true;
+ this->label113->Location = System::Drawing::Point(304, 377);
+ this->label113->Name = L"label113";
+ this->label113->Size = System::Drawing::Size(43, 13);
+ this->label113->TabIndex = 97;
+ this->label113->Text = L"DBAD3";
+ //
+ // textBox98
+ //
+ this->textBox98->Location = System::Drawing::Point(353, 348);
+ this->textBox98->Name = L"textBox98";
+ this->textBox98->Size = System::Drawing::Size(118, 20);
+ this->textBox98->TabIndex = 96;
+ this->textBox98->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label112
+ //
+ this->label112->AutoSize = true;
+ this->label112->Location = System::Drawing::Point(304, 351);
+ this->label112->Name = L"label112";
+ this->label112->Size = System::Drawing::Size(43, 13);
+ this->label112->TabIndex = 95;
+ this->label112->Text = L"DBAD2";
+ //
+ // textBox97
+ //
+ this->textBox97->Location = System::Drawing::Point(353, 322);
+ this->textBox97->Name = L"textBox97";
+ this->textBox97->Size = System::Drawing::Size(118, 20);
+ this->textBox97->TabIndex = 94;
+ this->textBox97->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label111
+ //
+ this->label111->AutoSize = true;
+ this->label111->Location = System::Drawing::Point(304, 325);
+ this->label111->Name = L"label111";
+ this->label111->Size = System::Drawing::Size(43, 13);
+ this->label111->TabIndex = 93;
+ this->label111->Text = L"DBAD1";
+ //
+ // textBox96
+ //
+ this->textBox96->Location = System::Drawing::Point(353, 296);
+ this->textBox96->Name = L"textBox96";
+ this->textBox96->Size = System::Drawing::Size(118, 20);
+ this->textBox96->TabIndex = 92;
+ this->textBox96->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label110
+ //
+ this->label110->AutoSize = true;
+ this->label110->Location = System::Drawing::Point(304, 299);
+ this->label110->Name = L"label110";
+ this->label110->Size = System::Drawing::Size(43, 13);
+ this->label110->TabIndex = 91;
+ this->label110->Text = L"DBAD0";
+ //
+ // label109
+ //
+ this->label109->AutoSize = true;
+ this->label109->Location = System::Drawing::Point(10, 14);
+ this->label109->Name = L"label109";
+ this->label109->Size = System::Drawing::Size(99, 13);
+ this->label109->TabIndex = 90;
+ this->label109->Text = L"Predicate Registers";
+ //
+ // label108
+ //
+ this->label108->AutoSize = true;
+ this->label108->Location = System::Drawing::Point(157, 14);
+ this->label108->Name = L"label108";
+ this->label108->Size = System::Drawing::Size(120, 13);
+ this->label108->TabIndex = 89;
+ this->label108->Text = L"Code Address Registers";
+ //
+ // label107
+ //
+ this->label107->AutoSize = true;
+ this->label107->Location = System::Drawing::Point(328, 14);
+ this->label107->Name = L"label107";
+ this->label107->Size = System::Drawing::Size(96, 13);
+ this->label107->TabIndex = 88;
+ this->label107->Text = L"Segment Registers";
+ //
+ // label106
+ //
+ this->label106->AutoSize = true;
+ this->label106->Location = System::Drawing::Point(468, 36);
+ this->label106->Name = L"label106";
+ this->label106->Size = System::Drawing::Size(28, 13);
+ this->label106->TabIndex = 87;
+ this->label106->Text = L"Limit";
+ //
+ // label105
+ //
+ this->label105->AutoSize = true;
+ this->label105->Location = System::Drawing::Point(328, 36);
+ this->label105->Name = L"label105";
+ this->label105->Size = System::Drawing::Size(31, 13);
+ this->label105->TabIndex = 86;
+ this->label105->Text = L"Base";
+ //
+ // textBox94
+ //
+ this->textBox94->Location = System::Drawing::Point(471, 244);
+ this->textBox94->Name = L"textBox94";
+ this->textBox94->Size = System::Drawing::Size(118, 20);
+ this->textBox94->TabIndex = 85;
+ this->textBox94->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtCs
+ //
+ this->txtCs->Location = System::Drawing::Point(331, 244);
+ this->txtCs->Name = L"txtCs";
+ this->txtCs->Size = System::Drawing::Size(118, 20);
+ this->txtCs->TabIndex = 84;
+ this->txtCs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label104
+ //
+ this->label104->AutoSize = true;
+ this->label104->Location = System::Drawing::Point(304, 247);
+ this->label104->Name = L"label104";
+ this->label104->Size = System::Drawing::Size(21, 13);
+ this->label104->TabIndex = 83;
+ this->label104->Text = L"CS";
+ //
+ // textBox92
+ //
+ this->textBox92->Location = System::Drawing::Point(471, 218);
+ this->textBox92->Name = L"textBox92";
+ this->textBox92->Size = System::Drawing::Size(118, 20);
+ this->textBox92->TabIndex = 82;
+ this->textBox92->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtSs
+ //
+ this->txtSs->Location = System::Drawing::Point(331, 218);
+ this->txtSs->Name = L"txtSs";
+ this->txtSs->Size = System::Drawing::Size(118, 20);
+ this->txtSs->TabIndex = 81;
+ this->txtSs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label103
+ //
+ this->label103->AutoSize = true;
+ this->label103->Location = System::Drawing::Point(304, 221);
+ this->label103->Name = L"label103";
+ this->label103->Size = System::Drawing::Size(21, 13);
+ this->label103->TabIndex = 80;
+ this->label103->Text = L"SS";
+ //
+ // textBox90
+ //
+ this->textBox90->Location = System::Drawing::Point(471, 192);
+ this->textBox90->Name = L"textBox90";
+ this->textBox90->Size = System::Drawing::Size(118, 20);
+ this->textBox90->TabIndex = 79;
+ this->textBox90->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtHs
+ //
+ this->txtHs->Location = System::Drawing::Point(331, 192);
+ this->txtHs->Name = L"txtHs";
+ this->txtHs->Size = System::Drawing::Size(118, 20);
+ this->txtHs->TabIndex = 78;
+ this->txtHs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label102
+ //
+ this->label102->AutoSize = true;
+ this->label102->Location = System::Drawing::Point(304, 195);
+ this->label102->Name = L"label102";
+ this->label102->Size = System::Drawing::Size(22, 13);
+ this->label102->TabIndex = 77;
+ this->label102->Text = L"HS";
+ //
+ // textBox88
+ //
+ this->textBox88->Location = System::Drawing::Point(471, 166);
+ this->textBox88->Name = L"textBox88";
+ this->textBox88->Size = System::Drawing::Size(118, 20);
+ this->textBox88->TabIndex = 76;
+ this->textBox88->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtGs
+ //
+ this->txtGs->Location = System::Drawing::Point(331, 166);
+ this->txtGs->Name = L"txtGs";
+ this->txtGs->Size = System::Drawing::Size(118, 20);
+ this->txtGs->TabIndex = 75;
+ this->txtGs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label101
+ //
+ this->label101->AutoSize = true;
+ this->label101->Location = System::Drawing::Point(304, 169);
+ this->label101->Name = L"label101";
+ this->label101->Size = System::Drawing::Size(22, 13);
+ this->label101->TabIndex = 74;
+ this->label101->Text = L"GS";
+ //
+ // textBox86
+ //
+ this->textBox86->Location = System::Drawing::Point(471, 140);
+ this->textBox86->Name = L"textBox86";
+ this->textBox86->Size = System::Drawing::Size(118, 20);
+ this->textBox86->TabIndex = 73;
+ this->textBox86->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtFs
+ //
+ this->txtFs->Location = System::Drawing::Point(331, 140);
+ this->txtFs->Name = L"txtFs";
+ this->txtFs->Size = System::Drawing::Size(118, 20);
+ this->txtFs->TabIndex = 72;
+ this->txtFs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label100
+ //
+ this->label100->AutoSize = true;
+ this->label100->Location = System::Drawing::Point(304, 143);
+ this->label100->Name = L"label100";
+ this->label100->Size = System::Drawing::Size(20, 13);
+ this->label100->TabIndex = 71;
+ this->label100->Text = L"FS";
+ //
+ // textBox84
+ //
+ this->textBox84->Location = System::Drawing::Point(471, 114);
+ this->textBox84->Name = L"textBox84";
+ this->textBox84->Size = System::Drawing::Size(118, 20);
+ this->textBox84->TabIndex = 70;
+ this->textBox84->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtEs
+ //
+ this->txtEs->Location = System::Drawing::Point(331, 114);
+ this->txtEs->Name = L"txtEs";
+ this->txtEs->Size = System::Drawing::Size(118, 20);
+ this->txtEs->TabIndex = 69;
+ this->txtEs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label99
+ //
+ this->label99->AutoSize = true;
+ this->label99->Location = System::Drawing::Point(304, 117);
+ this->label99->Name = L"label99";
+ this->label99->Size = System::Drawing::Size(21, 13);
+ this->label99->TabIndex = 68;
+ this->label99->Text = L"ES";
+ //
+ // textBox82
+ //
+ this->textBox82->Location = System::Drawing::Point(471, 88);
+ this->textBox82->Name = L"textBox82";
+ this->textBox82->Size = System::Drawing::Size(118, 20);
+ this->textBox82->TabIndex = 67;
+ this->textBox82->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtDs
+ //
+ this->txtDs->Location = System::Drawing::Point(331, 88);
+ this->txtDs->Name = L"txtDs";
+ this->txtDs->Size = System::Drawing::Size(118, 20);
+ this->txtDs->TabIndex = 66;
+ this->txtDs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label98
+ //
+ this->label98->AutoSize = true;
+ this->label98->Location = System::Drawing::Point(304, 91);
+ this->label98->Name = L"label98";
+ this->label98->Size = System::Drawing::Size(22, 13);
+ this->label98->TabIndex = 65;
+ this->label98->Text = L"DS";
+ //
+ // textBox81
+ //
+ this->textBox81->Location = System::Drawing::Point(471, 62);
+ this->textBox81->Name = L"textBox81";
+ this->textBox81->Size = System::Drawing::Size(118, 20);
+ this->textBox81->TabIndex = 64;
+ this->textBox81->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // txtZs
+ //
+ this->txtZs->Location = System::Drawing::Point(331, 62);
+ this->txtZs->Name = L"txtZs";
+ this->txtZs->Size = System::Drawing::Size(118, 20);
+ this->txtZs->TabIndex = 63;
+ this->txtZs->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label97
+ //
+ this->label97->AutoSize = true;
+ this->label97->Location = System::Drawing::Point(304, 65);
+ this->label97->Name = L"label97";
+ this->label97->Size = System::Drawing::Size(21, 13);
+ this->label97->TabIndex = 62;
+ this->label97->Text = L"ZS";
+ //
+ // txtCa15
+ //
+ this->txtCa15->Location = System::Drawing::Point(160, 426);
+ this->txtCa15->Name = L"txtCa15";
+ this->txtCa15->ReadOnly = true;
+ this->txtCa15->Size = System::Drawing::Size(118, 20);
+ this->txtCa15->TabIndex = 61;
+ this->txtCa15->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label96
+ //
+ this->label96->AutoSize = true;
+ this->label96->Location = System::Drawing::Point(109, 429);
+ this->label96->Name = L"label96";
+ this->label96->Size = System::Drawing::Size(45, 13);
+ this->label96->TabIndex = 60;
+ this->label96->Text = L"C15/PC";
+ //
+ // txtCa14
+ //
+ this->txtCa14->Location = System::Drawing::Point(160, 400);
+ this->txtCa14->Name = L"txtCa14";
+ this->txtCa14->Size = System::Drawing::Size(118, 20);
+ this->txtCa14->TabIndex = 59;
+ this->txtCa14->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label95
+ //
+ this->label95->AutoSize = true;
+ this->label95->Location = System::Drawing::Point(109, 403);
+ this->label95->Name = L"label95";
+ this->label95->Size = System::Drawing::Size(48, 13);
+ this->label95->TabIndex = 58;
+ this->label95->Text = L"C14/IPC";
+ //
+ // txtCa13
+ //
+ this->txtCa13->Location = System::Drawing::Point(160, 374);
+ this->txtCa13->Name = L"txtCa13";
+ this->txtCa13->Size = System::Drawing::Size(118, 20);
+ this->txtCa13->TabIndex = 57;
+ this->txtCa13->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label94
+ //
+ this->label94->AutoSize = true;
+ this->label94->Location = System::Drawing::Point(109, 377);
+ this->label94->Name = L"label94";
+ this->label94->Size = System::Drawing::Size(52, 13);
+ this->label94->TabIndex = 56;
+ this->label94->Text = L"C13/EPC";
+ //
+ // txtCa12
+ //
+ this->txtCa12->Location = System::Drawing::Point(160, 348);
+ this->txtCa12->Name = L"txtCa12";
+ this->txtCa12->Size = System::Drawing::Size(118, 20);
+ this->txtCa12->TabIndex = 55;
+ this->txtCa12->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label93
+ //
+ this->label93->AutoSize = true;
+ this->label93->Location = System::Drawing::Point(109, 351);
+ this->label93->Name = L"label93";
+ this->label93->Size = System::Drawing::Size(26, 13);
+ this->label93->TabIndex = 54;
+ this->label93->Text = L"C12";
+ //
+ // txtCa11
+ //
+ this->txtCa11->Location = System::Drawing::Point(160, 322);
+ this->txtCa11->Name = L"txtCa11";
+ this->txtCa11->Size = System::Drawing::Size(118, 20);
+ this->txtCa11->TabIndex = 53;
+ this->txtCa11->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label92
+ //
+ this->label92->AutoSize = true;
+ this->label92->Location = System::Drawing::Point(109, 325);
+ this->label92->Name = L"label92";
+ this->label92->Size = System::Drawing::Size(53, 13);
+ this->label92->TabIndex = 52;
+ this->label92->Text = L"C11/DPC";
+ //
+ // txtCa10
+ //
+ this->txtCa10->Location = System::Drawing::Point(160, 296);
+ this->txtCa10->Name = L"txtCa10";
+ this->txtCa10->Size = System::Drawing::Size(118, 20);
+ this->txtCa10->TabIndex = 51;
+ this->txtCa10->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label91
+ //
+ this->label91->AutoSize = true;
+ this->label91->Location = System::Drawing::Point(109, 299);
+ this->label91->Name = L"label91";
+ this->label91->Size = System::Drawing::Size(26, 13);
+ this->label91->TabIndex = 50;
+ this->label91->Text = L"C10";
+ //
+ // txtCa9
+ //
+ this->txtCa9->Location = System::Drawing::Point(160, 270);
+ this->txtCa9->Name = L"txtCa9";
+ this->txtCa9->Size = System::Drawing::Size(118, 20);
+ this->txtCa9->TabIndex = 49;
+ this->txtCa9->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label90
+ //
+ this->label90->AutoSize = true;
+ this->label90->Location = System::Drawing::Point(109, 273);
+ this->label90->Name = L"label90";
+ this->label90->Size = System::Drawing::Size(20, 13);
+ this->label90->TabIndex = 48;
+ this->label90->Text = L"C9";
+ //
+ // txtCa8
+ //
+ this->txtCa8->Location = System::Drawing::Point(160, 244);
+ this->txtCa8->Name = L"txtCa8";
+ this->txtCa8->Size = System::Drawing::Size(118, 20);
+ this->txtCa8->TabIndex = 47;
+ this->txtCa8->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label89
+ //
+ this->label89->AutoSize = true;
+ this->label89->Location = System::Drawing::Point(109, 247);
+ this->label89->Name = L"label89";
+ this->label89->Size = System::Drawing::Size(20, 13);
+ this->label89->TabIndex = 46;
+ this->label89->Text = L"C8";
+ //
+ // txtCa7
+ //
+ this->txtCa7->Location = System::Drawing::Point(160, 218);
+ this->txtCa7->Name = L"txtCa7";
+ this->txtCa7->Size = System::Drawing::Size(118, 20);
+ this->txtCa7->TabIndex = 45;
+ this->txtCa7->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label88
+ //
+ this->label88->AutoSize = true;
+ this->label88->Location = System::Drawing::Point(109, 221);
+ this->label88->Name = L"label88";
+ this->label88->Size = System::Drawing::Size(20, 13);
+ this->label88->TabIndex = 44;
+ this->label88->Text = L"C7";
+ //
+ // txtCa6
+ //
+ this->txtCa6->Location = System::Drawing::Point(160, 192);
+ this->txtCa6->Name = L"txtCa6";
+ this->txtCa6->Size = System::Drawing::Size(118, 20);
+ this->txtCa6->TabIndex = 43;
+ this->txtCa6->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label87
+ //
+ this->label87->AutoSize = true;
+ this->label87->Location = System::Drawing::Point(109, 195);
+ this->label87->Name = L"label87";
+ this->label87->Size = System::Drawing::Size(20, 13);
+ this->label87->TabIndex = 42;
+ this->label87->Text = L"C6";
+ //
+ // txtCa5
+ //
+ this->txtCa5->Location = System::Drawing::Point(160, 166);
+ this->txtCa5->Name = L"txtCa5";
+ this->txtCa5->Size = System::Drawing::Size(118, 20);
+ this->txtCa5->TabIndex = 41;
+ this->txtCa5->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label86
+ //
+ this->label86->AutoSize = true;
+ this->label86->Location = System::Drawing::Point(109, 169);
+ this->label86->Name = L"label86";
+ this->label86->Size = System::Drawing::Size(20, 13);
+ this->label86->TabIndex = 40;
+ this->label86->Text = L"C5";
+ //
+ // txtCa4
+ //
+ this->txtCa4->Location = System::Drawing::Point(160, 140);
+ this->txtCa4->Name = L"txtCa4";
+ this->txtCa4->Size = System::Drawing::Size(118, 20);
+ this->txtCa4->TabIndex = 39;
+ this->txtCa4->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label85
+ //
+ this->label85->AutoSize = true;
+ this->label85->Location = System::Drawing::Point(109, 143);
+ this->label85->Name = L"label85";
+ this->label85->Size = System::Drawing::Size(20, 13);
+ this->label85->TabIndex = 38;
+ this->label85->Text = L"C4";
+ //
+ // txtCa3
+ //
+ this->txtCa3->Location = System::Drawing::Point(160, 114);
+ this->txtCa3->Name = L"txtCa3";
+ this->txtCa3->Size = System::Drawing::Size(118, 20);
+ this->txtCa3->TabIndex = 37;
+ this->txtCa3->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label84
+ //
+ this->label84->AutoSize = true;
+ this->label84->Location = System::Drawing::Point(109, 117);
+ this->label84->Name = L"label84";
+ this->label84->Size = System::Drawing::Size(20, 13);
+ this->label84->TabIndex = 36;
+ this->label84->Text = L"C3";
+ //
+ // txtCa2
+ //
+ this->txtCa2->Location = System::Drawing::Point(160, 88);
+ this->txtCa2->Name = L"txtCa2";
+ this->txtCa2->Size = System::Drawing::Size(118, 20);
+ this->txtCa2->TabIndex = 35;
+ this->txtCa2->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label83
+ //
+ this->label83->AutoSize = true;
+ this->label83->Location = System::Drawing::Point(109, 91);
+ this->label83->Name = L"label83";
+ this->label83->Size = System::Drawing::Size(20, 13);
+ this->label83->TabIndex = 34;
+ this->label83->Text = L"C2";
+ //
+ // txtCa1
+ //
+ this->txtCa1->Location = System::Drawing::Point(160, 62);
+ this->txtCa1->Name = L"txtCa1";
+ this->txtCa1->Size = System::Drawing::Size(118, 20);
+ this->txtCa1->TabIndex = 33;
+ this->txtCa1->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label82
+ //
+ this->label82->AutoSize = true;
+ this->label82->Location = System::Drawing::Point(109, 65);
+ this->label82->Name = L"label82";
+ this->label82->Size = System::Drawing::Size(20, 13);
+ this->label82->TabIndex = 32;
+ this->label82->Text = L"C1";
+ //
+ // textBox16
+ //
+ this->textBox16->Location = System::Drawing::Point(160, 36);
+ this->textBox16->Name = L"textBox16";
+ this->textBox16->ReadOnly = true;
+ this->textBox16->Size = System::Drawing::Size(118, 20);
+ this->textBox16->TabIndex = 31;
+ this->textBox16->Text = L"0";
+ this->textBox16->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label81
+ //
+ this->label81->AutoSize = true;
+ this->label81->Location = System::Drawing::Point(109, 39);
+ this->label81->Name = L"label81";
+ this->label81->Size = System::Drawing::Size(20, 13);
+ this->label81->TabIndex = 30;
+ this->label81->Text = L"C0";
+ //
+ // textBox15
+ //
+ this->textBox15->Location = System::Drawing::Point(36, 400);
+ this->textBox15->Name = L"textBox15";
+ this->textBox15->Size = System::Drawing::Size(54, 20);
+ this->textBox15->TabIndex = 29;
+ this->textBox15->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label80
+ //
+ this->label80->AutoSize = true;
+ this->label80->Location = System::Drawing::Point(10, 403);
+ this->label80->Name = L"label80";
+ this->label80->Size = System::Drawing::Size(26, 13);
+ this->label80->TabIndex = 28;
+ this->label80->Text = L"P14";
+ //
+ // textBox14
+ //
+ this->textBox14->Location = System::Drawing::Point(36, 374);
+ this->textBox14->Name = L"textBox14";
+ this->textBox14->Size = System::Drawing::Size(54, 20);
+ this->textBox14->TabIndex = 27;
+ this->textBox14->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label79
+ //
+ this->label79->AutoSize = true;
+ this->label79->Location = System::Drawing::Point(10, 377);
+ this->label79->Name = L"label79";
+ this->label79->Size = System::Drawing::Size(26, 13);
+ this->label79->TabIndex = 26;
+ this->label79->Text = L"P13";
+ //
+ // textBox13
+ //
+ this->textBox13->Location = System::Drawing::Point(36, 348);
+ this->textBox13->Name = L"textBox13";
+ this->textBox13->Size = System::Drawing::Size(54, 20);
+ this->textBox13->TabIndex = 25;
+ this->textBox13->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label78
+ //
+ this->label78->AutoSize = true;
+ this->label78->Location = System::Drawing::Point(10, 351);
+ this->label78->Name = L"label78";
+ this->label78->Size = System::Drawing::Size(26, 13);
+ this->label78->TabIndex = 24;
+ this->label78->Text = L"P12";
+ //
+ // textBox12
+ //
+ this->textBox12->Location = System::Drawing::Point(36, 322);
+ this->textBox12->Name = L"textBox12";
+ this->textBox12->Size = System::Drawing::Size(54, 20);
+ this->textBox12->TabIndex = 23;
+ this->textBox12->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label77
+ //
+ this->label77->AutoSize = true;
+ this->label77->Location = System::Drawing::Point(10, 325);
+ this->label77->Name = L"label77";
+ this->label77->Size = System::Drawing::Size(26, 13);
+ this->label77->TabIndex = 22;
+ this->label77->Text = L"P11";
+ //
+ // textBox11
+ //
+ this->textBox11->Location = System::Drawing::Point(36, 426);
+ this->textBox11->Name = L"textBox11";
+ this->textBox11->Size = System::Drawing::Size(54, 20);
+ this->textBox11->TabIndex = 23;
+ this->textBox11->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label76
+ //
+ this->label76->AutoSize = true;
+ this->label76->Location = System::Drawing::Point(10, 429);
+ this->label76->Name = L"label76";
+ this->label76->Size = System::Drawing::Size(26, 13);
+ this->label76->TabIndex = 22;
+ this->label76->Text = L"P15";
+ //
+ // textBox10
+ //
+ this->textBox10->Location = System::Drawing::Point(36, 296);
+ this->textBox10->Name = L"textBox10";
+ this->textBox10->Size = System::Drawing::Size(54, 20);
+ this->textBox10->TabIndex = 21;
+ this->textBox10->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label75
+ //
+ this->label75->AutoSize = true;
+ this->label75->Location = System::Drawing::Point(10, 299);
+ this->label75->Name = L"label75";
+ this->label75->Size = System::Drawing::Size(26, 13);
+ this->label75->TabIndex = 20;
+ this->label75->Text = L"P10";
+ //
+ // textBox9
+ //
+ this->textBox9->Location = System::Drawing::Point(36, 270);
+ this->textBox9->Name = L"textBox9";
+ this->textBox9->Size = System::Drawing::Size(54, 20);
+ this->textBox9->TabIndex = 19;
+ this->textBox9->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label74
+ //
+ this->label74->AutoSize = true;
+ this->label74->Location = System::Drawing::Point(10, 273);
+ this->label74->Name = L"label74";
+ this->label74->Size = System::Drawing::Size(20, 13);
+ this->label74->TabIndex = 18;
+ this->label74->Text = L"P9";
+ //
+ // textBox8
+ //
+ this->textBox8->Location = System::Drawing::Point(36, 244);
+ this->textBox8->Name = L"textBox8";
+ this->textBox8->Size = System::Drawing::Size(54, 20);
+ this->textBox8->TabIndex = 17;
+ this->textBox8->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label73
+ //
+ this->label73->AutoSize = true;
+ this->label73->Location = System::Drawing::Point(10, 247);
+ this->label73->Name = L"label73";
+ this->label73->Size = System::Drawing::Size(20, 13);
+ this->label73->TabIndex = 16;
+ this->label73->Text = L"P8";
+ //
+ // txtP7
+ //
+ this->txtP7->Location = System::Drawing::Point(36, 218);
+ this->txtP7->Name = L"txtP7";
+ this->txtP7->Size = System::Drawing::Size(54, 20);
+ this->txtP7->TabIndex = 15;
+ this->txtP7->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label72
+ //
+ this->label72->AutoSize = true;
+ this->label72->Location = System::Drawing::Point(10, 221);
+ this->label72->Name = L"label72";
+ this->label72->Size = System::Drawing::Size(20, 13);
+ this->label72->TabIndex = 14;
+ this->label72->Text = L"P7";
+ //
+ // txtP6
+ //
+ this->txtP6->Location = System::Drawing::Point(36, 192);
+ this->txtP6->Name = L"txtP6";
+ this->txtP6->Size = System::Drawing::Size(54, 20);
+ this->txtP6->TabIndex = 13;
+ this->txtP6->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label71
+ //
+ this->label71->AutoSize = true;
+ this->label71->Location = System::Drawing::Point(10, 195);
+ this->label71->Name = L"label71";
+ this->label71->Size = System::Drawing::Size(20, 13);
+ this->label71->TabIndex = 12;
+ this->label71->Text = L"P6";
+ //
+ // txtP5
+ //
+ this->txtP5->Location = System::Drawing::Point(36, 166);
+ this->txtP5->Name = L"txtP5";
+ this->txtP5->Size = System::Drawing::Size(54, 20);
+ this->txtP5->TabIndex = 11;
+ this->txtP5->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label70
+ //
+ this->label70->AutoSize = true;
+ this->label70->Location = System::Drawing::Point(10, 169);
+ this->label70->Name = L"label70";
+ this->label70->Size = System::Drawing::Size(20, 13);
+ this->label70->TabIndex = 10;
+ this->label70->Text = L"P5";
+ //
+ // txtP4
+ //
+ this->txtP4->Location = System::Drawing::Point(36, 140);
+ this->txtP4->Name = L"txtP4";
+ this->txtP4->Size = System::Drawing::Size(54, 20);
+ this->txtP4->TabIndex = 9;
+ this->txtP4->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label69
+ //
+ this->label69->AutoSize = true;
+ this->label69->Location = System::Drawing::Point(10, 143);
+ this->label69->Name = L"label69";
+ this->label69->Size = System::Drawing::Size(20, 13);
+ this->label69->TabIndex = 8;
+ this->label69->Text = L"P4";
+ //
+ // txtP3
+ //
+ this->txtP3->Location = System::Drawing::Point(36, 114);
+ this->txtP3->Name = L"txtP3";
+ this->txtP3->Size = System::Drawing::Size(54, 20);
+ this->txtP3->TabIndex = 7;
+ this->txtP3->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label68
+ //
+ this->label68->AutoSize = true;
+ this->label68->Location = System::Drawing::Point(10, 117);
+ this->label68->Name = L"label68";
+ this->label68->Size = System::Drawing::Size(20, 13);
+ this->label68->TabIndex = 6;
+ this->label68->Text = L"P3";
+ //
+ // txtP2
+ //
+ this->txtP2->Location = System::Drawing::Point(36, 88);
+ this->txtP2->Name = L"txtP2";
+ this->txtP2->Size = System::Drawing::Size(54, 20);
+ this->txtP2->TabIndex = 5;
+ this->txtP2->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label67
+ //
+ this->label67->AutoSize = true;
+ this->label67->Location = System::Drawing::Point(10, 91);
+ this->label67->Name = L"label67";
+ this->label67->Size = System::Drawing::Size(20, 13);
+ this->label67->TabIndex = 4;
+ this->label67->Text = L"P2";
+ //
+ // txtP1
+ //
+ this->txtP1->Location = System::Drawing::Point(36, 62);
+ this->txtP1->Name = L"txtP1";
+ this->txtP1->Size = System::Drawing::Size(54, 20);
+ this->txtP1->TabIndex = 3;
+ this->txtP1->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label66
+ //
+ this->label66->AutoSize = true;
+ this->label66->Location = System::Drawing::Point(10, 65);
+ this->label66->Name = L"label66";
+ this->label66->Size = System::Drawing::Size(20, 13);
+ this->label66->TabIndex = 2;
+ this->label66->Text = L"P1";
+ //
+ // txtP0
+ //
+ this->txtP0->Location = System::Drawing::Point(36, 36);
+ this->txtP0->Name = L"txtP0";
+ this->txtP0->Size = System::Drawing::Size(54, 20);
+ this->txtP0->TabIndex = 1;
+ this->txtP0->TextAlign = System::Windows::Forms::HorizontalAlignment::Right;
+ //
+ // label65
+ //
+ this->label65->AutoSize = true;
+ this->label65->Location = System::Drawing::Point(10, 39);
+ this->label65->Name = L"label65";
+ this->label65->Size = System::Drawing::Size(20, 13);
+ this->label65->TabIndex = 0;
+ this->label65->Text = L"P0";
+ //
+ // frmRegisters
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->ClientSize = System::Drawing::Size(767, 525);
+ this->Controls->Add(this->tabControl1);
+ this->Name = L"frmRegisters";
+ this->Text = L"Thor - Registers";
+ this->tabControl1->ResumeLayout(false);
+ this->tabPage1->ResumeLayout(false);
+ this->tabPage1->PerformLayout();
+ this->tabPage2->ResumeLayout(false);
+ this->tabPage2->PerformLayout();
+ this->ResumeLayout(false);
+
+ }
+#pragma endregion
+ private: System::Void label2_Click(System::Object^ sender, System::EventArgs^ e) {
+ }
+private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
+ }
+};
+}
Index: thor/trunk/software/emuThor/source/ExecToolbar1.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar1.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar1.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar1.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar1.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/ExecToolbar2.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar2.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar2.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar2.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar2.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/ExecToolbar3.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar3.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar3.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar3.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar3.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/ExecToolbar4.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar4.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar4.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar4.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar4.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/ExecToolbar5.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar5.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar5.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar5.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar5.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/frmMain.resX
===================================================================
--- thor/trunk/software/emuThor/source/frmMain.resX (nonexistent)
+++ thor/trunk/software/emuThor/source/frmMain.resX (revision 30)
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 132, 17
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABnSURBVDhPtY9RCsAwCEM9ukfzZq4OLOlMcbD144GNSahi
+ Zv6F/wpEnIJmRvuDruRcAZ6RUB8Tky4cnDlBRmpH8RaBmJDnfilgYVUtGvpoQYSS0PCNvnvOYQpj2bH4
+ 8YF0welj4nvML6tzsZ4LEfkkAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPxY5LEsAgCEM5ukfjZlacohDwM9NFF2+RkESJ
+ metX/hkhqtFD44SM4NAY0aPFBTf37U/SAujuWZERCqC7hwaSlZB0hFpzIt+fOs0HA4Iy4nUcciNZoJQS
+ vPCQE+9Riop4Vtvc6FnRjRY4ETpoKDdlZTlyD9cHJ8TdCVejwHgAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB3SURBVDhPvY9RDsAgCEM5OkfjZm6YoBVq3LJkH++Dpn1R
+ MbP2lf8lIo3nLNzhEiY6SmKYWTp4ZEqZCHqeA4RJ8B45C4PdKFMkci8n/vx5526wSHLRJevNRUPCCqpa
+ MtYrEh8GnuGNPaR85wT2x46GD8cBlbzD2gXcX+SPQkd1uQAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABYSURBVDhPtc5RCgAgCANQ738qb1YEDTKtZhFjHxF7KKpa
+ XmoAETGfTB2QRTzQkoBiACGgPYBsEA5oWVzDA8iEfL6gj6IhGgOH0VgPkEPUAeObqQFu+ghoqfgBoI6+
+ x9lEAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPYzhw4MB/SjD1DGBgYCAa4zQASBDEowaMGgDC
+ eA0gFmM1gFxMoQEH/gMAIsdLnqOm6ksAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABBSURBVDhPYzhw4MB/SjDtDWBg+A/G2ORAGK8BMM34DBnk
+ BoAwPs0gPAQMIIRp6wKYZnyG0NYAEManGYQpDMQD/wEedeMPozK6XwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABdSURBVDhP1dBBDsAgCERR7n8qbmalpjjYFhU3uvgJavJi
+ IGZOqx2EENHnjLnICCCFkDzqfJ/xgHm/EAQhRZ6HmkXsW80gbaGfYB5Q7gZ20kPaXsgsIP3uZKZdEE4X
+ LMT/UBs+mycAAAAASUVORK5CYII=
+
+
+
+ 237, 17
+
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/source/ExecToolbar6.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar6.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar6.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar6.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar6.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/frmScreen.h
===================================================================
--- thor/trunk/software/emuThor/source/frmScreen.h (nonexistent)
+++ thor/trunk/software/emuThor/source/frmScreen.h (revision 30)
@@ -0,0 +1,183 @@
+#pragma once
+#include
+#include
+#include "clsSystem.h"
+extern clsSystem system1;
+extern char refscreen;
+
+namespace emuThor {
+
+ using namespace System;
+ using namespace System::ComponentModel;
+ using namespace System::Collections;
+ using namespace System::Windows::Forms;
+ using namespace System::Data;
+ using namespace System::Drawing;
+
+ ///
+ /// Summary for frmScreen
+ ///
+ public ref class frmScreen : public System::Windows::Forms::Form
+ {
+ System::Drawing::Rectangle ur;
+ public:
+ frmScreen(void)
+ {
+ InitializeComponent();
+ //
+ //TODO: Add the constructor code here
+ //
+ }
+
+ protected:
+ ///
+ /// Clean up any resources being used.
+ ///
+ ~frmScreen()
+ {
+ if (components)
+ {
+ delete components;
+ }
+ }
+ private: System::Windows::Forms::Timer^ timer1;
+ private: System::Windows::Forms::PictureBox^ pictureBox1;
+ protected:
+ private: System::ComponentModel::IContainer^ components;
+
+ private:
+ ///
+ /// Required designer variable.
+ ///
+
+
+#pragma region Windows Form Designer generated code
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ void InitializeComponent(void)
+ {
+ this->components = (gcnew System::ComponentModel::Container());
+ this->timer1 = (gcnew System::Windows::Forms::Timer(this->components));
+ this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox());
+ (cli::safe_cast(this->pictureBox1))->BeginInit();
+ this->SuspendLayout();
+ //
+ // timer1
+ //
+ this->timer1->Enabled = true;
+ this->timer1->Tick += gcnew System::EventHandler(this, &frmScreen::timer1_Tick);
+ //
+ // pictureBox1
+ //
+ this->pictureBox1->BackgroundImageLayout = System::Windows::Forms::ImageLayout::None;
+ this->pictureBox1->Location = System::Drawing::Point(2, 0);
+ this->pictureBox1->Name = L"pictureBox1";
+ this->pictureBox1->Size = System::Drawing::Size(681, 266);
+ this->pictureBox1->TabIndex = 0;
+ this->pictureBox1->TabStop = false;
+ this->pictureBox1->Click += gcnew System::EventHandler(this, &frmScreen::pictureBox1_Click);
+ this->pictureBox1->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmScreen::pictureBox1_Paint);
+ //
+ // frmScreen
+ //
+ this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
+ this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
+ this->BackgroundImageLayout = System::Windows::Forms::ImageLayout::None;
+ this->ClientSize = System::Drawing::Size(684, 262);
+ this->Controls->Add(this->pictureBox1);
+ this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
+ this->MaximizeBox = false;
+ this->Name = L"frmScreen";
+ this->Text = L"emuFISA64 Test System Screen";
+ this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmScreen::frmScreen_Paint);
+ (cli::safe_cast(this->pictureBox1))->EndInit();
+ this->ResumeLayout(false);
+
+ }
+#pragma endregion
+ private: char ScreenToAscii(char ch)
+{
+ ch &= 0xFF;
+ if (ch==0x1B)
+ return 0x5B;
+ if (ch==0x1D)
+ return 0x5D;
+ if (ch < 27)
+ ch += 0x60;
+ return ch;
+}
+
+ private: System::Void frmScreen_OnPaintBackground(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
+ }
+ private: System::Void frmScreen_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
+ }
+ private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
+ int nn;
+ int xx,yy;
+ int maxx,maxy,minx,miny;
+ maxx = 0; maxy = 0;
+ minx = 1000; miny = 1000;
+ if (refscreen) {
+ for (nn = 0; nn < 4096; nn++) {
+ if (system1.VideoMemDirty[nn]) {
+ xx = nn % 84;
+ yy = nn / 84;
+ maxx = max(xx,maxx);
+ maxy = max(yy,maxy);
+ minx = min(xx,minx);
+ miny = min(yy,miny);
+ }
+ }
+ ur.X = minx<<3;
+ ur.Y = miny<<3;
+ ur.Width = (maxx - minx)<<3;
+ ur.Height = (maxy - miny)<<3;
+ this->pictureBox1->Invalidate(ur);
+ refscreen = false;
+// this->Refresh();
+ }
+ }
+ private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) {
+ }
+private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {
+ char buf[10];
+ unsigned int ndx;
+ int r,g,b;
+ unsigned int v;
+ System::Drawing::Font^ myfont;
+ std::string str;
+ Graphics^ gr = e->Graphics;
+ SolidBrush^ bkbr;
+ SolidBrush^ fgbr;
+ Color^ col;
+ myfont = gcnew System::Drawing::Font("Courier New", 6);
+ col = gcnew System::Drawing::Color;
+ bkbr = gcnew System::Drawing::SolidBrush(System::Drawing::Color::Blue);
+ fgbr = gcnew System::Drawing::SolidBrush(System::Drawing::Color::White);
+ int xx, yy;
+ for (xx = ur.X; xx < ur.X + ur.Width; xx += 8) {
+ for (yy = ur.Y; yy < ur.Y + ur.Height; yy += 8) {
+ ndx = (xx/8 + yy/8 * 84);
+// if (system1.VideoMemDirty[ndx]) {
+ v = system1.VideoMem[ndx];
+ r = ((((v >> 10) >> 9) >> 6) & 7) << 5;
+ g = ((((v >> 10) >> 9) >> 3) & 7) << 5;
+ b = ((((v >> 10) >> 9) >> 0) & 7) << 5;
+ bkbr->Color = col->FromArgb(255,r,g,b);
+ gr->FillRectangle(bkbr,xx,yy,8,8);
+ r = ((((v >> 10)) >> 6) & 7) << 5;
+ g = ((((v >> 10)) >> 3) & 7)<< 5;
+ b = ((((v >> 10)) >> 0) & 7)<< 5;
+ fgbr->Color = col->FromArgb(255,r,g,b);
+ sprintf(buf,"%c",ScreenToAscii(system1.VideoMem[ndx]&0xff));
+ str = std::string(buf);
+ gr->DrawString(gcnew String(str.c_str()),myfont,fgbr,xx,yy);
+ system1.VideoMemDirty[ndx] = false;
+// }
+ }
+ }
+ }
+};
+}
Index: thor/trunk/software/emuThor/source/ExecToolbar7.bmp
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/source/ExecToolbar7.bmp
===================================================================
--- thor/trunk/software/emuThor/source/ExecToolbar7.bmp (nonexistent)
+++ thor/trunk/software/emuThor/source/ExecToolbar7.bmp (revision 30)
thor/trunk/software/emuThor/source/ExecToolbar7.bmp
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: thor/trunk/software/emuThor/source/ReadMe.txt
===================================================================
--- thor/trunk/software/emuThor/source/ReadMe.txt (nonexistent)
+++ thor/trunk/software/emuThor/source/ReadMe.txt (revision 30)
@@ -0,0 +1,40 @@
+========================================================================
+ APPLICATION : emuThor Project Overview
+========================================================================
+
+AppWizard has created this emuThor Application for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your emuThor application.
+
+emuThor.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+emuThor.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+emuThor.cpp
+ This is the main application source file.
+ Contains the code to display the form.
+
+Form1.h
+ Contains the implementation of your form class and InitializeComponent() function.
+
+AssemblyInfo.cpp
+ Contains custom attributes for modifying assembly metadata.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named emuThor.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
Index: thor/trunk/software/emuThor/source/clsSystem.h
===================================================================
--- thor/trunk/software/emuThor/source/clsSystem.h (nonexistent)
+++ thor/trunk/software/emuThor/source/clsSystem.h (revision 30)
@@ -0,0 +1,34 @@
+#pragma once
+#include "stdafx.h"
+#include "clsKeyboard.h"
+
+extern char refscreen;
+extern unsigned int dataBreakpoints[30];
+extern int numDataBreakpoints;
+extern int runstop;
+extern clsKeyboard keybd;
+extern volatile unsigned __int8 keybd_status;
+extern volatile unsigned __int8 keybd_scancode;
+
+class clsSystem
+{
+public:
+ unsigned __int64 memory[16777216]; // 128 MB
+ unsigned __int64 rom[32768];
+ unsigned long VideoMem[4096];
+ bool VideoMemDirty[4096];
+ unsigned int leds;
+ int m_z;
+ int m_w;
+ char write_error;
+ unsigned int radr1;
+ unsigned int radr2;
+ bool WriteROM;
+
+ clsSystem();
+ void Reset();
+ unsigned __int64 Read(unsigned int ad, int sr=0);
+ unsigned __int64 ReadByte(unsigned int ad);
+ int Write(unsigned int ad, unsigned __int64 dat, unsigned int mask, int cr=0);
+ int random();
+};
Index: thor/trunk/software/emuThor/source/AssemblyInfo.cpp
===================================================================
--- thor/trunk/software/emuThor/source/AssemblyInfo.cpp (nonexistent)
+++ thor/trunk/software/emuThor/source/AssemblyInfo.cpp (revision 30)
@@ -0,0 +1,40 @@
+#include "stdafx.h"
+
+using namespace System;
+using namespace System::Reflection;
+using namespace System::Runtime::CompilerServices;
+using namespace System::Runtime::InteropServices;
+using namespace System::Security::Permissions;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly:AssemblyTitleAttribute("emuThor")];
+[assembly:AssemblyDescriptionAttribute("")];
+[assembly:AssemblyConfigurationAttribute("")];
+[assembly:AssemblyCompanyAttribute("")];
+[assembly:AssemblyProductAttribute("emuThor")];
+[assembly:AssemblyCopyrightAttribute("Copyright (c) 2016")];
+[assembly:AssemblyTrademarkAttribute("")];
+[assembly:AssemblyCultureAttribute("")];
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the value or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly:AssemblyVersionAttribute("1.0.*")];
+
+[assembly:ComVisible(false)];
+
+[assembly:CLSCompliantAttribute(true)];
+
+[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
Index: thor/trunk/software/emuThor/test files/boot.hex
===================================================================
--- thor/trunk/software/emuThor/test files/boot.hex (nonexistent)
+++ thor/trunk/software/emuThor/test files/boot.hex (revision 30)
@@ -0,0 +1,10756 @@
+:02000004FFFCFF
+:0800000001A90008019DE8FFC1
+:0800080001A94008019DE9FF78
+:0800100001A98008019DEAFF2F
+:0800180001A9C008019DEBFFE6
+:0800200001A90009019DECFF9C
+:080028005000D0FF00019D25EE
+:0800300000300010019D2D00BD
+:0800380030FF00016FC1FF3031
+:08004000060C01914000A02014
+:080048003E016F1BBE01A980FF
+:0800500009019DEEFF01F6FF1E
+:08005800FF2010019D1C0001B6
+:08006000A70001019DF33F50D0
+:08006800DAFCFF00016F0198B2
+:0800700001A7840001A1F10EBB
+:08007800060147440001A4E762
+:0800800050DAFCFF00016A40A8
+:0800880000E4016F020001A178
+:08009000F1F40550DAFCFF0059
+:08009800016A4080E4016F825F
+:0800A0000001A1F1E10550DAB5
+:0800A800FCFF00016A4080EA40
+:0800B000016FC20001A1F1CEB5
+:0800B8000550DAFCFF00016AAB
+:0800C0004000E7016F8202011C
+:0800C800A1F1BB0550DAFCFFB9
+:0800D00000016A4080E5016FA8
+:0800D800823F01A1F1A80550CF
+:0800E000DAFCFF00016A400098
+:0800E800E8016F822F01A1F174
+:0800F000950550DAFCFF000148
+:0800F8006A4080E8016FC22F8D
+:0801000001A1F1820550DAFCB7
+:08010800FF00016A4000E9015B
+:080110006F023001A1F16F053F
+:080118004000C00001920080CC
+:080120002050DAFCFF00016A27
+:080128004000E5016F423001C7
+:08013000A1F1530550DAFCFFB8
+:0801380000016A4080E9016F3B
+:08014000023201A1F14005505B
+:08014800DAFCFF00016A40002F
+:08015000EA016F423D01A1F13B
+:080158002D0550DAFCFF000147
+:080160006A4080E7016FC23E16
+:0801680001A1F11A0501A2F149
+:08017000ECB00001A2F1FFA4B4
+:080178000001A2F1D3C8004010
+:0801800000D100016F010040F5
+:0801880001C0000193400012C8
+:0801900040F00A0101934080D8
+:08019800024000C100016F01EB
+:0801A000004001C00001934082
+:0801A800801140F00A010190F2
+:0801B00000000501A7C00730A3
+:0801B800FF00016F81FF30061A
+:0801C0000C01914000A050E287
+:0801C800FCFF00016F029440EE
+:0801D000000001016F030001B2
+:0801D800844200200192430063
+:0801E000200147020101470361
+:0801E800015042FDFF0001205F
+:0801F0000290073FE230FF001E
+:0801F800016F41FF30060C010C
+:08020000914000A001A2015091
+:0802080022FC30FF00016F0130
+:08021000FF30060C01914000D3
+:08021800A0016FC101300F0CC1
+:0802200001924000BE016FC114
+:0802280001300F0C019240802F
+:08023000BC5088888800016FB2
+:0802380001224000C000019208
+:080240004000214077777701AF
+:080248006FC1DD4000C00001A0
+:080250009240402101A740008B
+:0802580001A7800001A7C0000E
+:0802600001A7000101A7400104
+:08026800016F410030060C019A
+:08027000914000A001F088009C
+:0802780001F09800016F810004
+:0802800001F00801016F81008B
+:0802880001F038015001008073
+:0802900000016F414001F0780C
+:080298000130FF00016FC1FFFE
+:0802A00001F0480101F05801D2
+:0802A80001F0280001F0040040
+:0802B0005001008000016F41C4
+:0802B8004001F0780101F0485B
+:0802C0000001F05800016F017C
+:0802C8000201F0280101F0041D
+:0802D0000001FA5002FCFF00DE
+:0802D800019D1EB801F701F4BD
+:0802E000016F810030060C01E2
+:0802E800914000A04000C0009D
+:0802F000019000402D01A2F174
+:0802F80049B0005005FCFF00B5
+:08030000016F026D019DB307BE
+:0803080001A2F1D8AE0001A230
+:08031000F137A300016FC100E9
+:0803180030060C01914000A029
+:0803200001A7400001A78000C5
+:08032800016F860001A5CD0A5A
+:08033000016F810130060C0190
+:08033800914000A001A1F1FEBB
+:08034000025005FCFF00016AF8
+:080348004040FB016F060501B6
+:08035000A5CD0A5005FCFF00D9
+:08035800016A4030FD01A2F131
+:0803600096A600016F410301A4
+:08036800A2F188A900016F81D8
+:080370000201A2F17EA90001C7
+:080378006F010901A2F174A953
+:080380000001A2F18DA30001B0
+:08038800A2F1BBFD0301A2F18B
+:0803900062A9000120410303F2
+:080398003FED01A2F1B1A30049
+:0803A0004000C0000183402071
+:0803A8002C4000C0000183C0DD
+:0803B000812D01A9C70C0140D9
+:0803B800C1A11801400AA024B4
+:0803C00001A1F18E00012001F2
+:0803C80009023FF401200119B4
+:0803D00002A2F130B800023F67
+:0803D8008A0120C11902A1F104
+:0803E000A000023F7E01200194
+:0803E8001D02A1F13A00022000
+:0803F000011E02A1F1C100028F
+:0803F8003F690110C1FF02A1E1
+:08040000F15901023F5D0120EA
+:08040800C11802A2F13BA200A1
+:0804100002A7400002A78000D2
+:08041800026F860002A5CD0A67
+:08042000013F4001471FFE01EE
+:080428009E5F040001854A00FB
+:08043000A0015341F03F01A2BD
+:08043800F192A50001470A0141
+:0804400001A400018E5F04001D
+:0804480001471F0201F2014708
+:080450001FFE019E5F04000184
+:08045800854A00A0015341F0A8
+:080460003F01A2F167A50001B4
+:08046800470A01012001080808
+:08047000A4E5018E5F04000108
+:08047800471F0201F24000C021
+:08048000000185C0C02C016FD2
+:0804880001014000C0000191D8
+:0804900040602D01924340A0E1
+:08049800016F013C019243C019
+:0804A000A001A7400001A780A4
+:0804A80000016F860001A5CDE3
+:0804B0000A01F24000C0000146
+:0804B80085C0C02C016FC107D3
+:0804C0004000C0000191406002
+:0804C8002D01924340A0016FD9
+:0804D0004104019243C0A001A8
+:0804D800A7400001A78000010C
+:0804E0006F860001A5CD0A01A1
+:0804E800F201471FFE01939F82
+:0804F00000004000C00001857E
+:0804F800404021309000014E4C
+:08050000819006015801144C22
+:0805080001404220104000C038
+:0805100000019280402140002F
+:08051800C00001854000212014
+:0805200046014E8100650158FF
+:0805280001144C0140422010B7
+:080530004000C00001928000B0
+:08053800214000C000018540D4
+:080540004021015801144001A3
+:080548004081101001869F00A4
+:080550000001471F0201F20146
+:08055800471FFE019E5F040035
+:0805600001A7000101A1F185D2
+:08056800FF30A002015F8100D9
+:08057000005000A0FF00016B28
+:0805780082000001A1F16EFFF9
+:080580002010015FC100000121
+:0805880091C20000014744008C
+:08059000200F015304F1FF01EB
+:080598000104133FC701A2F1A9
+:0805A000B8FB03010101173F44
+:0805A800AE018E5F0400014763
+:0805B0001F0201F254686F7292
+:0805B80020546573742053798F
+:0805C0007374656D2053746132
+:0805C8007274696E672E2E2E7D
+:0805D0000D0A000D0A64202051
+:0805D8002D2072756E20646590
+:0805E0006275676765720D0A80
+:0805E8006720202D20677261DD
+:0805F0007068696373206D6FF0
+:0805F80064650D0A7478202DE2
+:080600002074657874206D6F11
+:0806080064650D0A7220202D2B
+:080610002072616E646F6D2021
+:08061800646F74730D0A000108
+:080620006F811001A2F15FA33C
+:080628000040FC0706015441EB
+:0806300000C001924000A1018D
+:080638003FFD01471BFE019E7E
+:080640005B04C0016F451001CD
+:080648006F0300019D73060120
+:08065000A7450001A2F12FA350
+:08065800004000C00001858094
+:08066000802C015081100401FF
+:08066800924300A00147450088
+:080670000147030101A4D801B8
+:080678008E5B04C001471B0268
+:0806800001F201A8DC000140B9
+:08068800C2202C0184C1000016
+:08069000306F3F012043C0025E
+:08069800588254400250433126
+:0806A000040192C20000018474
+:0806A800C140000192C24000B4
+:0806B0000184C180000192C227
+:0806B80080000184C1C00001B3
+:0806C00092C2C00001F200002B
+:0806C80000000000000000002A
+:0806D0005022FCFFF01BFCFFAF
+:0806D800861BFCFF2019FCFF4A
+:0806E0000321FCFF1920FCFFBF
+:0806E8007C34FCFF2D36FCFF01
+:0806F0001D3EFCFF5E3AFCFF19
+:0806F800EA41FCFF8A47FCFF08
+:0807000001471BF801939B0661
+:08070800C0019E1B8CC101A77A
+:080710009B06016F0108300691
+:080718000C01914000A001A7B3
+:08072000DA0601869B06C00108
+:080728008E1B8CC101471B0868
+:0807300001F201471BF80193DF
+:080738009B06C0019E1B8CC151
+:08074000019E9B86C0019E5B37
+:0807480004C15007FCFF000191
+:080750009DDAE601A79B0601FA
+:08075800471BFC0186DA00C218
+:080760000193DB80C05000DCB6
+:08076800FF00016F0320019363
+:08077000DB00C001A201D0A5CD
+:08077800FC01471B0401A7DA94
+:080780000601869B06C0018EF4
+:080788009B86C0018E5B04C1D9
+:08079000018E1B8CC101471B07
+:080798000801F2018E5A84C031
+:0807A000019E5A04C1013FD57E
+:0807A80001A84C0001F2200140
+:0807B00001844080B4014741BF
+:0807B80000200101924080B411
+:0807C00001471BF8019E1B8C90
+:0807C800C101471BFC01931B5A
+:0807D00001C001935B81C0012F
+:0807D800581F534040C01701F7
+:0807E00001470500200801811A
+:0807E80045F1260158C542400D
+:0807F0004018C000014C440058
+:0807F8008001861B01C001868F
+:080800005B81C001471B0401EC
+:080808008E1B8CC101471B0887
+:0808100001F2000000000000ED
+:080818000000000000000000D8
+:0808200001471BF801939B0640
+:08082800C0019E1B8CC1019E62
+:080830009B86C0019E5B04C120
+:08083800500AFCFF00019D5A6B
+:080840008B01A79B0601471B79
+:08084800F4014DDB860301936E
+:08085000DB02C001931B83C011
+:0808580001935B03C101939BB6
+:0808600083C10193DB03C20117
+:08086800931B84C201935B04A1
+:08087000C340C01701016F0F26
+:0808780000400F00010180C0E7
+:08088000003601474300400F60
+:0808880000010190C0003640A0
+:080890000F00010180C00036D9
+:080898000153C3F001400F0001
+:0808A000010190C00036400F79
+:0808A80000010180C0003601CF
+:0808B000A7C38050E0FCFF002B
+:0808B8000180C3002001A7C369
+:0808C0008001A7030301530CA2
+:0808C8007300016F1100012013
+:0808D000110206310601584C2B
+:0808D800304040C027010182FD
+:0808E000C3002101A74303013D
+:0808E800210D001730DD012194
+:0808F0000D401630D601580D31
+:0808F80043400140C43310012C
+:08090000A70304016F0E0001C2
+:08090800A201514AFC01A7C144
+:080910000001A7C3900112CD04
+:080918000023A7D002233015D3
+:080920002008018250012001B2
+:08092800580543400140C433AF
+:080930001001A7C30220080119
+:08093800800BD1260153C4809D
+:080940000001030333305820CD
+:08094800080180CBE02601A7A5
+:08095000C380014DDB860001AC
+:0809580093DB00C001A2014085
+:08096000A5FC0186DB00C001CB
+:08096800471B0201A701010178
+:08097000140301433029015872
+:080978004C30400140CB531448
+:08098000015805434C40C0275B
+:0809880001019103012101406E
+:08099000CB4314015804334C61
+:0809980001A7430001304D20CE
+:0809A0000801824B01200158FF
+:0809A8000543400140C4331077
+:0809B00001A7C302014CCE10A7
+:0809B8000001A7830301120BEB
+:0809C0000422300701220E4061
+:0809C800273F6A01474C0001C2
+:0809D000530C730001475100B4
+:0809D800013EF301A201514AA6
+:0809E000FC01A7C10001A743BF
+:0809E8000001300001865B04F0
+:0809F000C301861B84C20186CD
+:0809F800DB03C201869B83C1F1
+:080A000001865B03C101861BA6
+:080A080083C00186DB02C0017E
+:080A1000A7DA0601869B06C06F
+:080A1800018E9B86C0018E5B7C
+:080A200004C1018E1B8CC10111
+:080A2800471B0801F2018E5A80
+:080A300084C0019E5A04C101BB
+:080A38003FB201F701939F009A
+:080A4000010193DF8001019325
+:080A48001F010201935F81020E
+:080A500001939F01030193DFF4
+:080A5800810301931F02040158
+:080A6000935F820401939F02E1
+:080A6800050193DF82050193F3
+:080A70001F030601935F8306DA
+:080A780001939F03070193DFC6
+:080A8000830701931F04080124
+:080A8800935F840801939F04B1
+:080A9000090193DF84090193C1
+:080A98001F050A01935F850AA6
+:080AA00001939F050B0193DF98
+:080AA800850B01931F060C01F0
+:080AB000935F860C01939F0681
+:080AB8000D0193DF860D200201
+:080AC000019E5F88082002017D
+:080AC8009E9F08092002019E17
+:080AD000DF88092002019E1FCE
+:080AD800090A2002019E5F895A
+:080AE0000A2002019E9F090B90
+:080AE8002002019EDF890B20B2
+:080AF00002019E5F8A0C200246
+:080AF800019E9F0A0D2002017E
+:080B00009EDF8A0D2002019E18
+:080B08001F0B0E2002019E5F8D
+:080B10008B0E2002019E9F0BD9
+:080B18000F2002019EDF8B0F8C
+:080B20002002019E5F84002009
+:080B280002019E9F040120025E
+:080B3000019EDF840120020197
+:080B38009E1F05022002019E30
+:080B40005F85022002019E9F67
+:080B480005032002019EDF8578
+:080B5000032002019E1F0604B0
+:080B58002002019E5F860420CB
+:080B600002019E9F0605200220
+:080B6800019EDF860520020159
+:080B70009E5F87062002019E32
+:080B78009F07072003019E1FE7
+:080B80000C1040CFC100016F11
+:080B88001BFE01A98009019D7B
+:080B9000EEFF01A94008019DE0
+:080B9800E9FF01A89D010181A4
+:080BA000C601200147460001D7
+:080BA800A946072002019E5F2F
+:080BB000870601200705096F0B
+:080BB800410009302701471B31
+:080BC000F601935B00C00193F4
+:080BC8009B80C00193DB00C11A
+:080BD00001931B81C101935B3D
+:080BD80001C25006FCFF000100
+:080BE0008D4708ED01869F001E
+:080BE800010186DF8001018696
+:080BF0001F010201865F810272
+:080BF80001869F01030186DF65
+:080C0000810301861F020401BB
+:080C0800865F820401869F0251
+:080C1000050186DF8205018663
+:080C18001F030601865F83063D
+:080C200001869F03070186DF36
+:080C2800830701861F04080187
+:080C3000865F840801869F0421
+:080C3800090186DF8409018631
+:080C40001F050A01865F850A09
+:080C480001869F050B0186DF08
+:080C5000850B01861F060C0153
+:080C5800865F860C01869F06F1
+:080C60000D0186DF860D200264
+:080C6800018E5F8808200201E3
+:080C70008E9F08092002018E8D
+:080C7800DF88092002018E1F34
+:080C8000090A2002018E5F89C0
+:080C88000A2002018E9F090BF6
+:080C90002002018EDF890B2018
+:080C980002018E5F8A0C2002AC
+:080CA000018E9F0A0D200201E4
+:080CA8008EDF8A0D2002018E8F
+:080CB0001F0B0E2002018E5FF4
+:080CB8008B0E2002018E9F0B40
+:080CC0000F2002018EDF8B0FF3
+:080CC8002002018E5F84002070
+:080CD00002018E9F04012002C5
+:080CD800018EDF8401200201FE
+:080CE0008E1F05022002018EA7
+:080CE8005F85022002018E9FCE
+:080CF00005032002018EDF85DF
+:080CF800032002018E1F060417
+:080D00002002018E5F86042031
+:080D080002018E9F0605200286
+:080D1000018EDF8605200201BF
+:080D18008E5F87062002018EA8
+:080D20009F07072003018E1F4D
+:080D28000C1001F701F301F7C3
+:080D3000200301935F00112074
+:080D38000301939F80112003C9
+:080D40000193DF001220030102
+:080D4800931F811220030193A7
+:080D50005F0113200301939FD2
+:080D5800811320030193DF0168
+:080D600014200301931F82140B
+:080D6800200301935F02152036
+:080D70000301939F821520038B
+:080D78000193DF0216200301C4
+:080D8000931F83162003019369
+:080D88005F0317200301939F94
+:080D9000831720030193DF0328
+:080D980018200301931F8418C9
+:080DA000200301935F041920F8
+:080DA8000301939F841920034D
+:080DB0000193DF041A20030186
+:080DB800931F851A200301932B
+:080DC0005F051B200301939F56
+:080DC800851B20030193DF05E8
+:080DD0001C200301931F861C87
+:080DD800200301935F061D20BA
+:080DE0000301939F861D20030F
+:080DE8000193DF061E20050146
+:080DF0009E5F08192005019E19
+:080DF8009F88192005019EDF10
+:080E0000081A2005019E1F895C
+:080E08001A2005019E5F091B81
+:080E10002005019E9F891B20B3
+:080E180005019EDF091C200505
+:080E2000019E5F0A1D2005017F
+:080E28009E9F8A1D2005019E1A
+:080E3000DF0A1E2005019E1FD0
+:080E38008B1E2005019E5F0BDB
+:080E40001F2005019E9F8B1F7E
+:080E48002006019EDF0B0020D3
+:080E500005019E5F041120055D
+:080E5800019E9F841120050199
+:080E60009EDF04122005019E33
+:080E68001F85122005019E5FA9
+:080E700005132005019E9F857A
+:080E7800132005019EDF0514A3
+:080E80002005019E1F861420CD
+:080E880005019E5F061520051F
+:080E9000019E9F86152005015B
+:080E98009EDF06162005019EF5
+:080EA0005F07172005019E9F6A
+:080EA80087172006019E1F8C34
+:080EB000004016C000016F1B99
+:080EB8008E01A98009019DEEE5
+:080EC000FF01A94008019DE9B2
+:080EC800FF5000D0FF00019D66
+:080ED0002500300010019D2DEA
+:080ED80000016F8100300F0CD6
+:080EE00001924080BE01471B96
+:080EE800F801939B06C0019E76
+:080EF0001B8CC1019E9B86C012
+:080EF800019E5B04C15012FCD5
+:080F0000FF00019DDABD01A70D
+:080F08009B0601471BFE014D91
+:080F1000DB06030193DB02C0C4
+:080F180001931B83C001935BF0
+:080F200003C101939B83C10191
+:080F280093DB03C201931B845B
+:080F3000C2014DDB8600019EA9
+:080F38001B06C040C0270101A7
+:080F40006F0C022008016F0D87
+:080F48002240F00A01016F0EC6
+:080F5000202008016F0F08408A
+:080F5800C01701016F100050E9
+:080F60004AFCFF00019DD8923C
+:080F680001A201AE07FC0147E4
+:080F70001BFC016F83020193D9
+:080F7800DB80C040F00A01011A
+:080F80006F031A0193DB00C0AE
+:080F880001A201007EFC01A79B
+:080F9000C10001000302313F22
+:080F980001A08101A7C10001C5
+:080FA000A7C302200801860B23
+:080FA8000128200801868B815D
+:080FB0002720080186CB012770
+:080FB8000140C6511401404440
+:080FC000311020080193CB0061
+:080FC8002820080180CBC0269F
+:080FD000012103001230D801D9
+:080FD8006F030120080190CB1A
+:080FE000D0260182CC002001A3
+:080FE80022030027308501827D
+:080FF000CC0020012203402681
+:080FF800307901824C01200157
+:0810000058054340014004348F
+:081008001001B6CF30200123D6
+:08101000030035301C01471BF1
+:08101800FE01A2016D51FC0173
+:08102000A7C1000193DB00C031
+:0810280001A201A04AFC013005
+:081030003F01824C0120015830
+:0810380005434001400434109F
+:0810400001820C022001580896
+:08104800734001400764100130
+:08105000B68F61200186CE017C
+:08105800200140C65114014DB6
+:0810600005110001C3CF40207F
+:0810680001930E00200130038A
+:08107000013F6F20080180CB55
+:08107800C02601228300243090
+:081080001901471BFE01A2014A
+:081088002008FC01A7C10001D2
+:0810900093DB00C001A2016125
+:081098004AFC01A08101A7C17F
+:0810A00000016F0402200801A9
+:0810A8009003D12601300E0176
+:0810B00086CE00200147430039
+:0810B8000193CE002001471B4B
+:0810C000FE40F00A01016F037C
+:0810C8001A0193DB00C001A234
+:0810D00001707EFC01300E01ED
+:0810D80086CE00200147430011
+:0810E0000193CE002001A08164
+:0810E80001A7C10001A7C3022A
+:0810F00001B6CD32200100031E
+:0810F80002303820050186CB0F
+:08110000003620050193CB002D
+:081108003120050186CB003601
+:0811100020050193CB0037011B
+:08111800B6CD32202003019343
+:08112000CB003101C3CD022018
+:08112800016F0306200301938F
+:08113000CB8031018E1B06C0CB
+:0811380001471B0201861B8424
+:08114000C20186DB03C2018637
+:081148009B83C101865B03C11A
+:0811500001861B83C00186DB50
+:0811580002C001A7DA060186BE
+:081160009B06C0018E9B86C0B6
+:08116800018E5B04C1018E1B26
+:081170008CC1200301865F0021
+:0811780011200301869F801184
+:0811800020030186DF001220AC
+:081188000301861F8112200300
+:0811900001865F011320030139
+:08119800869F811320030186EC
+:0811A000DF0114200301861F8A
+:0811A8008214200301865F029E
+:0811B00015200301869F821542
+:0811B80020030186DF0216206E
+:0811C0000301861F83162003C2
+:0811C80001865F0317200301FB
+:0811D000869F831720030186AE
+:0811D800DF0318200301861F4C
+:0811E0008418200301865F045E
+:0811E80019200301869F841900
+:0811F00020030186DF041A2030
+:0811F8000301861F851A200384
+:0812000001865F051B200301BC
+:08120800869F851B200301866F
+:08121000DF051C200301861F0D
+:08121800861C200301865F061D
+:081220001D200301869F861DBD
+:0812280020030186DF061E20F1
+:0812300005018E5F081920057D
+:08123800018E9F8819200501B9
+:081240008EDF081A2005018E63
+:081248001F891A2005018E5FC9
+:08125000091B2005018E9F8996
+:081258001B2005018EDF091CBB
+:081260002005018E5F0A1D202C
+:0812680005018E9F8A1D20057F
+:08127000018EDF0A1E200501BA
+:081278008E1F8B1E2005018E64
+:081280005F0B1F2005018E9F8A
+:081288008B1F2006018EDF0B15
+:08129000002005018E5F04112E
+:081298002005018E9F84112046
+:0812A00005018EDF0412200598
+:0812A800018E1F8512200501D3
+:0812B0008E5F05132005018E7D
+:0812B8009F85132005018EDF64
+:0812C00005142005018E1F86B4
+:0812C800142005018E5F0615DC
+:0812D0002005018E9F86152008
+:0812D80005018EDF061620055A
+:0812E000018E5F0717200501D4
+:0812E8008E9F87172006018E7E
+:0812F0001F8C0001F701F4015D
+:0812F8008E5A84C0019E5A04C5
+:08130000C1013E2F01F720039B
+:0813080001935F0011200301B5
+:08131000939F8011200301935B
+:08131800DF0012200301931F06
+:081320008112200301935F011B
+:0813280013200301939F8113C0
+:0813300020030193DF011420EA
+:081338000301931F821420033E
+:0813400001935F021520030177
+:08134800939F8215200301931D
+:08135000DF0216200301931FC8
+:081358008316200301935F03DB
+:0813600017200301939F83177E
+:0813680020030193DF031820AC
+:081370000301931F8418200300
+:0813780001935F041920030139
+:08138000939F841920030193DF
+:08138800DF041A200301931F8A
+:08139000851A200301935F059B
+:081398001B200301939F851B3C
+:0813A00020030193DF051C206E
+:0813A8000301931F861C2003C2
+:0813B00001935F061D200301FB
+:0813B800939F861D20030193A1
+:0813C000DF061E2005019E5FFF
+:0813C80008192005019E9F8811
+:0813D000192005019EDF081A37
+:0813D8002005019E1F891A2067
+:0813E00005019E5F091B2005B9
+:0813E800019E9F891B200501F5
+:0813F0009EDF091C2005019E8F
+:0813F8005F0A1D2005019E9F04
+:081400008A1D2005019EDF0A90
+:081408001E2005019E1F8B1E32
+:081410002005019E5F0B1F2067
+:0814180005019E9F8B1F2006B9
+:08142000019EDF0B0020050115
+:081428009E5F04112005019EE6
+:081430009F84112005019EDFDD
+:0814380004122005019E1F852E
+:08144000122005019E5F051357
+:081448002005019E9F85132081
+:0814500005019EDF05142005D3
+:08145800019E1F86142005010E
+:081460009E5F06152005019EA8
+:081468009F86152005019EDF9F
+:0814700006162005019E5F072E
+:08147800172005019E9F871754
+:081480002006019E1F8C0040B4
+:0814880016C000016F1B8E016C
+:08149000A98009019DEEFF0196
+:08149800A94008019DE9FF5085
+:0814A00000D0FF00019D2500B2
+:0814A800300010019D2D000130
+:0814B0006F8100300F0C019266
+:0814B8004080BE01471BF80152
+:0814C000939B06C0019E1B8CEA
+:0814C800C1019E9B86C0019E3C
+:0814D0005B04C15017FCFF0092
+:0814D800019D9AD801A79B06B3
+:0814E00001471BFE014DDB0674
+:0814E800010193DB02C0019336
+:0814F0001B83C02008016F0CF2
+:0814F8002220050186CB80379C
+:081500000147030120050193DE
+:08150800CB803701A2014B4A20
+:08151000FC01A7C10001A7C303
+:0815180002200801860B0128E6
+:08152000200801868B812720C1
+:08152800080186CB01270140F8
+:08153000C651140140443110C2
+:0815380020080193CB002801FB
+:081540006F030820080190CBA5
+:08154800D02601471BFE01A2A1
+:08155000012008FC01A7C10005
+:081558000193DB00C001A201B8
+:08156000614AFC01A2014B4AA3
+:08156800FC01A7C10001A7C3AB
+:0815700002016F0302200801D3
+:0815780090CBD02601B6CC3265
+:081580002001000302303420B9
+:08158800020186CB8025200240
+:081590000193CB802020020131
+:0815980086CB8025200201939F
+:0815A000CB802601B6CC3220FD
+:0815A8000193CB802001C3CCAC
+:0815B0000220016F0306019304
+:0815B800CB002101861B83C05A
+:0815C0000186DB02C001A7DA7D
+:0815C8000601869B06C0018E9E
+:0815D0009B86C0018E5B04C183
+:0815D800018E1B8CC1200301F0
+:0815E000865F00112003018663
+:0815E8009F801120030186DF42
+:0815F0000012200301861F8197
+:0815F80012200301865F0113BC
+:08160000200301869F811320E5
+:08160800030186DF0114200339
+:0816100001861F821420030172
+:08161800865F02152003018624
+:081620009F821520030186DF03
+:081628000216200301861F8356
+:0816300016200301865F031779
+:08163800200301869F831720A7
+:08164000030186DF03182003FB
+:0816480001861F841820030134
+:08165000865F041920030186E6
+:081658009F841920030186DFC5
+:08166000041A200301861F8516
+:081668001A200301865F051B37
+:08167000200301869F851B2069
+:08167800030186DF051C2003BD
+:0816800001861F861C200301F6
+:08168800865F061D20030186A8
+:081690009F861D20030186DF87
+:08169800061E2005018E5F080B
+:0816A000192005018E9F881935
+:0816A8002005018EDF081A2065
+:0816B00005018E1F891A2005B7
+:0816B800018E5F091B200501F2
+:0816C0008E9F891B2005018E9D
+:0816C800DF091C2005018E5F03
+:0816D0000A1D2005018E9F8A0E
+:0816D8001D2005018EDF0A1E32
+:0816E0002005018E1F8B1E2066
+:0816E80005018E5F0B1F2005B8
+:0816F000018E9F8B1F200601F3
+:0816F8008EDF0B002005018EBE
+:081700005F04112005018E9F1A
+:0817080084112005018EDF04AD
+:08171000122005018E1F851255
+:081718002005018E5F0513207E
+:0817200005018E9F85132005D1
+:08172800018EDF05142005010C
+:081730008E1F86142005018EB6
+:081738005F06152005018E9FDC
+:0817400086152005018EDF066D
+:08174800162005018E5F071752
+:081750002005018E9F87172080
+:0817580006018E1F8C0001F751
+:0817600001F4018E5A84C0015E
+:081768009E5A04C1013E4C0130
+:08177000471BF801939B06C022
+:08177800019E1B8CC1019E9B28
+:0817800086C0019E5B04C1500C
+:0817880017FCFF00019D9AF41B
+:0817900001A79B0601471BFCA9
+:08179800016F03150193DB80D2
+:0817A000C00186DA00C20193CA
+:0817A800DB00C001A201209347
+:0817B000FC013FFD01A7DA0670
+:0817B80001869B06C0018E9B17
+:0817C00086C0018E5B04C1012B
+:0817C8008E1B8CC101471B08B8
+:0817D00001F2018E5A84C001F0
+:0817D8009E5A04C1013FD50037
+:0817E00001471BF801939B0671
+:0817E800C0019E1B8CC1019E93
+:0817F0009B86C0019E5B04C151
+:0817F8005019FCFF00019D9A4D
+:081800004101A79B0601471BF3
+:08180800FC5000D0FF00016F4D
+:0818100003000193DA00DF5030
+:0818180018FCFF00019D9A1C61
+:081820000186DA80DF01474375
+:08182800000193DA80DF01A248
+:081830000140A5FC01A7C10065
+:08183800012003000330300120
+:08184000471BFC0186DA80DF82
+:081848000193DB80C0016F0574
+:0818500001014E05110501869E
+:081858005A01DF014044311088
+:081860000193DB00C001A201AD
+:08186800D0A5FC01471B04019F
+:08187000306A0120420603303A
+:0818780053400F0001019340F1
+:081880000037400F0001018652
+:0818880000013750FFFFFF00D3
+:08189000016FC5FF20020127D2
+:08189800C580736F4500726FFB
+:0818A000050001504431000174
+:0818A800000302301F01471B81
+:0818B000FE50E0FCFF00016F97
+:0818B800031C0193DB00C001D9
+:0818C000A201FF94FC01471B8B
+:0818C80002013010400F000185
+:0818D0000186400037016F4260
+:0818D8000601302A5019FCFF43
+:0818E00000019D9A41013F2F18
+:0818E80001A7DA0601869B0648
+:0818F000C0018E9B86C0018E31
+:0818F8005B04C1018E1B8CC1D1
+:0819000001471B0801F2018EF2
+:081908005A84C0019E5A04C17B
+:08191000013FD50000000000BA
+:081918000000000000000000C7
+:0819200001471BF801939B062F
+:08192800C0019E1B8CC1019E51
+:081930009B86C0019E5B04C10F
+:08193800501BFCFF00019D5A49
+:08194000DE01A79B0601471B15
+:08194800FA014DDB06030193D7
+:08195000DB02C001931B83C000
+:0819580001935B03C101939BA5
+:0819600083C10193DB03C20106
+:08196800931B84C22006016FED
+:081970000DAD2008016F0F18F6
+:0819780040C01701016F1000CF
+:0819800001A84C0001861A03C6
+:08198800C201471BFC016FC303
+:08199000FF0193DB80C040F071
+:081998000A01016F031A01931B
+:0819A000DB00C001A201007E82
+:0819A800FC01A7C100010003CE
+:0819B00002318A01471BFE0110
+:0819B800931B03C001A2019F73
+:0819C0004CFC01471BFE0193E2
+:0819C8001B03C001A2012E5017
+:0819D000FC016F0B0001210B6B
+:0819D8000116309201584B305A
+:0819E0004001580C6340014076
+:0819E8000654100140C5431034
+:0819F00001B2C4302001220302
+:0819F8000027306B01584B3051
+:081A00004001580C6340014055
+:081A08000654100140C5431013
+:081A100001B2C43020200401E2
+:081A18002203002630490147BA
+:081A20001BFE01584B40400180
+:081A2800580C63400140065414
+:081A300010014044311001B225
+:081A3800C333200193DB00C061
+:081A400001A2012D36FC014753
+:081A48001B0201584B40400154
+:081A5000580C634001400654EC
+:081A5800100140443110016F40
+:081A6000C4FF01C1C3432001D2
+:081A6800474B00013F670158E4
+:081A70000C6340014006541014
+:081A78002008018045F1260160
+:081A8000A745810158C5424051
+:081A88004018C000014CC4002D
+:081A90008001A78303016F0B25
+:081A98000001210B02163030A1
+:081AA00001584B304001404E9B
+:081AA800431001B2C43020011B
+:081AB000120303233013015857
+:081AB8004B4040014084331053
+:081AC000016FC4FF01C14343A3
+:081AC8002001474B00013FC95A
+:081AD000016F0B0001210B0264
+:081AD80016301D01584B30408F
+:081AE00001404E431001B2C4A5
+:081AE80030200122C3FF23306E
+:081AF0000701474B00013FDC38
+:081AF80001210B02133027400D
+:081B0000F00A010180C0002180
+:081B080020060190CE402C40A4
+:081B100018C000014D0E018018
+:081B18000158C4324C40F00AF0
+:081B2000010190C00021014702
+:081B28001BFE40F00A01016FF1
+:081B3000031A0193DB00C00160
+:081B3800A201707EFC01861B76
+:081B400084C20186DB03C2012F
+:081B4800869B83C101865B034B
+:081B5000C101861B83C0018660
+:081B5800DB02C001A7DA06015F
+:081B6000869B06C0018E9B86E6
+:081B6800C0018E5B04C1018E77
+:081B70001B8CC101471B080199
+:081B7800F2018E5A84C0019EA7
+:081B80005A04C1013FB70147FF
+:081B88001BF8019E1B8CC1013A
+:081B90009E9B86C0019E5B04D0
+:081B9800C1501BFCFF00019D80
+:081BA0009AF701A84C0001476F
+:081BA8001BFE01A201514AFCE1
+:081BB00001A7C1000193DB0055
+:081BB800C001A101000001477A
+:081BC0001B0201A6CE02013F49
+:081BC800FD018E9B86C0018E19
+:081BD0005B04C1018E1B8CC1F6
+:081BD80001471B0801F2018E18
+:081BE0005A84C0019E5A04C1A1
+:081BE800013FDE0000000000D7
+:081BF00001471BF801939B065D
+:081BF800C0019E1B8CC1019E7F
+:081C00009B86C0019E5B04C13C
+:081C08005020FCFF00019D1AB1
+:081C10000301A79B0601471B1D
+:081C1800FA501FFCFF00019DC2
+:081C2000DAE6016F81103006C5
+:081C28000C01914000A001A88D
+:081C30004C00016F010F3006AA
+:081C38000C01914000A00147DE
+:081C40001BFC016F440001A729
+:081C4800C4100193DB80C040D1
+:081C5000F00A01016F031A0103
+:081C580093DB00C001A20100B2
+:081C60007EFC01A7C100010098
+:081C68000302304E40C02701C9
+:081C70000182C000200191DA9D
+:081C7800E0DF01825AE1DF0107
+:081C8000A745912010014E055B
+:081C8800010040C01701014CEE
+:081C9000C400002008018203DA
+:081C9800012040C02701019169
+:081CA00000012001471BFE407A
+:081CA800F00A01016F031A01AB
+:081CB00093DB00C001A20170EA
+:081CB8007EFC016F410F3006B4
+:081CC0000C01914000A001821B
+:081CC8005AE1DF01A74591205C
+:081CD00010014E05010040C0A7
+:081CD8001701014CC4000001DA
+:081CE00093DA00DF0186DA004F
+:081CE800DF01861A81C2200809
+:081CF000019003E1260186DAF0
+:081CF80000DF01861A01C22081
+:081D000008019003C1260186D1
+:081D0800DA00DF01801A01C4BA
+:081D10002008019003F12601F7
+:081D1800931A80DE0186DA80D7
+:081D2000DE0120030206307A07
+:081D280001861A81DE014EC4A0
+:081D300020000180DA01C4016A
+:081D3800A7C7812008014E87B6
+:081D400001804018C000014CB5
+:081D4800460180014C05416BCE
+:081D500001B2C430200121039F
+:081D58000016303501861A81E6
+:081D6000DE014EC420000180E9
+:081D6800DA01C401A7C78120C4
+:081D700008014E8701804018B4
+:081D7800C000014C460180018E
+:081D80004C05416B01825AE1A0
+:081D8800DF01C1C4502001304D
+:081D9000110186DA80DE014733
+:081D980043000193DA80DE0133
+:081DA0003F7A016F810F30064C
+:081DA8000C01914000A001862E
+:081DB000DA80DE0120030203CA
+:081DB800308301471BFC016FA1
+:081DC000440001A7C4100193C7
+:081DC800DB80C040F00A0101BC
+:081DD0006F031A0193DB00C050
+:081DD80001A201007EFC01A73D
+:081DE000C10001010312304EA5
+:081DE80001825AE1DF01A74569
+:081DF000912010014E050100D5
+:081DF80040C01701014CC400BA
+:081E00000040C027010182002F
+:081E08000120200801910301F3
+:081E1000200182DAE0DF40C08E
+:081E180027010191C000200127
+:081E2000471BFE40F00A01011E
+:081E28006F031A0193DB00C0F7
+:081E300001A201707EFC016FAC
+:081E380041110131B1016FC13C
+:081E40000F30060C0191400077
+:081E4800A0016F0402014EC469
+:081E5000100001865A01DF01B8
+:081E58004C05813001865A811E
+:081E6000C301C3C45020016F4F
+:081E68000402014EC410000148
+:081E7000865A01DF014C0581D7
+:081E780050501BFCFF00016F3C
+:081E800085E101C3C4502001FB
+:081E88006F0402014EC4B00119
+:081E900001865A01DF014C0537
+:081E9800813001869A01DF2070
+:081EA000080186868121016F13
+:081EA8000802014AC8F13F01E4
+:081EB00040C6511001C3C450EB
+:081EB80020016F0402014EC479
+:081EC000D00001865A01DF0188
+:081EC8004C05815001865A010E
+:081ED000C301C3C45020016FDF
+:081ED8000402014EC4E0000108
+:081EE000865A01DF014C058167
+:081EE8005001865A01C301C339
+:081EF000C450200186DA00DF76
+:081EF8002008019303002701FB
+:081F000086DA00DF20080193DE
+:081F08000380270186DA00DFE7
+:081F10002008019303002801E1
+:081F180086DA00DF20080193C6
+:081F2000038028016F0110305D
+:081F2800060C01914000A0012C
+:081F3000471BFC016F44000196
+:081F3800A7C4100193DB80C077
+:081F400040F00A01016F031AD1
+:081F48000193DB00C001A201BE
+:081F5000007EFC01A7C10001A5
+:081F5800000302302F01471BBA
+:081F6000FE0182DAE0DF01A7B7
+:081F6800C3900193DB00C001EE
+:081F7000A201A04AFC01471B7D
+:081F7800FE40F00A01016F03B5
+:081F80001A0193DB00C001A26D
+:081F880001707EFC016F4110A5
+:081F900030060C01914000A095
+:081F98000130460120020103A3
+:081FA000303F400F00010193E6
+:081FA800400038016FC1103048
+:081FB000060C01914000A001A4
+:081FB800471BFC400F00010172
+:081FC00086C000380193DB80AC
+:081FC800C050E0FCFF00016FB6
+:081FD00003110193DB00C001C5
+:081FD800A201FF94FC01471B6C
+:081FE000045020FCFF00019DEC
+:081FE8001A03016F010001A7BB
+:081FF000DA0601869B06C00120
+:081FF8008E9B86C0018E5B0484
+:08200000C1018E1B8CC10147D8
+:082008001B0801F2018E5A844D
+:08201000C0019E5A04C1013F0A
+:08201800D501471BF801939B61
+:0820200006C0019E1B8CC101EA
+:082028009E9B86C0019E5B0433
+:08203000C15020FCFF00019DDE
+:082038009A3D01A79B06014738
+:082040001BFE014DDB860001CF
+:0820480093DB02C001A84C006B
+:0820500001471BFC016FC3FFF7
+:082058000193DB80C040F00A97
+:0820600001016F031A0193DB7B
+:0820680000C001A201007EFC92
+:0820700001A7C10001000302F9
+:08207800305101A201514AFCA4
+:0820800001A7C10001A7C390F4
+:0820880001A7C30201471BFE82
+:082090000193DB02C001A20173
+:082098009F4CFC01471BFC01F9
+:0820A00086DA00C20193DB8027
+:0820A800C00193DB02C001A29C
+:0820B000015E4EFC01471BFE1E
+:0820B80040F00A01016F031A58
+:0820C0000193DB00C001A20145
+:0820C800707EFC01A6CE0201AE
+:0820D0006F01000186DB02C074
+:0820D80001A7DA0601869B0650
+:0820E000C0018E9B86C0018E39
+:0820E8005B04C1018E1B8CC1D9
+:0820F00001471B0801F2018EFB
+:0820F8005A84C0019E5A04C184
+:08210000013FD001471BF8016B
+:08210800939B06C0019E1B8C95
+:08211000C1019E9B86C0019EE7
+:082118005B04C15022FCFF0032
+:08212000019D1A8D01A79B0629
+:0821280001471BFE014DDB869F
+:08213000010193DB02C00193E1
+:082138001B83C001935B03C18E
+:082140000186DA80C201A70349
+:08214800030182DA00C201A7C5
+:08215000C39001A7430301A89D
+:082158004C000120CC0F053002
+:082160000701200C0006300706
+:08216800016F410101309801F3
+:08217000471BFC016FC3FF01D6
+:0821780093DB80C040F00A0176
+:08218000016F031A0193DB005B
+:08218800C001A201007EFC0170
+:08219000A7C1000100030230A9
+:082198006A01580D434040C0EC
+:0821A0001701014CC40000010D
+:0821A800A7C302200801800B0F
+:0821B000D1260153C480010196
+:0821B800010312302801471B4E
+:0821C000FE01935B03C001A2C4
+:0821C800019F4CFC200801906E
+:0821D0000BC32601471BFE01B1
+:0821D800935B03C001A201A00A
+:0821E0004AFC01300720080150
+:0821E800900BC32601471BFE0A
+:0821F00040F00A01016F031A1F
+:0821F8000193DB00C001A2010C
+:08220000707EFC016F0100017A
+:08220800865B03C101861B8304
+:08221000C00186DB02C001A73A
+:08221800DA0601869B06C001F5
+:082220008E9B86C0018E5B0459
+:08222800C1018E1B8CC10147AE
+:082230001B0801F2018E5A8423
+:08223800C0019E5A04C1013FE0
+:08224000C600000000000000D0
+:0822480000000000000000008E
+:0822500001471BF801939B06F6
+:08225800C0019E1B8CC1019E18
+:082260009B86C0019E5B04C1D6
+:08226800502EFCFF00019DDA7D
+:082270008701A79B0601471B33
+:08227800FC01A84C00502DFCF4
+:08228000FF00019D5A740147A3
+:082288001BFE016F0305019329
+:08229000DB00C001A201000700
+:08229800FC01471B02016F036A
+:0822A0000001A7C3D040F00AC1
+:0822A800010191C0802740F004
+:0822B0000A010193000028015E
+:0822B8006F0402014EC4000096
+:0822C00040F00A010193030044
+:0822C80023016F030040F00A3E
+:0822D000010193C0802240F0DF
+:0822D8000A0101930000250139
+:0822E000471BFE016F03000122
+:0822E80093DB00C001A20161BB
+:0822F0004AFC2010016F0500FB
+:0822F800014E05010040C01772
+:0823000001014CC4000020089B
+:08230800019003F02601471BC0
+:08231000FE40F00A01016F0319
+:082318001A0193DB00C001A2D1
+:0823200001707EFC01471BFE69
+:0823280040F00A01016F0318E7
+:082330000193DB00C001A201D2
+:08233800707EFC01471BFE4012
+:08234000460001016F03960144
+:0823480093DB00C001A201704B
+:082350007EFC01931A80DF01FD
+:0823580086DA80DF204001203D
+:08236000030006303701865A24
+:0823680081DF014E0501024076
+:08237000F00201014CC4000061
+:0823780001865A81DF014C05CA
+:08238000110001A704D1019135
+:082388000301200186DA80DF69
+:08239000014743000193DA80CC
+:08239800DF013FBB2040016F93
+:0823A0000600014D4611000189
+:0823A8004E05010240F00201A4
+:0823B000014CC40000016F455F
+:0823B8000001A7051101A704B3
+:0823C000D1019103012040F05E
+:0823C8000A01019100802101CE
+:0823D000471BFE016F830701AA
+:0823D80093DB00C001A201002B
+:0823E00007FC01471B020193F9
+:0823E8001A80DF0186DA80DFB4
+:0823F0000120C30C06335E015D
+:0823F800865A81DF2008014E26
+:082400000501804018C0000135
+:082408004CC4008001861A811A
+:08241000DF2006019003212BDF
+:0824180001931A00DF0186DACE
+:0824200000DF01210302163068
+:082428004201861A01DF014E9A
+:08243000C420000186DA81DFFF
+:082438002008014E87018040DD
+:0824400018C000014C460180A8
+:08244800014C05416B016F46D8
+:082450000001A7461101C1C4FF
+:0824580050200186DA00DF01CB
+:082460004743000193DA00DF9D
+:08246800013FB20186DA80DFBA
+:08247000012103001330E80113
+:08247800865A81DF2008014EA5
+:082480000501804018C00001B5
+:082488004CC400805000D0FF9D
+:0824900000016F0400200601A9
+:082498009303012501865A811E
+:0824A000DF2008014E05018058
+:0824A8004018C000014CC40003
+:0824B0008040F00A01016F05F4
+:0824B8002201861A82DF204098
+:0824C000014EC80100016F0983
+:0824C80001014E090200014070
+:0824D000076210014085411074
+:0824D800200601930381250198
+:0824E000865A81DF2008014E3D
+:0824E8000501804018C000014D
+:0824F0004CC4008040FC07060B
+:0824F800016F040001A704E1DB
+:0825000020060192038126016F
+:08250800471BFE016FC3070130
+:0825100093DB00C001A20100F1
+:0825180007FC01471B0201470B
+:082520001BFE2008016F0500FD
+:08252800014E0501004018C03E
+:0825300000014CC4008001937E
+:08253800DB00C001A2012A58DA
+:08254000FC01471B0201471BCF
+:08254800FE016F83080193DB23
+:0825500000C001A2010007FC1C
+:0825580001471B020130AE0136
+:08256000865A81DF2008014EBC
+:082568000501804018C00001CC
+:082570004CC4008040F00A0198
+:08257800016F052201861A82A1
+:08258000DF2040014EC80100FC
+:08258800016F0901014E090277
+:08259000000140076210014048
+:082598008541102006019303A8
+:0825A000012501865A81DF20AC
+:0825A80008014E0501804018F6
+:0825B000C000014CC400804092
+:0825B800F00A01016F05220188
+:0825C000861A82DF2040014E63
+:0825C800C80100016F090101C7
+:0825D0004E0902000140076200
+:0825D8001001408541102006AE
+:0825E000019303812501865AD5
+:0825E80081DF2008014E05010E
+:0825F000804018C000014CC43A
+:0825F800008040FC0706016FA2
+:08260000040001A704E120061B
+:08260800019203812601471B2A
+:08261000FE016FC3080193DB1A
+:0826180000C001A2010007FC53
+:0826200001471B0201865A81EB
+:08262800DF2008014E050180CE
+:082630004018C000014CC40079
+:0826380080016FC40701A70433
+:08264000D120060191030126DF
+:0826480001865A81DF20080120
+:082650004E0501804018C00096
+:08265800014CC40080016F0475
+:082660001501A704D1200601B9
+:082668009103212601865A812D
+:08267000DF2008014E05018086
+:082678004018C000014CC40031
+:0826800080016F040001A704B2
+:08268800D12006019103412657
+:0826900001865A81DF200801D8
+:082698004E0501804018C0004E
+:0826A000014CC40080016F042D
+:0826A8000001A704D120060186
+:0826B0009103612601865A81A5
+:0826B800DF2008014E0501803E
+:0826C0004018C000014CC400E9
+:0826C800802006019003F026BA
+:0826D00001865A81DF20080198
+:0826D8004E0501804018C0000E
+:0826E000014CC400802006013A
+:0826E8009003002701865A81CE
+:0826F000DF2008014E05018006
+:0826F8004018C000014CC400B1
+:08270000802006019003C026B1
+:0827080001865A81DF2008015F
+:082710004E0501804018C000D5
+:08271800014CC4008020060101
+:082720009003D02601865A81C6
+:08272800DF2008014E050180CD
+:082730004018C000014CC40078
+:0827380080016F04102006016E
+:08274000900311270186DA80E5
+:08274800DF014743000193DAB1
+:0827500080DF013C9601471BEC
+:08275800FE016F03090193DB90
+:0827600000C001A2010007FC0A
+:0827680001471B0201A2016000
+:0827700064FC01A201E662FC19
+:0827780001471BFE50E0FCFFCD
+:0827800000016F03080193DB67
+:0827880000C001A201FF94FC56
+:0827900001471B02016F010A61
+:0827980030060C01914000A085
+:0827A00001931A80DF0186DAC3
+:0827A80080DF0120030206306E
+:0827B0002C01861A81DF014EA5
+:0827B800C42000016F4500017F
+:0827C000A7051140C02701012B
+:0827C800910301210186DA8072
+:0827D000DF014743000193DA29
+:0827D80080DF013FC801931AE4
+:0827E00080DF0186DA80DF01D1
+:0827E80020034006337A01864C
+:0827F0005A81DF2010014E05A3
+:0827F800010040C01701014C73
+:08280000C4000001861A81DF0B
+:082808002008019103A1260143
+:08281000865A81DF2010014E01
+:0828180005010040C017010199
+:082820004CC4000001865A813E
+:08282800DF014C05110020083E
+:08283000019103012001865A09
+:0828380081DF2010014E0501B3
+:082840000040C01701014CC467
+:082848000000016F450001A72B
+:0828500005112008019103218C
+:0828580020016F410A30060C5B
+:0828600001914000A001865A1D
+:0828680081DF2010014E050183
+:082870000040C01701014CC437
+:0828780000002008019003D0CC
+:082880002601865A81DF2010B9
+:08288800014E05010040C017DC
+:0828900001014CC40000016FBE
+:08289800040E2008019003C1A9
+:0828A0002601865A81DF201099
+:0828A800014E05010040C017BC
+:0828B00001014CC400002008E6
+:0828B800019003E026016F818D
+:0828C0000B30060C01914000F1
+:0828C800A001865A81DF2010F7
+:0828D000014E05010040C01794
+:0828D80001014CC4000040D0D6
+:0828E000E100016F0600018612
+:0828E8005A82DF2010014E09A5
+:0828F0000200016F0A02014E13
+:0828F8004A0200014048721081
+:082900000140C65110016FC730
+:082908007F014E8781000140B0
+:0829100085411020080193032A
+:08291800812001865A81DF20B5
+:0829200010014E05010040C04A
+:082928001701014CC40000403E
+:08293000D0F100016F06000167
+:08293800865A82DF2010014ED7
+:08294000090200016F0A020107
+:082948004E4A020001404872F2
+:08295000100140C65110016F97
+:08295800C77F014E87810001D9
+:0829600040854110200801939D
+:08296800030121016F810A3017
+:08297000060C01914000A001DA
+:08297800865A81DF2010014E98
+:0829800005010040C017010130
+:082988004CC4000040D0C10066
+:08299000016F060001865A8266
+:08299800DF2020014E090200BE
+:0829A000016F0A02014E4A0218
+:0829A8000001404872100140DB
+:0829B000C651102003016FC79E
+:0829B800FF014E878100014080
+:0829C00085411020080193037A
+:0829C800812101865A81DF2004
+:0829D00010014E05010040C09A
+:0829D8001701014CC4000020AE
+:0829E00008019003F0260186B6
+:0829E8005A81DF2010014E05A9
+:0829F000010040C01701014C79
+:0829F800C40000200801930354
+:082A00000022016FC10A30063B
+:082A08000C01914000A0016FD8
+:082A10008400014EC400000126
+:082A180086DA81DF2010014E77
+:082A200087010040C01701010D
+:082A28004C4601002008014C9E
+:082A3000050186016F4600015B
+:082A3800A7461101C1C45020A2
+:082A4000016F8400014EC41077
+:082A4800000186DA81DF201095
+:082A5000014E87010040C01790
+:082A580001014C4601002008B9
+:082A6000014C050186016F46DF
+:082A68000001A7461101C1C4E1
+:082A70005020016F8400014EAB
+:082A7800C420000186DA81DFB1
+:082A80002010014E8701004007
+:082A8800C01701014C460100DA
+:082A90002008014C050186013C
+:082A98006F460001A746110181
+:082AA000C1C45020016F840045
+:082AA800014EC430000186DA82
+:082AB00081DF2010014E8701B7
+:082AB8000040C01701014C466B
+:082AC00001002008014C050192
+:082AC80086016F460001A746DC
+:082AD0001101C1C45020016F87
+:082AD800010B30060C019140D6
+:082AE00000A00186DA80DF018D
+:082AE800218300163041018634
+:082AF0005A81DF2010014E05A0
+:082AF800010040C01701014C70
+:082B0000C4000001861A81DF08
+:082B08002008019003E1260101
+:082B1000865A81DF2010014EFE
+:082B180005010040C017010196
+:082B20004CC40000016F040623
+:082B28002008019003C1260101
+:082B3000865A81DF2010014EDE
+:082B380005010040C017010176
+:082B40004CC4000020080193C1
+:082B4800038028016FC10B306E
+:082B5000060C01914000A001F8
+:082B580086DA80DF014743002B
+:082B60000193DA80DF013C7AE9
+:082B6800016F0640014D46110A
+:082B7000002010014E050100D8
+:082B780040C01701014CC4002C
+:082B800000016F450001A705EB
+:082B8800112008019103012056
+:082B9000016F830040C0270122
+:082B98000191C00020016F0152
+:082BA0000C30060C019140000D
+:082BA800A001471BFE016F03B1
+:082BB000000193DB00C001A24B
+:082BB80001A04AFC01471BFECD
+:082BC000016F43000193DB00EB
+:082BC800C001A201A04AFC209B
+:082BD00010016F0500014E0524
+:082BD800010040C01701014C8F
+:082BE000C40000016F04022093
+:082BE80008019003D126201022
+:082BF000016F0500014E051103
+:082BF8000040C01701014CC4AC
+:082C00000000016F040220082E
+:082C0800019003D126016F4188
+:082C10000C30060C019140009C
+:082C1800A001471BFE016F0340
+:082C2000000193DB00C001A2DA
+:082C280001614AFC016F440048
+:082C300001A7C41040C02701F8
+:082C38000191C0802001471B3F
+:082C4000FC500AFCFF00016FCB
+:082C4800838E0193DB80C001C3
+:082C50006F03010193DB00C0DA
+:082C580001A201F87CFC014718
+:082C60001BFC5013FCFF0001F6
+:082C68006F03C10193DB80C082
+:082C7000016F83000193DB00FA
+:082C7800C001A201F87CFC017F
+:082C8000471BFC500DFCFF0096
+:082C8800016F834B0193DB8017
+:082C9000C0016F83300193DBEA
+:082C980000C001A201F87CFC60
+:082CA00001471BFC506FFCFF13
+:082CA80000016F03E00193DB62
+:082CB00080C0016FC3300193E5
+:082CB800DB00C001A201F87C61
+:082CC000FC016F810C30060CD1
+:082CC80001914000A001471B2F
+:082CD000F6016F03000193DB24
+:082CD80000C2016F030001932B
+:082CE000DB80C15055FCFF0030
+:082CE800016F034C0193DB00B6
+:082CF000C1016F03000193DB39
+:082CF80080C0016F0306019387
+:082D0000DB00C001A201F01B81
+:082D0800FC01471B0A016FC129
+:082D10000D30060C019140009A
+:082D1800A001471BF6016F4307
+:082D2000000193DB00C2016F0A
+:082D280003000193DB80C150A0
+:082D300085FCFF00016FC37D6B
+:082D38000193DB00C1016F03F0
+:082D4000000193DB80C0016F6C
+:082D4800C3060193DB00C0018A
+:082D5000A201F01BFC01471B6E
+:082D58000A016F010D30060CA9
+:082D600001914000A001471B96
+:082D6800F6016F03000193DB8B
+:082D700000C2016F0300019392
+:082D7800DB80C15017FCFF00D5
+:082D8000016F03F80193DB0071
+:082D8800C1016F03000193DBA0
+:082D900080C0016FC30F019325
+:082D9800DB00C001A201F01BE9
+:082DA000FC01471B0A016F4111
+:082DA8000D30060C0191400002
+:082DB000A040563412016F032C
+:082DB8009E4016C0000193C00B
+:082DC0008024016F010E3006B2
+:082DC8000C01914000A0013054
+:082DD00027012002010330205D
+:082DD800400F0001019340804F
+:082DE0003801471BFE016F835F
+:082DE800160193DB00C001A2FB
+:082DF000010007FC01471B0272
+:082DF800502EFCFF00019DDAE2
+:082E00008701A7DA0601869B99
+:082E080006C0018E9B86C0018B
+:082E10008E5B04C1018E1B8CD6
+:082E1800C101471B0801F20192
+:082E20008E5A84C0019E5A0481
+:082E2800C1013FD500000000CC
+:082E300001471BF801939B060A
+:082E3800C0019E1B8CC1019E2C
+:082E40009B86C0019E5B04C1EA
+:082E48005031FCFF00019D9ACE
+:082E50006B01A79B0601471B63
+:082E5800FA014DDB8603019332
+:082E6000DB02C001931B83C0DB
+:082E680001935B03C101939B80
+:082E700083C10193DB03C201E1
+:082E7800931B84C201935B046B
+:082E8000C30186DA00C201A7BC
+:082E8800C3020186DA80C201D9
+:082E9000A7030340F00A010151
+:082E98006F0E0040F00A010179
+:082EA0006F0F0640F002010172
+:082EA8006F1100016F10000121
+:082EB000471BFC016FC3FF0189
+:082EB80093DB80C040F00A0129
+:082EC000016F031A0193DB000E
+:082EC800C001A201007EFC0123
+:082ED000A7C10001000302325A
+:082ED800900186CB00220147A6
+:082EE00043000193CB00220125
+:082EE80082CBC0200121030090
+:082EF0001230110121830012D0
+:082EF800300D012143001230EE
+:082F0000AC0131F70131F401CD
+:082F080086CB002201860B813B
+:082F1000210112030128309297
+:082F180001820B8120015844E5
+:082F2000314001B2D130200163
+:082F280091DA60DF01825A61B9
+:082F3000DF01A745910158459E
+:082F3800414001404434100146
+:082F4000A7430301820B81206D
+:082F4800015844314001820FE1
+:082F5000012001A704D101C119
+:082F5800D140200182CB802052
+:082F60000191CF00200186CE93
+:082F6800002001474300019322
+:082F7000CE00200186CB0022F7
+:082F7800014DC310000193CBD1
+:082F800000220182DA60DF018A
+:082F880091CB80200186CB8073
+:082F9000220123C3FF3B86CBA5
+:082F980080223B4743003B93FC
+:082FA000CB8022016FD001017A
+:082FA8003F5D01314E0186CBB3
+:082FB000002201860B812101C2
+:082FB8001203012830550182CB
+:082FC000CF002001A7C3D001DE
+:082FC80091CC002001404C44B3
+:082FD00014015844314C019139
+:082FD800CF00200186CE00208D
+:082FE000014743000193CE00FC
+:082FE800200186CB80220123A9
+:082FF000C3FF3B86CB80223BAE
+:082FF8004743003B93CB80220C
+:08300000016FD0010186CB0035
+:0830080022014DC310000193E9
+:08301000CB00220186CB002257
+:0830180001860B812101120366
+:08302000012830B201824B814E
+:08302800200158454140014020
+:0830300044341001A743030121
+:08303800404D441401584431DD
+:083040004C01820BA12030FFBE
+:0830480000015304F1FF011324
+:08305000030132301A01A70D43
+:083058000301824D0120015823
+:083060004541400140443410D9
+:0830680001A74303013FC80169
+:08307000404C441401584431A6
+:083078004C0191CBA020018264
+:08308000CF002001A7C3D0011D
+:0830880091CD002001404D44F0
+:0830900014015844314C019178
+:08309800CF00200186CE0020CC
+:0830A000014743000193CE003B
+:0830A800200186CB80220123E8
+:0830B000C3FF3B86CB80223BED
+:0830B8004743003B93CB80224B
+:0830C0000186CB0022014DC383
+:0830C80010000193CB0022016E
+:0830D0006FD001013F3D012218
+:0830D800D00123301E01471B4B
+:0830E000FE40F00A01016F033C
+:0830E8001A0193DB00C001A2F4
+:0830F00001707EFC01A75000F5
+:0830F8000130720182CBA0201F
+:0831000001210300173020013A
+:08310800820BA12001584431A3
+:083110004001404C5414015829
+:0831180045414C01A704D1015F
+:08312000C1D1402001300F0174
+:08312800404C441401584431ED
+:083130004C0191CB802001400D
+:083138004C4414015844314CD1
+:083140000191CBA020016FC337
+:08314800FF01A7C3D00191CCE7
+:08315000002001471BFE40F0C6
+:083158000A01016F031A019343
+:08316000DB00C001A201707E3A
+:08316800FC01A7500001865B89
+:0831700004C301861B84C201A7
+:0831780086DB03C201869B8384
+:08318000C101865B03C1018659
+:083188001B83C00186DB02C0BD
+:0831900001A7DA0601869B0687
+:08319800C0018E9B86C0018E70
+:0831A0005B04C1018E1B8CC110
+:0831A80001471B0C01F2018E2E
+:0831B0005A84C0019E5A04C1BB
+:0831B800013FB201471BF801C1
+:0831C000939B06C0019E1B8CCD
+:0831C800C101A79B0601471B92
+:0831D000FC014DDB86010193B7
+:0831D800DB02C001931B83C060
+:0831E00001935B03C10186DAD3
+:0831E80000C201A7C302016F40
+:0831F000030001A7030301869F
+:0831F800CB00220100030230AC
+:083200005A0186CB0022014DAA
+:08320800C310000193CB00226A
+:083210000182CB802001A743DD
+:083218000301210D0017303BFA
+:0832200001584D414040F0024D
+:0832280001014CC4000001A7E4
+:0832300003030182CC00200120
+:0832380091CB80200182CB80C4
+:083240002001220300276FC3E7
+:08324800FF2791CBA02001A794
+:083250004D9301A74DD301913C
+:083258004C032001A74C00010A
+:08326000865B03C101861B839C
+:08326800C00186DB02C001A7D2
+:08327000DA0601869B06C0018D
+:083278008E1B8CC101471B0AEB
+:0832800001F201471BF8019364
+:083288009B06C0019E1B8CC1D6
+:08329000019E9B86C0019E5BBC
+:0832980004C15034FCFF0001E9
+:0832A0009DDA1B01A79B06014A
+:0832A8004DDB06020193DB027D
+:0832B000C001931B83C00193D0
+:0832B8005B03C101939B83C17C
+:0832C0000186DA00C201A7C378
+:0832C800020186DA80C201A7B1
+:0832D000030340C01701016F68
+:0832D8000D0040F00A01016F36
+:0832E0000E1A01200C0002305F
+:0832E8000701200B0003300771
+:0832F000016F410101314601AB
+:0832F800471BFC016FC3FF013D
+:0833000093DB80C001939B03E5
+:08330800C001A201007EFC01DE
+:08331000A7C100010003023017
+:08331800AA0182CB4020012133
+:08332000C3FF13301F01471B1E
+:08332800FE01939B03C001A20A
+:0833300001707EFC016F030037
+:083338000193CC0020016F019C
+:08334000020130F90186CB0007
+:0833480021014DC310000193A7
+:08335000CB002101824B41205A
+:08335800015805434001404407
+:0833600033100193CC002001A1
+:08336800824B4120015805438E
+:08337000400140443310200825
+:08337800018203412001910BC9
+:0833800041200182CB40200135
+:0833880021030014301D018235
+:083390004B41200158054340A8
+:083398000140443310016FC431
+:0833A000FF20080191036120E8
+:0833A800013009016FC3FF01B0
+:0833B00091CB602001471BFED8
+:0833B80001939B03C001A20177
+:0833C000707EFC01860C012067
+:0833C8002008018004D1260158
+:0833D00053C4100001000302C8
+:0833D800301401471BFE0186C1
+:0833E000CC00200193DB00C0CA
+:0833E80001A2012E50FC018638
+:0833F000CC002001860C012035
+:0833F800016FC5FF20080191DF
+:08340000444120200801824430
+:083408004120200801914361FD
+:08341000200186CC0020016FB1
+:08341800C4FF200801910381AB
+:08342000260186CC00202008E3
+:08342800018003D126015304C9
+:08343000D1FF2008019003D137
+:0834380026016F010001869BD3
+:0834400083C101865B03C10199
+:08344800861B83C00186DB0234
+:08345000C001A7DA0601869B0A
+:0834580006C0018E9B86C00135
+:083460008E5B04C1018E1B8C80
+:08346800C101471B0801F2013C
+:083470008E5A84C0019E5A042B
+:08347800C1013FC101471BF82F
+:0834800001939B06C0019E1B95
+:083488008CC1019E9B86C0016E
+:083490009E5B04C15036FCFFF5
+:0834980000019D1A8801A79BA9
+:0834A0000601471BFE014DDB94
+:0834A80006020193DB02C001E2
+:0834B000931B83C001935B0331
+:0834B800C101939B83C140F0A8
+:0834C0000A01016F0C080186EE
+:0834C800DA00C201A743034032
+:0834D000F00A01016F0E1A0160
+:0834D800A84C0001200D0002C8
+:0834E0006F41010231080147B0
+:0834E8001BFC016FC3FF0193FF
+:0834F000DB80C001939B03C0C7
+:0834F80001A201007EFC01A706
+:08350000C10001000302307755
+:083508000182CC002001210327
+:083510000017300E0182CC000F
+:0835180020200401210300172B
+:08352000301601471BFE019368
+:083528009B03C001A201707EAB
+:08353000FC016F01100130B62F
+:0835380001824C0120015885BD
+:08354000414040F00101014C83
+:08354800C4000001A7C3020149
+:0835500082CB00200191CC00A8
+:083558002040F00A010186C0C9
+:083560008020014DC310004062
+:08356800F00A010193C080206C
+:0835700001471BFE01939B03C0
+:08357800C001A201707EFC40BD
+:08358000F00101014D0B0100F7
+:08358800015884314C0191CD82
+:08359000002001A201C007FCAC
+:0835980001A7C1000190CB2046
+:0835A00020016FC3FF0191CB74
+:0835A8004020016FC3FF0191F7
+:0835B000CB6020016FC3FF0195
+:0835B80091CB8020016FC3FFDD
+:0835C0000191CBA02001930B47
+:0835C800002101930B00220118
+:0835D000930B8022016F03023E
+:0835D8000193CB8021016F83F8
+:0835E0000001A7C3D00191CB4B
+:0835E800C020016F0100018603
+:0835F0009B83C101865B03C14E
+:0835F80001861B83C00186DB84
+:0836000002C001A7DA060186F1
+:083608009B06C0018E9B86C0E9
+:08361000018E5B04C1018E1B59
+:083618008CC101471B0801F2FF
+:08362000018E5A84C0019E5A7C
+:0836280004C1013FC101471B71
+:08363000F801939B06C0019E06
+:083638001B8CC1019E9B86C0A2
+:08364000019E5B04C15038FC3F
+:08364800FF00019D9A3601A765
+:083650009B0601471BFA014D26
+:08365800DB86020193DB02C0D6
+:0836600001931B83C001935B81
+:0836680003C101939B83C10122
+:0836700093DB03C2014CDA8078
+:08367800DE01A7C3020182DAA2
+:0836800000C201A7C39001A7DD
+:08368800830340F00A01016F09
+:083690000F1A01A84C000120F3
+:083698000E00073009200401B7
+:0836A000200E00073007016F46
+:0836A80041000131F601588ECA
+:0836B000414040F00101014C12
+:0836B800C4000001A743030157
+:0836C000471BFC016FC3FF0171
+:0836C80093DB80C00193DB03DA
+:0836D000C001A201007EFC0113
+:0836D800A7C10001000302314B
+:0836E000BE0180CD202001A7EE
+:0836E800C380014DDB860001E7
+:0836F00093DB00C001A201C040
+:0836F80007FC0186DB00C001A4
+:08370000471B0201A7010101B2
+:0837080011030112302B01A294
+:0837100001C007FC01A7C10084
+:083718004018C000012103006C
+:0837200012301601471BFE01E7
+:0837280093DB03C001A2017054
+:083730007EFC016F4103013131
+:083738006A01471BFE01935BCF
+:0837400003C001A201BB31FC32
+:0837480001A7C10001A7030362
+:0837500001010C123069016F48
+:08375800430001A7C3D0019159
+:08376000CC6020016FC3FF01E2
+:08376800A7C3D00191CC202081
+:08377000016FC3FF01A7C3D0E4
+:083778000191CC402040F00A51
+:08378000010182C0802101A7B4
+:08378800C3D00191CC002040E8
+:08379000F00201014D0C0100E3
+:08379800015844314C40F00AD5
+:0837A000010191C0802140F0FD
+:0837A8000A010186C0002001A6
+:0837B00047430040F00A01014B
+:0837B80093C00020013F7A01DB
+:0837C000471BFC0193DB82C0F2
+:0837C80001935B03C001A201A3
+:0837D0008232FC01471B0401D9
+:0837D80086CB00200121030053
+:0837E0001230720186CB0020BB
+:0837E800016F040001A704D1E8
+:0837F00020080191036124018E
+:0837F800860B0120200801806E
+:0838000004D1260153C410009D
+:08380800010103123022014707
+:083810001BFE01864B01204064
+:08381800C01701014D0501007C
+:08382000015804334C0193DB55
+:0838280000C001A2012E50FCBA
+:0838300001471BFE01864B015C
+:083838002040C01701014D05FD
+:083840000100015804334C01A2
+:0838480093DB00C001A201A006
+:083850004AFC013F6A40F00A46
+:08385800010182C00022019170
+:08386000CD002040F001010140
+:083868004D0D010001588431EF
+:083870004C40F00A010191C077
+:08387800002240F00A01018664
+:08388000C08020014743004015
+:08388800F00A010193C0802049
+:0838900001471BFE0193DB035D
+:08389800C001A201707EFC01D9
+:0838A0006F01000186DB03C289
+:0838A80001869B83C101865BD0
+:0838B00003C101861B83C00166
+:0838B80086DB02C001A7DA065D
+:0838C00001869B06C0018E9BEE
+:0838C80086C0018E5B04C10102
+:0838D0008E1B8CC101471B088F
+:0838D80001F2018E5A84C001C7
+:0838E0009E5A04C1013FBC0126
+:0838E800471BF801939B06C089
+:0838F000019E1B8CC1019E9B8F
+:0838F80086C0019E5B04C15073
+:083900003AFCFF00019D5A94FE
+:0839080001A79B0601471BFE0D
+:08391000014DDB06020193DB0F
+:0839180002C001931B83C001F2
+:08392000935B03C101939B833B
+:08392800C10182DA00C201A70F
+:08393000C39001A7030340F05E
+:083938000A01016F0D1A01865E
+:08394000DA80C201A783030134
+:08394800A84C0001200C00074F
+:083950003009200401200C00E5
+:08395800073007016F41000177
+:0839600030BD01208E00056F4F
+:0839680041010530B201588C49
+:08397000414040F00101014C4F
+:08397800C4000001A7C3020115
+:08398000471BFC016FC3FF01AE
+:0839880093DB80C001935B0397
+:08399000C001A201007EFC0150
+:08399800A7C100010003023089
+:0839A0007A0180CB202001A771
+:0839A800C380014DDB86000124
+:0839B00093DB00C001A201C07D
+:0839B80007FC0186DB00C001E1
+:0839C000471B0201A7010101F0
+:0839C80011030112302B01A2D2
+:0839D00001C007FC01A7C100C2
+:0839D8004018C00001210300AA
+:0839E00012301601471BFE0125
+:0839E800935B03C001A2017012
+:0839F0007EFC016F4103013070
+:0839F8002601A78ED301918B7B
+:083A0000C3200186DA00C301B6
+:083A080093CB802101471BFE56
+:083A100001935B03C001A20158
+:083A1800707EFC016F0100014A
+:083A2000869B83C101865B0354
+:083A2800C101861B83C0018669
+:083A3000DB02C001A7DA060168
+:083A3800869B06C0018E9B86EF
+:083A4000C0018E5B04C1018E80
+:083A48001B8CC101471B0801A2
+:083A5000F2018E5A84C0019EB0
+:083A58005A04C1013FC10147FE
+:083A60001BF801939B06C00155
+:083A68009E1B8CC1019E9B8690
+:083A7000C0019E5B04C1503E41
+:083A7800FCFF00019D1A84010E
+:083A8000A79B0601471BFA0198
+:083A88004DDB06030193DB0294
+:083A9000C001931B83C00193E8
+:083A98005B03C101939B83C194
+:083AA0000193DB03C201931B3B
+:083AA80084C2014DDB86000120
+:083AB0009E1B06C0014CDA80E8
+:083AB800DE01A7C3020182DA5E
+:083AC00000C201A7C39001A799
+:083AC800830340F00A01016FC5
+:083AD0000F06507EFCFF00010F
+:083AD8009D189C40F00A010159
+:083AE0006F101A01A84C00014F
+:083AE800200E00073009200444
+:083AF00001200E000730070160
+:083AF8006F41000132CD0158BD
+:083B00008E414040F00101017B
+:083B08004CC4000001A74303B7
+:083B100001471BFC016FC3FF1C
+:083B18000193DB80C001931B47
+:083B200004C001A201007EFCBB
+:083B280001A7C1000100030226
+:083B300031330180CD2020019A
+:083B380021030017300C01808D
+:083B4000CD20200121C30C1768
+:083B4800301301471BFE01933D
+:083B50001B04C001A081016FFC
+:083B5800410201326E0182CF2F
+:083B60000020012103001730D1
+:083B68000E0182CF0020204075
+:083B70000121030017301301CD
+:083B7800471BFE01931B04C072
+:083B800001A081016F41100159
+:083B8800324101824F012001CE
+:083B90005845414040F00201DC
+:083B9800014CC4000001A70369
+:083BA000030182CC0020019119
+:083BA800CF002040F00A0101EA
+:083BB00086C00020014DC31086
+:083BB8000040F00A010193C076
+:083BC0000020014DDB8600012D
+:083BC80093DB00C0014DDB8618
+:083BD0000001931B01C001A2DA
+:083BD80001C007FC01861B017E
+:083BE000C001471B020186DB56
+:083BE80000C001471B0201A708
+:083BF00041014018C000014D25
+:083BF8000501800158C4324CA4
+:083C000001A7C3D00191CC2003
+:083C08002001A78E9301A78E95
+:083C1000D301918C4320016FE8
+:083C1800830001A7C3D0019154
+:083C2000CC60200186DA80C2AD
+:083C28000193CC80200186DA33
+:083C300000C30193CC00210147
+:083C380086DA80C30193CC8001
+:083C40002101471BFC0193DB8D
+:083C480082C001935B03C0017F
+:083C5000A2018232FC01471BB6
+:083C58000401471BFE01931B50
+:083C600004C001A0810186CB24
+:083C68000020012003000330DD
+:083C70001F01471BFC01931B1F
+:083C780083C001935B03C0014E
+:083C8000A201302EFC01A7C1D6
+:083C88000001A7430001313BDC
+:083C900001471BFC016FC3FF9B
+:083C98000193DB80C001931BC6
+:083CA00004C001A201007EFC3A
+:083CA80001A7C10001000302A5
+:083CB00031150186CB00200153
+:083CB800820C2120200801917B
+:083CC0000321240186CB002042
+:083CC80001820C4120200801DB
+:083CD000910341240186CB00A1
+:083CD8002001820C612020088C
+:083CE00001910361240186CB70
+:083CE800002001860C81202060
+:083CF000080193038124018601
+:083CF800CB002001860C012124
+:083D00002008019303012501D5
+:083D080086CB002001860C812E
+:083D1000212008019303812525
+:083D1800016F430001A7C3D0B5
+:083D20000191CC6020016FC38A
+:083D2800FF01A7C3D00191CCFB
+:083D30002020016FC3FF01A771
+:083D3800C3D00191CC40200131
+:083D400082CF002001A7C3D0CF
+:083D48000191CC002040F002C3
+:083D500001014D0C01000158B6
+:083D580044314C0191CF002021
+:083D600001860B01202008017F
+:083D68008004D1260153C410B0
+:083D70000001010312302201E1
+:083D7800471BFE01864B0120F0
+:083D800040C01701014D0501CF
+:083D880000015804334C0193C3
+:083D9000DB00C001A2012E506E
+:083D9800FC01471BFE01864BF4
+:083DA000012040C01701014D94
+:083DA800050100015804334C31
+:083DB0000193DB00C001A20138
+:083DB800A04AFC01471BFE01BB
+:083DC000931B04C001A0810166
+:083DC8006F0100018E1B06C013
+:083DD00001471B0201861B8460
+:083DD800C20186DB03C2018673
+:083DE0009B83C101865B03C156
+:083DE80001861B83C00186DB8C
+:083DF00002C001A7DA060186FA
+:083DF8009B06C0018E9B86C0F2
+:083E0000018E5B04C1018E1B61
+:083E08008CC101471B0801F207
+:083E1000018E5A84C0019E5A84
+:083E180004C1013FAE01471B8C
+:083E2000F801939B06C0019E0E
+:083E28001B8CC1019E9B86C0AA
+:083E3000019E5B04C15041FC3E
+:083E3800FF00019D5A7701A76C
+:083E40009B0601471BF8014D30
+:083E4800DB86030193DB02C0DD
+:083E500001931B83C001935B89
+:083E580003C101939B83C1012A
+:083E600093DB03C201931B84F4
+:083E6800C201935B04C3014D8C
+:083E7000DB8600019E1B06C069
+:083E7800014CDA80DE01A7C352
+:083E8000020182DA00C201A771
+:083E8800C39001A7C30340F041
+:083E90000A01016F1006507ECB
+:083E9800FCFF00019D189C4095
+:083EA000F00A01016F111A0183
+:083EA800A84C0001200F0007E7
+:083EB0003009200401200F007D
+:083EB800073007016F41000112
+:083EC00032D101588F4140404E
+:083EC800F00101014CC40000EF
+:083ED00001A7830301471BFC5D
+:083ED800016FC3FF0193DB80C1
+:083EE000C001935B04C001A2C4
+:083EE80001007EFC01A7C100EE
+:083EF0000100030231330180DF
+:083EF800CE2020012103001778
+:083F0000300C0180CE202001ED
+:083F080021C30C17301301471F
+:083F10001BFE01935B04C001DC
+:083F1800A081016F410201329A
+:083F2000720182D00020012192
+:083F2800030017300E0182D0E6
+:083F30000020204001210300E4
+:083F380017301301471BFE01C5
+:083F4000935B04C001A08101A4
+:083F48006F41100132450182B6
+:083F50005001200158454140D9
+:083F580040F00201014CC4001D
+:083F60000001A703030182CC5C
+:083F680000200191D00020406F
+:083F7000F00A010186C00020E7
+:083F7800014DC3100040F00AE6
+:083F8000010193C00020014D76
+:083F8800DB86000193DB00C0A1
+:083F9000014DDB860001931BCB
+:083F980001C001A201C007FCF9
+:083FA00001861B01C001471B53
+:083FA800020186DB00C00147A5
+:083FB0001B0201A741014018AA
+:083FB800C000014D050180016C
+:083FC00058C4324C01A7C3D024
+:083FC8000191CC202001A7CFDC
+:083FD0009301A7CFD30191CCAE
+:083FD8004320016F830001A7E3
+:083FE000C3D00191CC60200167
+:083FE80086DA80C20193CC804F
+:083FF000200186DA00C30193F1
+:083FF800CC00210186DA80C330
+:084000000193CC802101471B54
+:08400800FC0193DB82C001936F
+:084010009B03C001A2018232F2
+:08401800FC01471B0401471BDA
+:08402000FE01935B04C001A046
+:08402800810186CB002001207C
+:08403000030003302301471BCC
+:08403800FC01931B83C00193FE
+:084040009B03C001A201302E18
+:08404800FC01A7C10001A74320
+:084050000301A74D0001313B03
+:0840580001471BFC016FC3FFCF
+:084060000193DB80C001935BBA
+:0840680004C001A201007EFC6E
+:0840700001A7C10001000302D9
+:0840780031150186CB00200187
+:08408000820C212020080191AF
+:084088000321240186CB002076
+:0840900001820C41202008010F
+:08409800910341240186CB00D5
+:0840A0002001820C61202008C0
+:0840A80001910361240186CBA4
+:0840B000002001860C81202094
+:0840B800080193038124018635
+:0840C000CB002001860C012158
+:0840C80020080193030125010A
+:0840D00086CB002001860C8163
+:0840D80021200801930381255A
+:0840E000016F430001A7C3D0EA
+:0840E8000191CC6020016FC3BF
+:0840F000FF01A7C3D00191CC30
+:0840F8002020016FC3FF01A7A6
+:08410000C3D00191CC40200165
+:0841080082D0002001A7C3D002
+:084110000191CC002040F002F7
+:0841180001014D0C01000158EA
+:0841200044314C0191D0002054
+:0841280001860B0120200801B3
+:084130008004D1260153C410E4
+:08413800000101031230220115
+:08414000471BFE01864B012024
+:0841480040C01701014D050103
+:0841500000015804334C0193F7
+:08415800DB00C001A2012E50A2
+:08416000FC01471BFE01864B28
+:08416800012040C01701014DC8
+:08417000050100015804334C65
+:084178000193DB00C001A2016C
+:08418000A04AFC01471BFE01EF
+:08418800935B04C001A081015A
+:084190006F0100018E1B06C047
+:0841980001471B0201865B04D4
+:0841A000C301861B84C20186E5
+:0841A800DB03C201869B83C109
+:0841B00001865B03C101861BBF
+:0841B80083C00186DB02C00197
+:0841C000A7DA0601869B06C088
+:0841C800018E9B86C0018E5B95
+:0841D00004C1018E1B8CC1012A
+:0841D800471B0801F2018E5A99
+:0841E00084C0019E5A04C101D4
+:0841E8003FA901471BF80193F8
+:0841F0009B06C0019E1B8CC15F
+:0841F800019E9B86C0019E5B45
+:0842000004C15046FCFF00015F
+:084208009DDAB901A79B060134
+:08421000471BF8014DDB86039A
+:084218000193DB02C001931BBE
+:0842200083C001935B03C1019F
+:08422800939B83C10193DB03AA
+:08423000C201931B84C201933B
+:084238005B04C3014DDB06012C
+:08424000019E1B06C0019E5BFC
+:0842480086C00186DA80C30183
+:08425000A743030186DA00C355
+:0842580001A783030186DA804F
+:08426000C201A7C3030186DAC5
+:0842680000C401A74304507ECD
+:08427000FCFF00019D189C50A9
+:084278007EFCFF00019D19808E
+:0842800001A84C000182DA00E4
+:08428800C20120030007300E03
+:084290000182DA00C2200401E2
+:08429800200300073007016F4D
+:0842A00041000133F301825AD1
+:0842A80001C201A74591015874
+:0842B00085414040F0010101CD
+:0842B8004CC4000001A7030340
+:0842C00001471BFC016FC3FF65
+:0842C8000193DB80C040F00A05
+:0842D00001016F031A0193DBE9
+:0842D80000C001A09101A7C183
+:0842E0000001000302305F0140
+:0842E80080CC2020012103001D
+:0842F00017300C0180CC2020E6
+:0842F8000121C30C17301B016A
+:08430000471BFE40F00A010119
+:084308006F031A0193DB00C0F2
+:0843100001A081016F410201CF
+:08431800337E01471BFE0193F7
+:084320001B03C001A201BB3127
+:08432800FC01A7C1000193DABA
+:0843300000DF01471BFE40F015
+:084338000A01016F031A019351
+:08434000DB00C001A081018631
+:08434800DA00DF01200300038D
+:08435000325201471BFC016F12
+:08435800C3FF0193DB80C040AC
+:08436000F00A01016F031A01CC
+:0843680093DB00C001A09101EC
+:08437000A7C100010103123096
+:084378003F01A2014B4AFC01C8
+:08438000A7C10001A7C302015F
+:08438800471BFE40C0170101B4
+:084390004D0B0100015804333C
+:084398004C0193DB00C001A2FF
+:0843A000019F4CFC01471BFECC
+:0843A80040F00A01016F031A45
+:0843B0000193DB00C001A081B4
+:0843B80020080180CBD0260192
+:0843C00054C320002008019005
+:0843C800CBD0260182DA00C20D
+:0843D00020080191CB802601B9
+:0843D8006FC3FF20080191CB27
+:0843E000402001471BFC016FA6
+:0843E800C3FF0193DB80C0401C
+:0843F000F00A01016F031A013C
+:0843F80093DB00C001A091015C
+:08440000A7C100010103123005
+:08440800B20182CC4020012228
+:08441000030026303D016FC3DB
+:08441800FF20080191CB602098
+:0844200040C01701014D0B0122
+:0844280000015804334C01911E
+:08443000CC402040C01701013F
+:084438004D0B01000158043393
+:084440004C0191CC6020016FDA
+:0844480043000193CC002101A7
+:0844500030550182CC602020F0
+:08445800080191CB60200182F4
+:084460004C61200158054340A6
+:0844680040C01701014CC40023
+:084470000040C01701014D4B93
+:084478000100015805434C202E
+:0844800008019103412040C036
+:084488001701014D0B010001B9
+:084490005804334C0191CC608B
+:08449800200186CC0021014740
+:0844A00043000193CC0021014F
+:0844A800471BFE40F00A010170
+:0844B0006F031A0193DB00C049
+:0844B80001A081010111123085
+:0844C0005D01471BFC016FC305
+:0844C800FF0193DB80C040F00E
+:0844D0000A01016F031A0193B8
+:0844D800DB00C001A09101A767
+:0844E000C10001020322303685
+:0844E80001471BFC01935B84FA
+:0844F000C040C01701014D0B93
+:0844F8000100015804334C01DE
+:0845000093DB00C001A2015E83
+:084508004EFC01471BFE40F0D0
+:084510000A01016F031A019377
+:08451800DB00C001A08101A23B
+:08452000014B4AFC01A7C10098
+:0845280001A703042008014C67
+:08453000D000840182C3602069
+:0845380001210300126F810252
+:08454000123155016F03000167
+:08454800A7C3D020080191D0A7
+:084550006024016FC3FF01A705
+:08455800C3D020080191D040FE
+:0845600024016FC3FF01A7C392
+:08456800D020080191D02024AD
+:0845700001010F20081386D0A1
+:0845780080241393CF00200101
+:08458000010E20081386D00093
+:08458800251393CE0020010170
+:084590000D20081386D08025E0
+:084598001393CD0020016F0117
+:0845A000000130F401000F03DB
+:0845A80086DA00DF03860381BF
+:0845B0002003930F012001001C
+:0845B8000E0386DA00DF038622
+:0845C00003012103930E012009
+:0845C80001000D0386DA00DF9B
+:0845D000038603812103930D12
+:0845D800012001471BFC016FEB
+:0845E000C3FF0193DB80C04022
+:0845E800F00A01016F031A0142
+:0845F00093DB00C001A0910162
+:0845F800A7C10001000302301D
+:08460000930186DA00DF016F6F
+:08460800440001A704D1019157
+:084610000361200186DA00DFDE
+:08461800016FC4FF01A704D1EA
+:0846200001910321200186DA5B
+:0846280000DF016FC4FF01A7D0
+:0846300004D1019103412001B6
+:0846380086DA00DF40F00A0100
+:08464000018200812101A704A1
+:08464800D1019103012001865C
+:084650005A01DF40F0020101F4
+:084658004D0501000158443139
+:084660004C40F00A010191C079
+:08466800802140F00A010186E7
+:08467000C00020014743004097
+:08467800F00A010193C00020CB
+:0846800001471BFE40F00A0196
+:08468800016F031A0193DB002E
+:08469000C001A081016F0100CF
+:08469800018E5B86C0018E1B40
+:0846A00006C001471B0401865E
+:0846A8005B04C301861B84C200
+:0846B0000186DB03C201869BB9
+:0846B80083C101865B03C1010F
+:0846C000861B83C00186DB02AA
+:0846C800C001A7DA0601869B80
+:0846D00006C0018E9B86C001AB
+:0846D8008E5B04C1018E1B8CF6
+:0846E000C101471B0801F201B2
+:0846E8008E5A84C0019E5A04A1
+:0846F000C1013FA401471BF8C2
+:0846F80001939B06C0019E1B0B
+:084700008CC1019E9B86C001E3
+:084708009E5B04C15047FCFF59
+:0847100000019D5ADF01A79B87
+:084718000601471BF6016F03C7
+:08472000000193DB00C20186D9
+:08472800DA80C30193DB80C1BC
+:084730000186DA00C30193DBEE
+:0847380000C10186DA80C20114
+:0847400093DB80C00186DA0062
+:08474800C20193DB00C001A1D6
+:0847500001000001471B0A01F2
+:08475800A7C10001A743000105
+:08476000A7DA0601869B06C0E2
+:08476800018E9B86C0018E5BEF
+:0847700004C1018E1B8CC10184
+:08477800471B0801F2018E5AF3
+:0847800084C0019E5A04C1012E
+:084788003FD501471BF8019326
+:084790009B06C0019E1B8CC1B9
+:08479800019E9B86C0019E5B9F
+:0847A00004C1504AFCFF0001B6
+:0847A8009D9A8301A79B060105
+:0847B000471BFC014DDB8603F1
+:0847B8000193DB02C001931B19
+:0847C00083C001935B03C101FA
+:0847C800939B83C10193DB0305
+:0847D000C201931B84C2019396
+:0847D8005B04C3014DDB860008
+:0847E000019E1B06C00186DAF0
+:0847E80080C301A74303018611
+:0847F000DA00C301A7830301F5
+:0847F80086DA80C201A7C303A9
+:084800000182DA00C201A7C326
+:084808009001A703040186DA08
+:0848100000C401A74304507E1F
+:08481800FCFF00019D189C014A
+:08482000A84C00012010000764
+:084828003009200401201000FA
+:08483000073007016F41000190
+:08483800318A01589041404013
+:08484000F00101014CC400006D
+:0848480001A7030301471BFC5B
+:08485000016FC3FF0193DB803F
+:08485800C040F00A01016F03EA
+:084860001A0193DB00C001A264
+:0848680001007EFC01A7C10064
+:0848700001000302306D01801C
+:08487800CC20200121030013F4
+:08488000301B01471BFE40F054
+:084888000A01016F031A0193FC
+:08489000DB00C001A081016FF3
+:08489800410201312701215109
+:0848A0000013301A01471BFE52
+:0848A80001931B03C001A201F2
+:0848B000BB31FC01A7C10001AE
+:0848B800A7C3020130110182C7
+:0848C000CC802030FF00015301
+:0848C800C3F0FF01A7C30201C8
+:0848D000471BFE40F00A010144
+:0848D8006F031A0193DB00C01D
+:0848E00001A08101200B000280
+:0848E8006F81020230D60100CD
+:0848F0000F0386CB8020039327
+:0848F800CF002001000E038631
+:08490000CB00210393CE00203F
+:0849080001000D0386CB8021A4
+:084910000393CD0020012051AA
+:08491800000330A401471BFC61
+:08492000016FC3FF0193DB806E
+:08492800C040F00A01016F0319
+:084930001A0193DB00C001A293
+:0849380001007EFC01A7C10093
+:0849400001010312307A016F3E
+:08494800430001A7C3D0019157
+:08495000CB6020016FC3FF01E1
+:08495800A7C3D00191CB202080
+:08496000016FC3FF01A7C3D0E2
+:084968000191CB402040F00A50
+:08497000010182C0802101A7B2
+:08497800C3D00191CB002040E7
+:08498000F00201014D0B0100E2
+:08498800015844314C40F00AD3
+:08499000010191C0802140F0FB
+:084998000A010186C0002001A4
+:0849A00047430040F00A010149
+:0849A80093C0002001471BFE33
+:0849B00040F00A01016F031A37
+:0849B8000193DB00C001A081A6
+:0849C000016F0100018E1B06CE
+:0849C800C001471B0201865BE0
+:0849D00004C301861B84C2012F
+:0849D80086DB03C201869B830C
+:0849E000C101865B03C10186E1
+:0849E8001B83C00186DB02C045
+:0849F00001A7DA0601869B060F
+:0849F800C0018E9B86C0018EF8
+:084A00005B04C1018E1B8CC197
+:084A080001471B0801F2018EB9
+:084A10005A84C0019E5A04C142
+:084A1800013FA90000000000AD
+:084A200001471BF801939B06FE
+:084A2800C0019E1B8CC101A717
+:084A30009B0601865A00C20139
+:084A3800A7DA0601869B06C007
+:084A4000018E1B8CC101471B14
+:084A48000A01F201A75F000161
+:084A5000F240C01701014D5FA7
+:084A58000000015801134C019C
+:084A6000F201471BF801939BD2
+:084A680006C0019E1B8CC10178
+:084A7000A79B060186DA07C2CC
+:084A780001581FF34140C01773
+:084A80000101471F0001A7DA44
+:084A88000601869B06C0018EA9
+:084A90001B8CC101471B0A0148
+:084A9800F20000000000000024
+:084AA00001471BF801939B067E
+:084AA800C0019E1B8CC101A797
+:084AB0009B0601471BFA014DB2
+:084AB800DB86030193DB02C061
+:084AC00001931B83C001935B0D
+:084AC80003C101939B83C101AE
+:084AD00093DB03C201931B8478
+:084AD800C201935B04C30182DB
+:084AE000DA00C201A7C3900136
+:084AE800A703032008016F8EF3
+:084AF000002008016F0F0020F7
+:084AF80008016F111B016F8121
+:084B00001130060C0191400088
+:084B0800A001200C000730079A
+:084B100001200C4007300B01ED
+:084B18006F4100016F02010171
+:084B2000317201580C434040C2
+:084B2800C01701014CC400009C
+:084B300001A7C30201B0D1325C
+:084B3800200120C30F05300C21
+:084B400001B0D1322001200375
+:084B48000006300B016FC100F3
+:084B5000016F020101313D017A
+:084B58006FC11130060C019140
+:084B60004000A001B0D1322099
+:084B68000120C3000630290101
+:084B70006F440001B0D1522096
+:084B780001A7458101584431F9
+:084B80000040F00A010182006F
+:084B880081270150C4400440E4
+:084B9000F00A010191008127E8
+:084B9800016F030420080190E5
+:084BA000CBD02601B0D1522058
+:084BA80001A745810158C54039
+:084BB00044015844304040C0AC
+:084BB80027010182C300210165
+:084BC000A70304016F0112308C
+:084BC800060C01914000A00160
+:084BD00020100006302D01C188
+:084BD800CFC22001C1CEC220B2
+:084BE00001B0D1522001A745EC
+:084BE800810158C54044015849
+:084BF00044304040C0270101E0
+:084BF80091030321016F01008C
+:084C000001305A016FC11230AE
+:084C0800060C01914000A0011F
+:084C10005810434040C0170199
+:084C1800014CC4000001A74398
+:084C20000301C1CF022101B222
+:084C28004E332001C1CE322001
+:084C300001B24E5320015805AA
+:084C3800434040C01701014C8C
+:084C4000C4000001C1CFC02037
+:084C480001C14EC320016F41C0
+:084C50001330060C0191400035
+:084C5800A0016F010001865B61
+:084C600004C301861B84C2019C
+:084C680086DB03C201869B8379
+:084C7000C101865B03C101864E
+:084C78001B83C00186DB02C0B2
+:084C800001A7DA0601869B067C
+:084C8800C0018E1B8CC1014725
+:084C90001B0A01F201A8DA0081
+:084C980001A94304013FBE0124
+:084CA000471BF801939B06C0BD
+:084CA800019E1B8CC101A79BBA
+:084CB0000601471BFE014DDB6C
+:084CB80086030193DB02C00139
+:084CC000931B83C001935B0309
+:084CC800C101939B83C101931C
+:084CD000DB03C201931B84C247
+:084CD80001935B04C30182DAC1
+:084CE00000C201A7C39001A767
+:084CE80003032008016F8D0099
+:084CF0002008016F0E0040C016
+:084CF8002701016F0F042008E1
+:084D0000016F101B40C01701F8
+:084D0800016F110001200C00F5
+:084D100007300701200C4007E9
+:084D1800300B016F4100016F37
+:084D2000020101312E01580CC3
+:084D2800434001404434100136
+:084D3000A7C30201B0D032203C
+:084D38000120C30F05300C013E
+:084D4000B0D032200120030075
+:084D480006300B016FC10001F0
+:084D50006F02010130FD01B00A
+:084D5800D0522001A7458101A2
+:084D600058C5404401584430DD
+:084D68004001B2CF3020011020
+:084D7000CC0003301D01B0D09E
+:084D7800522001A745810158FA
+:084D8000C540440158443040D5
+:084D880001B2CE422001C1CFAF
+:084D9000402001B0D0522001C7
+:084D9800A745810158C5404404
+:084DA000015844304001B2CF7C
+:084DA80030200110CC000330A3
+:084DB0001C01B0D0522001A744
+:084DB80045810158C54044018A
+:084DC00058443040016FC4FFAC
+:084DC80001C1CF402001B2CE71
+:084DD000522001580543400187
+:084DD8004044341001B2CD4249
+:084DE0002001C1CD402001B209
+:084DE800CD52200158054340A3
+:084DF000014044341001B2CE71
+:084DF800422001C1CE40200160
+:084E00006FC3FF01C1CE322097
+:084E0800016FC3FF01C1CD32AF
+:084E100020200801900BD026C0
+:084E1800016F010001865B043B
+:084E2000C301861B84C2018658
+:084E2800DB03C201869B83C17C
+:084E300001865B03C101861B32
+:084E380083C00186DB02C0010A
+:084E4000A7DA0601869B06C0FB
+:084E4800018E1B8CC101471B08
+:084E50000A01F201A8DA0001D9
+:084E5800A94304013FBE01471C
+:084E60001BF801939B06C00141
+:084E68009E1B8CC101A79B06F3
+:084E700001471BFA014DDB862E
+:084E7800030193DB02C001936A
+:084E80001B83C001935B03C119
+:084E880001939B83C10193DB40
+:084E900003C201931B84C2015F
+:084E9800935B04C30182DA0000
+:084EA000C201A7C39001A74362
+:084EA800032008016F8F0020B8
+:084EB00008016F10000186DA11
+:084EB80080C201A743040120A0
+:084EC0000D0007300701200D71
+:084EC8004007300B016F4100AF
+:084ED000016F020101314C01E8
+:084ED800580D434040C01701D2
+:084EE000014CC4000001A7030E
+:084EE8000340C027010182C054
+:084EF0008020012003000630C0
+:084EF80029200801934C04225B
+:084F000040C02701019140832C
+:084F080020016FC3FF01C1107D
+:084F10003320016FC3FF01C152
+:084F18000F3320016F010001BD
+:084F200030CA016F030001A774
+:084F2800830340C02701018250
+:084F30004081200158054340B7
+:084F380040C01701014CC40048
+:084F40000001A7C302200801D3
+:084F480086CB00220110D1000C
+:084F500004302A20080186CB81
+:084F580000220140D1101501F7
+:084F6000A78B0301B2D052201F
+:084F6800015805434040C01749
+:084F700001014CC4000001A77F
+:084F7800C302013FC840C0174D
+:084F800001014D0B0100015875
+:084F880004334C01C110332079
+:084F900040C01701014D0E01A4
+:084F980000015804334C01C173
+:084FA0000F332001000B023069
+:084FA8001820080186CB00224D
+:084FB000014043341420080104
+:084FB80093CB002201C1CFD20E
+:084FC0002001000E03C190D393
+:084FC8002003300940C027015D
+:084FD00001914083202008013B
+:084FD80080CCD0260154C31067
+:084FE0000020080190CCD0264E
+:084FE800016F010001865B046A
+:084FF000C301861B84C2018687
+:084FF800DB03C201869B83C1AB
+:0850000001865B03C101861B60
+:0850080083C00186DB02C00138
+:08501000A7DA0601869B06C029
+:08501800018E1B8CC101471B36
+:085020000C01F201A8DA000105
+:08502800A94304013FBE01474A
+:085030001BF801939B06C0016F
+:085038009E1B8CC101A79B0621
+:0850400001471BFE014DDB8658
+:08504800020193DB02C0019399
+:085050001B83C001935B03C147
+:0850580001939B83C10193DB6E
+:0850600003C22008016F0C00DF
+:085068002008016F8D00018298
+:08507000DA00C201A7C39001A0
+:08507800A7830340C0170101EA
+:085080006F0F0001200E000774
+:08508800300701200E40073043
+:085090000B016F4100016F02EA
+:08509800010130C601580E436E
+:0850A000400140C4331001A7D8
+:0850A800C30201B2CC32200169
+:0850B000000302304201B2CC02
+:0850B80052200158054340019C
+:0850C00040C4331001B2CD42DF
+:0850C8002001C1CD402001B21E
+:0850D000CC52200158054340B9
+:0850D8000140C433102008015F
+:0850E000860B01222008018665
+:0850E8004301220140055110B3
+:0850F000200801934301220195
+:0850F800B2CD322001200300BB
+:0851000007301901B2CD522065
+:0851080001580543400140C4B9
+:08511000331001B2CC42200172
+:08511800C1CC402020080190E9
+:085120000BD026016FC3FF0153
+:08512800C1CC3220016FC3FF6E
+:0851300001C1CD32200186DB34
+:0851380003C201869B83C10143
+:08514000865B03C101861B839D
+:08514800C00186DB02C001A7D3
+:08515000DA0601869B06C0018E
+:085158008E1B8CC101471B0AEC
+:0851600001F201A8DA0001A927
+:085168004304013FC801471B8D
+:08517000F801939B06C0019EAB
+:085178001B8CC101A79B06017D
+:08518000471BFC014DDB060199
+:085188000193DB02C001931B3F
+:0851900083C040C02701016F3C
+:085198000B020182CB00200193
+:0851A000A703030182CB0020EC
+:0851A800012003000730610142
+:0851B00082CB00200120034026
+:0851B80006305501824B012075
+:0851C000015805434040C017EF
+:0851C80001014CC400002008A5
+:0851D000018203012001910B93
+:0851D80001200182CB0020013F
+:0851E00021030017302A0182AF
+:0851E800CB0020012103401659
+:0851F000301E01824B01200179
+:0851F8005805434040C01701B7
+:08520000014CC40000016FC461
+:08520800FF20080191032120A1
+:0852100001A74C0001861B837D
+:08521800C00186DB02C001A702
+:08522000DA0601869B06C001BD
+:085228008E1B8CC101471B081D
+:0852300001F201471BF8019394
+:085238009B06C0019E1B8CC106
+:08524000019E9B86C0019E5BEC
+:0852480004C15055FCFF0001F8
+:085250009D5A4601A79B0601CF
+:08525800471BF6014DDB860344
+:085260000193DB02C001931B66
+:0852680083C001935B03C10147
+:08527000939B83C10193DB0352
+:08527800C201931B84C20193E3
+:085280005B04C3014DDB860055
+:08528800019E1B06C020080175
+:085290006F0D0040C017010181
+:085298006F11005094FCFF00AF
+:0852A000019DD83F01471BFEF0
+:0852A80050E1FCFF00016F035F
+:0852B0006A0193DB00C001A0BC
+:0852B8008101471B02016F1088
+:0852C000000120100206312854
+:0852C800015850304040C0279E
+:0852D000010182C3002101A7C6
+:0852D800030301210C00173152
+:0852E0000801210C4016310108
+:0852E80001580C434001404451
+:0852F00034100193DA00DF0124
+:0852F80086DA02DF016F0F00EE
+:0853000001404B441401580464
+:08530800334C01A783030147A8
+:085310001BEE20080186CB0012
+:08531800280193DB00C420080A
+:085320000186CB00220193DBA2
+:0853280080C301B2CD32200167
+:0853300093DB00C32008018299
+:08533800CB20200193DB80C2B1
+:0853400001A78E9301939B036A
+:08534800C220080180CBD02631
+:0853500001A7C3800193DB807B
+:08535800C120080180CBC02632
+:0853600001A7C3800193DB00EB
+:08536800C120080180CBE02602
+:0853700001A7C3800193DB805B
+:08537800C050E1FCFF00016FD1
+:0853800003550193DB00C0019D
+:08538800A08101471B1201B2D4
+:08539000CD3220012303003798
+:08539800300C01B2CD322001FE
+:0853A000230340373003013004
+:0853A8004001B2CD5220015872
+:0853B0000543400140443410A4
+:0853B80001A7C30201A20132AA
+:0853C00094FC01A7C1000123C8
+:0853C800C300323102014CCF99
+:0853D000100001A7C3030186D0
+:0853D800DA00DF0112CB002214
+:0853E000300701228F02273F74
+:0853E8001701475000013ED1FE
+:0853F00001471BFE50E1FCFF28
+:0853F80000016F034D0193DB7E
+:0854000000C001A08101471B5F
+:085408000240C027010182C02F
+:08541000802001A70303012025
+:085418000C000730B201200C6A
+:08542000400630AB01580C43BB
+:0854280040014044341001A7CB
+:08543000C30201471BEE200836
+:085438000186CB00280193DB83
+:0854400000C420080186CB0026
+:08544800220193DB80C301B2D5
+:08545000CD32200193DB00C303
+:0854580020080182CB20200195
+:0854600093DB80C201A78E93CB
+:0854680001939B03C22008011F
+:0854700080CBD02601A7C38008
+:085478000193DB80C120080153
+:0854800080CBC02601A7C38008
+:085488000193DB00C1200801C3
+:0854900080CBE02601A7C380D8
+:085498000193DB80C050E0FC31
+:0854A000FF00016F03380193C6
+:0854A800DB00C001A0810147F7
+:0854B0001B1201B2CD322001F4
+:0854B800A7030301A2013294D5
+:0854C000FC01A7C1000121C39A
+:0854C80000123003013F47010F
+:0854D0008E1B06C001471B0200
+:0854D80001865B04C301861B81
+:0854E00084C20186DB03C20156
+:0854E800869B83C101865B0372
+:0854F000C101861B83C0018687
+:0854F800DB02C001A7DA060186
+:08550000869B06C0018E9B860C
+:08550800C0018E5B04C1018E9D
+:085510001B8CC101471B0801BF
+:08551800F2018E5A84C0019ECD
+:085520005A04C1013FA900007B
+:0855280000000000000000007B
+:0855300001471BF801939B06E3
+:08553800C0019E1B8CC1019E05
+:085540009B86C0019E5B04C1C3
+:085548005056FCFF00019D1A02
+:085550008201A79B0601471B25
+:08555800FA014DDB860001930E
+:085560001B00C04036000101F0
+:085568008000002A010000028E
+:085570003024403600010190D7
+:0855780000002A01471BFE4060
+:08558000360001016F03A601D2
+:0855880093DB00C001A2017CCD
+:0855900034FC01471B02014736
+:085598001BF680FFFFFFFFFF7F
+:0855A000FF7F016FC3FF0193BF
+:0855A800DB00C2014CDA80DED9
+:0855B0000193DB80C1014CDA1C
+:0855B80000DF0193DB00C101DB
+:0855C0004CDA80DF0193DB806F
+:0855C800C0403600010182C061
+:0855D00080290193DB00C001FA
+:0855D800A201EA41FC01471B9E
+:0855E0000A01A2011457FC01AD
+:0855E8003FAC01A7DA060186C1
+:0855F0009B06C0018E9B86C0E2
+:0855F800018E5B04C1018E1B52
+:085600008CC101471B0801F2F7
+:08560800018E5A84C0019E5A74
+:0856100004C1013FD501471B55
+:08561800F801939B06C0019EFE
+:085620001B8CC1019E9B86C09A
+:08562800019E5B04C15057FC18
+:08563000FF00019DDAC101A792
+:085638009B06014DDB86000119
+:0856400093DB02C00186DA00D1
+:08564800C201A7C30201471BC8
+:08565000FE0193DB02C001A280
+:08565800012A58FC01471B0266
+:0856600001471BFC016FC3FFB1
+:085668000193DB80C040F00A51
+:0856700001016F03180193DB37
+:0856780000C001A201007EFC4C
+:0856800001A7C10001000302B3
+:08568800305A40F00A010186CE
+:08569000C080220111CB0012C1
+:08569800303301A201805CFC2B
+:0856A00020060186CB802520C5
+:0856A800060193CB002540F040
+:0856B0000A010193C08222509F
+:0856B80000D0FF00016F0300A8
+:0856C00020060193CB00250137
+:0856C800A2015D5BFC01471B20
+:0856D000FE40F00A01016F0326
+:0856D800180193DB00C001A2E0
+:0856E00001707EFC0186DB0273
+:0856E800C001A7DA0601869B50
+:0856F00006C0018E9B86C0017B
+:0856F8008E5B04C1018E1B8CC6
+:08570000C101471B0801F20181
+:085708008E5A84C0019E5A0470
+:08571000C1013FD001471BF865
+:0857180001939B06C0019E1BDA
+:085720008CC1019E9B86C001B3
+:085728009E5B04C15058FCFF18
+:0857300000019D5A0701A79B2F
+:085738000601471BFC014DDBDB
+:0857400086010193DB02C001A8
+:08574800931B83C001935B0376
+:08575000C140F00A01016F0DD8
+:085758000A01471BFC016FC3AD
+:08576000FF0193DB80C040F063
+:085768000A01016F031801930F
+:08577000DB00C001A201007E74
+:08577800FC01A7C100010003C0
+:0857800002306D01860D0320CB
+:0857880001010C12304B0186F7
+:08579000CD00200186C30220B8
+:085798000186CD00200112CBB7
+:0857A0000022303501030B3239
+:0857A800302F01A201805CFC1E
+:0857B00020060186CC802520B3
+:0857B800060193CC00250193CA
+:0857C000CD02205000D0FF00D3
+:0857C800016F030020060193AC
+:0857D000CB002501A2015D5B85
+:0857D800FC01471BFE40F00A32
+:0857E00001016F03180193DBC6
+:0857E80000C001A201707EFC6B
+:0857F00001865B03C101861B69
+:0857F80083C00186DB02C00141
+:08580000A7DA0601869B06C031
+:08580800018E9B86C0018E5B3E
+:0858100004C1018E1B8CC101D3
+:08581800471B0801F2018E5A42
+:0858200084C0019E5A04C1017D
+:085828003FC601471BF8019384
+:085830009B06C0019E1B8CC108
+:08583800019E9B86C0019E5BEE
+:0858400004C15059FCFF0001F6
+:085848009D1A6301A79B0601F4
+:08585000471BFC014DDB0602C1
+:085858000193DB02C001931B68
+:0858600083C001935B03C10149
+:08586800939B83C10186DA0065
+:08587000C201A7C30240F00AC7
+:0858780001016F0C0A2006017A
+:0858800080CB202B01A7C3809F
+:0858880001A7430301471BFCCB
+:08589000016FC3FF0193DB80EF
+:08589800C040F00A01016F039A
+:0858A000180193DB00C001A216
+:0858A80001007EFC01A7C10014
+:0858B0000100030230A440F0E6
+:0858B8000A01018640012301F1
+:0858C000584543040153C410D4
+:0858C8000001A7830301010E9A
+:0858D0001330700186CC0020AA
+:0858D80001220300233012013C
+:0858E00093CC02200193CB02DE
+:0858E800200193CB8220013066
+:0858F000320186CC0020018684
+:0858F80003812001930B8120C4
+:085900000186CC00200193CBCD
+:0859080000200186CC00200103
+:0859100086C380200193C3024D
+:08591800200186CC0020019360
+:08592000C38220016F44000165
+:085928005844330040F00A016D
+:0859300001860001230150C4AF
+:08593800400440F00A01019354
+:0859400000012301471BFE409A
+:08594800F00A01016F031801D0
+:0859500093DB00C001A201700D
+:085958007EFC01869B83C10166
+:08596000865B03C101861B8375
+:08596800C00186DB02C001A7AB
+:08597000DA0601869B06C00166
+:085978008E9B86C0018E5B04CA
+:08598000C1018E1B8CC101471F
+:085988001B0801F2018E5A8494
+:08599000C0019E5A04C1013F51
+:08599800C101471BF8019E1B31
+:0859A0008CC1019E9B86C00131
+:0859A8009E5B04C15059FCFF95
+:0859B00000019DDA7901471B9B
+:0859B800FE01A201C007FC0181
+:0859C000A7C1000193DB00C048
+:0859C80001A201F459FC0147A2
+:0859D0001B02018E9B86C00141
+:0859D8008E5B04C1018E1B8CE3
+:0859E000C101471B0801F2019F
+:0859E8008E5A84C0019E5A048E
+:0859F000C1013FDE01471BF875
+:0859F80001939B06C0019E1BF8
+:085A00008CC1019E9B86C001D0
+:085A08009E5B04C1505BFCFF32
+:085A100000019D1AD401A79BBF
+:085A18000601471BFE014DDBF6
+:085A200006010193DB02C00145
+:085A2800931B83C00186DA0024
+:085A3000C201A7C30201471BDC
+:085A3800FC016FC3FF0193DBC9
+:085A400080C040F00A01016F73
+:085A480003180193DB00C0010B
+:085A5000A201007EFC01A7C1C8
+:085A5800000100030230C94007
+:085A6000F00A01018600012398
+:085A6800016F460020060180D9
+:085A7000CB212B01A7C7810126
+:085A780058C6510001504431F1
+:085A80000001010312308A014C
+:085A88006F4500200601808B30
+:085A9000212B01A786810158BA
+:085A980085410001A7C4B040E4
+:085AA000F00A01018600012358
+:085AA8000150C4400040F00A67
+:085AB00001019300012340F005
+:085AB8000A010186C0802201F1
+:085AC00012CB0022A2011457D1
+:085AC800FC01860B0320010222
+:085AD0000C22303D0113CC0251
+:085AD8003230170186CB80205B
+:085AE0000193CC80200186CB6C
+:085AE80080200193030320015B
+:085AF000300D016F030040F0CE
+:085AF8000A010193C0802201A4
+:085B00006F03000193CB0020AC
+:085B0800016F03000193CB8043
+:085B10002001471BFE40F00AD2
+:085B180001016F03180193DB8A
+:085B200000C001A201707EFC2F
+:085B280001861B83C00186DB2E
+:085B300002C001A7DA0601869C
+:085B38009B06C0018E9B86C094
+:085B4000018E5B04C1018E1B04
+:085B48008CC101471B0801F2AA
+:085B5000018E5A84C0019E5A27
+:085B580004C1013FCB01471B12
+:085B6000F801939B06C0019EB1
+:085B68001B8CC1019E9B86C04D
+:085B7000019E5B04C1505CFCC6
+:085B7800FF00019DDA1C01A7EA
+:085B80009B0601471BF6014DD5
+:085B8800DB86020193DB02C081
+:085B900001931B83C001935B2C
+:085B980003C101939B83C101CD
+:085BA00093DB03C240F00A018F
+:085BA8000186C08222200601E3
+:085BB00086CB032520060186C7
+:085BB8008B8325200601820BFE
+:085BC0000126200601824B21A1
+:085BC80026014044311801A739
+:085BD000C39001A703030120AB
+:085BD8000C0007301C01588C81
+:085BE000304001588C404001E7
+:085BE800B40E512001C2CF50A0
+:085BF00020014D0C1300013FE0
+:085BF800DD200601824B41266D
+:085C0000200601828B21260120
+:085C08004085411820060182CD
+:085C10004B61260140443110F4
+:085C180001A7C39001A743039B
+:085C200001471BFC01935B83AB
+:085C2800C0016FC3020193DB10
+:085C300000C001A201425EFC6C
+:085C380001471B040186DB0398
+:085C4000C201869B83C10186AD
+:085C48005B03C101861B83C050
+:085C50000186DB02C001A7DAA6
+:085C58000601869B06C0018EC7
+:085C60009B86C0018E5B04C1AC
+:085C6800018E1B8CC101471BDA
+:085C70000801F2018E5A84C004
+:085C7800019E5A04C1013FBC6A
+:085C800001471BF801939B068C
+:085C8800C0019E1B8CC101A7A5
+:085C90009B0601471BF8014DC2
+:085C9800DB06020193DB02C0F0
+:085CA00001931B83C001935B1B
+:085CA80003C101939B83C1407D
+:085CB000F00A010186008322C5
+:085CB800200601868C03252063
+:085CC0000601864C8325200635
+:085CC80001820C0126200601F7
+:085CD000824C21260140443101
+:085CD8001801A7C39001A7C346
+:085CE0000201200B0007301C3B
+:085CE80001588B304001588B7C
+:085CF000404001B40E512001F7
+:085CF800C2CD5020014DCB127A
+:085D000000013FDD01869B83D9
+:085D0800C101865B03C10186A5
+:085D10001B83C00186DB02C009
+:085D180001A7DA0601869B06D3
+:085D2000C0018E1B8CC101477C
+:085D28001B0801F2000000005D
+:085D300001471BF8019E1B8CCA
+:085D3800C1019E9B86C0019E83
+:085D40005B04C1505DFCFF0093
+:085D4800019D9A5C01A201C05B
+:085D500007FC01A7C1002006B9
+:085D58000186430025018E9B2A
+:085D600086C0018E5B04C10145
+:085D68008E1B8CC101471B08D2
+:085D700001F2018E5A84C0010A
+:085D78009E5A04C1013FDE0147
+:085D8000471BF8019E1B8CC1BA
+:085D8800019E9B86C0019E5B99
+:085D900004C1505DFCFF00019D
+:085D98009D5A7001A201C00731
+:085DA000FC01A7C1002006016F
+:085DA80086438026018E9B86D4
+:085DB000C0018E5B04C1018EED
+:085DB8001B8CC101471B08010F
+:085DC000F2018E5A84C0019E1D
+:085DC8005A04C1013FDE01474E
+:085DD0001BF801939B06C001C2
+:085DD8009E1B8CC1019E9B86FD
+:085DE000C0019E5B04C1505E8E
+:085DE800FCFF00019D5A8D0132
+:085DF000A79B0601A201C007F8
+:085DF800FC01A7C10001845A5F
+:085E000001C250FCFFFF00018C
+:085E0800530501C001A704E1EC
+:085E1000200601920381260126
+:085E1800A7DA0601869B06C013
+:085E2000018E9B86C0018E5B20
+:085E280004C1018E1B8CC101B5
+:085E3000471B0801F2018E5A24
+:085E380084C0019E5A04C1015F
+:085E40003FD501471BF8019357
+:085E48009B06C0019E1B8CC1EA
+:085E5000019E9B86C0019E5BD0
+:085E580004C1505EFCFF0001D3
+:085E60009D1ABA01A79B06017F
+:085E68004DDB86000193DB0213
+:085E7000C00186DA00C201A79F
+:085E7800C30201200B000730FA
+:085E8000070120CB02043024CD
+:085E880001471BFC0193DB82C2
+:085E9000C050E2FCFF00016FAD
+:085E980003800193DB00C0014F
+:085EA000A201FF94FC01471B65
+:085EA8000401301901865A00C3
+:085EB000C201869A80C201586C
+:085EB8008110405000DAFF00E8
+:085EC00001928100000186DB64
+:085EC80002C001A7DA06018601
+:085ED0009B06C0018E9B86C0F9
+:085ED800018E5B04C1018E1B69
+:085EE0008CC101471B0C01F20B
+:085EE800018E5A84C0019E5A8C
+:085EF00004C1013FD001471B72
+:085EF800F801939B06C0019E16
+:085F00001B8CC1019E9B86C0B1
+:085F0800019E5B04C1505FFC27
+:085F1000FF00019DDADF01A78B
+:085F18009B0601471BFE014D31
+:085F2000DB86000193DB02C0E7
+:085F280001A201C007FC01A762
+:085F3000C10001A7C3020186B4
+:085F3800DA80C201A7C3D020EA
+:085F4000060191CB60260186E9
+:085F4800DA00C201A7C3D0205A
+:085F5000060191CB402601A2DD
+:085F5800012C62FC0186DB0252
+:085F6000C001A7DA0601869BCF
+:085F680006C0018E9B86C001FA
+:085F70008E5B04C1018E1B8C45
+:085F7800C101471B0801F20101
+:085F80008E5A84C0019E5A04F0
+:085F8800C1013FD001471BF8E5
+:085F900001939B06C0019E1B5A
+:085F98008CC1019E9B86C00133
+:085FA0009E5B04C15060FCFF90
+:085FA80000019D9A0101A79B75
+:085FB0000601471BFE014DDB59
+:085FB80086000193DB02C00129
+:085FC000A201C007FC01A7C10A
+:085FC8000001A7C3020186DA03
+:085FD00000C201A7C3D02006A6
+:085FD8000191CB602601A2013A
+:085FE0002C62FC0186DB02C00B
+:085FE80001A7DA0601869B0601
+:085FF000C0018E9B86C0018EEA
+:085FF8005B04C1018E1B8CC18A
+:0860000001471B0801F2018EAB
+:086008005A84C0019E5A04C134
+:08601000013FD001471BF8011C
+:08601800939B06C0019E1B8C46
+:08602000C1019E9B86C0019E98
+:086028005B04C15060FCFF00A5
+:08603000019DDA2401A79B0683
+:0860380001471BFE014DDB8650
+:08604000000193DB02C001A284
+:0860480001C007FC01A7C10023
+:0860500001A7C3022006018232
+:086058000B6126200601828B7A
+:086060004126015806524001DF
+:086068005044310401A743007C
+:086070000186DB02C001A7DA82
+:086078000601869B06C0018EA3
+:086080009B86C0018E5B04C188
+:08608800018E1B8CC101471BB6
+:086090000801F2018E5A84C0E0
+:08609800019E5A04C1013FD032
+:0860A00001471BF8019E1B8C57
+:0860A800C1019E9B86C0019E10
+:0860B0005B04C15060FCFF001D
+:0860B800019D9A3801A201C00C
+:0860C00007FC01A7C100200646
+:0860C8000186432026018E9B96
+:0860D00086C0018E5B04C101D2
+:0860D8008E1B8CC101471B085F
+:0860E00001F2018E5A84C00197
+:0860E8009E5A04C1013FDE01D4
+:0860F000471BF8019E1B8CC147
+:0860F800019E9B86C0019E5B26
+:0861000004C15061FCFF000125
+:086108009D5A4C01A201C007E1
+:08611000FC01A7C100200601FB
+:0861180086430026018E9B86E0
+:08612000C0018E5B04C1018E79
+:086128001B8CC101471B08019B
+:08613000F2018E5A84C0019EA9
+:086138005A04C1013FDE0147DA
+:086140001BF801939B06C0014E
+:086148009E1B8CC101A79B0600
+:08615000014DDB86000193DB29
+:0861580002C00182DA00C2015D
+:08616000A7C3020120CB1602C7
+:086168006FC106023040012066
+:086170004B17026F41070230DA
+:08617800350153CBF20F015475
+:08618000CB02100153CB000219
+:0861880001000302A74B000215
+:08619000301C0153CB00040197
+:08619800000302A74B000230D6
+:0861A0000D0153CBF01901A71A
+:0861A800C30201A74B000186B0
+:0861B000DB02C001A7DA0601C1
+:0861B800869B06C0018E1B8CC2
+:0861C000C101471B0801F201B7
+:0861C800471BF801939B06C080
+:0861D000019E1B8CC101A79B7D
+:0861D80006014DDB8600019376
+:0861E000DB02C00182DA00C2FB
+:0861E80001A7C3020153CBF231
+:0861F0000F0120CB06026FC174
+:0861F8001602301701204B07CD
+:08620000026F411702300C018E
+:0862080020CB060B470B180127
+:08621000A74B000186DB02C070
+:0862180001A7DA0601869B06CE
+:08622000C0018E1B8CC1014777
+:086228001B0801F201471BF8FD
+:0862300001939B06C0019E1BB7
+:086238008CC1019E9B86C00190
+:086240009E5B04C15062FCFFEB
+:0862480000019D5AB601A79B5D
+:086250000601471BFC014DDBB8
+:0862580006010193DB02C00105
+:08626000931B83C001A201C0E1
+:0862680007FC01A7C10001A71A
+:08627000C302200601824B412C
+:0862780026200601828B21267D
+:086280000140854118200601D0
+:08628800824B61260140443104
+:086290001001A7C39001A70350
+:086298000301471BFC01931BED
+:0862A00083C0016FC3020193EA
+:0862A800DB00C001A201425E0F
+:0862B000FC01861B83C001867E
+:0862B800DB02C001A7DA0601B8
+:0862C000869B06C0018E9B863F
+:0862C800C0018E5B04C1018ED0
+:0862D0001B8CC101471B0801F2
+:0862D800F2018E5A84C0019E00
+:0862E0005A04C1013FCB014744
+:0862E8001BF801939B06C001A5
+:0862F0009E1B8CC1019E9B86E0
+:0862F800C0019E5B04C150636C
+:08630000FCFF00019D9ADB0186
+:08630800A79B0601471BFE01E3
+:086310004DDB86000193DB0266
+:08631800C001A201C007FC0155
+:08632000A7C10001A7C302019F
+:086328006F030001A7C3D020A0
+:08633000060191CB6026016F0C
+:08633800030001A7C3D02006F9
+:086340000191CB402601A201EE
+:086348002C62FC0186DB02C09F
+:0863500001A7DA0601869B0695
+:08635800C0018E9B86C0018E7E
+:086360005B04C1018E1B8CC11E
+:0863680001471B0801F2018E40
+:086370005A84C0019E5A04C1C9
+:08637800013FD001471BF801B1
+:08638000939B06C0019E1B8CDB
+:08638800C1019E9B86C0019E2D
+:086390005B04C15064FCFF0036
+:08639800019DDA1401A79B0628
+:0863A00001471BFC014DDB0667
+:0863A800010193DB02C0019327
+:0863B0001B83C001A201C0071C
+:0863B800FC01A7C10001A7C30D
+:0863C00002200601824B412678
+:0863C800200601828B21260151
+:0863D0004085411820060182FE
+:0863D8004B6126014044311025
+:0863E00001A7C39001A703030C
+:0863E80001471BFC01931B831C
+:0863F000C0016FC3020193DB41
+:0863F80000C001A201425EFC9D
+:08640000014DDB86000193DB76
+:0864080000C001A201305DFC9F
+:086410000186DB00C001471BFF
+:086418000201A7010101588CEB
+:0864200050400140443110011D
+:08642800A7430001861B83C09D
+:086430000186DB02C001A7DABE
+:086438000601869B06C0018EDF
+:086440009B86C0018E5B04C1C4
+:08644800018E1B8CC101471BF2
+:086450000801F2018E5A84C01C
+:08645800019E5A04C1013FCB73
+:0864600001471BF801939B06A4
+:08646800C0019E1B8CC1019EC6
+:086470009B86C0019E5B04C184
+:086478005065FCFF00019DDAF4
+:086480006301A79B0601471B05
+:08648800F6014DDB0602019351
+:08649000DB02C001931B83C075
+:0864980001935B03C101939B1A
+:0864A00083C101A201C007FC49
+:0864A80001A7C10001A7C30216
+:0864B00001A201305DFC01A70F
+:0864B800C10001A783032006C7
+:0864C00001820B0126200601F8
+:0864C800824B21260140443102
+:0864D0000801A74303014DDBA5
+:0864D80086000193DB00C00106
+:0864E000A2017F5DFC0186DBD7
+:0864E80000C001471B0201A7DF
+:0864F0000101014DDB860001F2
+:0864F80093DB00C0014DDB86BF
+:086500000001931B01C00147DB
+:086508001BFE016F0508019361
+:086510005B01C001A2013E6124
+:08651800FC01471B0201861B78
+:0865200001C001471B020186C6
+:08652800DB00C001471B02016A
+:08653000A7410101A7459101FB
+:086538005044310401A70303E4
+:0865400001471BFA01935B0304
+:08654800C101931B83C0019304
+:086550009B03C001A201EAA0B7
+:08655800FC01471B0601869BB4
+:0865600083C101865B03C10148
+:08656800861B83C00186DB02E3
+:08657000C001A7DA0601869BB9
+:0865780006C0018E9B86C001E4
+:086580008E5B04C1018E1B8C2F
+:08658800C101471B0801F201EB
+:086590008E5A84C0019E5A04DA
+:08659800C1013FC101471BF8DE
+:0865A000019E1B8CC1019E9BB2
+:0865A80086C0019E5B04C15096
+:0865B00065FCFF00019D1A7F4C
+:0865B80001471BFA3000080145
+:0865C0006F03000193DB00C131
+:0865C800016F03000193DB8069
+:0865D000C0300040016F030020
+:0865D8000193DB00C001A201E8
+:0865E00038A1FC01471B060174
+:0865E8008E9B86C0018E5B044E
+:0865F000C1018E1B8CC10147A3
+:0865F8001B0801F2018E5A8418
+:08660000C0019E5A04C1013FD4
+:08660800DE01471BF801939B22
+:0866100006C0019E1B8CC101B4
+:086618009E9B86C0019E5B04FD
+:08662000C15067FCFF00019D61
+:086628005ACF01A79B060147B0
+:086630001BF6014DDB860101A0
+:0866380093DB02C001931B83F8
+:08664000C001935B03C101A23C
+:0866480001C007FC01A7C1001D
+:0866500001A7030301A20130C0
+:086658005DFC01A7C10001A7D0
+:08666000C302200601828C2117
+:08666800260186DA01C201409F
+:08667000C651080158854040A5
+:0866780001400B311001A7C322
+:0866800002014DDB86000193CD
+:08668800DB00C001A2017F5DEF
+:08669000FC0186DB00C001479C
+:086698001B0201A70101014DE5
+:0866A000DB86000193DB00C062
+:0866A800014DDB860001931B8C
+:0866B00001C001471BFE016F50
+:0866B800050801935B01C0011C
+:0866C000A2013E61FC01471B31
+:0866C8000201861B01C001471D
+:0866D0001B020186DB00C00182
+:0866D800471B0201A74101016B
+:0866E000A7459101504431046B
+:0866E80001A7430301471BFA5F
+:0866F00020060182CC202601E6
+:0866F80093DB00C101935B83F9
+:08670000C00193DB02C001A2FD
+:0867080001EAA0FC01471B0699
+:0867100001865B03C101861B39
+:0867180083C00186DB02C00111
+:08672000A7DA0601869B06C002
+:08672800018E9B86C0018E5B0F
+:0867300004C1018E1B8CC101A4
+:08673800471B0801F2018E5A13
+:0867400084C0019E5A04C1014E
+:086748003FC601471BFE019E44
+:086750005B04C001A1F13B3F15
+:08675800018E5B04C001471B28
+:086760000201F201471BF801E0
+:08676800939B06C0019E1B8CEF
+:08677000C1019E9B86C0019E41
+:086778005B04C15068FCFF0046
+:08678000019D5A0601A79B06CA
+:0867880001471BFE014DDB0679
+:08679000010193DB02C001933B
+:086798001B83C02006016F0CF9
+:0867A0009901A201C007FC01F0
+:0867A800A7C10001A7C3020113
+:0867B000B2CC32200147430086
+:0867B80001C1CC322001B2CC7A
+:0867C0003220200601820B01CA
+:0867C80026011003010BA201E0
+:0867D0002C62FC0B301B01B22E
+:0867D800CC3220014DC310007A
+:0867E00001C1CC322001A2012D
+:0867E8002C62FC01A2014A67CA
+:0867F000FC01861B83C0018639
+:0867F800DB02C001A7DA060173
+:08680000869B06C0018E9B86F9
+:08680800C0018E5B04C1018E8A
+:086810001B8CC101471B0801AC
+:08681800F2018E5A84C0019EBA
+:086820005A04C1013FCB0147FE
+:086828001BF801939B06C0015F
+:086830009E1B8CC1019E9B869A
+:08683800C0019E5B04C1506821
+:08684000FCFF00019D1A350167
+:08684800A79B0601471BFE019E
+:086850004DDB06010193DB02A0
+:08685800C001931B83C0200660
+:08686000016F8C9901A201C037
+:0868680007FC01A7C10001A714
+:08687000C30201B2CC32200189
+:0868780047430001C1CC3220AE
+:0868800001B2CC322020060118
+:08688800820B2126011003011F
+:086890000BA2012C62FC0B308D
+:0868980013016F030001A7C307
+:0868A000D001C1CC322001A29D
+:0868A800016367FC01861B83FC
+:0868B000C00186DB02C001A754
+:0868B800DA0601869B06C0010F
+:0868C0008E9B86C0018E5B0473
+:0868C800C1018E1B8CC10147C8
+:0868D0001B0801F2018E5A843D
+:0868D800C0019E5A04C1013FFA
+:0868E000CB01471BF801939B5B
+:0868E80006C0019E1B8CC101DA
+:0868F0009E9B86C0019E5B0423
+:0868F800C1506DFCFF00019D81
+:086900009A7E01A79B060147E6
+:086908001BFA014DDB860301BF
+:0869100093DB02C001931B831D
+:08691800C001935B03C1019370
+:086920009B83C10193DB03C25C
+:0869280001931B84C201935B83
+:0869300004C3014DDB06010167
+:086938009E1B06C0019E5B8658
+:08694000C05068FCFF00019D3E
+:0869480058385061FCFF00010A
+:086950009D994F2006016F8E96
+:08695800992006016F0F992040
+:0869600006016F90980182DA34
+:0869680000C201A7430401A2D3
+:0869700001C007FC01A7C100F2
+:0869780001A7C3020120510335
+:086980000230490120910202DE
+:086988003058012051240230B7
+:086990005A012011240230809D
+:086998000120D12402309D0111
+:0869A0002091240230BA01200D
+:0869A80011250230E20120512B
+:0869B00026023107012011024B
+:0869B8000231FD012011030270
+:0869C000330E012051020233E5
+:0869C80016013366016F0300A4
+:0869D00001A7C3D001C1CE32C2
+:0869D8002001A2012C62FC0168
+:0869E00033C901A2016367FC49
+:0869E8000133C001B2CE3220E0
+:0869F00001B2D05220014D0557
+:0869F8001100011103011A3026
+:086A00001401B2CE322001475F
+:086A0800430001C1CE32200160
+:086A1000A2012C62FC0133938A
+:086A180001B2CF32200121037D
+:086A20000018301501B2CF325D
+:086A280020014DC3100001C163
+:086A3000CF322001A2012C620B
+:086A3800FC01336F01B2CE3204
+:086A40002001210300183015AC
+:086A480001B2CE3220014DC362
+:086A5000100001C1CE3220014B
+:086A5800A2012C62FC01334B8A
+:086A600001B2CF322020060133
+:086A6800824B0126014D0511CE
+:086A700000011103011A3014AA
+:086A780001B2CF3220014743B7
+:086A80000001C1CF322001A288
+:086A8800012C62FC01331C012A
+:086A9000B2CE32200121030007
+:086A9800126F030012A7C3D026
+:086AA00012C1CF3220016F0387
+:086AA8000001A7C3D001C1CE1B
+:086AB000322001A2012C62FC5E
+:086AB8000132F001A2017B6331
+:086AC000FC01A7C10001A7437E
+:086AC8000301B2CE322001A748
+:086AD000030301B2D0422001D2
+:086AD8004DC410000111CC00B7
+:086AE00016303401B2CE522041
+:086AE80001404C4114015884E7
+:086AF000304001B2CE7220011A
+:086AF80040CC611401588650E6
+:086B00004001404543100184EF
+:086B080044412001C2CD5020E0
+:086B100001474C00013FBB01ED
+:086B1800B2CE522001404C41B5
+:086B2000140158843040014DBE
+:086B2800DB86000193DB00C0D5
+:086B3000014DDB860001931BFF
+:086B380001C001A2017F5DFC18
+:086B400001861B01C001471B87
+:086B4800020186DB00C00147D9
+:086B50001B0201A74101014DE8
+:086B5800DB86000193DB00C0A5
+:086B6000014DDB860001931BCF
+:086B680001C0014DDB860001B4
+:086B7000935B01C001471BFE0D
+:086B7800016F060801939B0167
+:086B8000C001A09101471B02B6
+:086B880001865B01C001471BFF
+:086B90000201861B01C0014750
+:086B98001B020186DB00C001B5
+:086BA000471B0201A78101015E
+:086BA800A7869101508541040C
+:086BB00001C2CD40200131F3C8
+:086BB80001B2CE3220012103DD
+:086BC0000018310901B2CE32C8
+:086BC80020014DC3100001C1C2
+:086BD000CE322001A2017B631B
+:086BD800FC01A7C10001A74365
+:086BE0000301B2CE322001A72F
+:086BE800030301B2D0422001B9
+:086BF0004DC410000112CC009D
+:086BF80026303401B2CE522018
+:086C000001404C4114015884CD
+:086C0800304001B2CE72200100
+:086C100040CC611401588650CC
+:086C18004001404543100184D6
+:086C200044412001C2CD5020C7
+:086C280001474C00013FBB01D4
+:086C3000B2CE522001404C419C
+:086C3800140158843040014DA5
+:086C4000DB86000193DB00C0BC
+:086C4800014DDB860001931BE6
+:086C500001C001A2017F5DFCFF
+:086C580001861B01C001471B6E
+:086C6000020186DB00C00147C0
+:086C68001B0201A74101014DCF
+:086C7000DB86000193DB00C08C
+:086C7800014DDB860001931BB6
+:086C800001C0014DDB8600019B
+:086C8800935B01C001471BFEF4
+:086C9000016F060801939B014E
+:086C9800C001A09101471B029D
+:086CA00001865B01C001471BE6
+:086CA8000201861B01C0014737
+:086CB0001B020186DB00C0019C
+:086CB800471B0201A781010145
+:086CC000A786910150854104F3
+:086CC80001C2CD40200130DBC8
+:086CD00001A2016064FC01A2B5
+:086CD80001E662FC0130CC0171
+:086CE000471BFE016F030801D0
+:086CE80093DB00C001A0810153
+:086CF000471B0201471BFE01D6
+:086CF8006F03080193DB00C0EB
+:086D000001A08101471B020103
+:086D0800471BFE016F030801A7
+:086D100093DB00C001A081012A
+:086D1800471B0201471BFE01AD
+:086D20006F03080193DB00C0C2
+:086D280001A08101471B0201DB
+:086D3000307901A2017B63FC34
+:086D380001A7C10001A74303FC
+:086D4000014DDB86000193DB2D
+:086D480000C001A2017F5DFC07
+:086D50000186DB00C001471BB6
+:086D58000201A70101014DDB5E
+:086D600086000193DB00C00175
+:086D68004DDB860001931B01C5
+:086D7000C001471BFE01935B0B
+:086D780004C001A09101471BBA
+:086D80000201861B01C001475E
+:086D88001B020186DB00C001C3
+:086D9000471B0201A7410101AC
+:086D9800A745910150443104AC
+:086DA0000192CD002001A201C7
+:086DA8002668FC018E5B86C029
+:086DB000018E1B06C001471B08
+:086DB8000401865B04C301869F
+:086DC0001B84C20186DB03C243
+:086DC80001869B83C101865B7B
+:086DD00003C101861B83C00111
+:086DD80086DB02C001A7DA0608
+:086DE00001869B06C0018E9B99
+:086DE80086C0018E5B04C101AD
+:086DF0008E1B8CC101471B083A
+:086DF80001F2018E5A84C00172
+:086E00009E5A04C1013FA401E8
+:086E0800471BF8019E1B8CC121
+:086E1000019E9B86C0019E5B00
+:086E180004C1506EFCFF0001F3
+:086E20009D9A9901471BFE0138
+:086E28006F43030193DB00C07E
+:086E300001A201E168FC014729
+:086E38001B0201471BFE016F64
+:086E400083020193DB00C00195
+:086E4800A201E168FC01471BF7
+:086E500002018E9B86C0018E39
+:086E58005B04C1018E1B8CC11B
+:086E600001471B0801F2018E3D
+:086E68005A84C0019E5A04C1C6
+:086E7000013FDE01471BF801A0
+:086E7800939B06C0019E1B8CD8
+:086E8000C1019E9B86C0019E2A
+:086E88005B04C1506EFCFF0029
+:086E9000019D1ABE01A79B063B
+:086E9800014DDB86000193DBD4
+:086EA00002C00186DA00C20104
+:086EA800A7C3020182CB002008
+:086EB00001000302301F01473D
+:086EB8001BFE0182CB0020014A
+:086EC00093DB00C001A201E117
+:086EC80068FC01471B020147B1
+:086ED0008B00013FD60186DBB7
+:086ED80002C001A7DA060186E1
+:086EE0009B06C0018E9B86C0D9
+:086EE800018E5B04C1018E1B49
+:086EF0008CC101471B0801F2EF
+:086EF800018E5A84C0019E5A6C
+:086F000004C1013FD001471B51
+:086F0800F801939B06C0019EF5
+:086F10001B8CC1019E9B86C091
+:086F1800019E5B04C1506FFCF7
+:086F2000FF00019D9AD901A7B1
+:086F28009B0601471BFE0186D8
+:086F3000DA00C20193DB00C08E
+:086F380001A201736EFC014788
+:086F40001B0201A201076EFC17
+:086F480001A7DA0601869B0691
+:086F5000C0018E9B86C0018E7A
+:086F58005B04C1018E1B8CC11A
+:086F600001471B0801F2018E3C
+:086F68005A84C0019E5A04C1C5
+:086F7000013FD5000000000004
+:086F7800000000000000000011
+:086F800001F7200301935F00FB
+:086F880011200301939F801109
+:086F900020030193DF00122031
+:086F98000301931F8112200385
+:086FA00001935F0113200301BE
+:086FA800939F81132003019364
+:086FB000DF0114200301931F0F
+:086FB8008214200301935F0223
+:086FC00015200301939F8215C7
+:086FC80020030193DF021620F3
+:086FD0000301931F8316200347
+:086FD80001935F031720030180
+:086FE000939F83172003019326
+:086FE800DF0318200301931FD1
+:086FF0008418200301935F04E3
+:086FF80019200301939F841985
+:0870000020030193DF041A20B4
+:087008000301931F851A200308
+:0870100001935F051B20030141
+:08701800939F851B20030193E7
+:08702000DF051C200301931F92
+:08702800861C200301935F06A2
+:087030001D200301939F861D42
+:0870380020030193DF061E2076
+:0870400005019E5F08192005FF
+:08704800019E9F88192005013B
+:087050009EDF081A2005019ED5
+:087058001F891A2005019E5F4B
+:08706000091B2005019E9F8918
+:087068001B2005019EDF091C3D
+:087070002005019E5F0A1D20AE
+:0870780005019E9F8A1D200501
+:08708000019EDF0A1E2005013C
+:087088009E1F8B1E2005019ED6
+:087090005F0B1F2005019E9F0C
+:087098008B1F2006019EDF0B97
+:0870A000002005019E5F0411B0
+:0870A8002005019E9F841120C8
+:0870B00005019EDF041220051A
+:0870B800019E1F851220050155
+:0870C0009E5F05132005019EEF
+:0870C8009F85132005019EDFE6
+:0870D00005142005019E1F8636
+:0870D800142005019E5F06155E
+:0870E0002005019E9F8615208A
+:0870E80005019EDF06162005DC
+:0870F000019E5F071720050156
+:0870F8009E9F87172006019EF0
+:087100001F8C004016C00001C5
+:087108006F1B8E01A980090133
+:087110009DEEFF01A9400801FA
+:087118009DE9FF5000D0FF00CB
+:08712000019D25003000100163
+:087128009D2D0001471BF80139
+:08713000939B06C0019E1B8C1D
+:08713800C1019E9B86C0019E6F
+:087140005B04C15075FCFF0067
+:08714800019D1A7C01A79B06C2
+:0871500001471BF8014DDB06AD
+:08715800030193DB02C0019367
+:087160001B83C001935B03C116
+:0871680001939B83C10193DB3D
+:0871700003C201931B84C2015C
+:08717800A201C5BBFC01A7C187
+:0871800000012003000632ADFE
+:0871880001A201DDBBFC01A71F
+:08719000C10001A7C38001A7A3
+:08719800030301A201D1BBFCBD
+:0871A00040F00A010186C082E3
+:0871A8002201010B12323C012F
+:0871B000471BFC016F033201D3
+:0871B80093DB80C0404600019A
+:0871C000016F03960193DB004F
+:0871C800C001A201007EFC01E0
+:0871D000A7C1000102032230F7
+:0871D8006E20060180CBF026B9
+:0871E00001A7C38001A703040D
+:0871E80020060180CB00270105
+:0871F000A7C38001A7C303013E
+:0871F80047500020060180CB86
+:08720000102701A7C380011350
+:08720800D000366F10000113E5
+:08721000D00332301B200601FF
+:08721800900BF4260140D03276
+:087220001001A70C8301A70C6B
+:08722800C32006019003232797
+:0872300001471BFE404600016E
+:08723800016F03960193DB00D6
+:08724000C001A201707EFC01F7
+:0872480022CC012330362006A0
+:087250000180CBC026010703F9
+:08725800736F0300726F430025
+:0872600001A7C3800102032312
+:08726800A8480001A9810C01F6
+:08727000A87600015441100052
+:0872780030FFFC015341F0FF5F
+:0872800001A9810D2006018027
+:087288000BD1260153C44000A4
+:087290000102032230F5012385
+:087298004C0833305B016F0E5E
+:0872A0000001240E0246304DEE
+:0872A80001584E3040014C0B6F
+:0872B000416B01B2C430200162
+:0872B80025C3FF5230370158D5
+:0872C0004E60400140C652106F
+:0872C8002006018245412B0163
+:0872D0005805434040C01701BE
+:0872D800014CC4000001A743B2
+:0872E000032002016FC38020AE
+:0872E800080193CD8028014745
+:0872F0004E00013FAC01309398
+:0872F80001240C0B42300701D8
+:08730000248C06433085202097
+:08730800016F040040C01701F1
+:08731000014CC4000001A74379
+:08731800032002016F05800152
+:08732000260C0B626F060562EA
+:087328003008016F870601A780
+:087330008701014085411001B5
+:087338004DDB86000193DB0030
+:08734000C0014DDB8600019342
+:087348001B01C0014DDB8600B2
+:0873500001935B01C001A201E1
+:08735800514AFC01865B01C0F3
+:0873600001471B0201861B011D
+:08736800C001471B020186DB96
+:0873700000C001471B0201A748
+:08737800810101580658400193
+:08738000504431042008019380
+:08738800CD8028200601800BD6
+:08739000D1260153C4200001C5
+:08739800020322304E01224CD9
+:0873A0000323304740360001D1
+:0873A8000182C08029012303CA
+:0873B0000037303701471BF8DC
+:0873B800016FC3FF0193DB80AC
+:0873C000C1016FC3FF0193DB63
+:0873C80000C1016FC3FF019336
+:0873D000DB80C0403600010122
+:0873D80082C080290193DB0053
+:0873E000C001A2011D3EFC01E9
+:0873E800471B084046000101AB
+:0873F00082C000260121030008
+:0873F80017303701471BF801B3
+:087400006FC3FF0193DB80C1A3
+:08740800016FC3FF0193DB00DB
+:08741000C1016FC3FF0193DB12
+:0874180080C040460001018222
+:08742000C000260193DB00C04F
+:0874280001A2011D3EFC014719
+:087430001B08013D4201861B0F
+:0874380084C20186DB03C201DE
+:08744000869B83C101865B03FA
+:08744800C101861B83C001860F
+:08745000DB02C001A7DA06010E
+:08745800869B06C0018E9B8695
+:08746000C0018E5B04C1018E26
+:087468001B8CC1200301865FAB
+:087470000011200301869F803A
+:087478001120030186DF001260
+:08748000200301861F81122088
+:087488000301865F01132003DC
+:0874900001869F811320030116
+:0874980086DF011420030186C8
+:0874A0001F8214200301865F26
+:0874A8000215200301869F82FA
+:0874B0001520030186DF02161E
+:0874B800200301861F8316204A
+:0874C0000301865F031720039E
+:0874C80001869F8317200301D8
+:0874D00086DF0318200301868A
+:0874D8001F8418200301865FE8
+:0874E0000419200301869F84BA
+:0874E8001920030186DF041ADC
+:0874F000200301861F851A200C
+:0874F8000301865F051B200360
+:0875000001869F851B20030199
+:0875080086DF051C200301864B
+:087510001F861C200301865FA9
+:08751800061D200301869F8679
+:087520001D20030186DF061E99
+:087528002005018E5F08192007
+:0875300005018E9F881920055A
+:08753800018EDF081A20050195
+:087540008E1F891A2005018E3F
+:087548005F091B2005018E9F65
+:08755000891B2005018EDF09F3
+:087558001C2005018E5F0A1DD5
+:087560002005018E9F8A1D2009
+:0875680005018EDF0A1E20055B
+:08757000018E1F8B1E20050196
+:087578008E5F0B1F2005018E40
+:087580009F8B1F2006018EDF26
+:087588000B002005018E5F04D9
+:08759000112005018E9F8411FA
+:087598002005018EDF04122022
+:0875A00005018E1F8512200574
+:0875A800018E5F0513200501AF
+:0875B0008E9F85132005018E5A
+:0875B800DF05142005018E1F00
+:0875C00086142005018E5F0610
+:0875C800152005018E9F8615B8
+:0875D0002005018EDF061620E4
+:0875D80005018E5F0717200575
+:0875E000018E9F8717200601B0
+:0875E8008E1F8C0001F701F475
+:0875F000018E5A84C0019E5A6D
+:0875F80004C1013E3801471BEC
+:08760000F801939B06C0019EF6
+:087608001B8CC1019E9B86C092
+:08761000019E5B04C15076FCF1
+:08761800FF00019DDABA01A791
+:087620009B0601471BFC014D14
+:08762800DB86010193DB02C0C7
+:0876300001931B83C001935B71
+:0876380003C1016F0C0001A762
+:087640004C0301A201C007FC8C
+:0876480001A7C10001A7C30264
+:0876500001471BFC016F03322E
+:087658000193DB80C0404600F5
+:0876600001016F03960193DBA9
+:0876680000C001A201007EFC3C
+:0876700001A7C10001000302A3
+:08767800303520060180CBF043
+:087680002601A7C38001A74306
+:087688000320060180CB00275E
+:0876900001A7C38001A7030359
+:0876980001471BFE4046000102
+:0876A000016F03960193DB006A
+:0876A800C001A201707EFC018B
+:0876B000100D03036FC1FF037D
+:0876B8003004016F010001869E
+:0876C0005B03C101861B83C0BE
+:0876C8000186DB02C001A7DA14
+:0876D0000601869B06C0018E35
+:0876D8009B86C0018E5B04C11A
+:0876E000018E1B8CC101471B48
+:0876E8000801F2018E5A84C072
+:0876F000019E5A04C1013FC6CE
+:0876F80001471BF801939B06FA
+:08770000C0019E1B8CC1019E1B
+:087708009B86C0019E5B04C1D9
+:087710005078FCFF00019D1AF6
+:087718000601A79B0601471BB7
+:08772000FC014DDB06020193A0
+:08772800DB02C001931B83C0CA
+:0877300001935B03C101939B6F
+:0877380083C101A201C007FC9E
+:0877400001A7C10001A703032A
+:08774800016F0D0001471BFC5D
+:08775000016F03320193DB809D
+:08775800C040460001016F036F
+:08776000960193DB00C001A2B9
+:0877680001007EFC01A7C10035
+:0877700001000302306C200649
+:087778000180CCF02601A7C33B
+:087780008001A783032006012C
+:0877880080CC002701A7C3809B
+:0877900001A7C3020111CE02A2
+:08779800123030014CCC2067D7
+:0877A00001B0C3322001A7C3B0
+:0877A8008001A7430301474BD8
+:0877B0000020060180CC102727
+:0877B80001A7C3800112CB0000
+:0877C000266F0B00200601906A
+:0877C800CC022701471BFE4023
+:0877D000460001016F03960160
+:0877D80093DB00C001A2017067
+:0877E0007EFC01A74D000186AB
+:0877E8009B83C101865B03C114
+:0877F00001861B83C00186DB4A
+:0877F80002C001A7DA060186B8
+:087800009B06C0018E9B86C0AF
+:08780800018E5B04C1018E1B1F
+:087810008CC101471B0801F2C5
+:08781800018E5A84C0019E5A42
+:0878200004C1013FC10000009A
+:08782800000000000000000058
+:0878300001471BF801939B06C0
+:08783800C0019E1B8CC1019EE2
+:087840009B86C0019E5B04C1A0
+:08784800507BFCFF00019D9A3A
+:08785000EF01A79B0601471B95
+:08785800F6014DDB86020193ED
+:08786000DB02C001931B83C091
+:0878680001935B03C101939B36
+:0878700083C10193DB03C22078
+:0878780006016F4D9B20060183
+:087880006F0F9B40460001015F
+:0878880086C000270100030384
+:08789000302801471BFE4046B1
+:087898000001016F0398019348
+:0878A000DB00C001A2017C34F1
+:0878A800FC01471B02016F43C4
+:0878B00000404600010193C0F5
+:0878B800002701A201C007FC3A
+:0878C00001A7C10001A7C302EA
+:0878C80001A201FD75FC01A7FE
+:0878D000C10001200300073094
+:0878D8006020060180CBE026D0
+:0878E00001210300126FC1FF3A
+:0878E80012329C01471BF680DF
+:0878F000FFFFFFFFFFFF7F0116
+:0878F8006FC3FF0193DB00C226
+:08790000014CDA80DD0193DB8C
+:0879080080C1014CDA00DE0130
+:0879100093DB00C1014CDA8099
+:08791800DE0193DB80C0404654
+:0879200000010182C0002601F4
+:0879280093DB00C001A201EA9B
+:0879300041FC01471B0A013F65
+:087938008F01A201F876FC01A9
+:08794000A7C1000153C3F00FC1
+:087948000153C3F00F01A783F6
+:087950000301200E3C0230345B
+:0879580001200E380230390154
+:08796000200E0502304D01204C
+:087968004E1602307B0120CE17
+:087970001D0230A901200E16D2
+:087978000230B401208E1F0251
+:0879800030BF01204E0402306B
+:08798800CA0130FC016FC3FFCE
+:0879900001C0CF32200131ECEF
+:0879980001B0CD32200154C3FF
+:0879A000000801C0CD322001F6
+:0879A800B0CD322001A7C3801D
+:0879B0000131D101B0CF3220FA
+:0879B800012103001730120148
+:0879C000B0CD32200154C34098
+:0879C8000001C0CD32200130A6
+:0879D0000F01B0CD322001537C
+:0879D800C3B0FF01C0CD322055
+:0879E00001C0CF022001319C1F
+:0879E80001B0CF3220012103A0
+:0879F0000017301201B0CD3286
+:0879F800200154C3100001C07E
+:087A0000CD322001300F01B06E
+:087A0800CD32200153C3E0FF61
+:087A100001C0CD322001C0CFFE
+:087A1800022001316701B0CD2D
+:087A200032200155C3000101F1
+:087A2800C0CD322001315501EF
+:087A3000B0CD32200155C30066
+:087A38000201C0CD3220013132
+:087A40004301B0CD32200155D5
+:087A4800C3000401C0CD32208F
+:087A500001313101B0CF3220F9
+:087A58000121030017301201A7
+:087A6000B0CD32200154C32017
+:087A68000001C0CD3220013005
+:087A70000F01B0CD32200153DB
+:087A7800C3D0FF01C0CD322094
+:087A800001C0CF02200130FC1F
+:087A880001214E03133035010A
+:087A9000B0CD42200153C420D7
+:087A9800000101031230250179
+:087AA000B0CF322001210300E8
+:087AA80013301940F00A01013E
+:087AB00086C0002501474300D8
+:087AB80040F00A010193C00037
+:087AC000250130C001B0CF32F6
+:087AC8002001020323C0CF02DC
+:087AD000202330B001B0CD42CB
+:087AD8002001A704810153C441
+:087AE0000008010303323031FC
+:087AE80001B0CD32200153C3AF
+:087AF000F0F701C0CD322001C6
+:087AF800B0CD322001A7C380CC
+:087B000050BBFCFF000180CE28
+:087B0800503401A7C38001A75E
+:087B1000030301A74C00013042
+:087B18006E01B0CD42200153C3
+:087B2000C440000104034230DF
+:087B28001950BAFCFF000180B6
+:087B3000CE502C01A7C3800117
+:087B3800A7030301A74C0001A3
+:087B4000304501B0CD422001E7
+:087B480053C4100001050352B3
+:087B5000301950B9FCFF0001DF
+:087B580080CE503C01A7C38060
+:087B600001A7030301A74C007B
+:087B680001301C50B8FCFF00C5
+:087B70000180CE502C01A7C3D7
+:087B78008001A7030301A74CE3
+:087B800000013003013D410149
+:087B880086DB03C201869B832A
+:087B9000C101865B03C10186FF
+:087B98001B83C00186DB02C063
+:087BA00001A7DA0601869B062D
+:087BA800C0018E9B86C0018E16
+:087BB0005B04C1018E1B8CC1B6
+:087BB80001471B0801F2018ED8
+:087BC0005A84C0019E5A04C161
+:087BC800013FBC01471BF8015D
+:087BD000939B06C0019E1B8C73
+:087BD800C1019E9B86C0019EC5
+:087BE0005B04C1507CFCFF00B6
+:087BE800019D1A1201A79B0682
+:087BF00001471BFE014DDB867D
+:087BF800000193DB02C001A2B1
+:087C000001C007FC01A7C1004F
+:087C080001A7C302016F430054
+:087C100020060190CBE02601E3
+:087C1800A2013078FC01A7C1B4
+:087C20000001A743000186DB0F
+:087C280002C001A7DA06018683
+:087C30009B06C0018E9B86C07B
+:087C3800018E5B04C1018E1BEB
+:087C40008CC101471B0801F291
+:087C4800018E5A84C0019E5A0E
+:087C500004C1013FD001471BF4
+:087C5800F801939B06C0019E98
+:087C60001B8CC1019E9B86C034
+:087C6800019E5B04C1507CFC8D
+:087C7000FF00019D9A3301A7FA
+:087C78009B0601471BFE014DB4
+:087C8000DB86000193DB02C06A
+:087C880001A201C007FC01A7E5
+:087C9000C10001A7C302200698
+:087C980001900BE02601A2019E
+:087CA0003078FC01A7C10001CE
+:087CA800A743000186DB02C0C6
+:087CB00001A7DA0601869B061C
+:087CB800C0018E9B86C0018E05
+:087CC0005B04C1018E1B8CC1A5
+:087CC80001471B0801F2018EC7
+:087CD0005A84C0019E5A04C150
+:087CD800013FD0000000000094
+:087CE00001471BF8019E1B8CFB
+:087CE800C101A85C00018E1B24
+:087CF0008CC101471B0801F2E1
+:087CF80001471BF801939B06F4
+:087D0000C0019E1B8CC1019E15
+:087D08009B86C0019E5B04C1D3
+:087D1000507DFCFF00019DDA2B
+:087D18005801A79B060186DA61
+:087D200000C20120C33F09303D
+:087D28001C0186DA80C2012073
+:087D3000030002301001869AE5
+:087D380000C201865A80C2015D
+:087D4000A2018206FC01A7DA92
+:087D48000601869B06C0018EB6
+:087D50009B86C0018E5B04C19B
+:087D5800018E1B8CC101471BC9
+:087D60000C01F2018E5A84C0EF
+:087D6800019E5A04C1013FD540
+:087D700001471BF8019E1B8C6A
+:087D7800C1019E9B86C0019E23
+:087D80005B04C1507DFCFF0013
+:087D8800019DDA7A01471BFCA2
+:087D9000016FC3010193DB80C8
+:087D9800C0500FDCFF00016F79
+:087DA00003F80193DB00C001B0
+:087DA800A201D0A5FC01471B5C
+:087DB0000401471BFC016FC335
+:087DB800030193DB80C0500FB2
+:087DC000DCFF00016F03F2017A
+:087DC80093DB00C001A201D011
+:087DD000A5FC01471B04018E14
+:087DD8009B86C0018E5B04C113
+:087DE000018E1B8CC101471B41
+:087DE8000801F2018E5A84C06B
+:087DF000019E5A04C1013FDEAF
+:087DF800000000000000000083
+:087E000001471BF801939B06EA
+:087E0800C0019E1B8CC101A703
+:087E10009B06016F41000130E7
+:087E18003701865A00C2018601
+:087E20009A80C201000202A7D2
+:087E28004000023023014D82ED
+:087E30001000018BC1002001CC
+:087E380000030730070110C32D
+:087E400007023008018CC107A4
+:087E480020033FD7016F410048
+:087E500001A7DA0601869B067A
+:087E5800C0018E1B8CC1014723
+:087E60001B0C01F20000000000
+:087E6800000000000000000012
+:087E700001471BF801939B067A
+:087E7800C0019E1B8CC101A793
+:087E80009B0601865A00C201B5
+:087E88006FC2FF01938100208D
+:087E900001A7DA0601869B063A
+:087E9800C0018E1B8CC10147E3
+:087EA0001B0A01F200000000C2
+:087EA8000000000000000000D2
+:087EB00001471BF801939B063A
+:087EB800C0019E1B8CC101A753
+:087EC0009B0601471BFE014D6A
+:087EC800DB06010193DB02C09F
+:087ED00001931B83C040C82789
+:087ED80001016F0C08016FC3EA
+:087EE000FF01A7C3020186CCDB
+:087EE800002001200315063003
+:087EF0002101860C012001585C
+:087EF80044304040C82701019D
+:087F000086C382220186CC0039
+:087F080020014743000193CC66
+:087F1000002001A74B000186CF
+:087F18001B83C00186DB02C0DF
+:087F200001A7DA0601869B06A9
+:087F2800C0018E1B8CC1014752
+:087F30001B0801F201471BF8D8
+:087F380001939B06C0019E1B92
+:087F40008CC1019E9B86C0016B
+:087F48009E5B04C1507FFCFFA9
+:087F500000019D1AF201A79B3C
+:087F58000601471BFE014DDB91
+:087F600086000193DB02C04022
+:087F6800C827010186C00022B8
+:087F70000120031506302A016F
+:087F7800A201B07EFC01A7C1CB
+:087F80000001A7C39001A7C393
+:087F88000201210B0813300770
+:087F90000121CBFF13300701B2
+:087F9800A74B00013007013F77
+:087FA000C6016FC1FF0186DB81
+:087FA80002C001A7DA06018600
+:087FB0009B06C0018E9B86C0F8
+:087FB800018E5B04C1018E1B68
+:087FC0008CC101471B0801F20E
+:087FC800018E5A84C0019E5A8B
+:087FD00004C1013FD0000000D4
+:087FD8000000000000000000A1
+:087FE00001471BF801939B0609
+:087FE800C0019E1B8CC1019E2B
+:087FF0009B86C0019E5B04C1E9
+:087FF8005081FCFF00019D1AFD
+:088000004501A79B0601471B87
+:08800800FA014DDB8601019332
+:08801000DB02C001931B83C0D9
+:0880180001935B03C1016F0C31
+:0880200000016F0D0001A20137
+:08802800347FFC40C827010170
+:0880300086C00022014DC310BF
+:088038000040C827010193C0BC
+:088040000022016F4300010062
+:088048000302309B01A201B00C
+:088050007EFC01A7C10001A79D
+:08805800C39001A7C30201213E
+:088060000B0C1B301D01214B2C
+:088068000E19301601580C41FD
+:0880700040014D4B01030150DA
+:0880780044310401A7030301D8
+:08808000305901224B102B3096
+:088088001D01228B11293016A5
+:0880900001580C4140014C4B6A
+:0880980091FC01504431040188
+:0880A000A703030130350123A1
+:0880A8004B183B301D01238B36
+:0880B0001939301601580C418A
+:0880B80040014C4B91FA01500C
+:0880C00044310401A703030190
+:0880C80030110186DA00C2014B
+:0880D0009303032001A74D00FA
+:0880D80001300C014CCD100039
+:0880E00001A74303013F5B010E
+:0880E800865B03C101861B83C6
+:0880F000C00186DB02C001A7FC
+:0880F800DA0601869B06C001B7
+:088100008E9B86C0018E5B041A
+:08810800C1018E1B8CC101476F
+:088110001B0A01F2018E5A84E2
+:08811800C0019E5A04C1013FA1
+:08812000C60000000000000091
+:0881280000000000000000004F
+:0881300001471BF801939B06B7
+:08813800C0019E1B8CC1019ED9
+:088140009B86C0019E5B04C197
+:088148005082FCFF00019D5A6A
+:088150008B01A79B0601471BF0
+:08815800FA014DDB0602019360
+:08816000DB02C001931B83C088
+:0881680001935B03C101939B2D
+:0881700083C10186DA00C2019F
+:08817800A7830301200E0002A1
+:088180006F0100023075016F70
+:088188000B00016F0C00014720
+:088190001BFE01A201B07EFC00
+:0881980001A7C10001A7C3907B
+:0881A00001A7430301935B03F7
+:0881A800C001A2018899FC014D
+:0881B000471B0201A7C10001F9
+:0881B800000302301E016F04F8
+:0881C000F4014A8BA10001400B
+:0881C800465310014044311040
+:0881D00001A7C30201474C00A6
+:0881D800013FB340C82701017B
+:0881E00086C00022014DC3100E
+:0881E8000040C827010193C00B
+:0881F00000220193CE022001E0
+:0881F800A74C0001869B83C126
+:0882000001865B03C101861B2E
+:0882080083C00186DB02C00106
+:08821000A7DA0601869B06C0F7
+:08821800018E9B86C0018E5B04
+:0882200004C1018E1B8CC10199
+:08822800471B0A01F2018E5A06
+:0882300084C0019E5A04C10143
+:088238003FC10000000000003E
+:0882400001471BF801939B06A6
+:08824800C0019E1B8CC1019EC8
+:088250009B86C0019E5B04C186
+:088258005085FCFF00019D9A16
+:088260004001A79B0601471B2A
+:08826800F0014DDB86010193DA
+:08827000DB02C001931B83C077
+:0882780001935B03C1014DDB22
+:088280000601019E1B06C0016E
+:088288009E5B86C0014CDA0088
+:08829000DE01A74303507FFC4F
+:08829800FF00019D18F8507E63
+:0882A000FCFF00019D19AC0177
+:0882A800A09101A7C10001A78C
+:0882B000C39001A703030120A4
+:0882B8000C1902301F01200C1B
+:0882C0001D0230560120CC1A0A
+:0882C80002305C01208C1A0257
+:0882D00030D30120CC1C023068
+:0882D800F30131E701471BF639
+:0882E000016F03000193DB00B4
+:0882E800C2016F03000193DBEA
+:0882F00080C1016F030001933E
+:0882F800DB00C1016F0300016E
+:0883000093DB80C0016F03084C
+:088308000193DB00C001A2019A
+:08831000F01BFC01471B0A01F0
+:0883180031A901A2013252FC5F
+:08832000016F01000131A00111
+:08832800A09101A7C10001A70B
+:08833000C39001A70303012122
+:088338004C1A13302901A09139
+:0883400001A7C10001A7C390D1
+:0883480001A7030301220C1B35
+:0883500023301301A09101A7E5
+:08835800C10001A7C39001A7B9
+:08836000030301230C1B01477C
+:088368001BFE014CDA80DE016E
+:0883700093DB00C001A08101B4
+:08837800A7C10001A7C3020127
+:08838000210B00143018014725
+:088388001BFE0186DA80DE0114
+:0883900093DB00C001A20120F3
+:0883980019FC01471B02016FF3
+:0883A000010001312201471B1D
+:0883A800FE01935B03C001A07C
+:0883B0008101A7C10001A7C370
+:0883B8000201210B001586CD26
+:0883C000002015A9C30415A05B
+:0883C800310130F701A0910121
+:0883D000A7C10001A7C3900141
+:0883D800A7030301210C1D1392
+:0883E00030E101471BFE014CD6
+:0883E800DA80DD0193DB00C027
+:0883F00001A2013081FC01A78C
+:0883F800C10001A7C30201222C
+:088400000B002430BE01471BF4
+:08840800FE014CDA00DD0193D6
+:08841000DB00C001A201308174
+:08841800FC01A7C10001A7C38C
+:088420000201220B0024309B35
+:0884280001471BFE01935B03F9
+:08843000C001A08101A7C100F9
+:0884380001A7C30201220B00A1
+:0884400024308001471BFE01FE
+:088448004CDA80DC0193DB003B
+:08845000C001A08101A7C100D9
+:0884580001A7C30201220B0081
+:0884600024306001471BFE01FE
+:088468004CDA00DC0193DB009B
+:08847000C001A08101A7C100B9
+:0884780001A7C30201220B0061
+:0884800024304001471BF60106
+:0884880086DA00DC0193DB0041
+:08849000C20186DA80DC0193D1
+:08849800DB80C10186CD00204C
+:0884A0000193DB00C10186DA43
+:0884A80000DD0193DB80C0013F
+:0884B00086DA80DD0193DB0098
+:0884B800C001A201F01BFC0150
+:0884C000471B0A016F010001D6
+:0884C8008E5B86C0018E1B06CD
+:0884D000C001471B0401865B9B
+:0884D80003C101861B83C001F2
+:0884E00086DB02C001A7DA06E9
+:0884E80001869B06C0018E9B7A
+:0884F00086C0018E5B04C1018E
+:0884F8008E1B8CC101471B081B
+:0885000001F2018E5A84C00152
+:088508009E5A04C1013FB801B5
+:08851000471BF8019E1B8CC102
+:08851800019E9B86C0019E5BE1
+:0885200004C15085FCFF0001BD
+:088528009D5A6140C8270101C2
+:088530009300002240C827015E
+:088538000182C0802201200332
+:088540000903301E40C82701A9
+:08854800016F030A0182C32048
+:08855000200120830F026F835C
+:088558000040C827010293C096
+:08856000002201A2014082FC8F
+:0885680001A7C10001A74300B7
+:08857000018E9B86C0018E5BA9
+:0885780004C1018E1B8CC1013E
+:08858000471B0801F2018E5AAD
+:0885880084C0019E5A04C101E8
+:088590003FDE01471BF8019ECC
+:088598001B8CC101471BFE0111
+:0885A000939B01C0016FC600AE
+:0885A80001A5CD0A01580112E2
+:0885B0004C01869B01C001474C
+:0885B8001B02018E1B8CC101A6
+:0885C000471B0801F201471BF3
+:0885C800F8019E1B8CC1014764
+:0885D0001BFE01939B01C00199
+:0885D8006FC60001A5CD0A01E8
+:0885E000A741C001869B01C008
+:0885E80001471B02018E1B8CF0
+:0885F000C101471B0801F20163
+:0885F800471BF801939B06C02C
+:08860000019E1B8CC1019E9B31
+:0886080086C0019E5B04C15015
+:0886100087FCFF00019DDAE781
+:0886180001A79B0601471BF6B8
+:08862000014DDB06020193DBB2
+:0886280002C001931B83C00195
+:08863000935B03C101939B83DE
+:08863800C15000D0FF00016FEA
+:08864000030001A783030147B9
+:088648001BFE2008016F040075
+:088650004018C000014CC400F9
+:08865800800193DB00C001A2C8
+:08866000012A58FC01471B022E
+:0886680001471BFE50E2FCFF7C
+:0886700000016F038F0193DB91
+:0886780000C001A201FF94FC07
+:0886800001471B0201A2017E6B
+:0886880094FC01A7C10001A749
+:08869000C39001A703030120C0
+:088698004C0302301201471BE4
+:0886A000FE01931B03C001A2BF
+:0886A80001208FFC013FD50108
+:0886B000A2019285FC01A7C1A3
+:0886B8000001A7C38001A743E4
+:0886C0000301A201C585FC01C4
+:0886C800A7C10001A7C3800156
+:0886D00093DA00DE016F0B00DC
+:0886D80001200B1506305C01C6
+:0886E000584B3040014DDB86D0
+:0886E800000193DB00C0014713
+:0886F0001BFE014ACD4105010A
+:0886F80040C7621001588650D2
+:088700004001B44E5120015369
+:0887080005F13F01931B01C0C4
+:0887100001A2017804000186BA
+:08871800DB00C001471B020158
+:08872000A7010101A70491016A
+:08872800A704D140C82701019C
+:088730009103812201474B0077
+:08873800013F9D01471BFC40BD
+:08874000C82701016F030A01C3
+:0887480093DB80C050E2FCFF4E
+:0887500000016F038C0193DBB3
+:0887580000C001A201FF94FC26
+:0887600001471B0401A2010FF7
+:0887680085FC013EFB01869B2C
+:0887700083C101865B03C10116
+:08877800861B83C00186DB02B1
+:08878000C001A7DA0601869B87
+:0887880006C0018E9B86C001B2
+:088790008E5B04C1018E1B8CFD
+:08879800C101471B0801F201B9
+:0887A0008E5A84C0019E5A04A8
+:0887A800C1013FC10000000007
+:0887B00001471BF801939B0631
+:0887B800C0019E1B8CC101A74A
+:0887C0009B0601865A80C101ED
+:0887C800869A00C201A9010A12
+:0887D00001A9420A01A7DA0623
+:0887D80001869B06C0018E1B07
+:0887E0008CC101471B0C01F2E2
+:0887E80001471BF801939B06F9
+:0887F000C0019E1B8CC101A712
+:0887F8009B0601471BFC014D2B
+:08880000DB86010193DB02C0DD
+:0888080001931B83C001935B87
+:0888100003C10186DA00C20178
+:08881800A703030153CCF0019A
+:0888200001A7430301584C417C
+:0888280044015844304001A74F
+:08883000C3020158CB50404087
+:088838004E00010186450125F7
+:0888400001584D60400158850C
+:0888480041040153C43000019A
+:08885000A7430001865B03C190
+:0888580001861B83C00186DBD1
+:0888600002C001A7DA0601863F
+:088868009B06C0018E1B8CC1B0
+:0888700001471B0801F201475A
+:088878001BF801939B06C001EF
+:088880009E1B8CC1019E9B862A
+:08888800C0019E5B04C1508990
+:08889000FCFF00019DDA670105
+:08889800A79B0601471BFC0130
+:0888A0004DDB86010193DB02B0
+:0888A800C001931B83C0019382
+:0888B0005B03C10186DA00C27E
+:0888B80001A703030153CCF0FA
+:0888C0000101A7430301584C1C
+:0888C800414401584430400115
+:0888D000A7C3020158CB3040A0
+:0888D800016FC60001584D704C
+:0888E000400158C6510001A738
+:0888E80005B1404E00010186BC
+:0888F000430125015005510070
+:0888F800404E00010193430111
+:08890000250158CB304001862F
+:088908009A81C20153463100BF
+:0889100001584D60400158853B
+:088918004100404E0001018600
+:0889200043012501500551043B
+:08892800404E000101934301E0
+:088930002501471BFC0186DA5A
+:0889380001C3015387F13F0167
+:088940005886514001861A829D
+:08894800C30153C8710001587E
+:08895000C7604001508541049D
+:088958000154C460000193DB2F
+:0889600080C001580C344001F5
+:0889680093DB00C001A201B085
+:0889700087FC01865B03C101D5
+:08897800861B83C00186DB02AF
+:08898000C001A7DA0601869B85
+:0889880006C0018E9B86C001B0
+:088990008E5B04C1018E1B8CFB
+:08899800C101471B0801F201B7
+:0889A0008E5A84C0019E5A04A6
+:0889A800C1013FC601471BF8A5
+:0889B00001939B06C0019E1B10
+:0889B8008CC1019E9B86C001E9
+:0889C0009E5B04C1508AFCFF1C
+:0889C80000019D5A9701A79BD5
+:0889D00006014DDB06010193D5
+:0889D800DB02C001931B83C008
+:0889E0000186DA00C201A7C301
+:0889E800020186DA00C301A7B9
+:0889F000030301200C00083014
+:0889F8003C01471BF80186DA7F
+:088A000000C40193DB80C101F9
+:088A080086DA80C30193DB0054
+:088A1000C10186DA80C2019366
+:088A1800DB80C00193DB02C00A
+:088A200001A101000001471B48
+:088A280008014D0C1300014789
+:088A30004B00013FBD01861B54
+:088A380083C00186DB02C001CE
+:088A4000A7DA0601869B06C0BF
+:088A4800018E9B86C0018E5BCC
+:088A500004C1018E1B8CC10161
+:088A5800471B1201F2018E5AC6
+:088A600084C0019E5A04C1010B
+:088A68003FCB01471BF801930D
+:088A70009B06C0019E1B8CC196
+:088A7800019E9B86C0019E5B7C
+:088A800004C1508BFCFF000152
+:088A88009D5ADC01A79B0601C9
+:088A9000471BFA014DDB060251
+:088A98000193DB02C001931BF6
+:088AA00083C001935B03C101D7
+:088AA800939B83C12008016FBC
+:088AB0000E00405E000101868A
+:088AB800C0022501108B030A26
+:088AC000307901471BFE019310
+:088AC800DB02C001A201E887F6
+:088AD000FC01471B0201A7C1D4
+:088AD8000001210300133054DA
+:088AE00001861A03C201A74B35
+:088AE8000301471BFE0193DBB3
+:088AF00002C001A201E887FCAD
+:088AF80001471B0201A7C100A8
+:088B00000122030023301701DC
+:088B0800220C002830100112BC
+:088B10008B032B474B002B4D9A
+:088B18000C13002B3FCB0122DE
+:088B20000C0028A74D002830CD
+:088B28001601128B032A6F01F4
+:088B3000002A300B01474B0045
+:088B3800013F80016F01000103
+:088B4000869B83C101865B03E3
+:088B4800C101861B83C00186F8
+:088B5000DB02C001A7DA0601F7
+:088B5800869B06C0018E9B867E
+:088B6000C0018E5B04C1018E0F
+:088B68001B8CC101471B080131
+:088B7000F2018E5A84C0019E3F
+:088B78005A04C1013FC101478D
+:088B80001BF801939B06C001E4
+:088B88009E1B8CC101A79B0696
+:088B9000014DDB86000193DBBF
+:088B980002C00186DA00C201EF
+:088BA000A7C30230FF000147EA
+:088BA800CBFF3000FF0153CBAD
+:088BB000020001A74B00018641
+:088BB800DB02C001A7DA06018F
+:088BC000869B06C0018E1B8C90
+:088BC800C101471B0A01F20084
+:088BD00001471BF801939B060D
+:088BD800C0019E1B8CC1019E2F
+:088BE0009B86C0019E5B04C1ED
+:088BE800508DFCFF00019D9A75
+:088BF0007801A79B0601471B59
+:088BF800F6014DDB8603019339
+:088C0000DB02C001931B83C0DD
+:088C080001935B03C101939B82
+:088C100083C10193DB03C201E3
+:088C1800931B84C201935B046D
+:088C2000C30186DA80C201A73E
+:088C280043030186DA00C301D9
+:088C3000A783030186DA00C2EC
+:088C380001A70304405E0001E6
+:088C40000180C0802501000342
+:088C48000230A2405E000101B0
+:088C50009000802501471BFA8A
+:088C58002010016F03000193DD
+:088C6000DB00C1016F030001FC
+:088C680093DB80C0404E0001C7
+:088C7000016F03940193DB0086
+:088C7800C001A2019CA0FC0157
+:088C8000471B06016F03000110
+:088C8800A7430401471BFE0194
+:088C9000935B04C001A2017E08
+:088C98008BFC01A7C10001A73C
+:088CA000430401581144440192
+:088CA8004CC4800001A7030386
+:088CB000200801200C000A302D
+:088CB8003401931A80DE0186ED
+:088CC000DA80DE011103031646
+:088CC80030110186DA80DE01A3
+:088CD0004743000193DA80DE46
+:088CD800013FE3405E000101D1
+:088CE0009300032540C82701A1
+:088CE800019300032F01471B5B
+:088CF000FE01931B04C001A268
+:088CF800017E8BFC01A7C10005
+:088D000001A70304012010008B
+:088D0800026F0100023092012C
+:088D10005810344401A7C3030D
+:088D180001471BFE0193DB0380
+:088D2000C001A2016A8AFC01F6
+:088D2800471B0201A7C1000175
+:088D3000A7C30201200B0002A1
+:088D38006F01000230630147E6
+:088D40001BF601939B03C20125
+:088D4800935B83C10193DB037F
+:088D5000C1016F43000193DB38
+:088D580080C00193DB02C001A1
+:088D6000A101000001471B0AFC
+:088D680001471BF801939B83F6
+:088D7000C101935B03C1016F17
+:088D780083000193DB80C001C0
+:088D800040CB4310014DC4106B
+:088D8800000193DB00C001A211
+:088D9000017688FC01471B0875
+:088D980001580B344001A74310
+:088DA0000001865B04C301869B
+:088DA8001B84C20186DB03C23B
+:088DB00001869B83C101865B73
+:088DB80003C101861B83C00109
+:088DC00086DB02C001A7DA0600
+:088DC80001869B06C0018E9B91
+:088DD00086C0018E5B04C101A5
+:088DD8008E1B8CC101471B0E2C
+:088DE00001F2018E5A84C0016A
+:088DE8009E5A04C1013FB201D3
+:088DF000471BF801939B06C02C
+:088DF800019E1B8CC1019E9B32
+:088E000086C0019E5B04C15015
+:088E08008FFCFF00019D1AC35D
+:088E100001A79B0601471BFCB2
+:088E1800014DDB86010193DB33
+:088E200002C001931B83C00195
+:088E2800935B03C10186DA002F
+:088E3000C201A7430330FF005B
+:088E38000153CDF0FF012003FE
+:088E40000003309B01580D34C2
+:088E48004401A7C302405E00D3
+:088E5000010186C0002501109C
+:088E5800CB000B3009200801DA
+:088E6000200B000B3003013070
+:088E68007601471BFE0193DBBC
+:088E700002C001A201E887FC29
+:088E780001471B0201A7C10024
+:088E800001A7030301214C00CE
+:088E880012300701218C0013D8
+:088E9000301C01471BFC016FBF
+:088E980003000193DB80C0011F
+:088EA00093DB02C001A2017680
+:088EA80088FC01471B0401478F
+:088EB0001BFC016F030001939C
+:088EB800DB80C001580B3440BF
+:088EC0000193DB00C001A201D7
+:088EC800B087FC01474B0001DB
+:088ED000204C000330092008CA
+:088ED80001200B000B3F8A0191
+:088EE000865B03C101861B83C0
+:088EE800C00186DB02C001A7F6
+:088EF000DA0601869B06C001B1
+:088EF8008E9B86C0018E5B0415
+:088F0000C1018E1B8CC1014769
+:088F08001B0A01F2018E5A84DC
+:088F1000C0019E5A04C1013F9B
+:088F1800C6000000000000008B
+:088F200001471BF801939B06B9
+:088F2800C0019E1B8CC101A7D2
+:088F30009B0601471BFE0193A3
+:088F38009B01C001865A00C232
+:088F4000016F860301A5CD0AB3
+:088F480001869B01C001471BDB
+:088F50000201A7DA0601869B6D
+:088F580006C0018E1B8CC10153
+:088F6000471B0A01F2000000AA
+:088F6800000000000000000001
+:088F700001471BF801939B0669
+:088F7800C0019E1B8CC1019E8B
+:088F80009B86C0019E5B04C149
+:088F88005091FCFF00019DDA8D
+:088F90005001A79B0601471BDD
+:088F9800FA014DDB8603019391
+:088FA000DB02C001931B83C03A
+:088FA80001935B03C101939BDF
+:088FB00083C10193DB03C20140
+:088FB800931B84C201935B04CA
+:088FC000C30186DA00C201A71B
+:088FC8000303405E0001016F8C
+:088FD0000E980182DA00C301D2
+:088FD800A7C3030186DA80C281
+:088FE00001A70304016F011455
+:088FE80030060C01914000A0CD
+:088FF000012010000730070109
+:088FF800201032043004016F67
+:08900000100001210C00176FA4
+:08900800430B173008016FC48F
+:089010000A01A7C40001A743F7
+:089018000401200C0007A7CCA5
+:089020001007A70303016F0B09
+:08902800000153CB30000121CF
+:08903000C30013301501A7CFA6
+:089038009301010F13584B30A6
+:089040004013C1CEF0201347DC
+:089048004B00015BCCA000010C
+:08905000A7430301584B304017
+:08905800014C0D010301A70406
+:08906000D101C1CE4020014BFB
+:08906800CCA00001A7030301E5
+:08907000474B0001200C000237
+:08907800300701208B04043FC6
+:08908000A80120510B02584B1E
+:08908800304002C1CE102102AC
+:08909000474B00016F0116308F
+:08909800060C01914000A0014B
+:0890A000100B0406301C01470F
+:0890A8001BFE0182DA80C30106
+:0890B00093DB00C001A20120C6
+:0890B8008FFC014D10140001B2
+:0890C0003FDD016F411630068F
+:0890C8000C01914000A0012001
+:0890D0000B00043021014DCB1F
+:0890D800120001471BFE0158C4
+:0890E0004B304001B2CE3020FC
+:0890E8000193DB00C001A201AD
+:0890F000208FFC013FD8016F45
+:0890F800811630060C019140C5
+:0891000000A001865B04C3011D
+:08910800861B84C20186DB0313
+:08911000C201869B83C10186A8
+:089118005B03C101861B83C04B
+:089120000186DB02C001A7DAA1
+:089128000601869B06C0018EC2
+:089130009B86C0018E5B04C1A7
+:08913800018E1B8CC101471BD5
+:089140001001F2018E5A84C0F7
+:08914800019E5A04C1013FB26F
+:0891500001471BF801939B0687
+:08915800C0019E1B8CC1019EA9
+:089160009B86C0019E5B04C167
+:089168005093FCFF00019DDAA9
+:08917000C401A79B0601471B87
+:0891780096014DDB0603019393
+:08918000DB02C001931B83C058
+:0891880001935B03C101939BFD
+:0891900083C10193DB03C2015E
+:08919800931B84C20186DA007A
+:0891A000C201A7030320FE0138
+:0891A8004CDAE0C501A7430306
+:0891B0000186DA80C201A7C3A9
+:0891B8000301200F000730073E
+:0891C00001200F32043004010C
+:0891C8006F0F00016F0B0001A5
+:0891D000210C00176F430B177F
+:0891D8003008016FC40A01A771
+:0891E000C40001A703040120F3
+:0891E8000C0007A7CC1007A73B
+:0891F00003030153CCF0000160
+:0891F800A7830301218E02167A
+:08920000301601584B3040010B
+:089208004C0E010301A704D183
+:0892100001C1CD402001303402
+:089218000186DA00C301020324
+:0892200022301601584B3040CA
+:08922800014D0E91FC01A704A9
+:08923000D101C1CD4020013045
+:089238001301584B3040014DB9
+:089240000E91FA01A704D1010F
+:08924800C1CD402001580C319A
+:089250004401A7030301474B91
+:089258000001200C00023007A8
+:0892600001208B04073F8B0184
+:0892680020500B02584B30406E
+:0892700002C1CD002102474BB1
+:08927800000110CB0306302FAA
+:0892800001471BFE0122500B07
+:08928800226F030822300D01E2
+:08929000821A81C301A70491B9
+:0892980001A7C4000193DB00F3
+:0892A000C001A201208FFC01B6
+:0892A8004DCF1300013FCA0184
+:0892B000200B00043021014DE8
+:0892B800CB120001471BFE016F
+:0892C000584B304001B2CD30E3
+:0892C800200193DB00C001A2AC
+:0892D00001208FFC013FD801D1
+:0892D800861B84C20186DB0342
+:0892E000C201869B83C10186D7
+:0892E8005B03C101861B83C07A
+:0892F0000186DB02C001A7DAD0
+:0892F8000601869B06C0018EF1
+:089300009B86C0018E5B04C1D5
+:08930800018E1B8CC101471B03
+:089310001001F2018E5A84C025
+:08931800019E5A04C1013FB798
+:0893200001471BF801939B06B5
+:08932800C0019E1B8CC1019ED7
+:089330009B86C0019E5B04C195
+:089338005093FCFF00019D1A97
+:08934000F801A79B0601471B81
+:08934800FE014DDB86010193DB
+:08935000DB02C001931B83C086
+:0893580001935B03C10186DAF9
+:0893600000C201A7C30201864F
+:08936800DA80C201A703030132
+:08937000A74B030182CB002092
+:0893780001000302302701206F
+:089380000C0004302001471B22
+:08938800FE0182CB00200193DD
+:08939000DB00C001A201208FE7
+:08939800FC01478B00014D0CA4
+:0893A0001300013FCE01404B18
+:0893A8004314015844304C014C
+:0893B000A7430001865B03C125
+:0893B80001861B83C00186DB66
+:0893C00002C001A7DA060186D4
+:0893C8009B06C0018E9B86C0CC
+:0893D000018E5B04C1018E1B3C
+:0893D8008CC101471B0C01F2DE
+:0893E000018E5A84C0019E5A5F
+:0893E80004C1013FC601471B4F
+:0893F000F801939B06C0019EE9
+:0893F8001B8CC101A79B0601BB
+:08940000471BFE01939B01C014
+:0894080001865A80C1016FC604
+:089410000601A5CD0A01869BAF
+:0894180001C001471B0201A77E
+:08942000DA0601869B06C0017B
+:089428008E1B8CC101471B0AD9
+:0894300001F201471BF8019E47
+:089438001B8CC1019E9B86C044
+:08944000019E5B04C15094FC85
+:08944800FF00019D5A1C01A266
+:0894500001557CFC01A7C100DD
+:0894580001A74300018E9B8671
+:08946000C0018E5B04C1018E06
+:089468001B8CC101471B080128
+:08947000F2018E5A84C0019E36
+:089478005A04C1013FDE014767
+:089480001BF801939B06C001DB
+:089488009E1B8CC1019E9B8616
+:08949000C0019E5B04C1509471
+:08949800FCFF00019D9A3C015C
+:0894A000A79B0601471BFE011A
+:0894A8004DDB86000193DB029D
+:0894B000C001A2013294FC018D
+:0894B800A7C10001A7C30201D6
+:0894C00020CBFF023FEB01533A
+:0894C800CBF00F01A7430001E6
+:0894D00086DB02C001A7DA06E9
+:0894D80001869B06C0018E9B7A
+:0894E00086C0018E5B04C1018E
+:0894E8008E1B8CC101471B081B
+:0894F00001F2018E5A84C00153
+:0894F8009E5A04C1013FD0019E
+:08950000471BF801939B06C014
+:08950800019E1B8CC1019E9B1A
+:0895100086C0019E5B04C150FE
+:0895180098FCFF00019D9A3F41
+:0895200001A79B0601471BF4A3
+:08952800014DDB86020193DB1B
+:0895300002C001931B83C0017E
+:08953800935B03C101939B83C7
+:08954000C10193DB03C2014DE0
+:08954800DB0601019E1B06C0B9
+:08955000019E5B86C0014CDAAC
+:0895580000C201A7C3025099F3
+:08956000FCFF00019D186250A0
+:089568008FFCFF00019D19C8F2
+:0895700001A70B030186CB00EB
+:08957800200182C30020010064
+:0895800003023335016F0308FB
+:0895880001A7C3030186CB001B
+:08959000200182C3002001212B
+:0895980043091332F5016F0EC7
+:0895A0000030FF00016FCDFF58
+:0895A8000186CB00200147837E
+:0895B000000193CB00200186AD
+:0895B800CB00200182C300205A
+:0895C000012243092230810160
+:0895C80022C31822308D01229C
+:0895D000031922309E01224321
+:0895D800192230C501224311E4
+:0895E0002230BE0122031E220D
+:0895E80030F4012203162231C8
+:0895F0001B0122C31C223142C1
+:0895F8000122030C2231640181
+:0896000022430E223165012214
+:08960800030E22315E0122C3B2
+:089610000D2231570122830DE8
+:089618002231500122430D2212
+:0896200031490122030D223142
+:08962800420122C30C22313B78
+:089630000122830C22313401F8
+:0896380022430C22312D012216
+:08964000830B2231A601324721
+:0896480001471BFE016F4309FD
+:089650000193DB00C001A091B1
+:0896580001323401470C02014C
+:08966000471BFE0186CC00202F
+:089668000193DB00C001A09199
+:0896700001321C01470C02014C
+:08967800471BF80193DB83C1DD
+:08968000016F03000193DB0000
+:08968800C101939B83C0018620
+:08969000CC00200193DB00C0B7
+:0896980001A201708FFC0131F9
+:0896A000EE01470C020186CC2B
+:0896A80000200193DA80DD01CE
+:0896B000471BF80186CB0020E6
+:0896B8000182C300200193DBD5
+:0896C00080C101935B03C101AD
+:0896C800939B83C00186DA8048
+:0896D000DD0193DB00C001A1E4
+:0896D8000100000131B101475E
+:0896E0000C0201471BF8019385
+:0896E800DB83C1016F030001E7
+:0896F00093DB00C101939B8391
+:0896F800C00186CC00200193A3
+:08970000DB00C001A201509141
+:08970800FC01318301470C0252
+:0897100001471BF80193DB8304
+:08971800C1016F43000193DB66
+:0897200000C101939B83C0010D
+:0897280086CC00200193DB0058
+:08973000C001A2015091FC01EF
+:08973800315501470C02014705
+:089740001BFC01935B83C001D7
+:0897480086CC00200193DB0038
+:08975000C001A2012093FC01FD
+:08975800A7C1000193DA00DE55
+:0897600001312C016F030C0123
+:08976800A7C30301860B0120D9
+:089770000182040120014DC437
+:08977800000301A78303018631
+:08978000CB002001478300012A
+:0897880093CB002001471BFEFA
+:089790000186CB00200182C319
+:0897980000200193DB00C00179
+:0897A000A08101471B0201A793
+:0897A800C10001030332302A65
+:0897B000014A8EA30001860BA3
+:0897B8000120018204012001DF
+:0897C0004DC400030140CEE09E
+:0897C800100186CB00200147CF
+:0897D00083000193CB0020018E
+:0897D8003FB20186CB00200125
+:0897E00082C300200123830B6A
+:0897E800333DCB0186CB0020CC
+:0897F000014783000193CB0047
+:0897F8002001471BFE0186CB96
+:0898000000200182C3002001D9
+:0898080093DB00C001A0810107
+:08981000471B0201A7C1000182
+:089818000303323D9901860BA8
+:08982000012001820401200176
+:089828004DC4000301A7430336
+:089830000186CB0020014783F3
+:08983800000193CB0020014761
+:089840001BFE0186CB00200194
+:0898480082C300200193DB0044
+:08985000C001A08101471B02C9
+:0898580001A7C1000103033266
+:08986000302A014A4DA300016A
+:08986800860B012001820401BE
+:0898700020014DC4000301407A
+:08987800CDD0100186CB0020C9
+:08988000014783000193CB00B6
+:0898880020013FB2013D270160
+:08989000301601471BFE0186A2
+:08989800CB00200182C3002077
+:0898A0000193DB00C001A0915F
+:0898A8000186CB00200147837B
+:0898B000000193CB0020013CF4
+:0898B800BB018E5B86C0018E2E
+:0898C0001B06C001471B040157
+:0898C80086DB03C201869B83CD
+:0898D000C101865B03C10186A2
+:0898D8001B83C00186DB02C006
+:0898E00001A7DA0601869B06D0
+:0898E800C0018E9B86C0018EB9
+:0898F0005B04C1018E1B8CC159
+:0898F80001471B0801F2018E7B
+:089900005A84C0019E5A04C103
+:08990800013FAE000000000069
+:0899100001471BF801939B06BF
+:08991800C0019E1B8CC101A7D8
+:089920009B06014DDB860001EE
+:0899280093DB02C00182DA00AA
+:08993000C201A7C30201204B94
+:08993800100B300B01208B1114
+:08994000086F41000830280106
+:08994800204B180B300B01202D
+:089950008B19086F410008307B
+:089958001601200B0C0B300B73
+:0899600001204B0E086F4100CD
+:08996800083004016F01000149
+:0899700086DB02C001A7DA0644
+:0899780001869B06C0018E1B55
+:089980008CC101471B0801F234
+:0899880001471BF801939B0647
+:08999000C0019E1B8CC101A760
+:089998009B06014DDB86000176
+:0899A00093DB02C00182DA0032
+:0899A800C201A7C30201200B5C
+:0899B0000C0B300B01204B0EE3
+:0899B800086F410008300401B2
+:0899C0006F01000186DB02C00B
+:0899C80001A7DA0601869B06E7
+:0899D000C0018E1B8CC1014790
+:0899D8001B0801F201471BF816
+:0899E00001939B06C0019E1BD0
+:0899E8008CC101A79B06014D93
+:0899F000DB86000193DB02C0DD
+:0899F8000182DA00C201A7C3DD
+:089A00000201204B180B300B92
+:089A080001208B1E086F4100D4
+:089A100008301601204B100B79
+:089A1800300B01208B16086FD2
+:089A20004100083004016F0150
+:089A2800000186DB02C001A76A
+:089A3000DA0601869B06C00165
+:089A38008E1B8CC101471B08C5
+:089A400001F201471BF801933C
+:089A48009B06C0019E1B8CC1AE
+:089A500001A79B06014DDB8616
+:089A5800000193DB02C0018252
+:089A6000DA00C201A7C30201F4
+:089A6800200B0C0B300B012058
+:089A70004B0E086F41000830A5
+:089A78002801204B180B300BF4
+:089A800001208B1E086F41005C
+:089A880008301601204B100B01
+:089A9000300B01208B16086F5A
+:089A98004100083004016F01D8
+:089AA000000186DB02C001A7F2
+:089AA800DA0601869B06C001ED
+:089AB0008E1B8CC101471B084D
+:089AB80001F201471BF80193C4
+:089AC0009B06C0019E1B8CC136
+:089AC80001A79B06014DDB869E
+:089AD000000193DB02C00182DA
+:089AD800DA00C201A7C302017C
+:089AE000200B08026F41000297
+:089AE800303001204B02026F37
+:089AF000410002302501208B2A
+:089AF80002026F410002301A66
+:089B000001204B03026F41003C
+:089B080002300F01200B0302E3
+:089B10006F4100023004016FF7
+:089B180001000186DB02C0011F
+:089B2000A7DA0601869B06C0CE
+:089B2800018E1B8CC101471BDB
+:089B30000801F201471BF801D6
+:089B3800939B06C0019E1B8CEB
+:089B4000C101A79B06014DDBEA
+:089B480086000193DB02C0015D
+:089B500082DA00C201A7C30282
+:089B580001204B100B300D0140
+:089B6000208B16084CCB00021B
+:089B680008A7C30201A74B008E
+:089B70000186DB02C001A7DA47
+:089B78000601869B06C0018E68
+:089B80001B8CC101471B080109
+:089B8800F201471BF801939B59
+:089B900006C0019E1B8CC101FF
+:089B9800A79B06014DDB8600CE
+:089BA0000193DB02C00182DA2F
+:089BA80000C201A7C302012065
+:089BB0004B180B300D01204B96
+:089BB80018084CCB00FE08A7C1
+:089BC000C30201A74B0001865E
+:089BC800DB02C001A7DA06016F
+:089BD000869B06C0018E1B8C70
+:089BD800C101471B0801F20165
+:089BE000471BF801939B06C02E
+:089BE800019E1B8CC101A79B2B
+:089BF00006014DDB8600019324
+:089BF800DB02C00182DA00C2A9
+:089C000001A7C30201274B106C
+:089C0800736F4400726F040049
+:089C100001278B16736F45005C
+:089C1800726F05000150443198
+:089C200000010703736F43000C
+:089C2800726F030001A7430065
+:089C30000186DB02C001A7DA86
+:089C38000601869B06C0018EA7
+:089C40001B8CC101471B080148
+:089C4800F201471BF801939B98
+:089C500006C0019E1B8CC1013E
+:089C5800A79B06014DDB86000D
+:089C60000193DB02C00182DA6E
+:089C680000C201A7C30201279D
+:089C70004B18736F4400726F82
+:089C7800040001278B1E736F2D
+:089C80004500726F0500015060
+:089C8800443100010703736F72
+:089C90004300726F030001A7FD
+:089C980043000186DB02C0015C
+:089CA000A7DA0601869B06C04D
+:089CA800018E1B8CC101471B5A
+:089CB0000801F201471BF80155
+:089CB800939B06C0019E1B8C6A
+:089CC000C101A79B060182DA35
+:089CC80000C2012083170230E5
+:089CD000A10120830E02309A6D
+:089CD8000120C30B02309301CF
+:089CE00020830B02308C0120EF
+:089CE800430B0230850120034B
+:089CF0000B02307E0120C30AC3
+:089CF8000230770120830A020B
+:089D000030700120431702300E
+:089D080069012003170230621B
+:089D10000120C31602305B01C3
+:089D180020C30F0230540120AA
+:089D2000830F02304D012043C6
+:089D28000F0230460120030F79
+:089D300002303F0120C30E02C6
+:089D380030380120430A02301B
+:089D4000310120030A02302A60
+:089D48000120C30902302301D0
+:089D500020830902301C0120F0
+:089D580043090230150120C38C
+:089D60000802300E0120830807
+:089D680002300701204308034B
+:089D70003007016F41000130D2
+:089D780007016F01000130003A
+:089D800001A7DA0601869B062B
+:089D8800C0018E1B8CC10147D4
+:089D90001B0801F201471BF85A
+:089D980001939B06C0019E1B14
+:089DA0008CC1019E9B86C001ED
+:089DA8009E5B04C1509EFCFF0C
+:089DB00000019D9A9A01A79B96
+:089DB80006014DDB860001935A
+:089DC000DB02C00182DA00C2DF
+:089DC80001A7C302014DDB8677
+:089DD000000193DB00C0014714
+:089DD8001BFE0193DB02C00138
+:089DE000A201B39CFC01471B2A
+:089DE800020186DB00C0014707
+:089DF0001B0201A70101014D56
+:089DF800DB86000193DB00C0D3
+:089E0000014DDB860001931BFC
+:089E080001C001471BFE01939C
+:089E1000DB02C001A201429A2D
+:089E1800FC01471B0201861B3F
+:089E200001C001471B0201868D
+:089E2800DB00C001471B020131
+:089E3000A74101015044310477
+:089E3800010703736F43007280
+:089E40006F030001A7430001BC
+:089E480086DB02C001A7DA0667
+:089E500001869B06C0018E9BF8
+:089E580086C0018E5B04C1010C
+:089E60008E1B8CC101471B0899
+:089E680001F2018E5A84C001D1
+:089E70009E5A04C1013FD0011C
+:089E7800471BF801939B06C093
+:089E8000019E1B8CC1019E9B99
+:089E880086C0019E5B04C1507D
+:089E90009FFCFF00019D1AC7B1
+:089E980001A79B06014DDB86CA
+:089EA000000193DB02C0018206
+:089EA800DA00C201A7C30201A8
+:089EB0004DDB86000193DB008D
+:089EB800C001471BFE0193DB12
+:089EC00002C001A201949DFC07
+:089EC80001471B020186DB00CB
+:089ED000C001471B0201A701BC
+:089ED8000101270B08736F451F
+:089EE00000726F0500015044FF
+:089EE8003104010703736F430D
+:089EF00000726F030001A7439B
+:089EF800000186DB02C001A796
+:089F0000DA0601869B06C00190
+:089F08008E9B86C0018E5B04F4
+:089F1000C1018E1B8CC1014749
+:089F18001B0801F2018E5A84BE
+:089F2000C0019E5A04C1013F7B
+:089F2800D001471BF801939BD7
+:089F300006C0019E1B8CC1015B
+:089F3800A79B060182DA00C2BA
+:089F40000120C30102302301DE
+:089F480020030202301C01207D
+:089F50008302023015012043D9
+:089F58000302300E0120030397
+:089F6000023007012043020357
+:089F68003007016F41000130D8
+:089F700007016F010001300040
+:089F780001A7DA0601869B0631
+:089F8000C0018E1B8CC10147DA
+:089F88001B0801F200000000BB
+:089F900001471BF801939B0639
+:089F9800C0019E1B8CC101A752
+:089FA0009B0601865A80C201F4
+:089FA800869A00C20186DA006E
+:089FB000C301000302301E0191
+:089FB8004DC3100001A9C30C08
+:089FC000018001012001900263
+:089FC80001200147410001479F
+:089FD000420001A4EB01865AD6
+:089FD80000C201A7DA060186B0
+:089FE0009B06C0018E1B8CC121
+:089FE80001471B0801F20147CB
+:089FF0001BF801939B06C00160
+:089FF8009E1B8CC101A79B0612
+:08A0000001865A80C201869A14
+:08A0080000C20186DA00C30169
+:08A0100084010120019202010C
+:08A0180020014701010147028C
+:08A0200001014DC31000010015
+:08A0280003053FE301865A0025
+:08A03000C201A7DA0601869BBC
+:08A0380006C0018E1B8CC10162
+:08A04000471B0801F201471B58
+:08A04800F801939B06C0019E84
+:08A050001B8CC101A79B060156
+:08A05800865A80C201869A00BD
+:08A06000C20186DA00C301868B
+:08A06800010120019302012017
+:08A07000014701020147020251
+:08A07800014DC31000010003BB
+:08A08000053FE301865A00C20E
+:08A0880001A7DA0601869B0620
+:08A09000C0018E1B8CC10147C9
+:08A098001B0801F201471BF84F
+:08A0A00001939B06C0019E1B09
+:08A0A8008CC101A79B06018693
+:08A0B0005A00C201869A80C229
+:08A0B8000186DA00C30190816A
+:08A0C000002001474100014DA1
+:08A0C800C31000010003053F75
+:08A0D000EC01865A00C201A751
+:08A0D800DA0601869B06C001B7
+:08A0E0008E1B8CC101471B0817
+:08A0E80001F201471BF801938E
+:08A0F0009B06C0019E1B8CC100
+:08A0F80001A79B0601865A0036
+:08A10000C201869A80C20186AB
+:08A10800DA00C301928100207E
+:08A1100001470101014DC310DC
+:08A1180000010003053FEC010A
+:08A12000865A00C201A7DA060D
+:08A1280001869B06C0018E1B9D
+:08A130008CC101471B0801F27C
+:08A1380001471BF801939B068F
+:08A14000C0019E1B8CC101A7A8
+:08A148009B0601865A00C201CA
+:08A15000869A80C20186DA0044
+:08A15800C301938100200147BF
+:08A160000102014DC3100001D2
+:08A168000003053FEC01865ADB
+:08A1700000C201A7DA06018616
+:08A178009B06C0018E1B8CC187
+:08A1800001471B0801F2014731
+:08A188001BF801939B06C001C6
+:08A190009E1B8CC101A79B0678
+:08A1980001471BFE014DDB062F
+:08A1A000010193DB02C00193F1
+:08A1A8001B83C00186DA00C32D
+:08A1B00001A703030186DA0296
+:08A1B800C201200C000430215B
+:08A1C0000180CB002001801A90
+:08A1C80081C20111030112A77D
+:08A1D0004B0012301001474B57
+:08A1D80000014D0C1300013FD2
+:08A1E000D8016F010001861B8C
+:08A1E80083C00186DB02C00107
+:08A1F000A7DA0601869B06C0F8
+:08A1F800018E1B8CC101471B05
+:08A200000801F201471BF801FF
+:08A20800939B06C0019E1B8C14
+:08A21000C101A79B0601471BD9
+:08A21800FE014DDB060101937C
+:08A22000DB02C001931B83C0A7
+:08A228000186DA00C201A70360
+:08A230000301200C00026F0184
+:08A238000002301F016F0B0052
+:08A2400001584B304001B2CC83
+:08A24800302001000302300781
+:08A2500001474B00013FE90149
+:08A25800A74B0001861B83C027
+:08A260000186DB02C001A7DA50
+:08A268000601869B06C0018E71
+:08A270001B8CC101471B080112
+:08A27800F201471BF801939B62
+:08A2800006C0019E1B8CC10108
+:08A28800A79B0601471BFE0124
+:08A290004DDB86010193DB02A6
+:08A29800C001931B83C0019378
+:08A2A0005B03C10186DA00C274
+:08A2A80001A703030186DA801F
+:08A2B000C201A74303016F0B7B
+:08A2B8000001584B304001B2D7
+:08A2C000CD3020010003023043
+:08A2C8001B01584B3040015806
+:08A2D0004B404001B20D51208A
+:08A2D80001C1CC502001474BED
+:08A2E00000013FD501584B308D
+:08A2E80040016F040001A7040E
+:08A2F000D101C1CC402001A7FF
+:08A2F8004C0001865B03C1016B
+:08A30000861B83C00186DB020D
+:08A30800C001A7DA0601869BE3
+:08A3100006C0018E1B8CC10187
+:08A31800471B0801F201471B7D
+:08A32000F801939B06C0019EA9
+:08A328001B8CC101A79B06017B
+:08A33000471BFE014DDB060294
+:08A338000193DB02C001931B3D
+:08A3400083C001935B03C1011E
+:08A34800939B83C10186DA003A
+:08A35000C201A703030186DA34
+:08A3580080C201A74303018646
+:08A36000DA00C301A783030129
+:08A368006F0B0001108B0306CE
+:08A37000302C01584B30400174
+:08A37800584B404001B20D51A9
+:08A380002001C1CC502001585E
+:08A388004B304001B2CD302042
+:08A39000012103001230070156
+:08A39800474B00013FCD01100D
+:08A3A0008B0306301901584B34
+:08A3A8003040016F040001A721
+:08A3B00004D101C1CC402001E1
+:08A3B800474B00013FE001A743
+:08A3C0004C0001869B83C101E2
+:08A3C800865B03C101861B83C3
+:08A3D000C00186DB02C001A7F9
+:08A3D800DA0601869B06C001B4
+:08A3E0008E1B8CC101471B0814
+:08A3E80001F201471BF801938B
+:08A3F0009B06C0019E1B8CC1FD
+:08A3F80001A79B0601471BFCB5
+:08A40000014DDB86010193DB35
+:08A4080002C001931B83C00197
+:08A41000935B03C10186DA0031
+:08A41800C301A743030186DA2A
+:08A4200002C201861A83C20189
+:08A42800100B03026F0100029A
+:08A43000306001200D00043032
+:08A43800550182CB00200182D6
+:08A440000C01200111030112BF
+:08A4480030240182CB00200149
+:08A45000820C0120011303013D
+:08A458003B6FC3FF3B3008011C
+:08A460006F440001A7C40001D4
+:08A46800A7430001302401822A
+:08A47000CB00200122030022B1
+:08A478006F01002230140147BE
+:08A480008B0001478C00014D27
+:08A488004D1300013FA4016F18
+:08A49000010001865B03C1011C
+:08A49800861B83C00186DB0274
+:08A4A000C001A7DA0601869B4A
+:08A4A80006C0018E1B8CC101EE
+:08A4B000471B0801F201471BE4
+:08A4B800F801939B06C0019E10
+:08A4C0001B8CC101A79B0601E2
+:08A4C800471BFE014DDB0601FC
+:08A4D0000193DB02C001931BA4
+:08A4D80083C00186DA00C30114
+:08A4E000A703030186DA02C2A2
+:08A4E80001200C0004302101E9
+:08A4F00082CB002001821A81D9
+:08A4F800C20111030112A74B80
+:08A500000012301001478B002E
+:08A50800014D0C1300013FD8C6
+:08A51000016F010001861B83AD
+:08A51800C00186DB02C001A7AF
+:08A52000DA0601869B06C0016A
+:08A528008E1B8CC101471B08CA
+:08A5300001F200000000000030
+:08A5380000000000000000001B
+:08A540000201F200000000001E
+:08A5480000000000000000000B
+:08A5500001471BF801939B0673
+:08A55800C0019E1B8CC101A78C
+:08A560009B0601865A00C201AE
+:08A56800869A80C20190810077
+:08A570000001A7DA0601869B39
+:08A5780006C0018E1B8CC1011D
+:08A58000471B0801F200000076
+:08A588000000000000000000CB
+:08A5900001471BF801939B0633
+:08A59800C0019E1B8CC101A74C
+:08A5A0009B0601865A00C2016E
+:08A5A800869A80C20191810036
+:08A5B0000001A7DA0601869BF9
+:08A5B80006C0018E1B8CC101DD
+:08A5C000471B0801F200000036
+:08A5C80000000000000000008B
+:08A5D00001471BF801939B06F3
+:08A5D800C0019E1B8CC101A70C
+:08A5E0009B0601865A00C2012E
+:08A5E800869A80C201928100F5
+:08A5F0000001A7DA0601869BB9
+:08A5F80006C0018E1B8CC1019D
+:08A60000471B0801F2000000F5
+:08A6080000000000000000004A
+:08A6100001471BF801939B06B2
+:08A61800C0019E1B8CC101A7CB
+:08A620009B0601865A00C201ED
+:08A62800869A80C201938100B3
+:08A630000001A7DA0601869B78
+:08A6380006C0018E1B8CC1015C
+:08A64000471B0801F2016F0144
+:08A64800084000C000018480FD
+:08A65000802C01538200C001BF
+:08A6580050422004200A019D7C
+:08A66000F38A4000C0000184F0
+:08A6680040002D01988100A8BB
+:08A6700001F2200A019DF38AAA
+:08A6780040FCC700016F02085D
+:08A68000300001016F0100012F
+:08A68800988100A801F20147CE
+:08A690001BFE019E5B04C001EA
+:08A69800A7400001A78000406B
+:08A6A00000C0000183C0802D01
+:08A6A8004000C00001830061C5
+:08A6B0002D016F450001A1F12D
+:08A6B8006A05014C44F0FF01AA
+:08A6C000A1F11000018E5B0402
+:08A6C800C001471B0201F24032
+:08A6D00000C000018380802D11
+:08A6D80001408110180140014E
+:08A6E00030244000C000018499
+:08A6E80040802C0154410002E6
+:08A6F0004000C00001840001DC
+:08A6F8002D01C2C4102001472E
+:08A7000003010147C2FF010043
+:08A7080002033FED01F20147DD
+:08A710001BFC01935B800001BA
+:08A71800939B00004000C0000B
+:08A72000018480C02C016F01CF
+:08A728001001924200A2016F32
+:08A73000C10701924240A201A1
+:08A73800869B000001865B8096
+:08A740000001471B0401A78082
+:08A748000101F201471BFC01B5
+:08A75000935B800001939B0064
+:08A75800004000C000018480F4
+:08A76000C02C016F01080192F9
+:08A768004200A201A74000011C
+:08A77000924240A201869B0009
+:08A778000001865B800001472F
+:08A780001B0401A7800101F296
+:08A788004000C000018480C004
+:08A790002C01AD4200A04000C5
+:08A79800C000019140802D0179
+:08A7A000AD4240A04000C000E2
+:08A7A800019140602D01F24017
+:08A7B00000C000019100002C23
+:08A7B8004000C00001910020E7
+:08A7C0002C01471BF801935B1B
+:08A7C80000C101939B80C00158
+:08A7D00093DB00C0019E5B89D0
+:08A7D800C15000D0FF00019DFB
+:08A7E0002500016F4101300664
+:08A7E8000C01914000A04000AB
+:08A7F000C000018280202C4012
+:08A7F80000C0000182C0802DA9
+:08A800000140C210184000C025
+:08A8080000018280002C0140D8
+:08A810008110104000C000019E
+:08A818009140402C4000C000FB
+:08A820000184C0C02C01924329
+:08A82800C0A2018E5B89C10191
+:08A8300086DB00C001869B805D
+:08A83800C001865B00C101476D
+:08A840001B0801F2D8A8D8A8FA
+:08A84800DEA80DA9D8A8D8A8CC
+:08A850001FACD8A8D8A8D8A8B5
+:08A8580034A9D8A8D8A8D8A89B
+:08A86000EFACD8A8D8A8D8A8D5
+:08A86800D8A8D8A8F3A923AB7E
+:08A87000D8A84AAA72AA9AAA0C
+:08A87800C2AAD8A8D8A8D8A8EC
+:08A88000D8A8D8A882A9C8A934
+:08A8880045A625A90EA74BA768
+:08A8900001581FB34140DFE154
+:08A898000001471BFE019E5B5D
+:08A8A00004C0019E5B89C05059
+:08A8A80000D0FF00019D250016
+:08A8B0000120460906301A5090
+:08A8B800A8FCFF00018D4644DD
+:08A8C000E4018E5B04C0018E6F
+:08A8C8005B89C001471B04017C
+:08A8D000F3016F4200013FE9B2
+:08A8D800016FC20001F201470B
+:08A8E0001BFE019E5B04C04059
+:08A8E80000C000019140202C8A
+:08A8F0004000C000019180004E
+:08A8F8002C01A1F1C8FE01A72B
+:08A900008001018E5B04C0011F
+:08A90800471B0201F24000C0F0
+:08A9100000018340202C4000EF
+:08A91800C000018380002C0146
+:08A92000A7800101F24000C014
+:08A9280000019240802C01A700
+:08A93000800101F201471BFE4A
+:08A93800019E5B04C001000256
+:08A9400002303001471BFC014D
+:08A948009E5B0400019EDB8C04
+:08A95000000147C2FF01A9C28A
+:08A958000C0147420001A1F1CE
+:08A96000920301A4F8018EDB53
+:08A968008C00018E5B0400016C
+:08A97000471B04018E5B04C0CB
+:08A9780001471B0201A7800149
+:08A9800001F201A741C0012012
+:08A98800010804544100100411
+:08A9900030250120C116023040
+:08A99800240120411702301DCB
+:08A9A0000154410010014601C1
+:08A9A800000202300A01460121
+:08A9B0000004035341F01901FA
+:08A9B800A7800101F2015341E7
+:08A9C000F0FB01A7800101F288
+:08A9C80001A741C00120C106F6
+:08A9D0000230150120410702CD
+:08A9D800300E0120C106044706
+:08A9E000011801A7800101F23A
+:08A9E800015441000401A780A5
+:08A9F0000101F201471BF8010F
+:08A9F8009E5B04C0019EDB8C94
+:08AA0000C001939B00C1019EFF
+:08AA08001B80C1200F019DF32A
+:08AA1000FF01A7810001814252
+:08AA1800000001000102300CF6
+:08AA200001A1F1CF0201474240
+:08AA28000001A4E9018E5B04AA
+:08AA3000C0018EDB8CC0018621
+:08AA38009B00C1018E1B80C1CF
+:08AA400001471B0801A780017A
+:08AA480001F201471BFE019E13
+:08AA50005B04C001580118501D
+:08AA580001A1F11A00015801EF
+:08AA6000185001A1F1100001E2
+:08AA68008E5B04C001471B02D4
+:08AA700001F201471BFE019EEB
+:08AA78005B04C00158011454F5
+:08AA800001A1F11A00015801C7
+:08AA8800145001A1F1100001BE
+:08AA90008E5B04C001471B02AC
+:08AA980001F201471BFE019EC3
+:08AAA0005B04C00158011254CF
+:08AAA80001A1F11A000158019F
+:08AAB000125001A1F110000198
+:08AAB8008E5B04C001471B0284
+:08AAC00001F201471BFE019E9B
+:08AAC8005B04C00158011154A8
+:08AAD00001A1F11A0001580177
+:08AAD800115001A1F110000171
+:08AAE0008E5B04C001471B025C
+:08AAE80001F201471BFC019E75
+:08AAF0005B04C001935B80C010
+:08AAF800015341F0000120812F
+:08AB0000020647C101015441A6
+:08AB0800000301A1F1E50101C8
+:08AB10008E5B04C001865B802E
+:08AB1800C001471B0401A780E6
+:08AB20000101F201471BF401E1
+:08AB28009E5B04000193DB8039
+:08AB30000001935B0101019398
+:08AB38009B81010193DB010286
+:08AB400001861B81024005C0E3
+:08AB480000016F477E01A781A7
+:08AB50000101A742010100010F
+:08AB580007404010140747C537
+:08AB6000FF016F8302014FC1E8
+:08AB6800A000014E03A1000151
+:08AB70004001211401A743007C
+:08AB78000147020C0190870067
+:08AB800020014747000147C511
+:08AB8800FF010001033FD601AB
+:08AB9000000504300D016F0106
+:08AB98000801A7850001A1F1ED
+:08ABA00097FD010006063009D3
+:08ABA800016F410B01A1F14313
+:08ABB00001014DC711000180F5
+:08ABB80047002001A1F1340166
+:08ABC0004005C0000120477EA2
+:08ABC800053FE6018E5B04006D
+:08ABD0000186DB800001865BB9
+:08ABD800010101869B810101CE
+:08ABE00086DB010201861B81E6
+:08ABE8000201471B0C01A780CC
+:08ABF0000101F24000C0000168
+:08ABF80083C0802D0140C11053
+:08AC00001801588110400140C9
+:08AC08004210244000C00001CD
+:08AC100085C0002D01B54310C1
+:08AC18002001A7800101F201F7
+:08AC2000471BE801935B00C033
+:08AC280001939B80C00193DB46
+:08AC300000C101931B81C10169
+:08AC3800935B01C20193DB01F3
+:08AC4000C301935B82C3019381
+:08AC48009B02C40193DB82C4EE
+:08AC500001931B03C501935B96
+:08AC580083C501A7C10101A79A
+:08AC600082014000C0000185E3
+:08AC6800C0022D4000C00001F4
+:08AC70008340832D0140429353
+:08AC780018014009902401407D
+:08AC800041922401404DA1188E
+:08AC880001404AA22401B58B32
+:08AC9000C22001C24BC22001E9
+:08AC98004741000110C1000258
+:08ACA000A74700024742000132
+:08ACA800100201033FC6018602
+:08ACB0005B00C001869B80C01F
+:08ACB8000186DB00C101861BCF
+:08ACC00081C101865B01C201A4
+:08ACC80086DB01C301865B82FB
+:08ACD000C301869B02C401864A
+:08ACD800DB82C401861B03C5E9
+:08ACE00001865B83C501471BDF
+:08ACE8001801A7800101F2012F
+:08ACF000471BF2019E5B04C04A
+:08ACF800019E1B8CC001935B5F
+:08AD000000C101939B80C10119
+:08AD080093DB00C201931B81E3
+:08AD1000C2019E5B09C3500063
+:08AD1800D0FF00019D250001A0
+:08AD2000A741C04000C0000182
+:08AD28008080402D01000207AC
+:08AD300031670120C10102336B
+:08AD3800070120412402341838
+:08AD40000120C12402343F018F
+:08AD480020012402344E012019
+:08AD5000812402345D01204161
+:08AD58002602336901204103CA
+:08AD60000230F2012081020221
+:08AD680030FC0120012502333B
+:08AD7000C70120C10603303ABF
+:08AD7800016F41004000C00022
+:08AD8000019040402D018E5BA3
+:08AD880004C0018E1B8CC00108
+:08AD9000865B00C101869B8077
+:08AD9800C10186DB00C2018647
+:08ADA0001B81C2018E5B09C397
+:08ADA80001471B0E01A7800109
+:08ADB00001F2015341F007011B
+:08ADB800A1F1CBFB4000C0003B
+:08ADC000018580802C01538203
+:08ADC80000C00150811004409D
+:08ADD00000C0000183C0402C0B
+:08ADD8004000C000018580006D
+:08ADE0002D01C2C210A84000C1
+:08ADE800C000018340002C01B2
+:08ADF0004741004000C00001D2
+:08ADF8008380802D0110810011
+:08AE00000B30414000C00001CD
+:08AE08009100002C4000C00085
+:08AE1000018340202C014741A1
+:08AE1800004000C0000183802E
+:08AE2000602D011081004000CB
+:08AE2800C0000B9140202C0B2F
+:08AE3000A1F192F90B3F4E0164
+:08AE3800A1F18AF901A1F15218
+:08AE4000F8013F414000C00091
+:08AE4800019140002C01A1F171
+:08AE500074F9013F304000C01D
+:08AE580000019100002C01A192
+:08AE6000F163F9013F1F4000FE
+:08AE6800C000018340202C0111
+:08AE70004741004000C0000151
+:08AE78008380602D01118100AF
+:08AE800016A1F10EF8163EFDCB
+:08AE88004000C00001914020D0
+:08AE90002C01A1F130F9013E93
+:08AE9800EC016F840530060C8B
+:08AEA00001910001A04000C077
+:08AEA80000018080402D012013
+:08AEB000C2FF0330A8012001DC
+:08AEB8001503305D4000C000ED
+:08AEC0000183C0402C4000C0DA
+:08AEC80000018380002C01470A
+:08AED00042004000C0000183B4
+:08AED80040802D01104200062C
+:08AEE000302B016F0108400056
+:08AEE800C000018500812C016E
+:08AEF000500111044000C000F4
+:08AEF800018500012D01C2C417
+:08AF000010A8014742000147BF
+:08AF08004300013FC54000C0F9
+:08AF100000019000402D013EFC
+:08AF18006C0120C1154000C0CE
+:08AF200000029000402D0231F7
+:08AF28009C01200118026F8159
+:08AF3000FF4000C00002904048
+:08AF3800402D023E48012001FA
+:08AF40000A026F41FF4000C04E
+:08AF480000029040402D023E82
+:08AF5000344000C00001900034
+:08AF5800402D013E280120827A
+:08AF6000FF0330214000C00096
+:08AF6800019000402D01204181
+:08AF70000C02A1F19DF7023E65
+:08AF78000C0120010C02A1F103
+:08AF8000CEF7013E0001204262
+:08AF8800FF0330170120C10690
+:08AF9000033FBE016F01FF4009
+:08AF980000C000019040402DB3
+:08AFA000013DE2012002FF0364
+:08AFA80030170120C111033F25
+:08AFB000A0016FC1FE4000C0CA
+:08AFB80000019040402D013D15
+:08AFC000C40120C2FE033F8919
+:08AFC8004000C00001900040B0
+:08AFD0002D0120010D033039B1
+:08AFD8004000C000018540802B
+:08AFE0002C01A781000158417A
+:08AFE80012404000F80F015374
+:08AFF000410000015842224C0F
+:08AFF80030FC0701538200C088
+:08B0000001508110044000C062
+:08B0080000019240802C013D83
+:08B01000740120010C0330144F
+:08B01800406C4B02016F0100C6
+:08B020004000C00001924080D5
+:08B028002C013D59406C4B0264
+:08B03000016F01004000C000A7
+:08B03800019240802C013D450E
+:08B04000016FC40530060C018C
+:08B04800910001A04000C000CE
+:08B05000018280002C010002C6
+:08B05800023D2A4000C0000186
+:08B0600083C0402C4000C00039
+:08B06800018400012D01B4C4B4
+:08B0700010A80147C3FF01C253
+:08B07800C410A8014783004049
+:08B0800000C000018200812DD7
+:08B08800014742000110020122
+:08B09000033FD1016F010840EC
+:08B0980000C000018400812CBE
+:08B0A00001500111044000C041
+:08B0A80000018400012D01C22A
+:08B0B000C410A84000C000011B
+:08B0B800C7C0002CFF01A1F14B
+:08B0C00004F7013CC04000C090
+:08B0C80000018280002C400011
+:08B0D000C0000184C0402C0106
+:08B0D8004742004000C00001E6
+:08B0E0008200812D0110020124
+:08B0E80006302A0147C2FF01F6
+:08B0F0004743004000C00001CD
+:08B0F8008400012D01B4C41015
+:08B10000A80147C3FF01C2C40E
+:08B1080010A8014743000147B4
+:08B110004200013FC2016F0182
+:08B11800084000C00001858021
+:08B12000802C01508110044055
+:08B1280000C000018500012DAB
+:08B1300001C2C410A8013C4D4E
+:08B138004000C000018340004B
+:08B140002C01000102308840DF
+:08B1480000C000019100002C81
+:08B1500001A1F171F6013C2D93
+:08B158004000C000018340002B
+:08B160002C014741004000C032
+:08B1680000018380802D01101D
+:08B170008100063C104000C004
+:08B1780000019140002C01A12F
+:08B18000F143F6013BFF400022
+:08B18800C000018340002C010E
+:08B190000001023BF00147C180
+:08B19800FF013FD94000C00097
+:08B1A000018340202C01000195
+:08B1A800023BDA0147C1FF017F
+:08B1B000301D4000C0000183C6
+:08B1B80040202C01474100403A
+:08B1C00000C000018380602D36
+:08B1C80001108100063BB640B6
+:08B1D00000C000019140202C99
+:08B1D80001A1F1E9F5013BA51D
+:08B1E000016F01154000C000E1
+:08B1E800019140802D016FC1AF
+:08B1F000074000C0000191407E
+:08B1F800602D40FC0706016F09
+:08B2000001004000C0000192B2
+:08B2080040802C30000A016FA8
+:08B2100001004000C0000192A2
+:08B2180040C02C016F01004051
+:08B2200000C000019240002D66
+:08B2280050B2FCFF00016F02AF
+:08B23000B5019DF3024000C0CE
+:08B23800000185C0C02C01AE2D
+:08B240004200E001924300A06E
+:08B24800014702010147030167
+:08B2500001A4EB01A78001013C
+:08B25800F2016F01154000C076
+:08B2600000019140802D016FF7
+:08B26800C1074000C000019184
+:08B2700040602D40FCC7000105
+:08B278006F01004000C000015D
+:08B280009240802C30000A010D
+:08B288006F01104000C000013D
+:08B290009240C02C30000101C6
+:08B298006F01004000C000013D
+:08B2A0009240002D50B3FCFFA9
+:08B2A80000016F02C1019DF3DA
+:08B2B0000230000A016F0310D7
+:08B2B80001AE4200E0019243E7
+:08B2C00000A001470201014753
+:08B2C800030101A4EB01A780C2
+:08B2D0000101F200540003002B
+:08B2D8001F00000054000000FB
+:08B2E00011000000070000004E
+:08B2E80021000000000000003D
+:08B2F000FF0100004000000016
+:08B2F8001F000000000000002F
+:08B300000000000054000300EE
+:08B308001F000000A402000078
+:08B310004000000007000000EE
+:08B3180010000000000000001D
+:08B32000FF01000040000000E5
+:08B328001F00000000000000FE
+:08B33000000000000000000015
+:08B3380001A200F8B6FC014778
+:08B340001BFE019E5B04C050DE
+:08B3480000D0FF00019D25006B
+:08B35000300010019D2D0040AA
+:08B3580053C900016FC1E601B9
+:08B360005801124C300A0C01E7
+:08B36800904090A00158011271
+:08B370004C300A0C019040A0D2
+:08B37800A0015801124C300A3B
+:08B380000C019040B0A0300A5E
+:08B388000C01900070A04003CD
+:08B39000C000019100A03E4045
+:08B3980003C000019100C03E5A
+:08B3A000016F017C4003C000B5
+:08B3A800019140203F016F01FB
+:08B3B000044003C000019140BC
+:08B3B800403F016F4100300A23
+:08B3C0000C01904040A0400385
+:08B3C800C000019000F03E40BE
+:08B3D00003C000019000603F82
+:08B3D8004003C0000190007069
+:08B3E0003F4003C00001900092
+:08B3E800003F016F410040032A
+:08B3F000C000019040803F0104
+:08B3F8006F410050B3FCFF009F
+:08B40000016A4080F3016FC2F4
+:08B408003101A2F17952FF01AC
+:08B410008E5B04C001471B0222
+:08B4180001F2300A0C01AC4006
+:08B4200010A00146011000021A
+:08B428003FF0300A0C01AC40BA
+:08B4300000A001F2300A0C013A
+:08B43800AC4010A001534110CB
+:08B440000001F201471BF401B9
+:08B44800939B00C00193DB801F
+:08B45000C001931B01C101932F
+:08B458005B81C1019E1B00C2D3
+:08B46000019EDB8CC2300A0CD6
+:08B4680001AC8060A0015482D8
+:08B470003000300A0C0190804D
+:08B4780060A04003C000018048
+:08B4800080603F010002023070
+:08B48800394000C000018600FC
+:08B4900081202003019DF3F966
+:08B49800300A0C01AC8020A079
+:08B4A000014602000103301A0D
+:08B4A8004000C0000186408154
+:08B4B0002001104401023FE0FD
+:08B4B80001A7050101A4D9015F
+:08B4C00030B74003C000018019
+:08B4C80080703F010002023018
+:08B4D000394000C000018600B4
+:08B4D80081202003019DF3F91E
+:08B4E000300A0C01AC8020A031
+:08B4E800014602000203301AC4
+:08B4F0004000C000018640810C
+:08B4F8002001104401023FE0B5
+:08B5000001A7050101A4D90116
+:08B50800306F4003C000018018
+:08B5100080803F0100020230BF
+:08B518001F4003C00001808008
+:08B52000903E01000202301010
+:08B52800300A0C01AC0021A067
+:08B530000146040008033FE19D
+:08B538004000C0000186008103
+:08B54000202003019DF3F93006
+:08B548000A0C01AC8010A00107
+:08B550004602000203301A401C
+:08B5580000C0000186408120C3
+:08B5600001104401023FE0016B
+:08B56800A7050101A4D901307F
+:08B5700008300A0C01904000B4
+:08B57800A001869B00C00186C2
+:08B58000DB80C001861B01C144
+:08B5880001865B81C1018E1BED
+:08B5900000C2018EDB8CC20138
+:08B59800471B0A01F24003C049
+:08B5A00000018300A13E4003FD
+:08B5A800C0000183C0C03E0198
+:08B5B00040C440140100040531
+:08B5B80030192002016F04802C
+:08B5C0000140C440104003C02B
+:08B5C800000183C0A03E014018
+:08B5D000C4401401F201471B05
+:08B5D800F601939B00C00193F2
+:08B5E000DB80C001931B01C1D7
+:08B5E80001935B81C1019E5B30
+:08B5F00004C24003C000018306
+:08B5F800C0A03E4003C00001A9
+:08B600008380C03E0110C2006E
+:08B608000230CA4003C000013A
+:08B610008142903F0147420016
+:08B61800015382F01F4003C042
+:08B6200000019180C03E4003CF
+:08B62800C000018080E03E013A
+:08B6300000020230814003C05A
+:08B63800000183C0403F01A1A5
+:08B64000F15FFF0110C40005D9
+:08B64800306C4003C0000190CA
+:08B6500000E03E4003C00001D0
+:08B658008000F13E0100040234
+:08B660003015300A0C018000D6
+:08B6680061A00154042100302F
+:08B670000A0C01900061A040EA
+:08B6780003C000018000013F46
+:08B68000010004023015300A3C
+:08B688000C01800061A00154D7
+:08B69000041100300A0C0190C6
+:08B698000061A04003C00001A5
+:08B6A0008000113F01000402CB
+:08B6A800300C016F4404300A6C
+:08B6B0000C01900001A00186CD
+:08B6B8009B00C00186DB80C08D
+:08B6C00001861B01C101865B3C
+:08B6C80081C1018E5B04C20187
+:08B6D000471B0A01F2016FC1E2
+:08B6D800FF01869B00C0018602
+:08B6E000DB80C001861B01C1E3
+:08B6E80001865B81C1018E5B4C
+:08B6F00004C201471B0A01F22C
+:08B6F80001F74016C000016FCC
+:08B700001B8E01471BF00193B1
+:08B708005B00C001939B80C0AF
+:08B7100001931B01C1019E1B06
+:08B7180080C10193DB00C201B6
+:08B720009E5B84C2019E5B09DF
+:08B72800C3019E5B8BC35000BE
+:08B73000D0FF00019D2500304F
+:08B738000010019D2D00300AF4
+:08B740000C01804030A0010063
+:08B748000105301D015341F021
+:08B7500007014601400003302F
+:08B7580057014601C000033057
+:08B760004C0146010001033019
+:08B768003001865B00C0018680
+:08B770009B80C001861B01C192
+:08B77800018E1B80C10186DB7C
+:08B7800000C2018E5B84C201CE
+:08B788008E5B09C3018E5B8B8F
+:08B79000C301471B1001F70182
+:08B79800F4300A0C018140208D
+:08B7A000A04003C0000190402D
+:08B7A800803E013FBC013FB9E6
+:08B7B000300A0C01814000A0E9
+:08B7B8004003C0000181C080C4
+:08B7C0003F01000302302A01E1
+:08B7C80020C104033010016FE1
+:08B7D00041004003C00001909C
+:08B7D80040903E0130400120C9
+:08B7E000410403300C4003C0DA
+:08B7E80000019000903E0130C9
+:08B7F0002D4003C00001900090
+:08B7F800903E4003C0000183F4
+:08B8000000A13E4003C000015D
+:08B808009044903F0147440009
+:08B81000015304F11F4003C0C5
+:08B8180000019100A13E300A7D
+:08B820000C01804010A001465C
+:08B82800011000033F82400300
+:08B83000C000018040E03E0170
+:08B83800000103308501A1F1BC
+:08B8400060FD4003C00001801F
+:08B8480040203F0110440007FD
+:08B850003070016F410040035C
+:08B85800C000019040E03E40F9
+:08B8600003C000018040F03E2E
+:08B86800010001023015300A55
+:08B870000C01804060A00153AF
+:08B8780041D00F300A0C0190D1
+:08B880004060A04003C000017C
+:08B888008040003F01000102B5
+:08B890003015300A0C01804064
+:08B8980060A0015341E00F30F4
+:08B8A0000A0C01904060A04079
+:08B8A80003C000018040103FC5
+:08B8B00001000102300C016FE0
+:08B8B800C104300A0C019040AC
+:08B8C00000A0013EA42EA92EF8
+:08B8C800A5A3A1A2AC2EAAA8C1
+:08B8D000A6A409602E2E2E2E05
+:08B8D8002E2E71312E2E2E7A66
+:08B8E000736177322E2E6378AC
+:08B8E800646534332E2E207636
+:08B8F000667472352E2E6E62A3
+:08B8F800686779362E2E2E6DD3
+:08B900006A7537382E2E2C6BFE
+:08B90800696F30392E2E2E2F3D
+:08B910006C3B702D2E2E2E273A
+:08B918002E5B3D2E2EAD2E0D1D
+:08B920005D2E5C2E2E2E2E2E52
+:08B928002E2E2E082E2E952E66
+:08B9300093942E2E2E987F92B5
+:08B938002E91901BAFAB2E977E
+:08B940002E2E96AE2E2E2E2EA7
+:08B94800A72E2E2E2E2E2E2E0E
+:08B950002E2E2E2E2E2E2E2E7F
+:08B958002E2E2E2E2E2E2E2E77
+:08B960002E2E2E2E2E2E2E2E6F
+:08B968002E2E2E2E2E2E2E2E67
+:08B970002E2E2E2E2E2E2E2E5F
+:08B978002E2E2E2E2E2E2E2E57
+:08B980002E2E2E2E2E2E2E2E4F
+:08B988002E2E2E2E2E2E2E2E47
+:08B990002E2E2E2E2E2E2E2E3F
+:08B998002E2E2E2E2E2E2E2E37
+:08B9A0002E2E2E2E2E2E2E2E2F
+:08B9A8002E2E2E2E2E2E2E2E27
+:08B9B0002E2E2E2E2E2E2E2E1F
+:08B9B8002E2E2E2E2E2E2EFA4B
+:08B9C0002E2E2E2E2E2E2E2E0F
+:08B9C8002E2E2E2E2E2E2E2E07
+:08B9D0002E2E097E2E2E2E2ED4
+:08B9D8002E2E51212E2E2E5AB5
+:08B9E000534157402E2E43583D
+:08B9E800444524232E2E2056B5
+:08B9F000465452252E2E4E4252
+:08B9F8004847595E2E2E2E4D2A
+:08BA00004A55262A2E2E3C4B6C
+:08BA0800494F29282E2E3E3F74
+:08BA10004C3A505F2E2E2E224D
+:08BA18002E7B2B2E2E2E2E0D8D
+:08BA20007D2E7C2E2E2E2E2E11
+:08BA28002E2E2E082E2E2E2ECC
+:08BA30002E2E2E2E2E2E7F2E4D
+:08BA38002E2E2E1B2E2E2E2EA9
+:08BA40002E2E2E2E2E2E2E2E8E
+:08BA48002E2E2E2E2E2E2E2E86
+:08BA50002E2E2E2E2E2E2E2E7E
+:08BA58002E2E2E2E2E2E2E2E76
+:08BA60002E2E2E2E2E2E2E2E6E
+:08BA68002E2E2E2E2E2E2E2E66
+:08BA70002E2E2E2E2E2E2E2E5E
+:08BA78002E2E2E2E2E2E2E2E56
+:08BA80002E2E2E2E2E2E2E2E4E
+:08BA88002E2E2E2E2E2E2E2E46
+:08BA90002E2E2E2E2E2E2E2E3E
+:08BA98002E2E2E2E2E2E2E2E36
+:08BAA0002E2E2E2E2E2E2E2E2E
+:08BAA8002E2E2E2E2E2E2E2E26
+:08BAB0002E2E2E2E2E2E2E2E1E
+:08BAB8002E2E2E2E2E2E2E2E16
+:08BAC0002E2E2E2E2E2E2E2E0E
+:08BAC8002E2E2E2E2E2E2E2E06
+:08BAD0002E2E097E2E2E2E2ED3
+:08BAD8002E2E11212E2E2E1A34
+:08BAE000130117402E2E03187C
+:08BAE800040524232E2E201674
+:08BAF000061412252E2E0E0291
+:08BAF8000807195E2E2E2E0D29
+:08BB00000A15262A2E2E3C0B2B
+:08BB0800090F29282E2E3E3FF3
+:08BB10000C3A105F2E2E2E22CC
+:08BB18002E7B2B2E2E2E2E0D8C
+:08BB20007D2E7C2E2E2E2E2E10
+:08BB28002E2E2E082E2E2E2ECB
+:08BB30002E2E2E2E2E2E7F2E4C
+:08BB38002E2E2E1B2E2E2E2EA8
+:08BB40002E2E2E2E2E2E2E2E8D
+:08BB48002EA3A1A22E2E2E2E29
+:08BB50002E2E2E2E2E2E2E2E7D
+:08BB58002E2E2E2E2E2E2E2E75
+:08BB60002E2E2E2E2E2E2E2E6D
+:08BB68002E2E2E2E2E2E2E2E65
+:08BB70002E2E2E2E2E2E2E2E5D
+:08BB78002E2E2E2E2E2E2E2E55
+:08BB80002E2E2E2E2E2E2E2E4D
+:08BB88002E2E2E2E2E2E2E2E45
+:08BB90002E2E2E2E2E2E2E2E3D
+:08BB98002E2E2E2E2E2E2E2E35
+:08BBA0002E2E2E2E2E2E2E2E2D
+:08BBA8002E2E2E2E2E2E952EBE
+:08BBB00093942E2E2E98999219
+:08BBB8002E91902E2E2E2E97E7
+:08BBC0002E2E962E2E5000DC03
+:08BBC800FF0001AC4010000178
+:08BBD000F25000DCFF000190BF
+:08BBD80000100001F201F95018
+:08BBE00000DCFF0001AC400095
+:08BBE8000001A741C001F200B9
+:08BBF00000000000000000004D
+:08BBF800000000000000000045
+:08BC000001A5CDBE202B016F50
+:08BC08001BFE01471BFA019E1F
+:08BC10005B04C0019E5B88C0CB
+:08BC1800019E5B0AC1019D21A0
+:08BC200000019DE9FF40F00A5C
+:08BC280001019E40880201F7B2
+:08BC300001A2F10F4A0301A17A
+:08BC3800F123F601A1F10AEA73
+:08BC400001A7400001A78000EC
+:08BC4800016F860001A5CD0A81
+:08BC500050D6FCFF00016A4020
+:08BC580060E6016F060501A57D
+:08BC6000CD0A01A7800101A734
+:08BC680080005080FFFF000185
+:08BC70006F050001A1F13A0388
+:08BC780040C92701019000C042
+:08BC800034019D330540C82783
+:08BC880001016F013E016F0292
+:08BC9000000198810028016FFA
+:08BC9800860701A1F140030140
+:08BCA000A2F1A34403012041BD
+:08BCA800030230750120C10107
+:08BCB000023032012001080BF3
+:08BCB8003FE540C927010181AD
+:08BCC000C0C034012303143B52
+:08BCC800A1F1A00540C827010D
+:08BCD0003B9043802F3B4743EA
+:08BCD8000040C927013B90C0A8
+:08BCE000C034013FBA40C9273E
+:08BCE80001018140C03401009C
+:08BCF00001023FAB016F0720C8
+:08BCF80001404770140147C729
+:08BD0000FF01A9C70C40C82790
+:08BD0800010147013E01A70102
+:08BD1000010147C1FF01A7C0BA
+:08BD1800000199443020013FB5
+:08BD20007E01A7000140C827C5
+:08BD280001018144802F01009C
+:08BD300001023F44012001085B
+:08BD380008474400083FE60142
+:08BD400020011102474400023A
+:08BD4800302F012041130230ED
+:08BD5000440120011E02300332
+:08BD5800013F1D018E5B04C0D8
+:08BD6000018E5B88C0018E5BBF
+:08BD68000AC140F00A01019E2E
+:08BD700040880201A5CDBF01CE
+:08BD7800F201A1F1BA00010083
+:08BD800008023EF401A7410195
+:08BD880001A1F1EAE801A1F1BB
+:08BD90002002013EE3014744DB
+:08BD98000001A1F19A0001A7CE
+:08BDA000010301000802A200EA
+:08BDA80078BCFC01A1F1C7E821
+:08BDB000014C4C830C016F866D
+:08BDB8000001A7800001A78033
+:08BDC00003016F810F01A1F1E5
+:08BDC800A20401A70C0101A176
+:08BDD000F1F70301A1F1B20338
+:08BDD80001B18C430001A1F14F
+:08BDE000380401474E00012068
+:08BDE8000E020B3FE601A1F180
+:08BDF000980301A7800301A1E3
+:08BDF800F1E00D01B18C130014
+:08BE0000012001080B6F810B0A
+:08BE080001A1F15F0401474EA6
+:08BE10000001200E020B3FE3CC
+:08BE180001A1F1BE0D01474636
+:08BE20000001408CC310011069
+:08BE28004C030B3F9001A20046
+:08BE300078BCFC01471BFE0178
+:08BE38009E5B04C0019D331460
+:08BE400001A7C00101A70002E7
+:08BE48000181440020012001EA
+:08BE50000808474400083FF018
+:08BE5800018144002001A1F169
+:08BE60002F0001000302301560
+:08BE6800015807714001504729
+:08BE7000700401474400014782
+:08BE7800480001A4DB01A7470B
+:08BE800000018E5B04C00147C4
+:08BE88001B0201F20120010C74
+:08BE90000B30430120410E09B3
+:08BE9800300A014701F4016FBB
+:08BEA000430001F201204110F2
+:08BEA8000B302B012081110970
+:08BEB000300B014D417003014C
+:08BEB8006F430001F20120417B
+:08BEC000180B3012012081195A
+:08BEC80009300B014D4170052A
+:08BED000016F430001F201A71C
+:08BED800C00001F24001C000AE
+:08BEE0000193C0863B202B01F9
+:08BEE8006F1BFE01471BE60180
+:08BEF0009E5B04C0019E5B880B
+:08BEF800C0019E5B0AC1019329
+:08BF00005B80C101939B00C2AC
+:08BF08000193DB80C201931BD1
+:08BF100001C301935B81C30131
+:08BF1800939B01C40193DB813E
+:08BF2000C401931B02C501934B
+:08BF28005B82C501939B02C678
+:08BF30002050019D210030802A
+:08BF380000019D290001F70141
+:08BF4000A1F133E701A7800025
+:08BF480001A7800150D6FCFFA7
+:08BF500000016F819901A1F1CC
+:08BF5800620301A8470101A1E9
+:08BF6000F14F00018E5B04C0EB
+:08BF6800018E5B88C0018E5BB5
+:08BF70000AC101865B80C101DA
+:08BF7800869B00C20186DB80FC
+:08BF8000C201861B01C301860A
+:08BF88005B81C301869B01C42B
+:08BF90000186DB81C401861B60
+:08BF980002C501865B82C501B0
+:08BFA000869B02C64001C000AF
+:08BFA8000186C0863B01471B26
+:08BFB000FE019E5B04C0019D2F
+:08BFB800F304016FC60001A1B2
+:08BFC000F15800014085521008
+:08BFC8000147460001A4EF014E
+:08BFD0008E5B04C001471B0257
+:08BFD80001F201471BFE019E6E
+:08BFE0005B04C001A780000111
+:08BFE8006F011101A1F17C02BF
+:08BFF000016F811001A1F17342
+:08BFF80002016FC11101A1F16A
+:08C000006A02016F810F01A12A
+:08C00800F16102018E5B04C02E
+:08C0100001471B0201F2014788
+:08C018001BFC019E5B04C0014A
+:08C020009E9B84C0016F4200E9
+:08C0280001A1F13B0101A1F1AE
+:08C030005603016F820901A112
+:08C03800F1AA03016F820B0164
+:08C04000A7C0000181450000CA
+:08C048000120010050D5FCFFAE
+:08C0500000026F435B012001B7
+:08C058000450D5FCFF00026F4B
+:08C06000C37A0120410450D60F
+:08C06800FCFF00026F4383019D
+:08C0700020010850D5FCFF007F
+:08C07800026F03650120010CB9
+:08C0800050D5FCFF00026F0324
+:08C08800650120011050D5FCF8
+:08C09000FF00026F03650120AF
+:08C09800011450D5FCFF000269
+:08C0A0006F0365012001185037
+:08C0A800D5FCFF00026F0365E7
+:08C0B0000120011C50D5FCFF2A
+:08C0B80000026F036501200185
+:08C0C0002050D5FCFF00026FC7
+:08C0C800036501000303A1F16F
+:08C0D000FB0302300301307B89
+:08C0D8000181451000015841EF
+:08C0E000104050CEFCFF0001EE
+:08C0E800834120EB30FF000151
+:08C0F0002001FC0A301250008F
+:08C0F800FCFF000154C100002F
+:08C1000001A1F1C80301302682
+:08C10800015341F00050D3FC8B
+:08C11000FF000183C1E0FE50B5
+:08C1180000FCFF000154C3000C
+:08C120000001A1F1F10801B3D7
+:08C128004330E4013FC801812E
+:08C1300045100050CDFCFF009A
+:08C1380001814120F650CEFC0C
+:08C14000FF00018D4124E6011E
+:08C148006F010C30060C01919F
+:08C150004000A0018E5B04C059
+:08C15800018E9B84C001471B0E
+:08C160000401F201471BFE017E
+:08C168009E5B04C001A7050164
+:08C1700001A1F1550001A1F14C
+:08C178002D00018E5B04C001E3
+:08C18000471B0201F201471BFD
+:08C18800FE019E5B04C0016F83
+:08C19000010801A1F1D5000135
+:08C198008E5B04C001471B028D
+:08C1A00001F201471BFE019EA4
+:08C1A8005B04C001A1F1DAFF04
+:08C1B00001A1F1D5FF01A1F18D
+:08C1B800D0FF018E5B04C00101
+:08C1C000471B0201F201471BBD
+:08C1C800FE019E5B04C001585A
+:08C1D00004445401A1F11A001E
+:08C1D800015804445001A1F1DB
+:08C1E0001000018E5B04C00198
+:08C1E800471B0201F201471B95
+:08C1F000FE019E5B04C0015832
+:08C1F80004425401A1F11A00F8
+:08C20000015804425001A1F1B4
+:08C208001000018E5B04C0016F
+:08C21000471B0201F201471B6C
+:08C21800FE019E5B04C0015809
+:08C2200004415401A1F11A00D0
+:08C22800015804415001A1F18D
+:08C230001000018E5B04C00147
+:08C23800471B0201F201471B44
+:08C24000FE019E5B04C00153E6
+:08C2480044F00001204102094D
+:08C2500047C1010147010C0187
+:08C25800A1F11000018E5B044E
+:08C26000C001471B0201F201BD
+:08C26800471BFC019E5B04C0B2
+:08C270000193DB81C001534181
+:08C27800F00701A1F108E74005
+:08C28000F8C7000154410080E1
+:08C28800016F07150140C671AA
+:08C2900018300001016CC70128
+:08C29800000140C27124019273
+:08C2A0004700A0014742000124
+:08C2A8008E5B04C00186DB81FE
+:08C2B000C001471B0401F2016B
+:08C2B800471BFC019E5B04C062
+:08C2C0000193DB81C001A7C15D
+:08C2C8000101814700000100A3
+:08C2D0000102300C01A1F19301
+:08C2D800FF01474700013FE9A7
+:08C2E000018E5B04C00186DB46
+:08C2E80081C001471B0401F2B3
+:08C2F00001471FFE019E5F04DF
+:08C2F800000181450000012056
+:08C300000100026F4100023050
+:08C308006F01200104026F41E6
+:08C31000000230640120410429
+:08C31800026F410002305901DF
+:08C32000200108026F810002F8
+:08C32800304E0120010C026FF0
+:08C33000C100023043012001AD
+:08C3380010026F010102303810
+:08C3400001200114026F41010C
+:08C3480002302D012001180252
+:08C350006F810102302201207F
+:08C35800011C026FC10102305B
+:08C360001701200120026F010A
+:08C3680002038145100050CCD6
+:08C37000FCFF0003814120E6FF
+:08C37800018E5F040001471F64
+:08C380000201F201471BFA0162
+:08C388009E5B04C0019EDB8CEA
+:08C39000C00193DB01C101FBB8
+:08C398002037016F1FFE01A117
+:08C3A000F152FF01A781020127
+:08C3A800FA0147C1FF01A9C120
+:08C3B0000C01A7C00101B1C599
+:08C3B800410001A1F15BFE014F
+:08C3C000A1F1C6FD0147470091
+:08C3C80001A4EA018E5B04C030
+:08C3D000018EDB8CC00186DB4D
+:08C3D80001C101471B0601F23F
+:08C3E00001471BFE019E5B04F6
+:08C3E800C001814500000120A5
+:08C3F00001000230740120413C
+:08C3F8000002306D0120410438
+:08C40000023066012001040274
+:08C40800305F01200108023041
+:08C41000580120010C0230511B
+:08C418000120011002304A016D
+:08C42000200114023043012049
+:08C42800011802303C01200163
+:08C430001C023035012001203F
+:08C4380002302E016F011C010E
+:08C44000A1F128FE01810501B4
+:08C4480000015804414C01A160
+:08C45000F1EFFD016F810B010A
+:08C45800A1F110FE0181450075
+:08C460000001A1F117000130F9
+:08C46800040147C201018E5BD3
+:08C4700004C001471B0201F2A8
+:08C4780001471BFE019E5B045D
+:08C48000C00153C1F1000140AD
+:08C48800C7711001404770105C
+:08C4900050D4FCFF00018147BC
+:08C4980060E001A1F1CDFD50AF
+:08C4A000D4FCFF00018147708C
+:08C4A800E001A1F1BEFD50D43A
+:08C4B000FCFF0001814780E060
+:08C4B80001A1F1AFFD018E5B53
+:08C4C00004C001471B0201F258
+:08C4C80001471BFE019E5B040D
+:08C4D000C001A1F1B4FC0181DF
+:08C4D8004300E001A1F18CFD1D
+:08C4E00001814310E001464117
+:08C4E800000801A1F17DFD1324
+:08C4F000302E01814320E00120
+:08C4F8004641000801A1F16BAF
+:08C50000FD13301C01814330E2
+:08C50800E0014641000801A119
+:08C51000F159FD13300A01810D
+:08C518004340E001A1F14CFDDC
+:08C5200001474200018E5B049B
+:08C52800C001471B0201F201F2
+:08C53000471BFC019E5B04C0E7
+:08C538000193DB81C001A7C1E2
+:08C5400001016F811C01A1F152
+:08C5480022FD012087020A4FC9
+:08C5500047A0000A47010C0A94
+:08C55800A1F110FD015F47A0F5
+:08C56000000147010C01A1F1EB
+:08C5680002FD018E5B04C0011D
+:08C5700086DB81C001471B04BA
+:08C5780001F201471BFC019ECA
+:08C580005B04C00193DB81C0E4
+:08C5880001A7C101016F811838
+:08C59000013FB201471BFC0151
+:08C598009E5B04C00193DB81EE
+:08C5A000C00140417010014090
+:08C5A80047701050D4FCFF00A5
+:08C5B00001814760E301A1F1E4
+:08C5B800B2FC50D4FCFF0001AD
+:08C5C000814770E301A1F1A322
+:08C5C800FC50D4FCFF000181CE
+:08C5D0004780E301200108038C
+:08C5D800A1F190FC018E5B044F
+:08C5E000C00186DB81C00147A8
+:08C5E8001B0401F201471BFED8
+:08C5F000019E5B04C0016F0114
+:08C5F8000B01A1F16EFC018EA4
+:08C600005B04C001471B0201AD
+:08C60800F201471BFE019E5BDD
+:08C6100004C0016F820D0181DD
+:08C61800451000015341F00040
+:08C6200001A1F173FF01A1F17A
+:08C62800C7FF0181452000015C
+:08C630005341F00301A1F1FBED
+:08C63800FE018E5B04C0014706
+:08C640001B0201F201471BFE81
+:08C64800019E5B04C0016F823A
+:08C650000D01814510000153AA
+:08C6580041F00001A1F138FFDF
+:08C6600001A1F18CFF018145ED
+:08C668002000015341F0030121
+:08C67000A1F1C0FE01A1F17867
+:08C67800FF018145200001587B
+:08C6800081114C0181C531005C
+:08C688000153C7F100015887BE
+:08C69000704001504710040145
+:08C69800A1F198FE018E5B0484
+:08C6A000C001471B0201F20179
+:08C6A800471BFE019E5B04C06C
+:08C6B000016F820D01814510AC
+:08C6B800000181C521000153BE
+:08C6C00041F000015807714030
+:08C6C80001504710040147C1B5
+:08C6D000000140414110016F1F
+:08C6D800010901A1F18DFB0134
+:08C6E000A1F1E6FA018E5B04F2
+:08C6E800C001471B0201F20131
+:08C6F000471BFE019E5B04C024
+:08C6F800016F820D0181451064
+:08C7000000015341F00001A10A
+:08C70800F18DFE01A1F1E1FE3B
+:08C710000181452000015341A5
+:08C71800F00301A1F115FE017F
+:08C72000A1F1CDFE01814520CD
+:08C7280000015881114C018150
+:08C73000C5310001588770407B
+:08C738000150474004016FC1EC
+:08C740000801A1F126FB016FC5
+:08C74800010901A1F11DFB0133
+:08C75000A1F176FA018E5B04F1
+:08C75800C001471B0201F201C0
+:08C76000471BFC019E5B04C0B5
+:08C768000193DB81C0016F8227
+:08C770000D018145200001814B
+:08C77800C53100015881114C8C
+:08C780000153C7F100015887C5
+:08C7880070400150471004014C
+:08C79000A1F104FE01A1F15822
+:08C79800FE0181452000015360
+:08C7A00041F00301A1F18CFD41
+:08C7A800018E5B04C00186DB79
+:08C7B00081C001471B0401F2E6
+:08C7B80001471BFC019E5B041C
+:08C7C000C00193DB81C0016F91
+:08C7C800820D018145300001E2
+:08C7D0005801114C0181C54123
+:08C7D800000153C731000158B4
+:08C7E0000771400150471004ED
+:08C7E80001A1F147FD01A1F1DF
+:08C7F000FFFD0181452000015D
+:08C7F8005341F00301A1F133EC
+:08C80000FD01A1F1EBFD018136
+:08C80800452000015881114C8C
+:08C810000181C531000153C78D
+:08C81800F10001588770400196
+:08C820005047100401A1F10BC7
+:08C82800FD018E5B04C00186D6
+:08C83000DB81C001471B04017C
+:08C83800F201471BFC019E5BAD
+:08C8400004C00193DB81C0017B
+:08C848006F820D018145200003
+:08C85000015881114C0181C562
+:08C8580031000153C7F100019A
+:08C86000588770400150471099
+:08C868000401A1F1C6FC01A1CD
+:08C87000F17EFD01814520006D
+:08C87800015341F00301A1F19D
+:08C88000B2FC018E5B04C00153
+:08C8880086DB81C001471B049F
+:08C8900001F201471BFC019EAF
+:08C898005B04C00193DB81C0C9
+:08C8A000016F820D018145309A
+:08C8A80000015801114C01814F
+:08C8B000C541000153C731002E
+:08C8B8000158077140015047CF
+:08C8C000100401A1F1B8FC0114
+:08C8C800A1F125FD01814520CD
+:08C8D00000015341F00301A136
+:08C8D800F1A4FC01A1F111FD26
+:08C8E00001814520000158818F
+:08C8E800114C0181C531000172
+:08C8F00053C7F10001588770E5
+:08C8F80040015047100401A1AA
+:08C90000F17CFC018E5B04C018
+:08C908000186DB81C001471B21
+:08C910000401F201F201471BD2
+:08C91800FC019E5B04C0016FED
+:08C92000820D01814520000198
+:08C928005881114C0181C53159
+:08C93000000153C73100014072
+:08C9380047102401A1F158FC95
+:08C9400001A1F1ACFC018145ED
+:08C948002000015341F003013E
+:08C95000A1F1E0FB01A1F19847
+:08C95800FC018145300001588B
+:08C9600001114C0181C54100E9
+:08C96800014047102C01A1F170
+:08C970005100018E5B04C001BF
+:08C97800471B0401F201471BFB
+:08C98000FE019E5B04C0018171
+:08C98800452000015341F003BA
+:08C9900001A1F19FFB01A1F1DF
+:08C9980057FC0181422000015F
+:08C9A0005881114C0181C231E4
+:08C9A80000014047102401A129
+:08C9B000F11000018E5B04C0D0
+:08C9B80001471B0201F20147D7
+:08C9C0001BFC019E5B04C00199
+:08C9C800931B81C001A70101CE
+:08C9D000016FC10801A1F19300
+:08C9D800F8016F010901A1F152
+:08C9E0008AF830FF000120C4B9
+:08C9E800FF09A1F1DCF70930A1
+:08C9F000110120C43F09A1F16F
+:08C9F800F8F709300501A1F177
+:08CA000018F8018E5B04C0016F
+:08CA0800861B81C001471B04DD
+:08CA100001F250CCFCFF000113
+:08CA18008D0124E0018145407D
+:08CA200000015881104C01F2E5
+:08CA28000181453000015801B5
+:08CA3000114C01F20181455097
+:08CA380000015341F00001F27E
+:08CA4000018145200001534172
+:08CA4800F00001F201471BFEA2
+:08CA5000019E5B04C050AAAA7C
+:08CA5800AA00016F8AAA4055F3
+:08CA60005555016F4B5501A172
+:08CA6800F128001010405555A3
+:08CA700055016F4A5550AAAAB6
+:08CA7800AA00016F8BAA01A1C5
+:08CA8000F11000018E5B04C0FF
+:08CA880001471B0201F2014706
+:08CA90001BFE019E5B04C001C6
+:08CA9800A7CA0C01A74B0D20F9
+:08CAA00060016F320040F3FF5A
+:08CAA80000019DF3FF01A7004E
+:08CAB000020192F20C00019258
+:08CAB800724D0001473202201B
+:08CAC0000F015332F1FF0100E8
+:08CAC80004025832434C026FD6
+:08CAD0000200026F460002A102
+:08CAD800F117F701A4D320605F
+:08CAE000016F320040F3FF007A
+:08CAE800019DF3FF0184C50C60
+:08CAF000000184454D00011016
+:08CAF800B30203A7F30103A13F
+:08CB0000F142000110F50203EF
+:08CB0800A7F50103A1F13500BE
+:08CB100001473202200F01531E
+:08CB180032F1FF010004025894
+:08CB200032434C026F020002D7
+:08CB28006F860002A1F1C2F6C4
+:08CB300001A4B91010018E5B95
+:08CB380004C001471B0201F2D9
+:08CB400001471BFC019E5B0490
+:08CB4800C0019EDB8CC050CB44
+:08CB5000FCFF00016A4030FC0B
+:08CB5800016F0200016F86006D
+:08CB6000014006621001A1F181
+:08CB680052F701A7320101A1FF
+:08CB7000F157F601A1F112F6E4
+:08CB780001A7070101A1F14929
+:08CB8000F6019D330401A780BA
+:08CB880000014746000147329D
+:08CB9000010185F2010001A77B
+:08CB9800070101A1F12BF601D8
+:08CBA000A4E301474800015322
+:08CBA80008F2000120C803029D
+:08CBB0009D7300018E5B04C0BF
+:08CBB800018EDB8CC001471B5C
+:08CBC0000401F24D656D6F7276
+:08CBC80079206661696C656467
+:08CBD0002061743A20004000CE
+:08CBD800C000018540802C0122
+:08CBE0005841224C015841327A
+:08CBE8004030FC0701538200FC
+:08CBF000C04000F80F0153C31F
+:08CBF80000000150C21004010D
+:08CC0000F2001CCA28CA1CCA7C
+:08CC08001CCA1CCA28CA1CCA80
+:08CC100028CA28CA34CA40CA30
+:08CC18001CCA1CCA1CCA1CCA7C
+:08CC20001CCA00005400A8002A
+:08CC2800FC005001A401F80119
+:08CC30004C02A002F4024803CB
+:08CC38009C03F003440498047E
+:08CC4000EC0440059405E80531
+:08CC48003C069006E4063807E3
+:08CC50008C07E0073408880896
+:08CC5800DC0830098409D80949
+:08CC60002C0A03030303030384
+:08CC68000303030303030303AC
+:08CC700003030404040404049E
+:08CC7800040404040404040494
+:08CC800004040404040404048C
+:08CC8800040404040404040484
+:08CC9000040403030303030382
+:08CC980003030303030303037C
+:08CCA000030305040501010175
+:08CCA80005040505050505055D
+:08CCB000050505050105050558
+:08CCB800010105010101010168
+:08CCC000010101010101010164
+:08CCC800010101010105050550
+:08CCD000050401010501010149
+:08CCD800010405040101010142
+:08CCE00001010505050505052C
+:08CCE800050101010105050130
+:08CCF00005050505050501011C
+:08CCF800050605050505010410
+:08CD000005040305060303040A
+:08CD08000404040406040505FF
+:08CD10000505050505050505F3
+:08CD1800050101010101010107
+:08CD20000101050505050101F3
+:08CD28000506030503050301E4
+:08CD30000101010101010101F3
+:08CD38000101010101010101EB
+:08CD40000101010101010101E3
+:08CD48000101010101010101DB
+:08CD50000101040204020205C6
+:08CD58000402020202020201C2
+:08CD60000102000000000000C8
+:08CD68000000000000000000C3
+:08CD70000000010101010101B5
+:08CD78000101010101010101AB
+:08CD800001010202020202029D
+:08CD8800020202020202020293
+:08CD9000020203030303030385
+:08CD980003030303030303037B
+:08CDA000030304050607070761
+:08CDA80008090A0A0A0A0A0A36
+:08CDB0000A0A040B070A0A0A33
+:08CDB80007070C070707070736
+:08CDC000070707070707070733
+:08CDC80007070707070A0A0A22
+:08CDD0000A0D07070E07070713
+:08CDD800070504060707070721
+:08CDE00007070F0F0F0F0F0FE3
+:08CDE8000F070707070F0F07F3
+:08CDF0000F0F0F0F0F0F0707D3
+:08CDF8000F10111212110726A1
+:08CE00000F1314151617181981
+:08CE080019051A1B1C1D0F0F78
+:08CE10000F0F1E1E1E1E1E1E48
+:08CE18001E07070707070707C3
+:08CE200007071E1E1E1E070776
+:08CE28001F2007070707070799
+:08CE30000707070707070707C2
+:08CE38000707070707070707BA
+:08CE40000707070707070707B2
+:08CE48000707070707070707AA
+:08CE5000070721072207072351
+:08CE580024070707070707077D
+:08CE6000072509C644C6A7C658
+:08CE6800EFC6B8C739C892C833
+:08CE700013C915C97DC913C9DE
+:08CE780013C913C97DC913C9D8
+:08CE800013C913C913C913C93A
+:08CE880013C913C913C913C932
+:08CE900013C913C913C913C92A
+:08CE98005FC713C913C913C9D8
+:08CEA00013C913C913C913C91A
+:08CEA80013C913C913C913C912
+:08CEB00013C963D663D663D6F3
+:08CEB80063D663D663D663D68E
+:08CEC00063D663D663D663D686
+:08CEC80063D663D663D663D67E
+:08CED00063D676D576D576D540
+:08CED80076D576D576D576D526
+:08CEE00076D576D576D576D51E
+:08CEE80076D576D576D576D516
+:08CEF00076D579D579D579D505
+:08CEF80079D579D579D579D5FA
+:08CF000079D579D579D579D5F1
+:08CF080079D579D579D579D5E9
+:08CF100079D56BD56BD56BD50B
+:08CF18006BD56BD56BD56BD511
+:08CF20006BD56BD56BD56BD509
+:08CF28006BD56BD56BD56BD501
+:08CF30006BD5F0FFF1FFF2FFE9
+:08CF3800F3D5F3D5F3D567D55D
+:08CF400032D52AD5B306DED577
+:08CF480080D532D5B606E6D50E
+:08CF500088D5F3FFB906F3D503
+:08CF58003ED5F0D590D5F3D5CC
+:08CF6000F3D5F4FFF3D5F3D57E
+:08CF6800F3D5F3D5F3D5F3D5A1
+:08CF7000F3D5F3D5F3D5F3D599
+:08CF7800F3D5F3D5F3D5F3D591
+:08CF8000F3D5F3D5F3D5F3D589
+:08CF880012D518D51ED50BD5FA
+:08CF9000A4D5F3D5F3D5C206C8
+:08CF9800F3D5F3D5F3D5F3D571
+:08CFA000F5FFF6FFF7FFF3D5E2
+:08CFA800F3D5F3D5F3D5F3D561
+:08CFB000F3D59AD59CD59FD55D
+:08CFB800A1D5ABD5ADD5C5D55F
+:08CFC000F3D5F3D5F3D5F3D549
+:08CFC800C0D5CB06F3D5C7D597
+:08CFD000CD0610D612D617D6CB
+:08CFD8003AD6F3D5F3D5D206D9
+:08CFE000D306D406D506D606DF
+:08CFE800D706F3D5A7D5D90641
+:08CFF000DA0697D597D597D515
+:08CFF8000DD6B0D540D6DE06CF
+:08D00000F8FFCAD5CFD5F9FFF6
+:08D00800D7D5B4D5B7D5BAD5D0
+:08D01000BDD59AD59CD59FD532
+:08D01800A1D5ABD5ADD5C5D5FE
+:08D02000F3D5F3D5F3D5F3D5E8
+:08D02800F3D5F3D5F3D5F3D5E0
+:08D03000F3D5E606E70617D66A
+:08D038003AD6F3D5F3D5D20678
+:08D04000E806E906EA06EB062A
+:08D04800EC06ED06F3D5F3D56B
+:08D05000F3D5F3D5F3D5F3D5B8
+:08D05800F3D5F3D5F3D5F3D5B0
+:08D06000F3D5F3D5F3D5F3D5A8
+:08D06800F3D5F3D5F3D5F3D5A0
+:08D07000F3D5F3D5F3D5F3D598
+:08D07800F3D5F3D5F3D5F3D590
+:08D08000F3D5F3D5F3D5F3D588
+:08D08800F3D5F3D5F3D5F3D580
+:08D09000F3D5FAFFEBD50DD634
+:08D0980007D60AD6FBFF30D6D3
+:08D0A0003CD6F206F30673D53D
+:08D0A80014D604D6F3D5F3D52C
+:08D0B00094D527D533D6DBD55A
+:08D0B8007DD52ED536D6E2D558
+:08D0C00084D5FCD401D506D58E
+:08D0C800F6D4F3D5F3D5F3D53E
+:08D0D000F3D504070507F3D5B1
+:08D0D800F3D5F3D5F3D5F3D530
+:08D0E000F3D5F3D5F3D5F3D528
+:08D0E800F3D5F3D5F3D5F3D520
+:08D0F000F3D5F3D5F3D5F3D518
+:08D0F800F3D5F3D5F3D5F3D510
+:08D10000F3D5F3D5F3D5F3D507
+:08D10800F3D5F3D5F3D5F3D5FF
+:08D11000F3D5F3D5F3D5F3D5F7
+:08D11800F3D5F3D5F3D5F3D5EF
+:08D12000F3D5F3D5F3D5F3D5E7
+:08D12800F3D5F3D5F3D5F3D5DF
+:08D13000F3D507070807090702
+:08D138000A07F3D5F3D5F3D586
+:08D14000F3D5F3D5F3D5F3D5C7
+:08D14800F3D5F3D5F3D5F3D5BF
+:08D15000F3D50C070D070E07D3
+:08D158000F0710071107120771
+:08D160001307F3D5F3D5F3D555
+:08D16800F3D5F3D5F3D5F3D59F
+:08D17000F3D5F3D5F3D5F3D597
+:08D17800F3D5F3D5F3D5F3D58F
+:08D18000F3D5F3D5F3D5F3D587
+:08D18800F3D5F3D5F3D5F3D57F
+:08D19000F3D5F3D5F3D5F3D577
+:08D19800F3D5F3D5F3D5F3D56F
+:08D1A000F3D5F3D5F3D5F3D567
+:08D1A800F3D5F3D5F3D5F3D55F
+:08D1B000F3D5F3D5F3D5F3D557
+:08D1B800F3D5F3D5F3D5F3D54F
+:08D1C000F3D5F3D5F3D5F3D547
+:08D1C800F3D5F3D5F3D5F3D53F
+:08D1D000F3D537D5EED58DD55E
+:08D1D800180719071A073AD5E0
+:08D1E0001C07F3D5F3D5F3D5CC
+:08D1E800F3D5F3D5F3D5F3D51F
+:08D1F000F3D5F3D5F3D5F3D517
+:08D1F800F3D5F3D5F3D5F3D50F
+:08D20000F3D5F3D5F3D5F3D506
+:08D20800F3D5F3D5F3D5F3D5FE
+:08D21000F3D5F3D5F3D5F3D5F6
+:08D21800F3D5F3D5F3D5F3D5EE
+:08D22000F3D5F3D5F3D5F3D5E6
+:08D22800F3D5F3D5F3D5F3D5DE
+:08D23000F3D5F3D5F3D5F3D5D6
+:08D23800F3D5F3D5F3D5F3D5CE
+:08D24000F3D5F3D5F3D5F3D5C6
+:08D24800F3D5F3D5F3D5F3D5BE
+:08D25000F3D519D620D6200702
+:08D2580027D6F6D5FDD5F3D56C
+:08D26000F3D5F3D5F3D5F3D5A6
+:08D26800F3D5F3D5F3D5F3D59E
+:08D27000F3D51CD623D62607D6
+:08D278002BD6F9D500D6F3D541
+:08D28000F3D5F3D5F3D5F3D586
+:08D28800F3D5F3D5F3D5F3D57E
+:08D29000F3D5F3D5F3D5F3D576
+:08D29800F3D5F3D5F3D5F3D56E
+:08D2A000F3D5F3D5F3D5F3D566
+:08D2A800F3D5F3D5F3D5F3D55E
+:08D2B000F3D5F3D5F3D5F3D556
+:08D2B800F3D5F3D5F3D5F3D54E
+:08D2C000F3D5F3D5F3D5F3D546
+:08D2C800F3D5F3D5F3D5F3D53E
+:08D2D000F3D52B07F3D52C0761
+:08D2D8002D072E072F07300778
+:08D2E00031073207F3D5F3D545
+:08D2E800F3D533073407F3D539
+:08D2F000F3D5F3D5F3D5F3D516
+:08D2F800F3D5F3D5F3D5360799
+:08D300003707380739073A0727
+:08D30800F3D5F3D5F3D5F3D5FD
+:08D31000F3D5F3D5F3D5F3D5F5
+:08D31800F3D5F3D53607370702
+:08D32000380739073A07F3D57D
+:08D32800F3D5F3D5F3D5F3D5DD
+:08D33000F3D5F3D5F3D5F3D5D5
+:08D33800F3D5F3D5F3D5F3D5CD
+:08D34000F3D5F3D5F3D5F3D5C5
+:08D34800F3D5F3D5F3D5F3D5BD
+:08D35000F3D5F3D5F3D5F3D5B5
+:08D35800F3D5F3D5F3D5F3D5AD
+:08D36000F3D5F3D5F3D5F3D5A5
+:08D36800F3D5F3D5F3D5D4D5BC
+:08D370003E073F0724D54107E9
+:08D37800420743074407450783
+:08D3800046074707480749076B
+:08D388004A074B07F3D557D506
+:08D3900062D547D542D551D505
+:08D398004CD55CD5F3D5F3D5AB
+:08D3A000F3D5F3D5F3D5F3D565
+:08D3A800F3D5F3D5F3D5F3D55D
+:08D3B000F3D54ED65BD656D62C
+:08D3B80043D648D6F3D5F3D5A6
+:08D3C000F3D5F3D5F3D5F3D545
+:08D3C800F3D5F3D5F3D55B07A3
+:08D3D0005C075D07F3D5F3D5FE
+:08D3D800F3D5F3D5F3D5F3D52D
+:08D3E000F3D5F3D5F3D5F3D525
+:08D3E800F3D5F3D5F3D5B2D063
+:08D3F00032D152D1D2D152D248
+:08D3F800D2D2F2D26ED36ED343
+:08D400008ED3AED3CED366201B
+:08D40800206620206571206EF2
+:08D4100065206C6520677420A3
+:08D418006C74206765206C654F
+:08D42000756774756C74756783
+:08D42800657520202020202062
+:08D43000202020202020703094
+:08D438002070312070322070D9
+:08D44000332070342070352008
+:08D448007036207037207038A7
+:08D450002070392070313070AA
+:08D458003131703132703133C3
+:08D46000703134703135633086
+:08D468002063312063322063D0
+:08D470003320633420633520F2
+:08D4780063362063372063389E
+:08D480002063392063313063A1
+:08D488003131633132633133AD
+:08D490006331346331357A7316
+:08D49800206473206573206617
+:08D4A0007320677320687320FC
+:08D4A8007373206373207A7393
+:08D4B0006C64736C65736C661B
+:08D4B800736C67736C68736C00
+:08D4C00073736C63736C7072EE
+:08D4C8006120202074636B6CED
+:08D4D000632020202020202011
+:08D4D8006173647372202020CF
+:08D4E000202020202020202044
+:08D4E80020202020202020203C
+:08D4F00020202020202031360D
+:08D4F800616464F532616464B3
+:08D50000F534616464F5386143
+:08D508006464F53136616464CE
+:08D5100075E93261646475E9FC
+:08D518003461646475E93861B7
+:08D52000646475E96162F361C6
+:08D5280064E4616464E96164DC
+:08D5300064F561646475E961B2
+:08D538006EE4616E64E3616EB4
+:08D54000646962666368E7623A
+:08D5480066636CF2626665780F
+:08D55000F46266657874F5626F
+:08D5580066696EF36266696EFC
+:08D5600073E962667365F46271
+:08D568006974E962F26272EBE2
+:08D570006273F2636CE9636D64
+:08D57800F0636D70E96469F6CF
+:08D58000646976E9646976F53F
+:08D5880064697675E9656FF234
+:08D59000656F72E9696DED6A37
+:08D5980073F26CE26C62F56CA9
+:08D5A000E36C63F56C64E96CB7
+:08D5A8006469F36CE86C68F59E
+:08D5B0006C6F6FF06C76E26C09
+:08D5B80076E36C76E86C76F76F
+:08D5C0006C767761F26CF76CE8
+:08D5C80077F36D667370F26DDC
+:08D5D000747370F26D6FF66DCB
+:08D5D8006F76F36D75EC6D75C3
+:08D5E0006CE96D756CF56D75C9
+:08D5E8006C75E96E6FF06FF243
+:08D5F0006F72E93F3FBF726F4B
+:08D5F800EC726F6CE9726FF236
+:08D60000726F72E97274E472AA
+:08D6080074E57274E97274F319
+:08D6100073E273E37365E97333
+:08D61800E87368EC73686CE92B
+:08D620007368F2736872E9738C
+:08D628006872F573687275E980
+:08D630007374F07375E2737569
+:08D6380062F573F773796EE3EC
+:08D640007379F3746C6265EE6E
+:08D64800746C626469F3746CF8
+:08D650006272647265E7746CFC
+:08D658006277E9746C627772DD
+:08D660007265E77473F454686D
+:08D668006F72204465627567D2
+:08D670006765722028432920A0
+:08D678003230313520526F629F
+:08D680006572742046696E63B7
+:08D68800680001F74016C00024
+:08D69000016F1B8E01471BFA1C
+:08D6980001935B00C0019E5BE1
+:08D6A00089C0019E5B0BC15023
+:08D6A80000D0FF00019D2500E8
+:08D6B000300010019D2D002047
+:08D6B8000101C78080B30101EC
+:08D6C000865B00C0018E5B894E
+:08D6C800C0018E5B0BC101479C
+:08D6D0001B0601F701F401F74C
+:08D6D8004016C000016F1B8E1B
+:08D6E00001471BFA01935B00F6
+:08D6E800C0019E5B89C0019E98
+:08D6F0005B0BC15000D0FF00EC
+:08D6F800019D25003000100126
+:08D700009D2D00200101C780EE
+:08D70800C0B30101865B00C003
+:08D71000018E5B89C0018E5BF4
+:08D718000BC101471B0601F7DC
+:08D7200001F401F701471FFAB3
+:08D7280001935F0000019E5F08
+:08D730008900019E5F0B01500E
+:08D7380000D0FF00019D250057
+:08D74000300010019D2D004096
+:08D74800FC0706016F411520EA
+:08D750000101924000B401A7A1
+:08D758007F0130060C0191C0B5
+:08D760000FA001A1F101EA0193
+:08D768006F8600016F02000151
+:08D770006F0700019DBC0401DC
+:08D77800F701A9470F01F701B9
+:08D780009D3C0401F701A87DA6
+:08D788000101A1F1DAE90147FA
+:08D790004200019D7C0401F739
+:08D7980001A87D0101A1F1C708
+:08D7A000E9014742000147477F
+:08D7A800000120C70F0B3FC375
+:08D7B000013FFD01865F00004E
+:08D7B800018E5F8900018E5F04
+:08D7C0000B0101471F0601F7F0
+:08D7C80001F401F74016C00056
+:08D7D000016F1B8E01471FFAD7
+:08D7D80001935F0000019E5F58
+:08D7E0008900019E5F0B01505E
+:08D7E80000D0FF00019D2500A7
+:08D7F000300010019D2D000125
+:08D7F8006F010430060C0191E1
+:08D800004000A0016F0100309F
+:08D808000F0C01924080BE20CC
+:08D810000101844040B401470E
+:08D81800410020010192404093
+:08D82000B401865F0000018ED7
+:08D828005F8900018E5F0B0116
+:08D8300001471F0601F701F496
+:08D8380001F74016C000016F6A
+:08D840001B8E01471BF8019348
+:08D848005B00C0019E5B89C07A
+:08D85000019E5B0BC1019E5B10
+:08D8580084C15000D0FF000163
+:08D860009D2500300010019D20
+:08D868002D00016F01063006DE
+:08D870000C01914000A0016FC2
+:08D878004100300F0C01924049
+:08D8800080BE4000C0000186DB
+:08D8880040800001474100400F
+:08D8900000C00001934080007C
+:08D8980001865B00C0018E5BFC
+:08D8A00089C0018E5B0BC10180
+:08D8A8008E5B84C101471B08DF
+:08D8B00001F701F401F7401635
+:08D8B800C000016F1B8E014747
+:08D8C0001BFA01935B00C0019B
+:08D8C8009E5B89C0019E5B0B11
+:08D8D000C15000D0FF00019DD2
+:08D8D8002500300010019D2D18
+:08D8E00000016F010830060C85
+:08D8E80001914000A0016F81D5
+:08D8F00000300F0C0192408092
+:08D8F800BE200101C78080B4CD
+:08D900000101865B00C0018EED
+:08D908005B89C0018E5B0BC1BD
+:08D9100001471B0601F701F4B9
+:08D9180001F74016C000016F89
+:08D920001B8E01935B00C001A6
+:08D928009E5B89C001935B01C5
+:08D93000C15000D0FF00019D71
+:08D938002500016F011030060B
+:08D940000C01914000A030FF32
+:08D948000C01920000BE401822
+:08D950000006016F0111200126
+:08D9580001924000B401A85E39
+:08D960000101A1F18FE9014072
+:08D9680045101001A98107011F
+:08D97000865B00C0018E5B899B
+:08D97800C001865B01C101F74B
+:08D9800001F401F7016F8110B1
+:08D9880001A1F1FACF015441A5
+:08D9900000005001D1FF00016D
+:08D9980092400014016F81149C
+:08D9A00001A1F1E2CF015441A5
+:08D9A80000005001D1FF000155
+:08D9B00092404014016FC11206
+:08D9B80001A1F1CACF015441A5
+:08D9C00000005001D1FF00013D
+:08D9C80092408014016F8202FD
+:08D9D000016F060001A85D01D2
+:08D9D80001A1F18BE7016F8250
+:08D9E00002016F460001A85E80
+:08D9E8000101A1F17AE7016FD2
+:08D9F0008600016F0200016FC7
+:08D9F8000700019DBC0401F7CA
+:08DA000001A9470F01F7019D88
+:08DA08003C0401F701A87D01B7
+:08DA100001A1F153E7014742B7
+:08DA180000019D7C0401F701EF
+:08DA2000A87D0101A1F140E71E
+:08DA28000147420001474700DD
+:08DA30000120C70F0B3FC301E9
+:08DA38003FFD000000000000AA
+:08DA400001A20082D9FC0000E4
+:08DA480001A200B4D8FC0000AB
+:08DA500001A20038D8FC00001F
+:08DA580001A200CAD7FC000086
+:08DA6000016F3F0001A200224A
+:08DA6800D7FC000000000000E3
+:08DA700001A20090A8FC0000D7
+:08DA780001A20018D9FC000016
+:08DA800001A2006C0700000088
+:08DA880001A2006D070000007F
+:08DA900001A200D6D6FC000043
+:08DA980001A2008AD6FC000087
+:08DAA00001F400000000000089
+:08DAA80001F300000000000082
+:08DAB00000000000000000006E
+:08DAB800000000000000000066
+:08DAC00000000000000000005E
+:08DAC800000000000000000056
+:08DAD00000000000000000004E
+:08DAD800000000000000000046
+:08DAE00000000000000000003E
+:08DAE800000000000000000036
+:08DAF00000000000000000002E
+:08DAF800000000000000000026
+:08DB000000000000000000001D
+:08DB0800000000000000000015
+:08DB100000000000000000000D
+:08DB1800000000000000000005
+:08DB20000000000000000000FD
+:08DB28000000000000000000F5
+:08DB30000000000000000000ED
+:08DB38000000000000000000E5
+:08DB40000000000000000000DD
+:08DB48000000000000000000D5
+:08DB50000000000000000000CD
+:08DB58000000000000000000C5
+:08DB60000000000000000000BD
+:08DB68000000000000000000B5
+:08DB70000000000000000000AD
+:08DB78000000000000000000A5
+:08DB800000000000000000009D
+:08DB8800000000000000000095
+:08DB900000000000000000008D
+:08DB9800000000000000000085
+:08DBA00000000000000000007D
+:08DBA800000000000000000075
+:08DBB00000000000000000006D
+:08DBB800000000000000000065
+:08DBC00000000000000000005D
+:08DBC800000000000000000055
+:08DBD00000000000000000004D
+:08DBD800000000000000000045
+:08DBE00000000000000000003D
+:08DBE800000000000000000035
+:08DBF00000000000000000002D
+:08DBF800000000000000000025
+:08DC000000000000000000001C
+:08DC0800000000000000000014
+:08DC100000000000000000000C
+:08DC1800000000000000000004
+:08DC20000000000000000000FC
+:08DC28000000000000000000F4
+:08DC30000000000000000000EC
+:08DC38000000000000000000E4
+:08DC40000000000000000000DC
+:08DC48000000000000000000D4
+:08DC50000000000000000000CC
+:08DC58000000000000000000C4
+:08DC60000000000000000000BC
+:08DC68000000000000000000B4
+:08DC70000000000000000000AC
+:08DC78000000000000000000A4
+:08DC800000000000000000009C
+:08DC8800000000000000000094
+:08DC900000000000000000008C
+:08DC9800000000000000000084
+:08DCA00000000000000000007C
+:08DCA800000000000000000074
+:08DCB00000000000000000006C
+:08DCB800000000000000000064
+:08DCC00000000000000000005C
+:08DCC800000000000000000054
+:08DCD00000000000000000004C
+:08DCD800000000000000000044
+:08DCE00000000000000000003C
+:08DCE800000000000000000034
+:08DCF00000000000000000002C
+:08DCF800000000000000000024
+:08DD000000000000000000001B
+:08DD0800000000000000000013
+:08DD100000000000000000000B
+:08DD1800000000000000000003
+:08DD20000000000000000000FB
+:08DD28000000000000000000F3
+:08DD30000000000000000000EB
+:08DD38000000000000000000E3
+:08DD40000000000000000000DB
+:08DD48000000000000000000D3
+:08DD50000000000000000000CB
+:08DD58000000000000000000C3
+:08DD60000000000000000000BB
+:08DD68000000000000000000B3
+:08DD70000000000000000000AB
+:08DD78000000000000000000A3
+:08DD800000000000000000009B
+:08DD8800000000000000000093
+:08DD900000000000000000008B
+:08DD9800000000000000000083
+:08DDA00000000000000000007B
+:08DDA800000000000000000073
+:08DDB00000000000000000006B
+:08DDB800000000000000000063
+:08DDC00000000000000000005B
+:08DDC800000000000000000053
+:08DDD00000000000000000004B
+:08DDD800000000000000000043
+:08DDE00000000000000000003B
+:08DDE800000000000000000033
+:08DDF00000000000000000002B
+:08DDF800000000000000000023
+:08DE000000000000000000001A
+:08DE0800000000000000000012
+:08DE100000000000000000000A
+:08DE1800000000000000000002
+:08DE20000000000000000000FA
+:08DE28000000000000000000F2
+:08DE30000000000000000000EA
+:08DE38000000000000000000E2
+:08DE40000000000000000000DA
+:08DE48000000000000000000D2
+:08DE50000000000000000000CA
+:08DE58000000000000000000C2
+:08DE60000000000000000000BA
+:08DE68000000000000000000B2
+:08DE70000000000000000000AA
+:08DE78000000000000000000A2
+:08DE800000000000000000009A
+:08DE8800000000000000000092
+:08DE900000000000000000008A
+:08DE9800000000000000000082
+:08DEA00000000000000000007A
+:08DEA800000000000000000072
+:08DEB00000000000000000006A
+:08DEB800000000000000000062
+:08DEC00000000000000000005A
+:08DEC800000000000000000052
+:08DED00000000000000000004A
+:08DED800000000000000000042
+:08DEE00000000000000000003A
+:08DEE800000000000000000032
+:08DEF00000000000000000002A
+:08DEF800000000000000000022
+:08DF0000000000000000000019
+:08DF0800000000000000000011
+:08DF1000000000000000000009
+:08DF1800000000000000000001
+:08DF20000000000000000000F9
+:08DF28000000000000000000F1
+:08DF30000000000000000000E9
+:08DF38000000000000000000E1
+:08DF40000000000000000000D9
+:08DF48000000000000000000D1
+:08DF50000000000000000000C9
+:08DF58000000000000000000C1
+:08DF60000000000000000000B9
+:08DF68000000000000000000B1
+:08DF70000000000000000000A9
+:08DF78000000000000000000A1
+:08DF8000000000000000000099
+:08DF8800000000000000000091
+:08DF9000000000000000000089
+:08DF9800000000000000000081
+:08DFA000000000000000000079
+:08DFA800000000000000000071
+:08DFB000000000000000000069
+:08DFB800000000000000000061
+:08DFC000000000000000000059
+:08DFC800000000000000000051
+:08DFD000000000000000000049
+:08DFD800000000000000000041
+:08DFE000000000000000000039
+:08DFE800000000000000000031
+:08DFF000000000000000000029
+:08DFF800000000000000000021
+:08E00000000000010000000215
+:08E00800000000030001000408
+:08E010000000000500000006FD
+:08E018000001000700000000F8
+:08E0200046004D0054004B00C6
+:08E02800200049006E006900B0
+:08E030007400690061006C003E
+:08E0380069007A0069006E0026
+:08E040006700000053007400AA
+:08E04800610072007400540035
+:08E05000610073006B00200069
+:08E058006500720072006F0008
+:08E0600072003A0020002500C7
+:08E0680064000D000A00000035
+:08E07000490064006C0065002A
+:08E078005400610073006B000D
+:08E080003A00200043005400A7
+:08E0880052004C002D00430082
+:08E09000200070007200650021
+:08E098007300730065006400D1
+:08E0A0002E000D000A00000033
+:08E0A8004E006F00200065002E
+:08E0B0006E00740072006900AB
+:08E0B8006500730020006900FF
+:08E0C0006E00200072006500F3
+:08E0C8006100640079002000F2
+:08E0D000710075006500750088
+:08E0D80065002E0000000000AD
+:08E0E00025003300640020005C
+:08E0E800250033006400200054
+:08E0F000200025003000320081
+:08E0F800580020002000250063
+:08E1000030003400580020003B
+:08E1080025003000340058002E
+:08E1100020002500300034005E
+:08E11800580020002500300032
+:08E12000380058002000250022
+:08E128003000380058000D0022
+:08E130000A0000005700610025
+:08E138006900740069006E002B
+:08E1400067002000740061007B
+:08E1480073006B0073000D0071
+:08E150000A0000002500330065
+:08E158006400200025003300E3
+:08E160006400200020002500EE
+:08E168003000320058002000D5
+:08E170002000250030003400FE
+:08E178005800200025003000D2
+:08E180003400580020002500C6
+:08E188003000340058002000B3
+:08E190002500300038005800A2
+:08E198002000250030003800D2
+:08E1A00058000D000A00000008
+:08E1A800430050005500200067
+:08E1B00050007200690020001C
+:08E1B8005300740061007400C3
+:08E1C00020005400610073000F
+:08E1C8006B0020005000720002
+:08E1D0006500760020004E00FE
+:08E1D8006500780074002000CE
+:08E1E000540069006D006500A8
+:08E1E8006F00750074000D00CA
+:08E1F0000A000000000000001D
+:08E1F80000000000000000001F
+:08E200006200610064002000CF
+:08E20800760069006400650066
+:08E210006F00200072006500A0
+:08E2180067006E006F003A0080
+:08E2200020002500640000004D
+:08E228000000000000000000EE
+:08E2300025002E003800340027
+:08E23800730000000D000A0054
+:08E2400024003E000000000074
+:08E248000000000000000000CE
+:08E250000000000000000000C6
+:08E258000000000000000000BE
+:08E260000000000000000000B6
+:08E268000000000000000000AE
+:08E270000000000000000000A6
+:08E2780000000000000000009E
+:08E28000000000000000000096
+:08E2880000000000000000008E
+:08E29000000000000000000086
+:08E2980000000000000000007E
+:08E2A000000000000000000076
+:08E2A80000000000000000006E
+:08E2B000000000000000000066
+:08E2B80000000000000000005E
+:08E2C000000000000000000056
+:08E2C80000000000000000004E
+:08E2D000000000000000000046
+:08E2D80000000000000000003E
+:08E2E000000000000000000036
+:08E2E80000000000000000002E
+:08E2F000000000000000000026
+:08E2F80000000000000000001E
+:08E30000000000000000000015
+:08E3080000000000000000000D
+:08E31000000000000000000005
+:08E318000000000000000000FD
+:08E320000000000000000000F5
+:08E328000000000000000000ED
+:08E330000000000000000000E5
+:08E338000000000000000000DD
+:08E340000000000000000000D5
+:08E348000000000000000000CD
+:08E350000000000000000000C5
+:08E358000000000000000000BD
+:08E360000000000000000000B5
+:08E368000000000000000000AD
+:08E370000000000000000000A5
+:08E3780000000000000000009D
+:08E38000000000000000000095
+:08E3880000000000000000008D
+:08E39000000000000000000085
+:08E3980000000000000000007D
+:08E3A000000000000000000075
+:08E3A80000000000000000006D
+:08E3B000000000000000000065
+:08E3B80000000000000000005D
+:08E3C000000000000000000055
+:08E3C80000000000000000004D
+:08E3D000000000000000000045
+:08E3D80000000000000000003D
+:08E3E000000000000000000035
+:08E3E80000000000000000002D
+:08E3F000000000000000000025
+:08E3F80000000000000000001D
+:08E40000000000000000000014
+:08E4080000000000000000000C
+:08E41000000000000000000004
+:08E418000000000000000000FC
+:08E420000000000000000000F4
+:08E428000000000000000000EC
+:08E430000000000000000000E4
+:08E438000000000000000000DC
+:08E440000000000000000000D4
+:08E448000000000000000000CC
+:08E450000000000000000000C4
+:08E458000000000000000000BC
+:08E460000000000000000000B4
+:08E468000000000000000000AC
+:08E470000000000000000000A4
+:08E4780000000000000000009C
+:08E48000000000000000000094
+:08E4880000000000000000008C
+:08E49000000000000000000084
+:08E4980000000000000000007C
+:08E4A000000000000000000074
+:08E4A80000000000000000006C
+:08E4B000000000000000000064
+:08E4B80000000000000000005C
+:08E4C000000000000000000054
+:08E4C80000000000000000004C
+:08E4D000000000000000000044
+:08E4D80000000000000000003C
+:08E4E000000000000000000034
+:08E4E80000000000000000002C
+:08E4F000000000000000000024
+:08E4F80000000000000000001C
+:08E50000000000000000000013
+:08E5080000000000000000000B
+:08E51000000000000000000003
+:08E518000000000000000000FB
+:08E520000000000000000000F3
+:08E528000000000000000000EB
+:08E530000000000000000000E3
+:08E538000000000000000000DB
+:08E540000000000000000000D3
+:08E548000000000000000000CB
+:08E550000000000000000000C3
+:08E558000000000000000000BB
+:08E560000000000000000000B3
+:08E568000000000000000000AB
+:08E570000000000000000000A3
+:08E5780000000000000000009B
+:08E58000000000000000000093
+:08E5880000000000000000008B
+:08E59000000000000000000083
+:08E5980000000000000000007B
+:08E5A000000000000000000073
+:08E5A80000000000000000006B
+:08E5B000000000000000000063
+:08E5B80000000000000000005B
+:08E5C000000000000000000053
+:08E5C80000000000000000004B
+:08E5D000000000000000000043
+:08E5D80000000000000000003B
+:08E5E000000000000000000033
+:08E5E80000000000000000002B
+:08E5F000000000000000000023
+:08E5F80000000000000000001B
+:08E60000000000000000000012
+:08E6080000000000000000000A
+:08E61000000000000000000002
+:08E618000000000000000000FA
+:08E620000000000000000000F2
+:08E628000000000000000000EA
+:08E630000000000000000000E2
+:08E638000000000000000000DA
+:08E640000000000000000000D2
+:08E648000000000000000000CA
+:08E650000000000000000000C2
+:08E658000000000000000000BA
+:08E660000000000000000000B2
+:08E668000000000000000000AA
+:08E670000000000000000000A2
+:08E6780000000000000000009A
+:08E68000000000000000000092
+:08E6880000000000000000008A
+:08E69000000000000000000082
+:08E6980000000000000000007A
+:08E6A000000000000000000072
+:08E6A80000000000000000006A
+:08E6B000000000000000000062
+:08E6B80000000000000000005A
+:08E6C000000000000000000052
+:08E6C80000000000000000004A
+:08E6D000000000000000000042
+:08E6D80000000000000000003A
+:08E6E000000000000000000032
+:08E6E80000000000000000002A
+:08E6F000000000000000000022
+:08E6F80000000000000000001A
+:08E70000000000000000000011
+:08E70800000000000000000009
+:08E71000000000000000000001
+:08E718000000000000000000F9
+:08E720000000000000000000F1
+:08E728000000000000000000E9
+:08E730000000000000000000E1
+:08E738000000000000000000D9
+:08E740000000000000000000D1
+:08E748000000000000000000C9
+:08E750000000000000000000C1
+:08E758000000000000000000B9
+:08E760000000000000000000B1
+:08E768000000000000000000A9
+:08E770000000000000000000A1
+:08E77800000000000000000099
+:08E78000000000000000000091
+:08E78800000000000000000089
+:08E79000000000000000000081
+:08E79800000000000000000079
+:08E7A000000000000000000071
+:08E7A800000000000000000069
+:08E7B000000000000000000061
+:08E7B800000000000000000059
+:08E7C000000000000000000051
+:08E7C800000000000000000049
+:08E7D000000000000000000041
+:08E7D800000000000000000039
+:08E7E000000000000000000031
+:08E7E800000000000000000029
+:08E7F000000000000000000021
+:08E7F800000000000000000019
+:08E80000000000000000000010
+:08E80800000000000000000008
+:08E81000000000000000000000
+:08E818000000000000000000F8
+:08E820000000000000000000F0
+:08E828000000000000000000E8
+:08E830000000000000000000E0
+:08E838000000000000000000D8
+:08E840000000000000000000D0
+:08E848000000000000000000C8
+:08E850000000000000000000C0
+:08E858000000000000000000B8
+:08E860000000000000000000B0
+:08E868000000000000000000A8
+:08E870000000000000000000A0
+:08E87800000000000000000098
+:08E88000000000000000000090
+:08E88800000000000000000088
+:08E89000000000000000000080
+:08E89800000000000000000078
+:08E8A000000000000000000070
+:08E8A800000000000000000068
+:08E8B000000000000000000060
+:08E8B800000000000000000058
+:08E8C000000000000000000050
+:08E8C800000000000000000048
+:08E8D000000000000000000040
+:08E8D800000000000000000038
+:08E8E000000000000000000030
+:08E8E800000000000000000028
+:08E8F000000000000000000020
+:08E8F800000000000000000018
+:08E9000000000000000000000F
+:08E90800000000000000000007
+:08E910000000000000000000FF
+:08E918000000000000000000F7
+:08E920000000000000000000EF
+:08E928000000000000000000E7
+:08E930000000000000000000DF
+:08E938000000000000000000D7
+:08E940000000000000000000CF
+:08E948000000000000000000C7
+:08E950000000000000000000BF
+:08E958000000000000000000B7
+:08E960000000000000000000AF
+:08E968000000000000000000A7
+:08E9700000000000000000009F
+:08E97800000000000000000097
+:08E9800000000000000000008F
+:08E98800000000000000000087
+:08E9900000000000000000007F
+:08E99800000000000000000077
+:08E9A00000000000000000006F
+:08E9A800000000000000000067
+:08E9B00000000000000000005F
+:08E9B800000000000000000057
+:08E9C00000000000000000004F
+:08E9C800000000000000000047
+:08E9D00000000000000000003F
+:08E9D800000000000000000037
+:08E9E00000000000000000002F
+:08E9E800000000000000000027
+:08E9F00000000000000000001F
+:08E9F800000000000000000017
+:08EA000000000000000000000E
+:08EA0800000000000000000006
+:08EA10000000000000000000FE
+:08EA18000000000000000000F6
+:08EA20000000000000000000EE
+:08EA28000000000000000000E6
+:08EA30000000000000000000DE
+:08EA38000000000000000000D6
+:08EA40000000000000000000CE
+:08EA48000000000000000000C6
+:08EA50000000000000000000BE
+:08EA58000000000000000000B6
+:08EA60000000000000000000AE
+:08EA68000000000000000000A6
+:08EA700000000000000000009E
+:08EA7800000000000000000096
+:08EA800000000000000000008E
+:08EA8800000000000000000086
+:08EA900000000000000000007E
+:08EA9800000000000000000076
+:08EAA00000000000000000006E
+:08EAA800000000000000000066
+:08EAB00000000000000000005E
+:08EAB800000000000000000056
+:08EAC00000000000000000004E
+:08EAC800000000000000000046
+:08EAD00000000000000000003E
+:08EAD800000000000000000036
+:08EAE00000000000000000002E
+:08EAE800000000000000000026
+:08EAF00000000000000000001E
+:08EAF800000000000000000016
+:08EB000000000000000000000D
+:08EB0800000000000000000005
+:08EB10000000000000000000FD
+:08EB18000000000000000000F5
+:08EB20000000000000000000ED
+:08EB28000000000000000000E5
+:08EB30000000000000000000DD
+:08EB38000000000000000000D5
+:08EB40000000000000000000CD
+:08EB48000000000000000000C5
+:08EB50000000000000000000BD
+:08EB58000000000000000000B5
+:08EB60000000000000000000AD
+:08EB68000000000000000000A5
+:08EB700000000000000000009D
+:08EB7800000000000000000095
+:08EB800000000000000000008D
+:08EB8800000000000000000085
+:08EB900000000000000000007D
+:08EB9800000000000000000075
+:08EBA00000000000000000006D
+:08EBA800000000000000000065
+:08EBB00000000000000000005D
+:08EBB800000000000000000055
+:08EBC00000000000000000004D
+:08EBC800000000000000000045
+:08EBD00000000000000000003D
+:08EBD800000000000000000035
+:08EBE00000000000000000002D
+:08EBE800000000000000000025
+:08EBF00000000000000000001D
+:08EBF800000000000000000015
+:08EC000000000000000000000C
+:08EC0800000000000000000004
+:08EC10000000000000000000FC
+:08EC18000000000000000000F4
+:08EC20000000000000000000EC
+:08EC28000000000000000000E4
+:08EC30000000000000000000DC
+:08EC38000000000000000000D4
+:08EC40000000000000000000CC
+:08EC48000000000000000000C4
+:08EC50000000000000000000BC
+:08EC58000000000000000000B4
+:08EC60000000000000000000AC
+:08EC68000000000000000000A4
+:08EC700000000000000000009C
+:08EC7800000000000000000094
+:08EC800000000000000000008C
+:08EC8800000000000000000084
+:08EC900000000000000000007C
+:08EC9800000000000000000074
+:08ECA00000000000000000006C
+:08ECA800000000000000000064
+:08ECB00000000000000000005C
+:08ECB800000000000000000054
+:08ECC00000000000000000004C
+:08ECC800000000000000000044
+:08ECD00000000000000000003C
+:08ECD800000000000000000034
+:08ECE00000000000000000002C
+:08ECE800000000000000000024
+:08ECF00000000000000000001C
+:08ECF800000000000000000014
+:08ED000000000000000000000B
+:08ED0800000000000000000003
+:08ED10000000000000000000FB
+:08ED18000000000000000000F3
+:08ED20000000000000000000EB
+:08ED28000000000000000000E3
+:08ED30000000000000000000DB
+:08ED38000000000000000000D3
+:08ED40000000000000000000CB
+:08ED48000000000000000000C3
+:08ED50000000000000000000BB
+:08ED58000000000000000000B3
+:08ED60000000000000000000AB
+:08ED68000000000000000000A3
+:08ED700000000000000000009B
+:08ED7800000000000000000093
+:08ED800000000000000000008B
+:08ED8800000000000000000083
+:08ED900000000000000000007B
+:08ED9800000000000000000073
+:08EDA00000000000000000006B
+:08EDA800000000000000000063
+:08EDB00000000000000000005B
+:08EDB800000000000000000053
+:08EDC00000000000000000004B
+:08EDC800000000000000000043
+:08EDD00000000000000000003B
+:08EDD800000000000000000033
+:08EDE00000000000000000002B
+:08EDE800000000000000000023
+:08EDF00000000000000000001B
+:08EDF800000000000000000013
+:08EE000000000000000000000A
+:08EE0800000000000000000002
+:08EE10000000000000000000FA
+:08EE18000000000000000000F2
+:08EE20000000000000000000EA
+:08EE28000000000000000000E2
+:08EE30000000000000000000DA
+:08EE38000000000000000000D2
+:08EE40000000000000000000CA
+:08EE48000000000000000000C2
+:08EE50000000000000000000BA
+:08EE58000000000000000000B2
+:08EE60000000000000000000AA
+:08EE68000000000000000000A2
+:08EE700000000000000000009A
+:08EE7800000000000000000092
+:08EE800000000000000000008A
+:08EE8800000000000000000082
+:08EE900000000000000000007A
+:08EE9800000000000000000072
+:08EEA00000000000000000006A
+:08EEA800000000000000000062
+:08EEB00000000000000000005A
+:08EEB800000000000000000052
+:08EEC00000000000000000004A
+:08EEC800000000000000000042
+:08EED00000000000000000003A
+:08EED800000000000000000032
+:08EEE00000000000000000002A
+:08EEE800000000000000000022
+:08EEF00000000000000000001A
+:08EEF800000000000000000012
+:08EF0000000000000000000009
+:08EF0800000000000000000001
+:08EF10000000000000000000F9
+:08EF18000000000000000000F1
+:08EF20000000000000000000E9
+:08EF28000000000000000000E1
+:08EF30000000000000000000D9
+:08EF38000000000000000000D1
+:08EF40000000000000000000C9
+:08EF48000000000000000000C1
+:08EF50000000000000000000B9
+:08EF58000000000000000000B1
+:08EF60000000000000000000A9
+:08EF68000000000000000000A1
+:08EF7000000000000000000099
+:08EF7800000000000000000091
+:08EF8000000000000000000089
+:08EF8800000000000000000081
+:08EF9000000000000000000079
+:08EF9800000000000000000071
+:08EFA000000000000000000069
+:08EFA800000000000000000061
+:08EFB000000000000000000059
+:08EFB800000000000000000051
+:08EFC000000000000000000049
+:08EFC800000000000000000041
+:08EFD000000000000000000039
+:08EFD800000000000000000031
+:08EFE000000000000000000029
+:08EFE800000000000000000021
+:08EFF000000000000000000019
+:08EFF800000000000000000011
+:08F00000000000000000000008
+:08F00800000000000000000000
+:08F010000000000000000000F8
+:08F018000000000000000000F0
+:08F020000000000000000000E8
+:08F028000000000000000000E0
+:08F030000000000000000000D8
+:08F038000000000000000000D0
+:08F040000000000000000000C8
+:08F048000000000000000000C0
+:08F050000000000000000000B8
+:08F058000000000000000000B0
+:08F060000000000000000000A8
+:08F068000000000000000000A0
+:08F07000000000000000000098
+:08F07800000000000000000090
+:08F08000000000000000000088
+:08F08800000000000000000080
+:08F09000000000000000000078
+:08F09800000000000000000070
+:08F0A000000000000000000068
+:08F0A800000000000000000060
+:08F0B000000000000000000058
+:08F0B800000000000000000050
+:08F0C000000000000000000048
+:08F0C800000000000000000040
+:08F0D000000000000000000038
+:08F0D800000000000000000030
+:08F0E000000000000000000028
+:08F0E800000000000000000020
+:08F0F000000000000000000018
+:08F0F800000000000000000010
+:08F10000000000000000000007
+:08F108000000000000000000FF
+:08F110000000000000000000F7
+:08F118000000000000000000EF
+:08F120000000000000000000E7
+:08F128000000000000000000DF
+:08F130000000000000000000D7
+:08F138000000000000000000CF
+:08F140000000000000000000C7
+:08F148000000000000000000BF
+:08F150000000000000000000B7
+:08F158000000000000000000AF
+:08F160000000000000000000A7
+:08F1680000000000000000009F
+:08F17000000000000000000097
+:08F1780000000000000000008F
+:08F18000000000000000000087
+:08F1880000000000000000007F
+:08F19000000000000000000077
+:08F1980000000000000000006F
+:08F1A000000000000000000067
+:08F1A80000000000000000005F
+:08F1B000000000000000000057
+:08F1B80000000000000000004F
+:08F1C000000000000000000047
+:08F1C80000000000000000003F
+:08F1D000000000000000000037
+:08F1D80000000000000000002F
+:08F1E000000000000000000027
+:08F1E80000000000000000001F
+:08F1F000000000000000000017
+:08F1F80000000000000000000F
+:08F20000000000000000000006
+:08F208000000000000000000FE
+:08F210000000000000000000F6
+:08F218000000000000000000EE
+:08F220000000000000000000E6
+:08F228000000000000000000DE
+:08F230000000000000000000D6
+:08F238000000000000000000CE
+:08F240000000000000000000C6
+:08F248000000000000000000BE
+:08F250000000000000000000B6
+:08F258000000000000000000AE
+:08F260000000000000000000A6
+:08F2680000000000000000009E
+:08F27000000000000000000096
+:08F2780000000000000000008E
+:08F28000000000000000000086
+:08F2880000000000000000007E
+:08F29000000000000000000076
+:08F2980000000000000000006E
+:08F2A000000000000000000066
+:08F2A80000000000000000005E
+:08F2B000000000000000000056
+:08F2B80000000000000000004E
+:08F2C000000000000000000046
+:08F2C80000000000000000003E
+:08F2D000000000000000000036
+:08F2D80000000000000000002E
+:08F2E000000000000000000026
+:08F2E80000000000000000001E
+:08F2F000000000000000000016
+:08F2F80000000000000000000E
+:08F30000000000000000000005
+:08F308000000000000000000FD
+:08F310000000000000000000F5
+:08F318000000000000000000ED
+:08F320000000000000000000E5
+:08F328000000000000000000DD
+:08F330000000000000000000D5
+:08F338000000000000000000CD
+:08F340000000000000000000C5
+:08F348000000000000000000BD
+:08F350000000000000000000B5
+:08F358000000000000000000AD
+:08F360000000000000000000A5
+:08F3680000000000000000009D
+:08F37000000000000000000095
+:08F3780000000000000000008D
+:08F38000000000000000000085
+:08F3880000000000000000007D
+:08F39000000000000000000075
+:08F3980000000000000000006D
+:08F3A000000000000000000065
+:08F3A80000000000000000005D
+:08F3B000000000000000000055
+:08F3B80000000000000000004D
+:08F3C000000000000000000045
+:08F3C80000000000000000003D
+:08F3D000000000000000000035
+:08F3D80000000000000000002D
+:08F3E000000000000000000025
+:08F3E80000000000000000001D
+:08F3F000000000000000000015
+:08F3F80000000000000000000D
+:08F40000000000000000000004
+:08F408000000000000000000FC
+:08F410000000000000000000F4
+:08F418000000000000000000EC
+:08F420000000000000000000E4
+:08F428000000000000000000DC
+:08F430000000000000000000D4
+:08F438000000000000000000CC
+:08F440000000000000000000C4
+:08F448000000000000000000BC
+:08F450000000000000000000B4
+:08F458000000000000000000AC
+:08F460000000000000000000A4
+:08F4680000000000000000009C
+:08F47000000000000000000094
+:08F4780000000000000000008C
+:08F48000000000000000000084
+:08F4880000000000000000007C
+:08F49000000000000000000074
+:08F4980000000000000000006C
+:08F4A000000000000000000064
+:08F4A80000000000000000005C
+:08F4B000000000000000000054
+:08F4B80000000000000000004C
+:08F4C000000000000000000044
+:08F4C80000000000000000003C
+:08F4D000000000000000000034
+:08F4D80000000000000000002C
+:08F4E000000000000000000024
+:08F4E80000000000000000001C
+:08F4F000000000000000000014
+:08F4F80000000000000000000C
+:08F50000000000000000000003
+:08F508000000000000000000FB
+:08F510000000000000000000F3
+:08F518000000000000000000EB
+:08F520000000000000000000E3
+:08F528000000000000000000DB
+:08F530000000000000000000D3
+:08F538000000000000000000CB
+:08F540000000000000000000C3
+:08F548000000000000000000BB
+:08F550000000000000000000B3
+:08F558000000000000000000AB
+:08F560000000000000000000A3
+:08F5680000000000000000009B
+:08F57000000000000000000093
+:08F5780000000000000000008B
+:08F58000000000000000000083
+:08F5880000000000000000007B
+:08F59000000000000000000073
+:08F5980000000000000000006B
+:08F5A000000000000000000063
+:08F5A80000000000000000005B
+:08F5B000000000000000000053
+:08F5B80000000000000000004B
+:08F5C000000000000000000043
+:08F5C80000000000000000003B
+:08F5D000000000000000000033
+:08F5D80000000000000000002B
+:08F5E000000000000000000023
+:08F5E80000000000000000001B
+:08F5F000000000000000000013
+:08F5F80000000000000000000B
+:08F60000000000000000000002
+:08F608000000000000000000FA
+:08F610000000000000000000F2
+:08F618000000000000000000EA
+:08F620000000000000000000E2
+:08F628000000000000000000DA
+:08F630000000000000000000D2
+:08F638000000000000000000CA
+:08F640000000000000000000C2
+:08F648000000000000000000BA
+:08F650000000000000000000B2
+:08F658000000000000000000AA
+:08F660000000000000000000A2
+:08F6680000000000000000009A
+:08F67000000000000000000092
+:08F6780000000000000000008A
+:08F68000000000000000000082
+:08F6880000000000000000007A
+:08F69000000000000000000072
+:08F6980000000000000000006A
+:08F6A000000000000000000062
+:08F6A80000000000000000005A
+:08F6B000000000000000000052
+:08F6B80000000000000000004A
+:08F6C000000000000000000042
+:08F6C80000000000000000003A
+:08F6D000000000000000000032
+:08F6D80000000000000000002A
+:08F6E000000000000000000022
+:08F6E80000000000000000001A
+:08F6F000000000000000000012
+:08F6F80000000000000000000A
+:08F70000000000000000000001
+:08F708000000000000000000F9
+:08F710000000000000000000F1
+:08F718000000000000000000E9
+:08F720000000000000000000E1
+:08F728000000000000000000D9
+:08F730000000000000000000D1
+:08F738000000000000000000C9
+:08F740000000000000000000C1
+:08F748000000000000000000B9
+:08F750000000000000000000B1
+:08F758000000000000000000A9
+:08F760000000000000000000A1
+:08F76800000000000000000099
+:08F77000000000000000000091
+:08F77800000000000000000089
+:08F78000000000000000000081
+:08F78800000000000000000079
+:08F79000000000000000000071
+:08F79800000000000000000069
+:08F7A000000000000000000061
+:08F7A800000000000000000059
+:08F7B000000000000000000051
+:08F7B800000000000000000049
+:08F7C000000000000000000041
+:08F7C800000000000000000039
+:08F7D000000000000000000031
+:08F7D800000000000000000029
+:08F7E000000000000000000021
+:08F7E800000000000000000019
+:08F7F000000000000000000011
+:08F7F800000000000000000009
+:08F80000000000000000000000
+:08F808000000000000000000F8
+:08F810000000000000000000F0
+:08F818000000000000000000E8
+:08F820000000000000000000E0
+:08F828000000000000000000D8
+:08F830000000000000000000D0
+:08F838000000000000000000C8
+:08F840000000000000000000C0
+:08F848000000000000000000B8
+:08F850000000000000000000B0
+:08F858000000000000000000A8
+:08F860000000000000000000A0
+:08F86800000000000000000098
+:08F87000000000000000000090
+:08F87800000000000000000088
+:08F88000000000000000000080
+:08F88800000000000000000078
+:08F89000000000000000000070
+:08F89800000000000000000068
+:08F8A000000000000000000060
+:08F8A800000000000000000058
+:08F8B000000000000000000050
+:08F8B800000000000000000048
+:08F8C000000000000000000040
+:08F8C800000000000000000038
+:08F8D000000000000000000030
+:08F8D800000000000000000028
+:08F8E000000000000000000020
+:08F8E800000000000000000018
+:08F8F000000000000000000010
+:08F8F800000000000000000008
+:08F900000000000000000000FF
+:08F908000000000000000000F7
+:08F910000000000000000000EF
+:08F918000000000000000000E7
+:08F920000000000000000000DF
+:08F928000000000000000000D7
+:08F930000000000000000000CF
+:08F938000000000000000000C7
+:08F940000000000000000000BF
+:08F948000000000000000000B7
+:08F950000000000000000000AF
+:08F958000000000000000000A7
+:08F9600000000000000000009F
+:08F96800000000000000000097
+:08F9700000000000000000008F
+:08F97800000000000000000087
+:08F9800000000000000000007F
+:08F98800000000000000000077
+:08F9900000000000000000006F
+:08F99800000000000000000067
+:08F9A00000000000000000005F
+:08F9A800000000000000000057
+:08F9B00000000000000000004F
+:08F9B800000000000000000047
+:08F9C00000000000000000003F
+:08F9C800000000000000000037
+:08F9D00000000000000000002F
+:08F9D800000000000000000027
+:08F9E00000000000000000001F
+:08F9E800000000000000000017
+:08F9F00000000000000000000F
+:08F9F800000000000000000007
+:08FA00000000000000000000FE
+:08FA08000000000000000000F6
+:08FA10000000000000000000EE
+:08FA18000000000000000000E6
+:08FA20000000000000000000DE
+:08FA28000000000000000000D6
+:08FA30000000000000000000CE
+:08FA38000000000000000000C6
+:08FA40000000000000000000BE
+:08FA48000000000000000000B6
+:08FA50000000000000000000AE
+:08FA58000000000000000000A6
+:08FA600000000000000000009E
+:08FA6800000000000000000096
+:08FA700000000000000000008E
+:08FA7800000000000000000086
+:08FA800000000000000000007E
+:08FA8800000000000000000076
+:08FA900000000000000000006E
+:08FA9800000000000000000066
+:08FAA00000000000000000005E
+:08FAA800000000000000000056
+:08FAB00000000000000000004E
+:08FAB800000000000000000046
+:08FAC00000000000000000003E
+:08FAC800000000000000000036
+:08FAD00000000000000000002E
+:08FAD800000000000000000026
+:08FAE00000000000000000001E
+:08FAE800000000000000000016
+:08FAF00000000000000000000E
+:08FAF800000000000000000006
+:08FB00000000000000000000FD
+:08FB08000000000000000000F5
+:08FB10000000000000000000ED
+:08FB18000000000000000000E5
+:08FB20000000000000000000DD
+:08FB28000000000000000000D5
+:08FB30000000000000000000CD
+:08FB38000000000000000000C5
+:08FB40000000000000000000BD
+:08FB48000000000000000000B5
+:08FB50000000000000000000AD
+:08FB58000000000000000000A5
+:08FB600000000000000000009D
+:08FB6800000000000000000095
+:08FB700000000000000000008D
+:08FB7800000000000000000085
+:08FB800000000000000000007D
+:08FB8800000000000000000075
+:08FB900000000000000000006D
+:08FB9800000000000000000065
+:08FBA00000000000000000005D
+:08FBA800000000000000000055
+:08FBB00000000000000000004D
+:08FBB800000000000000000045
+:08FBC00000000000000000003D
+:08FBC800000000000000000035
+:08FBD00000000000000000002D
+:08FBD800000000000000000025
+:08FBE00000000000000000001D
+:08FBE800000000000000000015
+:08FBF00000000000000000000D
+:08FBF800000000000000000005
+:08FC00000000000000000000FC
+:08FC08000000000000000000F4
+:08FC10000000000000000000EC
+:08FC18000000000000000000E4
+:08FC20000000000000000000DC
+:08FC28000000000000000000D4
+:08FC30000000000000000000CC
+:08FC38000000000000000000C4
+:08FC40000000000000000000BC
+:08FC48000000000000000000B4
+:08FC50000000000000000000AC
+:08FC58000000000000000000A4
+:08FC600000000000000000009C
+:08FC6800000000000000000094
+:08FC700000000000000000008C
+:08FC7800000000000000000084
+:08FC800000000000000000007C
+:08FC8800000000000000000074
+:08FC900000000000000000006C
+:08FC9800000000000000000064
+:08FCA00000000000000000005C
+:08FCA800000000000000000054
+:08FCB00000000000000000004C
+:08FCB800000000000000000044
+:08FCC00000000000000000003C
+:08FCC800000000000000000034
+:08FCD00000000000000000002C
+:08FCD800000000000000000024
+:08FCE00000000000000000001C
+:08FCE800000000000000000014
+:08FCF00000000000000000000C
+:08FCF800000000000000000004
+:08FD00000000000000000000FB
+:08FD08000000000000000000F3
+:08FD10000000000000000000EB
+:08FD18000000000000000000E3
+:08FD20000000000000000000DB
+:08FD28000000000000000000D3
+:08FD30000000000000000000CB
+:08FD38000000000000000000C3
+:08FD40000000000000000000BB
+:08FD48000000000000000000B3
+:08FD50000000000000000000AB
+:08FD58000000000000000000A3
+:08FD600000000000000000009B
+:08FD6800000000000000000093
+:08FD700000000000000000008B
+:08FD7800000000000000000083
+:08FD800000000000000000007B
+:08FD8800000000000000000073
+:08FD900000000000000000006B
+:08FD9800000000000000000063
+:08FDA00000000000000000005B
+:08FDA800000000000000000053
+:08FDB00000000000000000004B
+:08FDB800000000000000000043
+:08FDC00000000000000000003B
+:08FDC800000000000000000033
+:08FDD00000000000000000002B
+:08FDD800000000000000000023
+:08FDE00000000000000000001B
+:08FDE800000000000000000013
+:08FDF00000000000000000000B
+:08FDF800000000000000000003
+:08FE00000000000000000000FA
+:08FE08000000000000000000F2
+:08FE10000000000000000000EA
+:08FE18000000000000000000E2
+:08FE20000000000000000000DA
+:08FE28000000000000000000D2
+:08FE30000000000000000000CA
+:08FE38000000000000000000C2
+:08FE40000000000000000000BA
+:08FE48000000000000000000B2
+:08FE50000000000000000000AA
+:08FE58000000000000000000A2
+:08FE600000000000000000009A
+:08FE6800000000000000000092
+:08FE700000000000000000008A
+:08FE7800000000000000000082
+:08FE800000000000000000007A
+:08FE8800000000000000000072
+:08FE900000000000000000006A
+:08FE9800000000000000000062
+:08FEA00000000000000000005A
+:08FEA800000000000000000052
+:08FEB00000000000000000004A
+:08FEB800000000000000000042
+:08FEC00000000000000000003A
+:08FEC800000000000000000032
+:08FED00000000000000000002A
+:08FED800000000000000000022
+:08FEE00000000000000000001A
+:08FEE800000000000000000012
+:08FEF00000000000000000000A
+:08FEF800000000000000000002
+:08FF00000000000000000000F9
+:08FF08000000000000000000F1
+:08FF10000000000000000000E9
+:08FF18000000000000000000E1
+:08FF20000000000000000000D9
+:08FF28000000000000000000D1
+:08FF30000000000000000000C9
+:08FF38000000000000000000C1
+:08FF40000000000000000000B9
+:08FF48000000000000000000B1
+:08FF50000000000000000000A9
+:08FF58000000000000000000A1
+:08FF6000000000000000000099
+:08FF6800000000000000000091
+:08FF7000000000000000000089
+:08FF7800000000000000000081
+:08FF8000000000000000000079
+:08FF8800000000000000000071
+:08FF9000000000000000000069
+:08FF9800000000000000000061
+:08FFA000000000000000000059
+:08FFA800000000000000000051
+:08FFB000000000000000000049
+:08FFB800000000000000000041
+:08FFC000000000000000000039
+:08FFC800000000000000000031
+:08FFD000000000000000000029
+:08FFD800000000000000000021
+:08FFE000000000000000000019
+:08FFE800000000000000000011
+:08FFF000000000000000000009
+:08FFF800000000000000000001
+:02000004FFFDFE
+:080000000000000000000000F8
+:080008000000000000000000F0
+:080010000000000000000000E8
+:080018000000000000000000E0
+:080020000000000000000000D8
+:080028000000000000000000D0
+:080030000000000000000000C8
+:080038000000000000000000C0
+:080040000000000000000000B8
+:080048000000000000000000B0
+:080050000000000000000000A8
+:080058000000000000000000A0
+:08006000000000000000000098
+:08006800000000000000000090
+:08007000000000000000000088
+:08007800000000000000000080
+:08008000000000000000000078
+:08008800000000000000000070
+:08009000000000000000000068
+:08009800000000000000000060
+:0800A000000000000000000058
+:0800A800000000000000000050
+:0800B000000000000000000048
+:0800B800000000000000000040
+:0800C000000000000000000038
+:0800C800000000000000000030
+:0800D000000000000000000028
+:0800D800000000000000000020
+:0800E000000000000000000018
+:0800E800000000000000000010
+:0800F000000000000000000008
+:0800F800000000000000000000
+:080100000000000000000000F7
+:080108000000000000000000EF
+:080110000000000000000000E7
+:080118000000000000000000DF
+:080120000000000000000000D7
+:080128000000000000000000CF
+:080130000000000000000000C7
+:080138000000000000000000BF
+:080140000000000000000000B7
+:080148000000000000000000AF
+:080150000000000000000000A7
+:0801580000000000000000009F
+:08016000000000000000000097
+:0801680000000000000000008F
+:08017000000000000000000087
+:0801780000000000000000007F
+:08018000000000000000000077
+:0801880000000000000000006F
+:08019000000000000000000067
+:0801980000000000000000005F
+:0801A000000000000000000057
+:0801A80000000000000000004F
+:0801B000000000000000000047
+:0801B80000000000000000003F
+:0801C000000000000000000037
+:0801C80000000000000000002F
+:0801D000000000000000000027
+:0801D80000000000000000001F
+:0801E000000000000000000017
+:0801E80000000000000000000F
+:0801F000000000000000000007
+:0801F8000000000000000000FF
+:080200000000000000000000F6
+:080208000000000000000000EE
+:080210000000000000000000E6
+:080218000000000000000000DE
+:080220000000000000000000D6
+:080228000000000000000000CE
+:080230000000000000000000C6
+:080238000000000000000000BE
+:080240000000000000000000B6
+:080248000000000000000000AE
+:080250000000000000000000A6
+:0802580000000000000000009E
+:08026000000000000000000096
+:0802680000000000000000008E
+:08027000000000000000000086
+:0802780000000000000000007E
+:08028000000000000000000076
+:0802880000000000000000006E
+:08029000000000000000000066
+:0802980000000000000000005E
+:0802A000000000000000000056
+:0802A80000000000000000004E
+:0802B000000000000000000046
+:0802B80000000000000000003E
+:0802C000000000000000000036
+:0802C80000000000000000002E
+:0802D000000000000000000026
+:0802D80000000000000000001E
+:0802E000000000000000000016
+:0802E80000000000000000000E
+:0802F000000000000000000006
+:0802F8000000000000000000FE
+:080300000000000000000000F5
+:080308000000000000000000ED
+:080310000000000000000000E5
+:080318000000000000000000DD
+:080320000000000000000000D5
+:080328000000000000000000CD
+:080330000000000000000000C5
+:080338000000000000000000BD
+:080340000000000000000000B5
+:080348000000000000000000AD
+:080350000000000000000000A5
+:0803580000000000000000009D
+:08036000000000000000000095
+:0803680000000000000000008D
+:08037000000000000000000085
+:0803780000000000000000007D
+:08038000000000000000000075
+:0803880000000000000000006D
+:08039000000000000000000065
+:0803980000000000000000005D
+:0803A000000000000000000055
+:0803A80000000000000000004D
+:0803B000000000000000000045
+:0803B80000000000000000003D
+:0803C000000000000000000035
+:0803C80000000000000000002D
+:0803D000000000000000000025
+:0803D80000000000000000001D
+:0803E000000000000000000015
+:0803E80000000000000000000D
+:0803F000000000000000000005
+:0803F8000000000000000000FD
+:080400000000000000000000F4
+:080408000000000000000000EC
+:080410000000000000000000E4
+:080418000000000000000000DC
+:080420000000000000000000D4
+:080428000000000000000000CC
+:080430000000000000000000C4
+:080438000000000000000000BC
+:080440000000000000000000B4
+:080448000000000000000000AC
+:080450000000000000000000A4
+:0804580000000000000000009C
+:08046000000000000000000094
+:0804680000000000000000008C
+:08047000000000000000000084
+:0804780000000000000000007C
+:08048000000000000000000074
+:0804880000000000000000006C
+:08049000000000000000000064
+:0804980000000000000000005C
+:0804A000000000000000000054
+:0804A80000000000000000004C
+:0804B000000000000000000044
+:0804B80000000000000000003C
+:0804C000000000000000000034
+:0804C80000000000000000002C
+:0804D000000000000000000024
+:0804D80000000000000000001C
+:0804E000000000000000000014
+:0804E80000000000000000000C
+:0804F000000000000000000004
+:0804F8000000000000000000FC
+:080500000000000000000000F3
+:080508000000000000000000EB
+:080510000000000000000000E3
+:080518000000000000000000DB
+:080520000000000000000000D3
+:080528000000000000000000CB
+:080530000000000000000000C3
+:080538000000000000000000BB
+:080540000000000000000000B3
+:080548000000000000000000AB
+:080550000000000000000000A3
+:0805580000000000000000009B
+:08056000000000000000000093
+:0805680000000000000000008B
+:08057000000000000000000083
+:0805780000000000000000007B
+:08058000000000000000000073
+:0805880000000000000000006B
+:08059000000000000000000063
+:0805980000000000000000005B
+:0805A000000000000000000053
+:0805A80000000000000000004B
+:0805B000000000000000000043
+:0805B80000000000000000003B
+:0805C000000000000000000033
+:0805C80000000000000000002B
+:0805D000000000000000000023
+:0805D80000000000000000001B
+:0805E000000000000000000013
+:0805E80000000000000000000B
+:0805F000000000000000000003
+:0805F8000000000000000000FB
+:080600000000000000000000F2
+:080608000000000000000000EA
+:080610000000000000000000E2
+:080618000000000000000000DA
+:080620000000000000000000D2
+:080628000000000000000000CA
+:080630000000000000000000C2
+:080638000000000000000000BA
+:080640000000000000000000B2
+:080648000000000000000000AA
+:080650000000000000000000A2
+:0806580000000000000000009A
+:08066000000000000000000092
+:0806680000000000000000008A
+:08067000000000000000000082
+:0806780000000000000000007A
+:08068000000000000000000072
+:0806880000000000000000006A
+:08069000000000000000000062
+:0806980000000000000000005A
+:0806A000000000000000000052
+:0806A80000000000000000004A
+:0806B000000000000000000042
+:0806B80000000000000000003A
+:0806C000000000000000000032
+:0806C80000000000000000002A
+:0806D000000000000000000022
+:0806D80000000000000000001A
+:0806E000000000000000000012
+:0806E80000000000000000000A
+:0806F000000000000000000002
+:0806F8000000000000000000FA
+:080700000000000000000000F1
+:080708000000000000000000E9
+:080710000000000000000000E1
+:080718000000000000000000D9
+:080720000000000000000000D1
+:080728000000000000000000C9
+:080730000000000000000000C1
+:080738000000000000000000B9
+:080740000000000000000000B1
+:080748000000000000000000A9
+:080750000000000000000000A1
+:08075800000000000000000099
+:08076000000000000000000091
+:08076800000000000000000089
+:08077000000000000000000081
+:08077800000000000000000079
+:08078000000000000000000071
+:08078800000000000000000069
+:08079000000000000000000061
+:08079800000000000000000059
+:0807A000000000000000000051
+:0807A800000000000000000049
+:0807B000000000000000000041
+:0807B800000000000000000039
+:0807C000000000000000000031
+:0807C800000000000000000029
+:0807D000000000000000000021
+:0807D800000000000000000019
+:0807E000000000000000000011
+:0807E800000000000000000009
+:0807F000000000000000000001
+:0807F8000000000000000000F9
+:080800000000000000000000F0
+:080808000000000000000000E8
+:080810000000000000000000E0
+:080818000000000000000000D8
+:080820000000000000000000D0
+:080828000000000000000000C8
+:080830000000000000000000C0
+:080838000000000000000000B8
+:080840000000000000000000B0
+:080848000000000000000000A8
+:080850000000000000000000A0
+:08085800000000000000000098
+:08086000000000000000000090
+:08086800000000000000000088
+:08087000000000000000000080
+:08087800000000000000000078
+:08088000000000000000000070
+:08088800000000000000000068
+:08089000000000000000000060
+:08089800000000000000000058
+:0808A000000000000000000050
+:0808A800000000000000000048
+:0808B000000000000000000040
+:0808B800000000000000000038
+:0808C000000000000000000030
+:0808C800000000000000000028
+:0808D000000000000000000020
+:0808D800000000000000000018
+:0808E000000000000000000010
+:0808E800000000000000000008
+:0808F000000000000000000000
+:0808F8000000000000000000F8
+:080900000000000000000000EF
+:080908000000000000000000E7
+:080910000000000000000000DF
+:080918000000000000000000D7
+:080920000000000000000000CF
+:080928000000000000000000C7
+:080930000000000000000000BF
+:080938000000000000000000B7
+:080940000000000000000000AF
+:080948000000000000000000A7
+:0809500000000000000000009F
+:08095800000000000000000097
+:0809600000000000000000008F
+:08096800000000000000000087
+:0809700000000000000000007F
+:08097800000000000000000077
+:0809800000000000000000006F
+:08098800000000000000000067
+:0809900000000000000000005F
+:08099800000000000000000057
+:0809A00000000000000000004F
+:0809A800000000000000000047
+:0809B00000000000000000003F
+:0809B800000000000000000037
+:0809C00000000000000000002F
+:0809C800000000000000000027
+:0809D00000000000000000001F
+:0809D800000000000000000017
+:0809E00000000000000000000F
+:0809E800000000000000000007
+:0809F0000000000000000000FF
+:0809F8000000000000000000F7
+:080A00000000000000000000EE
+:080A08000000000000000000E6
+:080A10000000000000000000DE
+:080A18000000000000000000D6
+:080A20000000000000000000CE
+:080A28000000000000000000C6
+:080A30000000000000000000BE
+:080A38000000000000000000B6
+:080A40000000000000000000AE
+:080A48000000000000000000A6
+:080A500000000000000000009E
+:080A5800000000000000000096
+:080A600000000000000000008E
+:080A6800000000000000000086
+:080A700000000000000000007E
+:080A7800000000000000000076
+:080A800000000000000000006E
+:080A8800000000000000000066
+:080A900000000000000000005E
+:080A9800000000000000000056
+:080AA00000000000000000004E
+:080AA800000000000000000046
+:080AB00000000000000000003E
+:080AB800000000000000000036
+:080AC00000000000000000002E
+:080AC800000000000000000026
+:080AD00000000000000000001E
+:080AD800000000000000000016
+:080AE00000000000000000000E
+:080AE800000000000000000006
+:080AF0000000000000000000FE
+:080AF8000000000000000000F6
+:080B00000000000000000000ED
+:080B08000000000000000000E5
+:080B10000000000000000000DD
+:080B18000000000000000000D5
+:080B20000000000000000000CD
+:080B28000000000000000000C5
+:080B30000000000000000000BD
+:080B38000000000000000000B5
+:080B40000000000000000000AD
+:080B48000000000000000000A5
+:080B500000000000000000009D
+:080B5800000000000000000095
+:080B600000000000000000008D
+:080B6800000000000000000085
+:080B700000000000000000007D
+:080B7800000000000000000075
+:080B800000000000000000006D
+:080B8800000000000000000065
+:080B900000000000000000005D
+:080B9800000000000000000055
+:080BA00000000000000000004D
+:080BA800000000000000000045
+:080BB00000000000000000003D
+:080BB800000000000000000035
+:080BC00000000000000000002D
+:080BC800000000000000000025
+:080BD00000000000000000001D
+:080BD800000000000000000015
+:080BE00000000000000000000D
+:080BE800000000000000000005
+:080BF0000000000000000000FD
+:080BF8000000000000000000F5
+:080C00000000000000000000EC
+:080C08000000000000000000E4
+:080C10000000000000000000DC
+:080C18000000000000000000D4
+:080C20000000000000000000CC
+:080C28000000000000000000C4
+:080C30000000000000000000BC
+:080C38000000000000000000B4
+:080C40000000000000000000AC
+:080C48000000000000000000A4
+:080C500000000000000000009C
+:080C5800000000000000000094
+:080C600000000000000000008C
+:080C6800000000000000000084
+:080C700000000000000000007C
+:080C7800000000000000000074
+:080C800000000000000000006C
+:080C8800000000000000000064
+:080C900000000000000000005C
+:080C9800000000000000000054
+:080CA00000000000000000004C
+:080CA800000000000000000044
+:080CB00000000000000000003C
+:080CB800000000000000000034
+:080CC00000000000000000002C
+:080CC800000000000000000024
+:080CD00000000000000000001C
+:080CD800000000000000000014
+:080CE00000000000000000000C
+:080CE800000000000000000004
+:080CF0000000000000000000FC
+:080CF8000000000000000000F4
+:080D00000000000000000000EB
+:080D08000000000000000000E3
+:080D10000000000000000000DB
+:080D18000000000000000000D3
+:080D20000000000000000000CB
+:080D28000000000000000000C3
+:080D30000000000000000000BB
+:080D38000000000000000000B3
+:080D40000000000000000000AB
+:080D48000000000000000000A3
+:080D500000000000000000009B
+:080D5800000000000000000093
+:080D600000000000000000008B
+:080D6800000000000000000083
+:080D700000000000000000007B
+:080D7800000000000000000073
+:080D800000000000000000006B
+:080D8800000000000000000063
+:080D900000000000000000005B
+:080D9800000000000000000053
+:080DA00000000000000000004B
+:080DA800000000000000000043
+:080DB00000000000000000003B
+:080DB800000000000000000033
+:080DC00000000000000000002B
+:080DC800000000000000000023
+:080DD00000000000000000001B
+:080DD800000000000000000013
+:080DE00000000000000000000B
+:080DE800000000000000000003
+:080DF0000000000000000000FB
+:080DF8000000000000000000F3
+:080E00000000000000000000EA
+:080E08000000000000000000E2
+:080E10000000000000000000DA
+:080E18000000000000000000D2
+:080E20000000000000000000CA
+:080E28000000000000000000C2
+:080E30000000000000000000BA
+:080E38000000000000000000B2
+:080E40000000000000000000AA
+:080E48000000000000000000A2
+:080E500000000000000000009A
+:080E5800000000000000000092
+:080E600000000000000000008A
+:080E6800000000000000000082
+:080E700000000000000000007A
+:080E7800000000000000000072
+:080E800000000000000000006A
+:080E8800000000000000000062
+:080E900000000000000000005A
+:080E9800000000000000000052
+:080EA00000000000000000004A
+:080EA800000000000000000042
+:080EB00000000000000000003A
+:080EB800000000000000000032
+:080EC00000000000000000002A
+:080EC800000000000000000022
+:080ED00000000000000000001A
+:080ED800000000000000000012
+:080EE00000000000000000000A
+:080EE800000000000000000002
+:080EF0000000000000000000FA
+:080EF8000000000000000000F2
+:080F00000000000000000000E9
+:080F08000000000000000000E1
+:080F10000000000000000000D9
+:080F18000000000000000000D1
+:080F20000000000000000000C9
+:080F28000000000000000000C1
+:080F30000000000000000000B9
+:080F38000000000000000000B1
+:080F40000000000000000000A9
+:080F48000000000000000000A1
+:080F5000000000000000000099
+:080F5800000000000000000091
+:080F6000000000000000000089
+:080F6800000000000000000081
+:080F7000000000000000000079
+:080F7800000000000000000071
+:080F8000000000000000000069
+:080F8800000000000000000061
+:080F9000000000000000000059
+:080F9800000000000000000051
+:080FA000000000000000000049
+:080FA800000000000000000041
+:080FB000000000000000000039
+:080FB800000000000000000031
+:080FC000000000000000000029
+:080FC800000000000000000021
+:080FD000000000000000000019
+:080FD800000000000000000011
+:080FE000000000000000000009
+:080FE800000000000000000001
+:080FF0000000000000000000F9
+:080FF8000000000000000000F1
+:081000000000000000000000E8
+:081008000000000000000000E0
+:081010000000000000000000D8
+:081018000000000000000000D0
+:081020000000000000000000C8
+:081028000000000000000000C0
+:081030000000000000000000B8
+:081038000000000000000000B0
+:081040000000000000000000A8
+:081048000000000000000000A0
+:08105000000000000000000098
+:08105800000000000000000090
+:08106000000000000000000088
+:08106800000000000000000080
+:08107000000000000000000078
+:08107800000000000000000070
+:08108000000000000000000068
+:08108800000000000000000060
+:08109000000000000000000058
+:08109800000000000000000050
+:0810A000000000000000000048
+:0810A800000000000000000040
+:0810B000000000000000000038
+:0810B800000000000000000030
+:0810C000000000000000000028
+:0810C800000000000000000020
+:0810D000000000000000000018
+:0810D800000000000000000010
+:0810E000000000000000000008
+:0810E800000000000000000000
+:0810F0000000000000000000F8
+:0810F8000000000000000000F0
+:081100000000000000000000E7
+:081108000000000000000000DF
+:081110000000000000000000D7
+:081118000000000000000000CF
+:081120000000000000000000C7
+:081128000000000000000000BF
+:081130000000000000000000B7
+:081138000000000000000000AF
+:081140000000000000000000A7
+:0811480000000000000000009F
+:08115000000000000000000097
+:0811580000000000000000008F
+:08116000000000000000000087
+:0811680000000000000000007F
+:08117000000000000000000077
+:0811780000000000000000006F
+:08118000000000000000000067
+:0811880000000000000000005F
+:08119000000000000000000057
+:0811980000000000000000004F
+:0811A000000000000000000047
+:0811A80000000000000000003F
+:0811B000000000000000000037
+:0811B80000000000000000002F
+:0811C000000000000000000027
+:0811C80000000000000000001F
+:0811D000000000000000000017
+:0811D80000000000000000000F
+:0811E000000000000000000007
+:0811E8000000000000000000FF
+:0811F0000000000000000000F7
+:0811F8000000000000000000EF
+:081200000000000000000000E6
+:081208000000000000000000DE
+:081210000000000000000000D6
+:081218000000000000000000CE
+:081220000000000000000000C6
+:081228000000000000000000BE
+:081230000000000000000000B6
+:081238000000000000000000AE
+:081240000000000000000000A6
+:0812480000000000000000009E
+:08125000000000000000000096
+:0812580000000000000000008E
+:08126000000000000000000086
+:0812680000000000000000007E
+:08127000000000000000000076
+:0812780000000000000000006E
+:08128000000000000000000066
+:0812880000000000000000005E
+:08129000000000000000000056
+:0812980000000000000000004E
+:0812A000000000000000000046
+:0812A80000000000000000003E
+:0812B000000000000000000036
+:0812B80000000000000000002E
+:0812C000000000000000000026
+:0812C80000000000000000001E
+:0812D000000000000000000016
+:0812D80000000000000000000E
+:0812E000000000000000000006
+:0812E8000000000000000000FE
+:0812F0000000000000000000F6
+:0812F8000000000000000000EE
+:081300000000000000000000E5
+:081308000000000000000000DD
+:081310000000000000000000D5
+:081318000000000000000000CD
+:081320000000000000000000C5
+:081328000000000000000000BD
+:081330000000000000000000B5
+:081338000000000000000000AD
+:081340000000000000000000A5
+:0813480000000000000000009D
+:08135000000000000000000095
+:0813580000000000000000008D
+:08136000000000000000000085
+:0813680000000000000000007D
+:08137000000000000000000075
+:0813780000000000000000006D
+:08138000000000000000000065
+:0813880000000000000000005D
+:08139000000000000000000055
+:0813980000000000000000004D
+:0813A000000000000000000045
+:0813A80000000000000000003D
+:0813B000000000000000000035
+:0813B80000000000000000002D
+:0813C000000000000000000025
+:0813C80000000000000000001D
+:0813D000000000000000000015
+:0813D80000000000000000000D
+:0813E000000000000000000005
+:0813E8000000000000000000FD
+:0813F0000000000000000000F5
+:0813F8000000000000000000ED
+:081400000000000000000000E4
+:081408000000000000000000DC
+:081410000000000000000000D4
+:081418000000000000000000CC
+:081420000000000000000000C4
+:081428000000000000000000BC
+:081430000000000000000000B4
+:081438000000000000000000AC
+:081440000000000000000000A4
+:0814480000000000000000009C
+:08145000000000000000000094
+:0814580000000000000000008C
+:08146000000000000000000084
+:0814680000000000000000007C
+:08147000000000000000000074
+:0814780000000000000000006C
+:08148000000000000000000064
+:0814880000000000000000005C
+:08149000000000000000000054
+:0814980000000000000000004C
+:0814A000000000000000000044
+:0814A80000000000000000003C
+:0814B000000000000000000034
+:0814B80000000000000000002C
+:0814C000000000000000000024
+:0814C80000000000000000001C
+:0814D000000000000000000014
+:0814D80000000000000000000C
+:0814E000000000000000000004
+:0814E8000000000000000000FC
+:0814F0000000000000000000F4
+:0814F8000000000000000000EC
+:081500000000000000000000E3
+:081508000000000000000000DB
+:081510000000000000000000D3
+:081518000000000000000000CB
+:081520000000000000000000C3
+:081528000000000000000000BB
+:081530000000000000000000B3
+:081538000000000000000000AB
+:081540000000000000000000A3
+:0815480000000000000000009B
+:08155000000000000000000093
+:0815580000000000000000008B
+:08156000000000000000000083
+:0815680000000000000000007B
+:08157000000000000000000073
+:0815780000000000000000006B
+:08158000000000000000000063
+:0815880000000000000000005B
+:08159000000000000000000053
+:0815980000000000000000004B
+:0815A000000000000000000043
+:0815A80000000000000000003B
+:0815B000000000000000000033
+:0815B80000000000000000002B
+:0815C000000000000000000023
+:0815C80000000000000000001B
+:0815D000000000000000000013
+:0815D80000000000000000000B
+:0815E000000000000000000003
+:0815E8000000000000000000FB
+:0815F0000000000000000000F3
+:0815F8000000000000000000EB
+:081600000000000000000000E2
+:081608000000000000000000DA
+:081610000000000000000000D2
+:081618000000000000000000CA
+:081620000000000000000000C2
+:081628000000000000000000BA
+:081630000000000000000000B2
+:081638000000000000000000AA
+:081640000000000000000000A2
+:0816480000000000000000009A
+:08165000000000000000000092
+:0816580000000000000000008A
+:08166000000000000000000082
+:0816680000000000000000007A
+:08167000000000000000000072
+:0816780000000000000000006A
+:08168000000000000000000062
+:0816880000000000000000005A
+:08169000000000000000000052
+:0816980000000000000000004A
+:0816A000000000000000000042
+:0816A80000000000000000003A
+:0816B000000000000000000032
+:0816B80000000000000000002A
+:0816C000000000000000000022
+:0816C80000000000000000001A
+:0816D000000000000000000012
+:0816D80000000000000000000A
+:0816E000000000000000000002
+:0816E8000000000000000000FA
+:0816F0000000000000000000F2
+:0816F8000000000000000000EA
+:081700000000000000000000E1
+:081708000000000000000000D9
+:081710000000000000000000D1
+:081718000000000000000000C9
+:081720000000000000000000C1
+:081728000000000000000000B9
+:081730000000000000000000B1
+:081738000000000000000000A9
+:081740000000000000000000A1
+:08174800000000000000000099
+:08175000000000000000000091
+:08175800000000000000000089
+:08176000000000000000000081
+:08176800000000000000000079
+:08177000000000000000000071
+:08177800000000000000000069
+:08178000000000000000000061
+:08178800000000000000000059
+:08179000000000000000000051
+:08179800000000000000000049
+:0817A000000000000000000041
+:0817A800000000000000000039
+:0817B000000000000000000031
+:0817B800000000000000000029
+:0817C000000000000000000021
+:0817C800000000000000000019
+:0817D000000000000000000011
+:0817D800000000000000000009
+:0817E000000000000000000001
+:0817E8000000000000000000F9
+:0817F0000000000000000000F1
+:0817F8000000000000000000E9
+:081800000000000000000000E0
+:081808000000000000000000D8
+:081810000000000000000000D0
+:081818000000000000000000C8
+:081820000000000000000000C0
+:081828000000000000000000B8
+:081830000000000000000000B0
+:081838000000000000000000A8
+:081840000000000000000000A0
+:08184800000000000000000098
+:08185000000000000000000090
+:08185800000000000000000088
+:08186000000000000000000080
+:08186800000000000000000078
+:08187000000000000000000070
+:08187800000000000000000068
+:08188000000000000000000060
+:08188800000000000000000058
+:08189000000000000000000050
+:08189800000000000000000048
+:0818A000000000000000000040
+:0818A800000000000000000038
+:0818B000000000000000000030
+:0818B800000000000000000028
+:0818C000000000000000000020
+:0818C800000000000000000018
+:0818D000000000000000000010
+:0818D800000000000000000008
+:0818E000000000000000000000
+:0818E800FFFF000000000000FA
+:0818F0000100000000000000EF
+:0818F8000000000000000000E8
+:081900000000000000000000DF
+:081908000000000000000000D7
+:081910000000000000000000CF
+:081918000000000000000000C7
+:081920000000000000000000BF
+:081928000000000000000000B7
+:081930000000000000000000AF
+:081938000000000000000000A7
+:0819400000000000000000009F
+:08194800000000000000000097
+:0819500000000000000000008F
+:08195800000000000000000087
+:0819600000000000000000007F
+:08196800000000000000000077
+:0819700000000000000000006F
+:08197800000000000000000067
+:0819800000000000000000005F
+:08198800000000000000000057
+:0819900000000000000000004F
+:08199800000000000000000047
+:0819A00000000000000000003F
+:0819A800000000000000000037
+:0819B00000000000000000002F
+:0819B800000000000000000027
+:0819C00000000000000000001F
+:0819C800000000000000000017
+:0819D00000000000000000000F
+:0819D800000000000000000007
+:0819E0000000000000000000FF
+:0819E8000000000000000000F7
+:0819F0000000000000000000EF
+:0819F8000000000000000000E7
+:081A00000000000000000000DE
+:081A08000000000000000000D6
+:081A10000000000000000000CE
+:081A18000000000000000000C6
+:081A20000000000000000000BE
+:081A28000000000000000000B6
+:081A30000000000000000000AE
+:081A38000000000000000000A6
+:081A400000000000000000009E
+:081A4800000000000000000096
+:081A500000000000000000008E
+:081A5800000000000000000086
+:081A600000000000000000007E
+:081A6800000000000000000076
+:081A700000000000000000006E
+:081A7800000000000000000066
+:081A800000000000000000005E
+:081A8800000000000000000056
+:081A900000000000000000004E
+:081A9800000000000000000046
+:081AA00000000000000000003E
+:081AA800000000000000000036
+:081AB00000000000000000002E
+:081AB800000000000000000026
+:081AC00000000000000000001E
+:081AC800000000000000000016
+:081AD00000000000000000000E
+:081AD800000000000000000006
+:081AE0000000000000000000FE
+:081AE8000000000000000000F6
+:081AF0000000000000000000EE
+:081AF8000000000000000000E6
+:081B00000000000000000000DD
+:081B08000000000000000000D5
+:081B10000000000000000000CD
+:081B18000000000000000000C5
+:081B20000000000000000000BD
+:081B28000000000000000000B5
+:081B30000000000000000000AD
+:081B38000000000000000000A5
+:081B400000000000000000009D
+:081B4800000000000000000095
+:081B500000000000000000008D
+:081B5800000000000000000085
+:081B600000000000000000007D
+:081B6800000000000000000075
+:081B700000000000000000006D
+:081B7800000000000000000065
+:081B800000000000000000005D
+:081B8800000000000000000055
+:081B900000000000000000004D
+:081B9800000000000000000045
+:081BA00000000000000000003D
+:081BA800000000000000000035
+:081BB00000000000000000002D
+:081BB800000000000000000025
+:081BC00000000000000000001D
+:081BC800000000000000000015
+:081BD00000000000000000000D
+:081BD800000000000000000005
+:081BE0000000000000000000FD
+:081BE8000000000000000000F5
+:081BF0000000000000000000ED
+:081BF8000000000000000000E5
+:081C00000000000000000000DC
+:081C08000000000000000000D4
+:081C10000000000000000000CC
+:081C18000000000000000000C4
+:081C20000000000000000000BC
+:081C28000000000000000000B4
+:081C30000000000000000000AC
+:081C38000000000000000000A4
+:081C400000000000000000009C
+:081C4800000000000000000094
+:081C500000000000000000008C
+:081C5800000000000000000084
+:081C600000000000000000007C
+:081C6800000000000000000074
+:081C700000000000000000006C
+:081C7800000000000000000064
+:081C800000000000000000005C
+:081C8800000000000000000054
+:081C900000000000000000004C
+:081C9800000000000000000044
+:081CA00000000000000000003C
+:081CA800000000000000000034
+:081CB00000000000000000002C
+:081CB800000000000000000024
+:081CC00000000000000000001C
+:081CC800000000000000000014
+:081CD00000000000000000000C
+:081CD800000000000000000004
+:081CE0000000000000000000FC
+:081CE8000000000000000000F4
+:081CF0000000000000000000EC
+:081CF8000000000000000000E4
+:081D00000000000000000000DB
+:081D08000000000000000000D3
+:081D10000000000000000000CB
+:081D18000000000000000000C3
+:081D20000000000000000000BB
+:081D28000000000000000000B3
+:081D30000000000000000000AB
+:081D38000000000000000000A3
+:081D400000000000000000009B
+:081D4800000000000000000093
+:081D500000000000000000008B
+:081D5800000000000000000083
+:081D600000000000000000007B
+:081D6800000000000000000073
+:081D700000000000000000006B
+:081D7800000000000000000063
+:081D800000000000000000005B
+:081D8800000000000000000053
+:081D900000000000000000004B
+:081D9800000000000000000043
+:081DA00000000000000000003B
+:081DA800000000000000000033
+:081DB00000000000000000002B
+:081DB800000000000000000023
+:081DC00000000000000000001B
+:081DC800000000000000000013
+:081DD00000000000000000000B
+:081DD800000000000000000003
+:081DE0000000000000000000FB
+:081DE8000000000000000000F3
+:081DF0000000000000000000EB
+:081DF8000000000000000000E3
+:081E00000000000000000000DA
+:081E08000000000000000000D2
+:081E10000000000000000000CA
+:081E18000000000000000000C2
+:081E20000000000000000000BA
+:081E28000000000000000000B2
+:081E30000000000000000000AA
+:081E38000000000000000000A2
+:081E400000000000000000009A
+:081E4800000000000000000092
+:081E500000000000000000008A
+:081E5800000000000000000082
+:081E600000000000000000007A
+:081E6800000000000000000072
+:081E700000000000000000006A
+:081E7800000000000000000062
+:081E800000000000000000005A
+:081E8800000000000000000052
+:081E900000000000000000004A
+:081E9800000000000000000042
+:081EA00000000000000000003A
+:081EA800000000000000000032
+:081EB00000000000000000002A
+:081EB800000000000000000022
+:081EC00000000000000000001A
+:081EC800000000000000000012
+:081ED00000000000000000000A
+:081ED800000000000000000002
+:081EE0000000000000000000FA
+:081EE8000000000000000000F2
+:081EF0000000000000000000EA
+:081EF8000000000000000000E2
+:081F00000000000000000000D9
+:081F08000000000000000000D1
+:081F10000000000000000000C9
+:081F18000000000000000000C1
+:081F20000000000000000000B9
+:081F28000000000000000000B1
+:081F30000000000000000000A9
+:081F38000000000000000000A1
+:081F4000000000000000000099
+:081F4800000000000000000091
+:081F5000000000000000000089
+:081F5800000000000000000081
+:081F6000000000000000000079
+:081F6800000000000000000071
+:081F7000000000000000000069
+:081F7800000000000000000061
+:081F8000000000000000000059
+:081F8800000000000000000051
+:081F9000000000000000000049
+:081F9800000000000000000041
+:081FA000000000000000000039
+:081FA800000000000000000031
+:081FB000000000000000000029
+:081FB800000000000000000021
+:081FC000000000000000000019
+:081FC800000000000000000011
+:081FD000000000000000000009
+:081FD800000000000000000001
+:081FE0000000000000000000F9
+:081FE8000000000000000000F1
+:081FF0000000000000000000E9
+:081FF8000000000000000000E1
+:082000000000000000000000D8
+:082008000000000000000000D0
+:082010000000000000000000C8
+:082018000000000000000000C0
+:082020000000000000000000B8
+:082028000000000000000000B0
+:082030000000000000000000A8
+:082038000000000000000000A0
+:08204000000000000000000098
+:08204800000000000000000090
+:08205000000000000000000088
+:08205800000000000000000080
+:08206000000000000000000078
+:08206800000000000000000070
+:08207000000000000000000068
+:08207800000000000000000060
+:08208000000000000000000058
+:08208800000000000000000050
+:08209000000000000000000048
+:08209800000000000000000040
+:0820A000000000000000000038
+:0820A800000000000000000030
+:0820B000000000000000000028
+:0820B800000000000000000020
+:0820C000000000000000000018
+:0820C800000000000000000010
+:0820D000000000000000000008
+:0820D800000000000000000000
+:0820E0000000000000000000F8
+:0820E8000000000000000000F0
+:0820F0000000000000000000E8
+:0820F8000000000000000000E0
+:082100000000000000000000D7
+:082108000000000000000000CF
+:082110000000000000000000C7
+:082118000000000000000000BF
+:082120000000000000000000B7
+:082128000000000000000000AF
+:082130000000000000000000A7
+:0821380000000000000000009F
+:08214000000000000000000097
+:0821480000000000000000008F
+:08215000000000000000000087
+:0821580000000000000000007F
+:08216000000000000000000077
+:0821680000000000000000006F
+:08217000000000000000000067
+:0821780000000000000000005F
+:08218000000000000000000057
+:0821880000000000000000004F
+:08219000000000000000000047
+:0821980000000000000000003F
+:0821A000000000000000000037
+:0821A80000000000000000002F
+:0821B000000000000000000027
+:0821B80000000000000000001F
+:0821C000000000000000000017
+:0821C80000000000000000000F
+:0821D000000000000000000007
+:0821D8000000000000000000FF
+:0821E0000000000000000000F7
+:0821E8000000000000000000EF
+:0821F0000000000000000000E7
+:0821F8000000000000000000DF
+:082200000000000000000000D6
+:082208000000000000000000CE
+:082210000000000000000000C6
+:082218000000000000000000BE
+:082220000000000000000000B6
+:082228000000000000000000AE
+:082230000000000000000000A6
+:0822380000000000000000009E
+:08224000000000000000000096
+:0822480000000000000000008E
+:08225000000000000000000086
+:0822580000000000000000007E
+:08226000000000000000000076
+:0822680000000000000000006E
+:08227000000000000000000066
+:0822780000000000000000005E
+:08228000000000000000000056
+:0822880000000000000000004E
+:08229000000000000000000046
+:0822980000000000000000003E
+:0822A000000000000000000036
+:0822A80000000000000000002E
+:0822B000000000000000000026
+:0822B80000000000000000001E
+:0822C000000000000000000016
+:0822C80000000000000000000E
+:0822D000000000000000000006
+:0822D8000000000000000000FE
+:0822E0000000000000000000F6
+:0822E8000000000000000000EE
+:0822F0000000000000000000E6
+:0822F8000000000000000000DE
+:082300000000000000000000D5
+:082308000000000000000000CD
+:082310000000000000000000C5
+:082318000000000000000000BD
+:082320000000000000000000B5
+:082328000000000000000000AD
+:082330000000000000000000A5
+:0823380000000000000000009D
+:08234000000000000000000095
+:0823480000000000000000008D
+:08235000000000000000000085
+:0823580000000000000000007D
+:08236000000000000000000075
+:0823680000000000000000006D
+:08237000000000000000000065
+:0823780000000000000000005D
+:08238000000000000000000055
+:0823880000000000000000004D
+:08239000000000000000000045
+:0823980000000000000000003D
+:0823A000000000000000000035
+:0823A80000000000000000002D
+:0823B000000000000000000025
+:0823B80000000000000000001D
+:0823C000000000000000000015
+:0823C80000000000000000000D
+:0823D000000000000000000005
+:0823D8000000000000000000FD
+:0823E0000000000000000000F5
+:0823E8000000000000000000ED
+:0823F0000000000000000000E5
+:0823F8000000000000000000DD
+:082400000000000000000000D4
+:082408000000000000000000CC
+:082410000000000000000000C4
+:082418000000000000000000BC
+:082420000000000000000000B4
+:082428000000000000000000AC
+:082430000000000000000000A4
+:0824380000000000000000009C
+:08244000000000000000000094
+:0824480000000000000000008C
+:08245000000000000000000084
+:0824580000000000000000007C
+:08246000000000000000000074
+:0824680000000000000000006C
+:08247000000000000000000064
+:0824780000000000000000005C
+:08248000000000000000000054
+:0824880000000000000000004C
+:08249000000000000000000044
+:0824980000000000000000003C
+:0824A000000000000000000034
+:0824A80000000000000000002C
+:0824B000000000000000000024
+:0824B80000000000000000001C
+:0824C000000000000000000014
+:0824C80000000000000000000C
+:0824D000000000000000000004
+:0824D8000000000000000000FC
+:0824E0000000000000000000F4
+:0824E8000000000000000000EC
+:0824F0000000000000000000E4
+:0824F8000000000000000000DC
+:082500000000000000000000D3
+:082508000000000000000000CB
+:082510000000000000000000C3
+:082518000000000000000000BB
+:082520000000000000000000B3
+:082528000000000000000000AB
+:082530000000000000000000A3
+:0825380000000000000000009B
+:08254000000000000000000093
+:0825480000000000000000008B
+:08255000000000000000000083
+:0825580000000000000000007B
+:08256000000000000000000073
+:0825680000000000000000006B
+:08257000000000000000000063
+:0825780000000000000000005B
+:08258000000000000000000053
+:0825880000000000000000004B
+:08259000000000000000000043
+:0825980000000000000000003B
+:0825A000000000000000000033
+:0825A80000000000000000002B
+:0825B000000000000000000023
+:0825B80000000000000000001B
+:0825C000000000000000000013
+:0825C80000000000000000000B
+:0825D000000000000000000003
+:0825D8000000000000000000FB
+:0825E0000000000000000000F3
+:0825E8000000000000000000EB
+:0825F0000000000000000000E3
+:0825F8000000000000000000DB
+:082600000000000000000000D2
+:082608000000000000000000CA
+:082610000000000000000000C2
+:082618000000000000000000BA
+:082620000000000000000000B2
+:082628000000000000000000AA
+:082630000000000000000000A2
+:0826380000000000000000009A
+:08264000000000000000000092
+:0826480000000000000000008A
+:08265000000000000000000082
+:0826580000000000000000007A
+:08266000000000000000000072
+:0826680000000000000000006A
+:08267000000000000000000062
+:0826780000000000000000005A
+:08268000000000000000000052
+:0826880000000000000000004A
+:08269000000000000000000042
+:0826980000000000000000003A
+:0826A000000000000000000032
+:0826A80000000000000000002A
+:0826B000000000000000000022
+:0826B80000000000000000001A
+:0826C000000000000000000012
+:0826C80000000000000000000A
+:0826D000000000000000000002
+:0826D8000000000000000000FA
+:0826E0000000000000000000F2
+:0826E8000000000000000000EA
+:0826F0000000000000000000E2
+:0826F8000000000000000000DA
+:082700000000000000000000D1
+:082708000000000000000000C9
+:082710000000000000000000C1
+:082718000000000000000000B9
+:082720000000000000000000B1
+:082728000000000000000000A9
+:082730000000000000000000A1
+:08273800000000000000000099
+:08274000000000000000000091
+:08274800000000000000000089
+:08275000000000000000000081
+:08275800000000000000000079
+:08276000000000000000000071
+:08276800000000000000000069
+:08277000000000000000000061
+:08277800000000000000000059
+:08278000000000000000000051
+:08278800000000000000000049
+:08279000000000000000000041
+:08279800000000000000000039
+:0827A000000000000000000031
+:0827A800000000000000000029
+:0827B000000000000000000021
+:0827B800000000000000000019
+:0827C000000000000000000011
+:0827C800000000000000000009
+:0827D000000000000000000001
+:0827D8000000000000000000F9
+:0827E0000000000000000000F1
+:0827E8000000000000000000E9
+:0827F0000000000000000000E1
+:0827F8000000000000000000D9
+:082800000000000000000000D0
+:082808000000000000000000C8
+:082810000000000000000000C0
+:082818000000000000000000B8
+:082820000000000000000000B0
+:082828000000000000000000A8
+:082830000000000000000000A0
+:08283800000000000000000098
+:08284000000000000000000090
+:08284800000000000000000088
+:08285000000000000000000080
+:08285800000000000000000078
+:08286000000000000000000070
+:08286800000000000000000068
+:08287000000000000000000060
+:08287800000000000000000058
+:08288000000000000000000050
+:08288800000000000000000048
+:08289000000000000000000040
+:08289800000000000000000038
+:0828A000000000000000000030
+:0828A800000000000000000028
+:0828B000FFFF00000000000022
+:0828B800000000000000000018
+:0828C000000000000000000010
+:0828C800000000000000000008
+:0828D000000000000000000000
+:0828D8000000000000000000F8
+:0828E0000000000000000000F0
+:0828E8000000000000000000E8
+:0828F0000000000000000000E0
+:0828F8000000000000000000D8
+:082900000000000000000000CF
+:082908000000000000000000C7
+:082910000000000000000000BF
+:082918000000000000000000B7
+:082920000000000000000000AF
+:082928000000000000000000A7
+:0829300000000000000000009F
+:08293800000000000000000097
+:0829400000000000000000008F
+:08294800000000000000000087
+:0829500000000000000000007F
+:08295800000000000000000077
+:0829600000000000000000006F
+:08296800000000000000000067
+:0829700000000000000000005F
+:08297800000000000000000057
+:0829800000000000000000004F
+:08298800000000000000000047
+:0829900000000000000000003F
+:08299800000000000000000037
+:0829A00000000000000000002F
+:0829A800000000000000000027
+:0829B00000000000000000001F
+:0829B800000000000000000017
+:0829C00000000000000000000F
+:0829C800000000000000000007
+:0829D0000000000000000000FF
+:0829D8000000000000000000F7
+:0829E0000000000000000000EF
+:0829E8000000000000000000E7
+:0829F0000000000000000000DF
+:0829F8000000000000000000D7
+:082A00000000000000000000CE
+:082A08000000000000000000C6
+:082A10000000000000000000BE
+:082A18000000000000000000B6
+:082A20000000000000000000AE
+:082A28000000000000000000A6
+:082A300000000000000000009E
+:082A3800000000000000000096
+:082A400000000000000000008E
+:082A4800000000000000000086
+:082A500000000000000000007E
+:082A5800000000000000000076
+:082A600000000000000000006E
+:082A6800000000000000000066
+:082A700000000000000000005E
+:082A7800000000000000000056
+:082A800000000000000000004E
+:082A8800000000000000000046
+:082A900000000000000000003E
+:082A9800000000000000000036
+:082AA00000000000000000002E
+:082AA800000000000000000026
+:082AB00000000000000000001E
+:082AB800000000000000000016
+:082AC00000000000000000000E
+:082AC800000000000000000006
+:082AD0000000000000000000FE
+:082AD8000000000000000000F6
+:082AE0000000000000000000EE
+:082AE8000000000000000000E6
+:082AF0000000000000000000DE
+:082AF8000000000000000000D6
+:082B00000000000000000000CD
+:082B08000000000000000000C5
+:082B10000000000000000000BD
+:082B18000000000000000000B5
+:082B20000000000000000000AD
+:082B28000000000000000000A5
+:082B300000000000000000009D
+:082B3800000000000000000095
+:082B400000000000000000008D
+:082B4800000000000000000085
+:082B500000000000000000007D
+:082B5800000000000000000075
+:082B600000000000000000006D
+:082B6800000000000000000065
+:082B700000000000000000005D
+:082B7800000000000000000055
+:082B800000000000000000004D
+:082B8800000000000000000045
+:082B900000000000000000003D
+:082B9800000000000000000035
+:082BA00000000000000000002D
+:082BA800000000000000000025
+:082BB00000000000000000001D
+:082BB800000000000000000015
+:082BC00000000000000000000D
+:082BC800000000000000000005
+:082BD0000000000000000000FD
+:082BD8000000000000000000F5
+:082BE0000000000000000000ED
+:082BE8000000000000000000E5
+:082BF0000000000000000000DD
+:082BF8000000000000000000D5
+:082C00000000000000000000CC
+:082C08000000000000000000C4
+:082C10000000000000000000BC
+:082C18000000000000000000B4
+:082C20000000000000000000AC
+:082C28000000000000000000A4
+:082C300000000000000000009C
+:082C3800000000000000000094
+:082C400000000000000000008C
+:082C4800000000000000000084
+:082C500000000000000000007C
+:082C5800000000000000000074
+:082C600000000000000000006C
+:082C6800000000000000000064
+:082C700000000000000000005C
+:082C7800000000000000000054
+:082C800000000000000000004C
+:082C8800000000000000000044
+:082C900000000000000000003C
+:082C9800000000000000000034
+:082CA00000000000000000002C
+:082CA800000000000000000024
+:082CB00000000000000000001C
+:082CB800000000000000000014
+:082CC00000000000000000000C
+:082CC800000000000000000004
+:082CD0000000000000000000FC
+:082CD8000000000000000000F4
+:082CE0000000000000000000EC
+:082CE8000000000000000000E4
+:082CF0000000000000000000DC
+:082CF8000000000000000000D4
+:082D00000000000000000000CB
+:082D08000000000000000000C3
+:082D10000000000000000000BB
+:082D18000000000000000000B3
+:082D20000000000000000000AB
+:082D28000000000000000000A3
+:082D300000000000000000009B
+:082D3800000000000000000093
+:082D400000000000000000008B
+:082D4800000000000000000083
+:082D500000000000000000007B
+:082D5800000000000000000073
+:082D600000000000000000006B
+:082D6800000000000000000063
+:082D700000000000000000005B
+:082D7800000000000000000053
+:082D800000000000000000004B
+:082D8800000000000000000043
+:082D900000000000000000003B
+:082D9800000000000000000033
+:082DA00000000000000000002B
+:082DA800000000000000000023
+:082DB00000000000000000001B
+:082DB800000000000000000013
+:082DC00000000000000000000B
+:082DC800000000000000000003
+:082DD0000000000000000000FB
+:082DD8000000000000000000F3
+:082DE0000000000000000000EB
+:082DE8000000000000000000E3
+:082DF0000000000000000000DB
+:082DF8000000000000000000D3
+:082E00000000000000000000CA
+:082E08000000000000000000C2
+:082E10000000000000000000BA
+:082E18000000000000000000B2
+:082E20000000000000000000AA
+:082E28000000000000000000A2
+:082E300000000000000000009A
+:082E3800000000000000000092
+:082E400000000000000000008A
+:082E4800000000000000000082
+:082E500000000000000000007A
+:082E5800000000000000000072
+:082E600000000000000000006A
+:082E6800000000000000000062
+:082E700000000000000000005A
+:082E7800000000000000000052
+:082E800000000000000000004A
+:082E8800000000000000000042
+:082E900000000000000000003A
+:082E9800000000000000000032
+:082EA00000000000000000002A
+:082EA800000000000000000022
+:082EB00000000000000000001A
+:082EB800000000000000000012
+:082EC00000000000000000000A
+:082EC800000000000000000002
+:082ED0000000000000000000FA
+:082ED8000000000000000000F2
+:082EE0000000000000000000EA
+:082EE8000000000000000000E2
+:082EF0000000000000000000DA
+:082EF8000000000000000000D2
+:082F00000000000000000000C9
+:082F08000000000000000000C1
+:082F10000000000000000000B9
+:082F18000000000000000000B1
+:082F20000000000000000000A9
+:082F28000000000000000000A1
+:082F3000000000000000000099
+:082F3800000000000000000091
+:082F4000000000000000000089
+:082F4800000000000000000081
+:082F5000000000000000000079
+:082F5800000000000000000071
+:082F6000000000000000000069
+:082F6800000000000000000061
+:082F7000000000000000000059
+:082F7800000000000000000051
+:082F8000000000000000000049
+:082F8800000000000000000041
+:082F9000000000000000000039
+:082F9800000000000000000031
+:082FA000000000000000000029
+:082FA800000000000000000021
+:082FB000000000000000000019
+:082FB800000000000000000011
+:082FC000000000000000000009
+:082FC800000000000000000001
+:082FD0000000000000000000F9
+:082FD8000000000000000000F1
+:082FE0000000000000000000E9
+:082FE8000000000000000000E1
+:082FF0000000000000000000D9
+:082FF8000000000000000000D1
+:083000000000000000000000C8
+:083008000000000000000000C0
+:083010000000000000000000B8
+:083018000000000000000000B0
+:083020000000000000000000A8
+:083028000000000000000000A0
+:08303000000000000000000098
+:08303800000000000000000090
+:08304000000000000000000088
+:08304800000000000000000080
+:08305000000000000000000078
+:08305800000000000000000070
+:08306000000000000000000068
+:08306800000000000000000060
+:08307000000000000000000058
+:08307800000000000000000050
+:08308000000000000000000048
+:08308800000000000000000040
+:08309000000000000000000038
+:08309800000000000000000030
+:0830A000000000000000000028
+:0830A800000000000000000020
+:0830B000000000000000000018
+:0830B800000000000000000010
+:0830C000000000000000000008
+:0830C800000000000000000000
+:0830D0000000000000000000F8
+:0830D8000000000000000000F0
+:0830E0000000000000000000E8
+:0830E8000000000000000000E0
+:0830F0000000000000000000D8
+:0830F8000000000000000000D0
+:083100000000000000000000C7
+:083108000000000000000000BF
+:083110000000000000000000B7
+:083118000000000000000000AF
+:083120000000000000000000A7
+:0831280000000000000000009F
+:08313000000000000000000097
+:0831380000000000000000008F
+:08314000000000000000000087
+:0831480000000000000000007F
+:08315000000000000000000077
+:0831580000000000000000006F
+:08316000000000000000000067
+:0831680000000000000000005F
+:08317000000000000000000057
+:0831780000000000000000004F
+:08318000000000000000000047
+:0831880000000000000000003F
+:08319000000000000000000037
+:0831980000000000000000002F
+:0831A000000000000000000027
+:0831A80000000000000000001F
+:0831B000000000000000000017
+:0831B80000000000000000000F
+:0831C000000000000000000007
+:0831C8000000000000000000FF
+:0831D0000000000000000000F7
+:0831D8000000000000000000EF
+:0831E0000000000000000000E7
+:0831E8000000000000000000DF
+:0831F0000000000000000000D7
+:0831F8000000000000000000CF
+:083200000000000000000000C6
+:083208000000000000000000BE
+:083210000000000000000000B6
+:083218000000000000000000AE
+:083220000000000000000000A6
+:0832280000000000000000009E
+:08323000000000000000000096
+:0832380000000000000000008E
+:08324000000000000000000086
+:0832480000000000000000007E
+:08325000000000000000000076
+:0832580000000000000000006E
+:08326000000000000000000066
+:0832680000000000000000005E
+:08327000000000000000000056
+:0832780000000000000000004E
+:08328000000000000000000046
+:0832880000000000000000003E
+:08329000000000000000000036
+:0832980000000000000000002E
+:0832A000000000000000000026
+:0832A80000000000000000001E
+:0832B000000000000000000016
+:0832B80000000000000000000E
+:0832C000000000000000000006
+:0832C8000000000000000000FE
+:0832D0000000000000000000F6
+:0832D8000000000000000000EE
+:0832E0000000000000000000E6
+:0832E8000000000000000000DE
+:0832F0000000000000000000D6
+:0832F8000000000000000000CE
+:083300000000000000000000C5
+:083308000000000000000000BD
+:083310000000000000000000B5
+:083318000000000000000000AD
+:083320000000000000000000A5
+:0833280000000000000000009D
+:08333000000000000000000095
+:0833380000000000000000008D
+:08334000000000000000000085
+:0833480000000000000000007D
+:08335000000000000000000075
+:0833580000000000000000006D
+:08336000000000000000000065
+:0833680000000000000000005D
+:08337000000000000000000055
+:0833780000000000000000004D
+:08338000000000000000000045
+:0833880000000000000000003D
+:08339000000000000000000035
+:0833980000000000000000002D
+:0833A000000000000000000025
+:0833A80000000000000000001D
+:0833B000000000000000000015
+:0833B80000000000000000000D
+:0833C000000000000000000005
+:0833C8000000000000000000FD
+:0833D0000000000000000000F5
+:0833D8000000000000000000ED
+:0833E0000000000000000000E5
+:0833E8000000000000000000DD
+:0833F0000000000000000000D5
+:0833F8000000000000000000CD
+:083400000000000000000000C4
+:083408000000000000000000BC
+:083410000000000000000000B4
+:083418000000000000000000AC
+:083420000000000000000000A4
+:0834280000000000000000009C
+:08343000000000000000000094
+:0834380000000000000000008C
+:08344000000000000000000084
+:0834480000000000000000007C
+:08345000000000000000000074
+:0834580000000000000000006C
+:08346000000000000000000064
+:0834680000000000000000005C
+:08347000000000000000000054
+:0834780000000000000000004C
+:08348000000000000000000044
+:0834880000000000000000003C
+:08349000000000000000000034
+:0834980000000000000000002C
+:0834A000000000000000000024
+:0834A80000000000000000001C
+:0834B000000000000000000014
+:0834B80000000000000000000C
+:0834C000000000000000000004
+:0834C8000000000000000000FC
+:0834D0000000000000000000F4
+:0834D8000000000000000000EC
+:0834E0000000000000000000E4
+:0834E8000000000000000000DC
+:0834F0000000000000000000D4
+:0834F8000000000000000000CC
+:083500000000000000000000C3
+:083508000000000000000000BB
+:083510000000000000000000B3
+:083518000000000000000000AB
+:083520000000000000000000A3
+:0835280000000000000000009B
+:08353000000000000000000093
+:0835380000000000000000008B
+:08354000000000000000000083
+:0835480000000000000000007B
+:08355000000000000000000073
+:0835580000000000000000006B
+:08356000000000000000000063
+:0835680000000000000000005B
+:08357000000000000000000053
+:0835780000000000000000004B
+:08358000000000000000000043
+:0835880000000000000000003B
+:08359000000000000000000033
+:0835980000000000000000002B
+:0835A000000000000000000023
+:0835A80000000000000000001B
+:0835B000000000000000000013
+:0835B80000000000000000000B
+:0835C000000000000000000003
+:0835C8000000000000000000FB
+:0835D0000000000000000000F3
+:0835D8000000000000000000EB
+:0835E0000000000000000000E3
+:0835E8000000000000000000DB
+:0835F0000000000000000000D3
+:0835F8000000000000000000CB
+:083600000000000000000000C2
+:083608000000000000000000BA
+:083610000000000000000000B2
+:083618000000000000000000AA
+:083620000000000000000000A2
+:0836280000000000000000009A
+:08363000000000000000000092
+:0836380000000000000000008A
+:08364000000000000000000082
+:0836480000000000000000007A
+:08365000000000000000000072
+:0836580000000000000000006A
+:08366000000000000000000062
+:0836680000000000000000005A
+:08367000000000000000000052
+:0836780000000000000000004A
+:08368000000000000000000042
+:0836880000000000000000003A
+:08369000000000000000000032
+:0836980000000000000000002A
+:0836A000000000000000000022
+:0836A80000000000000000001A
+:0836B000000000000000000012
+:0836B80000000000000000000A
+:0836C000000000000000000002
+:0836C8000000000000000000FA
+:0836D0000000000000000000F2
+:0836D8000000000000000000EA
+:0836E0000000000000000000E2
+:0836E8000000000000000000DA
+:0836F0000000000000000000D2
+:0836F8000000000000000000CA
+:083700000000000000000000C1
+:083708000000000000000000B9
+:083710000000000000000000B1
+:083718000000000000000000A9
+:083720000000000000000000A1
+:08372800000000000000000099
+:08373000000000000000000091
+:08373800000000000000000089
+:08374000000000000000000081
+:08374800000000000000000079
+:08375000000000000000000071
+:08375800000000000000000069
+:08376000000000000000000061
+:08376800000000000000000059
+:08377000000000000000000051
+:08377800000000000000000049
+:08378000000000000000000041
+:08378800000000000000000039
+:08379000000000000000000031
+:08379800000000000000000029
+:0837A000000000000000000021
+:0837A800000000000000000019
+:0837B000000000000000000011
+:0837B800000000000000000009
+:0837C000000000000000000001
+:0837C8000000000000000000F9
+:0837D0000000000000000000F1
+:0837D8000000000000000000E9
+:0837E0000000000000000000E1
+:0837E8000000000000000000D9
+:0837F0000000000000000000D1
+:0837F8000000000000000000C9
+:083800000000000000000000C0
+:083808000000000000000000B8
+:083810000000000000000000B0
+:083818000000000000000000A8
+:083820000000000000000000A0
+:08382800000000000000000098
+:08383000000000000000000090
+:08383800000000000000000088
+:08384000000000000000000080
+:08384800000000000000000078
+:08385000000000000000000070
+:08385800000000000000000068
+:08386000000000000000000060
+:08386800000000000000000058
+:08387000000000000000000050
+:08387800000000000000000048
+:08388000000000000000000040
+:08388800000000000000000038
+:08389000000000000000000030
+:08389800000000000000000028
+:0838A000000000000000000020
+:0838A800000000000000000018
+:0838B000000000000000000010
+:0838B800000000000000000008
+:0838C000000000000000000000
+:0838C8000000000000000000F8
+:0838D0000000000000000000F0
+:0838D8000000000000000000E8
+:0838E0000000000000000000E0
+:0838E8000000000000000000D8
+:0838F0000000000000000000D0
+:0838F8000000000000000000C8
+:083900000000000000000000BF
+:083908000000000000000000B7
+:083910000000000000000000AF
+:083918000000000000000000A7
+:0839200000000000000000009F
+:08392800000000000000000097
+:0839300000000000000000008F
+:08393800000000000000000087
+:0839400000000000000000007F
+:08394800000000000000000077
+:0839500000000000000000006F
+:08395800000000000000000067
+:0839600000000000000000005F
+:08396800000000000000000057
+:0839700000000000000000004F
+:08397800000000000000000047
+:0839800000000000000000003F
+:08398800000000000000000037
+:0839900000000000000000002F
+:08399800000000000000000027
+:0839A00000000000000000001F
+:0839A800000000000000000017
+:0839B00000000000000000000F
+:0839B800000000000000000007
+:0839C0000000000000000000FF
+:0839C8000000000000000000F7
+:0839D0000000000000000000EF
+:0839D8000000000000000000E7
+:0839E0000000000000000000DF
+:0839E8000000000000000000D7
+:0839F0000000000000000000CF
+:0839F8000000000000000000C7
+:083A00000000000000000000BE
+:083A08000000000000000000B6
+:083A10000000000000000000AE
+:083A18000000000000000000A6
+:083A200000000000000000009E
+:083A2800000000000000000096
+:083A300000000000000000008E
+:083A3800000000000000000086
+:083A400000000000000000007E
+:083A4800000000000000000076
+:083A500000000000000000006E
+:083A5800000000000000000066
+:083A600000000000000000005E
+:083A6800000000000000000056
+:083A700000000000000000004E
+:083A7800000000000000000046
+:083A800000000000000000003E
+:083A8800000000000000000036
+:083A900000000000000000002E
+:083A9800000000000000000026
+:083AA00000000000000000001E
+:083AA800000000000000000016
+:083AB00000000000000000000E
+:083AB800000000000000000006
+:083AC0000000000000000000FE
+:083AC8000000000000000000F6
+:083AD0000000000000000000EE
+:083AD8000000000000000000E6
+:083AE0000000000000000000DE
+:083AE8000000000000000000D6
+:083AF0000000000000000000CE
+:083AF8000000000000000000C6
+:083B00000000000000000000BD
+:083B08000000000000000000B5
+:083B10000000000000000000AD
+:083B18000000000000000000A5
+:083B200000000000000000009D
+:083B2800000000000000000095
+:083B300000000000000000008D
+:083B3800000000000000000085
+:083B400000000000000000007D
+:083B4800000000000000000075
+:083B500000000000000000006D
+:083B5800000000000000000065
+:083B600000000000000000005D
+:083B6800000000000000000055
+:083B700000000000000000004D
+:083B7800000000000000000045
+:083B800000000000000000003D
+:083B8800000000000000000035
+:083B900000000000000000002D
+:083B9800000000000000000025
+:083BA00000000000000000001D
+:083BA800000000000000000015
+:083BB00000000000000000000D
+:083BB800000000000000000005
+:083BC0000000000000000000FD
+:083BC8000000000000000000F5
+:083BD0000000000000000000ED
+:083BD8000000000000000000E5
+:083BE0000000000000000000DD
+:083BE8000000000000000000D5
+:083BF0000000000000000000CD
+:083BF8000000000000000000C5
+:083C00000000000000000000BC
+:083C08000000000000000000B4
+:083C10000000000000000000AC
+:083C18000000000000000000A4
+:083C200000000000000000009C
+:083C2800000000000000000094
+:083C300000000000000000008C
+:083C3800000000000000000084
+:083C400000000000000000007C
+:083C4800000000000000000074
+:083C500000000000000000006C
+:083C5800000000000000000064
+:083C600000000000000000005C
+:083C6800000000000000000054
+:083C700000000000000000004C
+:083C7800000000000000000044
+:083C800000000000000000003C
+:083C8800000000000000000034
+:083C900000000000000000002C
+:083C9800000000000000000024
+:083CA00000000000000000001C
+:083CA800000000000000000014
+:083CB00000000000000000000C
+:083CB800000000000000000004
+:083CC0000000000000000000FC
+:083CC8000000000000000000F4
+:083CD0000000000000000000EC
+:083CD8000000000000000000E4
+:083CE0000000000000000000DC
+:083CE8000000000000000000D4
+:083CF0000000000000000000CC
+:083CF8000000000000000000C4
+:083D00000000000000000000BB
+:083D08000000000000000000B3
+:083D10000000000000000000AB
+:083D18000000000000000000A3
+:083D200000000000000000009B
+:083D2800000000000000000093
+:083D300000000000000000008B
+:083D3800000000000000000083
+:083D400000000000000000007B
+:083D4800000000000000000073
+:083D500000000000000000006B
+:083D5800000000000000000063
+:083D600000000000000000005B
+:083D6800000000000000000053
+:083D700000000000000000004B
+:083D7800000000000000000043
+:083D800000000000000000003B
+:083D8800000000000000000033
+:083D900000000000000000002B
+:083D9800000000000000000023
+:083DA00000000000000000001B
+:083DA800000000000000000013
+:083DB00000000000000000000B
+:083DB800000000000000000003
+:083DC0000000000000000000FB
+:083DC8000000000000000000F3
+:083DD0000000000000000000EB
+:083DD8000000000000000000E3
+:083DE0000000000000000000DB
+:083DE8000000000000000000D3
+:083DF0000000000000000000CB
+:083DF8000000000000000000C3
+:083E00000000000000000000BA
+:083E08000000000000000000B2
+:083E10000000000000000000AA
+:083E18000000000000000000A2
+:083E200000000000000000009A
+:083E2800000000000000000092
+:083E300000000000000000008A
+:083E3800000000000000000082
+:083E400000000000000000007A
+:083E4800000000000000000072
+:083E500000000000000000006A
+:083E5800000000000000000062
+:083E600000000000000000005A
+:083E6800000000000000000052
+:083E700000000000000000004A
+:083E7800000000000000000042
+:083E800000000000000000003A
+:083E8800000000000000000032
+:083E900000000000000000002A
+:083E9800000000000000000022
+:083EA00000000000000000001A
+:083EA800000000000000000012
+:083EB00000000000000000000A
+:083EB800000000000000000002
+:083EC0000000000000000000FA
+:083EC8000000000000000000F2
+:083ED0000000000000000000EA
+:083ED8000000000000000000E2
+:083EE0000000000000000000DA
+:083EE8000000000000000000D2
+:083EF0000000000000000000CA
+:083EF8000000000000000000C2
+:083F00000000000000000000B9
+:083F08000000000000000000B1
+:083F10000000000000000000A9
+:083F18000000000000000000A1
+:083F2000000000000000000099
+:083F2800000000000000000091
+:083F3000000000000000000089
+:083F3800000000000000000081
+:083F4000000000000000000079
+:083F4800000000000000000071
+:083F5000000000000000000069
+:083F5800000000000000000061
+:083F6000000000000000000059
+:083F6800000000000000000051
+:083F7000000000000000000049
+:083F7800000000000000000041
+:083F8000000000000000000039
+:083F8800000000000000000031
+:083F9000000000000000000029
+:083F9800000000000000000021
+:083FA000000000000000000019
+:083FA800000000000000000011
+:083FB000000000000000000009
+:083FB800000000000000000001
+:083FC0000000000000000000F9
+:083FC8000000000000000000F1
+:083FD0000000000000000000E9
+:083FD8000000000000000000E1
+:083FE0000000000000000000D9
+:083FE8000000000000000000D1
+:083FF0000000000000000000C9
+:083FF8000000000000000000C1
+:084000000000000000000000B8
+:084008000000000000000000B0
+:084010000000000000000000A8
+:084018000000000000000000A0
+:08402000000000000000000098
+:08402800000000000000000090
+:08403000000000000000000088
+:08403800000000000000000080
+:08404000000000000000000078
+:08404800000000000000000070
+:08405000000000000000000068
+:08405800000000000000000060
+:08406000000000000000000058
+:08406800000000000000000050
+:08407000000000000000000048
+:08407800000000000000000040
+:08408000000000000000000038
+:08408800000000000000000030
+:08409000000000000000000028
+:08409800000000000000000020
+:0840A000000000000000000018
+:0840A80001000000000000000F
+:0840B000000000000000000008
+:0840B800000000000000000000
+:0840C0000000000000000000F8
+:0840C8000000000000000000F0
+:0840D0000000000000000000E8
+:0840D8000000000000000000E0
+:0840E0000000000000000000D8
+:0840E8000000000000000000D0
+:0840F0000000000000000000C8
+:0840F8000000000000000000C0
+:084100000000000000000000B7
+:084108000000000000000000AF
+:084110000000000000000000A7
+:0841180000000000000000009F
+:08412000000000000000000097
+:0841280000000000000000008F
+:08413000000000000000000087
+:0841380000000000000000007F
+:08414000000000000000000077
+:0841480000000000000000006F
+:08415000000000000000000067
+:0841580000000000000000005F
+:08416000000000000000000057
+:0841680000000000000000004F
+:08417000000000000000000047
+:0841780000000000000000003F
+:08418000000000000000000037
+:0841880000000000000000002F
+:08419000000000000000000027
+:0841980000000000000000001F
+:0841A000000000000000000017
+:0841A80000000000000000000F
+:0841B000000000000000000007
+:0841B8000000000000000000FF
+:0841C0000000000000000000F7
+:0841C8000000000000000000EF
+:0841D0000000000000000000E7
+:0841D8000000000000000000DF
+:0841E0000000000000000000D7
+:0841E8000000000000000000CF
+:0841F0000000000000000000C7
+:0841F8000000000000000000BF
+:084200000000000000000000B6
+:084208000000000000000000AE
+:084210000000000000000000A6
+:0842180000000000000000009E
+:08422000000000000000000096
+:0842280000000000000000008E
+:08423000000000000000000086
+:0842380000000000000000007E
+:08424000000000000000000076
+:0842480000000000000000006E
+:08425000000000000000000066
+:0842580000000000000000005E
+:08426000000000000000000056
+:0842680000000000000000004E
+:08427000000000000000000046
+:0842780000000000000000003E
+:08428000000000000000000036
+:0842880000000000000000002E
+:08429000000000000000000026
+:0842980000000000000000001E
+:0842A000000000000000000016
+:0842A80000000000000000000E
+:0842B000000000000000000006
+:0842B8000000000000000000FE
+:0842C0000000000000000000F6
+:0842C8000000000000000000EE
+:0842D0000000000000000000E6
+:0842D8000000000000000000DE
+:0842E0000000000000000000D6
+:0842E8000000000000000000CE
+:0842F0000000000000000000C6
+:0842F8000000000000000000BE
+:084300000000000000000000B5
+:084308000000000000000000AD
+:084310000000000000000000A5
+:0843180000000000000000009D
+:08432000000000000000000095
+:0843280000000000000000008D
+:08433000000000000000000085
+:0843380000000000000000007D
+:08434000000000000000000075
+:0843480000000000000000006D
+:08435000000000000000000065
+:0843580000000000000000005D
+:08436000000000000000000055
+:0843680000000000000000004D
+:08437000000000000000000045
+:0843780000000000000000003D
+:08438000000000000000000035
+:0843880000000000000000002D
+:08439000000000000000000025
+:0843980000000000000000001D
+:0843A000000000000000000015
+:0843A80000000000000000000D
+:0843B000000000000000000005
+:0843B8000000000000000000FD
+:0843C0000000000000000000F5
+:0843C8000000000000000000ED
+:0843D0000000000000000000E5
+:0843D8000000000000000000DD
+:0843E0000000000000000000D5
+:0843E8000000000000000000CD
+:0843F0000000000000000000C5
+:0843F8000000000000000000BD
+:084400000000000000000000B4
+:084408000000000000000000AC
+:084410000000000000000000A4
+:0844180000000000000000009C
+:08442000000000000000000094
+:0844280000000000000000008C
+:08443000000000000000000084
+:0844380000000000000000007C
+:08444000000000000000000074
+:0844480000000000000000006C
+:08445000000000000000000064
+:0844580000000000000000005C
+:08446000000000000000000054
+:0844680000000000000000004C
+:08447000000000000000000044
+:0844780000000000000000003C
+:08448000000000000000000034
+:0844880000000000000000002C
+:08449000000000000000000024
+:0844980000000000000000001C
+:0844A000000000000000000014
+:0844A80000000000000000000C
+:0844B000000000000000000004
+:0844B8000000000000000000FC
+:0844C0000000000000000000F4
+:0844C8000000000000000000EC
+:0844D0000000000000000000E4
+:0844D8000000000000000000DC
+:0844E0000000000000000000D4
+:0844E8000000000000000000CC
+:0844F0000000000000000000C4
+:0844F8000000000000000000BC
+:084500000000000000000000B3
+:084508000000000000000000AB
+:084510000000000000000000A3
+:0845180000000000000000009B
+:08452000000000000000000093
+:0845280000000000000000008B
+:08453000000000000000000083
+:0845380000000000000000007B
+:08454000000000000000000073
+:0845480000000000000000006B
+:08455000000000000000000063
+:0845580000000000000000005B
+:08456000000000000000000053
+:0845680000000000000000004B
+:08457000000000000000000043
+:0845780000000000000000003B
+:08458000000000000000000033
+:0845880000000000000000002B
+:08459000000000000000000023
+:0845980000000000000000001B
+:0845A000000000000000000013
+:0845A80000000000000000000B
+:0845B000000000000000000003
+:0845B8000000000000000000FB
+:0845C0000000000000000000F3
+:0845C8000000000000000000EB
+:0845D0000000000000000000E3
+:0845D8000000000000000000DB
+:0845E0000000000000000000D3
+:0845E8000000000000000000CB
+:0845F0000000000000000000C3
+:0845F8000000000000000000BB
+:084600000000000000000000B2
+:084608000000000000000000AA
+:084610000000000000000000A2
+:0846180000000000000000009A
+:08462000000000000000000092
+:0846280000000000000000008A
+:08463000000000000000000082
+:0846380000000000000000007A
+:08464000000000000000000072
+:0846480000000000000000006A
+:08465000000000000000000062
+:0846580000000000000000005A
+:08466000000000000000000052
+:0846680000000000000000004A
+:08467000000000000000000042
+:0846780000000000000000003A
+:08468000000000000000000032
+:0846880000000000000000002A
+:08469000000000000000000022
+:0846980000000000000000001A
+:0846A000000000000000000012
+:0846A80000000000000000000A
+:0846B000000000000000000002
+:0846B8000000000000000000FA
+:0846C0000000000000000000F2
+:0846C8000000000000000000EA
+:0846D0000000000000000000E2
+:0846D8000000000000000000DA
+:0846E0000000000000000000D2
+:0846E8000000000000000000CA
+:0846F0000000000000000000C2
+:0846F8000000000000000000BA
+:084700000000000000000000B1
+:084708000000000000000000A9
+:084710000000000000000000A1
+:08471800000000000000000099
+:08472000000000000000000091
+:08472800000000000000000089
+:08473000000000000000000081
+:08473800000000000000000079
+:08474000000000000000000071
+:08474800000000000000000069
+:08475000000000000000000061
+:08475800000000000000000059
+:08476000000000000000000051
+:08476800000000000000000049
+:08477000000000000000000041
+:08477800000000000000000039
+:08478000000000000000000031
+:08478800000000000000000029
+:08479000000000000000000021
+:08479800000000000000000019
+:0847A000000000000000000011
+:0847A800000000000000000009
+:0847B000000000000000000001
+:0847B8000000000000000000F9
+:0847C0000000000000000000F1
+:0847C8000000000000000000E9
+:0847D0000000000000000000E1
+:0847D8000000000000000000D9
+:0847E0000000000000000000D1
+:0847E8000000000000000000C9
+:0847F0000000000000000000C1
+:0847F8000000000000000000B9
+:084800000000000000000000B0
+:084808000000000000000000A8
+:084810000000000000000000A0
+:08481800000000000000000098
+:08482000000000000000000090
+:08482800000000000000000088
+:08483000000000000000000080
+:08483800000000000000000078
+:08484000000000000000000070
+:08484800000000000000000068
+:08485000000000000000000060
+:08485800000000000000000058
+:08486000000000000000000050
+:08486800000000000000000048
+:08487000000000000000000040
+:08487800000000000000000038
+:08488000000000000000000030
+:08488800000000000000000028
+:08489000000000000000000020
+:08489800000000000000000018
+:0848A000000000000000000010
+:0848A800000000000000000008
+:0848B000000000000000000000
+:0848B8000000000000000000F8
+:0848C0000000000000000000F0
+:0848C8000000000000000000E8
+:0848D0000000000000000000E0
+:0848D8000000000000000000D8
+:0848E0000000000000000000D0
+:0848E8000000000000000000C8
+:0848F0000000000000000000C0
+:0848F8000000000000000000B8
+:084900000000000000000000AF
+:084908000000000000000000A7
+:0849100000000000000000009F
+:08491800000000000000000097
+:0849200000000000000000008F
+:08492800000000000000000087
+:0849300000000000000000007F
+:08493800000000000000000077
+:0849400000000000000000006F
+:08494800000000000000000067
+:0849500000000000000000005F
+:08495800000000000000000057
+:0849600000000000000000004F
+:08496800000000000000000047
+:0849700000000000000000003F
+:08497800000000000000000037
+:0849800000000000000000002F
+:08498800000000000000000027
+:0849900000000000000000001F
+:08499800000000000000000017
+:0849A00000000000000000000F
+:0849A800000000000000000007
+:0849B0000000000000000000FF
+:0849B8000000000000000000F7
+:0849C0000000000000000000EF
+:0849C8000000000000000000E7
+:0849D0000000000000000000DF
+:0849D8000000000000000000D7
+:0849E0000000000000000000CF
+:0849E8000000000000000000C7
+:0849F0000000000000000000BF
+:0849F8000000000000000000B7
+:084A00000000000000000000AE
+:084A08000000000000000000A6
+:084A100000000000000000009E
+:084A1800000000000000000096
+:084A200000000000000000008E
+:084A2800000000000000000086
+:084A300000000000000000007E
+:084A3800000000000000000076
+:084A400000000000000000006E
+:084A4800000000000000000066
+:084A500000000000000000005E
+:084A5800000000000000000056
+:084A600000000000000000004E
+:084A6800000000000000000046
+:084A700000000000000000003E
+:084A7800000000000000000036
+:084A800000000000000000002E
+:084A8800000000000000000026
+:084A900000000000000000001E
+:084A9800000000000000000016
+:084AA00000000000000000000E
+:084AA800000000000000000006
+:084AB0000000000000000000FE
+:084AB8000000000000000000F6
+:084AC0000000000000000000EE
+:084AC8000000000000000000E6
+:084AD0000000000000000000DE
+:084AD8000000000000000000D6
+:084AE0000000000000000000CE
+:084AE8000000000000000000C6
+:084AF0000000000000000000BE
+:084AF8000000000000000000B6
+:084B00000000000000000000AD
+:084B08000000000000000000A5
+:084B100000000000000000009D
+:084B1800000000000000000095
+:084B200000000000000000008D
+:084B2800000000000000000085
+:084B300000000000000000007D
+:084B3800000000000000000075
+:084B400000000000000000006D
+:084B4800000000000000000065
+:084B500000000000000000005D
+:084B5800000000000000000055
+:084B600000000000000000004D
+:084B6800000000000000000045
+:084B700000000000000000003D
+:084B7800000000000000000035
+:084B800000000000000000002D
+:084B8800000000000000000025
+:084B900000000000000000001D
+:084B9800000000000000000015
+:084BA00000000000000000000D
+:084BA800000000000000000005
+:084BB0000000000000000000FD
+:084BB8000000000000000000F5
+:084BC0000000000000000000ED
+:084BC8000000000000000000E5
+:084BD0000000000000000000DD
+:084BD8000000000000000000D5
+:084BE0000000000000000000CD
+:084BE8000000000000000000C5
+:084BF0000000000000000000BD
+:084BF8000000000000000000B5
+:084C00000000000000000000AC
+:084C08000000000000000000A4
+:084C100000000000000000009C
+:084C1800000000000000000094
+:084C200000000000000000008C
+:084C2800000000000000000084
+:084C300000000000000000007C
+:084C3800000000000000000074
+:084C400000000000000000006C
+:084C4800000000000000000064
+:084C500000000000000000005C
+:084C5800000000000000000054
+:084C600000000000000000004C
+:084C6800000000000000000044
+:084C700000000000000000003C
+:084C7800000000000000000034
+:084C800000000000000000002C
+:084C8800000000000000000024
+:084C900000000000000000001C
+:084C9800000000000000000014
+:084CA00000000000000000000C
+:084CA800000000000000000004
+:084CB0000000000000000000FC
+:084CB8000000000000000000F4
+:084CC0000000000000000000EC
+:084CC8000000000000000000E4
+:084CD0000000000000000000DC
+:084CD8000000000000000000D4
+:084CE0000000000000000000CC
+:084CE8000000000000000000C4
+:084CF0000000000000000000BC
+:084CF8000000000000000000B4
+:084D00000000000000000000AB
+:084D08000000000000000000A3
+:084D100000000000000000009B
+:084D1800000000000000000093
+:084D200000000000000000008B
+:084D2800000000000000000083
+:084D300000000000000000007B
+:084D3800000000000000000073
+:084D400000000000000000006B
+:084D4800000000000000000063
+:084D500000000000000000005B
+:084D5800000000000000000053
+:084D600000000000000000004B
+:084D6800000000000000000043
+:084D700000000000000000003B
+:084D7800000000000000000033
+:084D800000000000000000002B
+:084D8800000000000000000023
+:084D900000000000000000001B
+:084D9800000000000000000013
+:084DA00000000000000000000B
+:084DA800000000000000000003
+:084DB0000000000000000000FB
+:084DB8000000000000000000F3
+:084DC0000000000000000000EB
+:084DC8000000000000000000E3
+:084DD0000000000000000000DB
+:084DD8000000000000000000D3
+:084DE0000000000000000000CB
+:084DE8000000000000000000C3
+:084DF0000000000000000000BB
+:084DF8000000000000000000B3
+:084E00000000000000000000AA
+:084E08000000000000000000A2
+:084E100000000000000000009A
+:084E1800000000000000000092
+:084E200000000000000000008A
+:084E2800000000000000000082
+:084E300000000000000000007A
+:084E3800000000000000000072
+:084E400000000000000000006A
+:084E4800000000000000000062
+:084E500000000000000000005A
+:084E5800000000000000000052
+:084E600000000000000000004A
+:084E6800000000000000000042
+:084E700000000000000000003A
+:084E7800000000000000000032
+:084E800000000000000000002A
+:084E8800000000000000000022
+:084E900000000000000000001A
+:084E9800000000000000000012
+:084EA00000000000000000000A
+:084EA800000000000000000002
+:084EB0000000000000000000FA
+:084EB8000000000000000000F2
+:084EC0000000000000000000EA
+:084EC8000000000000000000E2
+:084ED0000000000000000000DA
+:084ED8000000000000000000D2
+:084EE0000000000000000000CA
+:084EE8000000000000000000C2
+:084EF0000000000000000000BA
+:084EF8000000000000000000B2
+:084F00000000000000000000A9
+:084F08000000000000000000A1
+:084F1000000000000000000099
+:084F1800000000000000000091
+:084F2000000000000000000089
+:084F2800000000000000000081
+:084F3000000000000000000079
+:084F3800000000000000000071
+:084F4000000000000000000069
+:084F4800000000000000000061
+:084F5000000000000000000059
+:084F5800000000000000000051
+:084F6000000000000000000049
+:084F6800000000000000000041
+:084F7000000000000000000039
+:084F7800000000000000000031
+:084F8000000000000000000029
+:084F8800000000000000000021
+:084F9000000000000000000019
+:084F9800000000000000000011
+:084FA000000000000000000009
+:084FA800000000000000000001
+:084FB0000000000000000000F9
+:084FB8000000000000000000F1
+:084FC0000000000000000000E9
+:084FC8000000000000000000E1
+:084FD0000000000000000000D9
+:084FD8000000000000000000D1
+:084FE0000000000000000000C9
+:084FE8000000000000000000C1
+:084FF0000000000000000000B9
+:084FF8000000000000000000B1
+:00000001FF
+
\ No newline at end of file
Index: thor/trunk/software/emuThor/bin/emuThor.exe
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: thor/trunk/software/emuThor/bin/emuThor.exe
===================================================================
--- thor/trunk/software/emuThor/bin/emuThor.exe (nonexistent)
+++ thor/trunk/software/emuThor/bin/emuThor.exe (revision 30)
thor/trunk/software/emuThor/bin/emuThor.exe
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property