]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/lm2ntlm.cpp
test
[freerainbowtables] / Client Applications / rcracki_mt / lm2ntlm.cpp
index 33fd94d2abb3d9dda07baaf9eb0ae4feb13f0821..a335ad32a3eff6c63c34bacc374ac8b74c2fbed2 100644 (file)
-/*\r
- * rcracki_mt is a multithreaded implementation and fork of the original \r
- * RainbowCrack\r
- *\r
- * Copyright 2009, 2010 DaniĆ«l Niggebrugge <niggebrugge@fox-it.com>\r
- * Copyright 2009, 2010 James Nobis <frt@quelrod.net>\r
- *\r
- * This file is part of rcracki_mt.\r
- *\r
- * rcracki_mt is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * rcracki_mt is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with rcracki_mt.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-\r
-#if defined(_WIN32) && !defined(__GNUC__)\r
-       #pragma warning(disable : 4786 4267 4018)\r
-#endif\r
-\r
-#include "lm2ntlm.h"\r
-\r
-LM2NTLMcorrector::LM2NTLMcorrector()\r
-{\r
-       progressCurrentCombination = 0;\r
-       totalCurrentCombination = 1;\r
-       counterOverall = 0;\r
-       countCombinations = 0;\r
-       countTotalCombinations = 0;\r
-       counter = 0;\r
-       fillMapW();\r
-       aborting = false;\r
-       sBinary = "";\r
-\r
-}\r
-\r
-string LM2NTLMcorrector::getBinary()\r
-{\r
-       return sBinary;\r
-}\r
-\r
-bool LM2NTLMcorrector::LMPasswordCorrectUnicode(string hexPassword, unsigned char* pNTLMHash, string& sNTLMPassword) //, unsigned char* pLMPassword\r
-{\r
-       string sPlain = "";\r
-\r
-       UINT4 i;\r
-       for (i = 0; i < hexPassword.size() / 2; i++)\r
-       {\r
-               string sSub = hexPassword.substr(i * 2, 2);\r
-               int nValue;\r
-               sscanf(sSub.c_str(), "%02x", &nValue);\r
-               sPlain += (unsigned char)nValue;\r
-       }\r
-\r
-       memcpy(NTLMHash, pNTLMHash, MD4_DIGEST_LENGTH);\r
-\r
-\r
-       unsigned long int tmpLength = sPlain.size() * 2;\r
-       unsigned char* pLMPassword = new unsigned char[tmpLength];\r
-\r
-       //printf("Searching for unicode password.\n");\r
-       printf("Failed case correction, trying unicode correction for: %s\n", sPlain.c_str());\r
-       //printf("NTLM hash:          %s\n\n", sNTLMHash.c_str());\r
-       \r
-       setvbuf(stdout, NULL, _IONBF,0);\r
-\r
-       startClock = clock();\r
-       previousClock = clock();\r
-\r
-#ifndef _WIN32\r
-       tty_init();\r
-#endif\r
-\r
-       if (startCorrecting(sPlain, sNTLMPassword, pLMPassword))\r
-       {\r
-               sBinary = ByteToStr(pLMPassword, tmpLength).c_str();\r
-               //printf("\nFound unicode password: %s\n", sNTLMPassword.c_str());\r
-               //printf("Password in hex: %s\n", sBinary.c_str());\r
-               writeEndStats();\r
-#ifndef _WIN32\r
-               tty_done();\r
-#endif\r
-               return true;\r
-       }\r
-       else\r
-       {\r
-               //printf("\ncase correction for password %s fail!\n", sPlain.c_str());\r
-               writeEndStats();\r
-#ifndef _WIN32\r
-               tty_done();\r
-#endif\r
-               return false;\r
-       }\r
-}\r
-\r
-bool LM2NTLMcorrector::startCorrecting(string sLMPassword, string& sNTLMPassword, unsigned char* pLMPassword)\r
-{\r
-       if (sLMPassword.size() == 0)\r
-       {\r
-               sNTLMPassword = "";\r
-               return true;\r
-       }\r
-\r
-       string muteMe = sLMPassword;\r
-       int length = muteMe.size();\r
-\r
-       unsigned char* pMuteMe = new unsigned char[length];\r
-       unsigned char* pTempMute = new unsigned char[length * 2];\r
-\r
-       int i;\r
-       for (i = 0; i < length; i++)\r
-       {\r
-               pMuteMe[i] = muteMe[i];\r
-               pTempMute[i * 2    ] = muteMe[i];\r
-               pTempMute[i * 2 + 1] = 0x00;\r
-               unsigned char muteChar = pMuteMe[i];\r
-               int sizeMapForChar = m_mapChar[muteChar].size();\r
-               int j;\r
-               for (j = 0; j < sizeMapForChar; j++)\r
-               {\r
-                       currentCharmap[i][j] = m_mapChar[muteChar][j];\r
-               }\r
-       }\r
-       \r
-       int* jAtPos = new int[length];\r
-       int* sizeAtPos = new int[length];\r
-       bool* fullAtPos = new bool[length];\r
-\r
-       int setSize;\r
-       for (setSize = 0; setSize <= length; setSize++)\r
-       {\r
-               int cntFull = 0;\r
-\r
-               // clear all 'fullatpos' before new setSize\r
-               int i;\r
-               for (i=0; i < length; i++)\r
-               {\r
-                       fullAtPos[i] = false;\r
-               }\r
-\r
-               //printf("Trying full unicode map for %d/%d characters...\t\t\n", setSize, length);\r
-               printf("Trying full unicode map for %d/%d characters...%-20s\n", setSize, length, "");\r
-\r
-               bool notFirst = true;\r
-\r
-               // start at end and set 'full' combination\r
-               countCombinations = 0;\r
-               countTotalCombinations = calculateTotalCombinations(length, setSize);\r
-\r
-               int sPos = length - 1;\r
-               while (sPos >= 0 && notFirst) // finding combinations for current 'setSize'\r
-               {\r
-                       if (aborting)\r
-                               return false;\r
-\r
-                       if (cntFull < setSize)\r
-                       {\r
-                               if (fullAtPos[sPos] == false)\r
-                               {\r
-                                       fullAtPos[sPos] = true;\r
-                                       cntFull++;\r
-                               }\r
-                               sPos--;\r
-                       }\r
-                       else\r
-                       {\r
-                               if (fullAtPos[sPos] == false && setSize > 0)\r
-                               {\r
-                                       fullAtPos[sPos] = true;\r
-                                       cntFull++;\r
-                                       \r
-                                       // reset positions after sPos\r
-                                       int k;\r
-                                       for (k = sPos+1; k < length; k++)\r
-                                       {\r
-                                               if (fullAtPos[k] == true)\r
-                                               {\r
-                                                       fullAtPos[k] = false;\r
-                                                       cntFull--;\r
-                                               }\r
-                                       }\r
-                                       // start at end again\r
-                                       sPos = length - 1;\r
-                               }\r
-                               else\r
-                               {\r
-                                       sPos--;\r
-                               }\r
-                       }\r
-                       // we have a combination\r
-                       if (cntFull == setSize)\r
-                       {\r
-                               countCombinations++;\r
-\r
-                               setupCombinationAtPositions(length, pMuteMe, pTempMute, jAtPos, fullAtPos, sizeAtPos);\r
-\r
-                               if (checkPermutations(length, pTempMute, jAtPos, sizeAtPos, pLMPassword, sNTLMPassword))\r
-                               {\r
-                                       return true;\r
-                               }\r
-                       }\r
-\r
-                       if (setSize == 0)\r
-                               notFirst = false;\r
-               }\r
-       }\r
-       return false;\r
-}\r
-\r
-// set up combination at positions\r
-void LM2NTLMcorrector::setupCombinationAtPositions(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, bool* fullAtPos, int* sizeAtPos)\r
-{\r
-       progressCurrentCombination = 0;\r
-       totalCurrentCombination = 1;\r
-\r
-       int i;\r
-       for (i=0; i < length; i++)\r
-       {\r
-               pTempMute[i*2] = currentCharmap[i][0];\r
-               pTempMute[i*2+1] = currentCharmap[i][1]; // reset to first char in map\r
-       \r
-               jAtPos[i] = 0; // reset charcounter for this char (that is all chars)\r
-\r
-               // based on combination, set full map or only upper/lowercase\r
-               if (fullAtPos[i] == true)\r
-               {\r
-                       unsigned char muteChar = pMuteMe[i];\r
-                       long unsigned int sizeMapForChar = m_mapChar[muteChar].size()/2; // 2 bytes per char\r
-                       sizeAtPos[i] = sizeMapForChar;\r
-               }\r
-               else\r
-               {\r
-                       sizeAtPos[i] = 2;\r
-               }\r
-\r
-               totalCurrentCombination *= sizeAtPos[i];\r
-       }\r
-       //printf("Trying %I64u passwords for current combination\t\t\r", totalCurrentCombination);\r
-}\r
-\r
-// go check all permutations for this combination\r
-bool LM2NTLMcorrector::checkPermutations(int length, unsigned char* pTempMute, int* jAtPos, int* sizeAtPos, unsigned char* pLMPassword, string& sNTLMPassword)\r
-{\r
-       int pos = length - 1;\r
-\r
-       while (pos >= 0)\r
-       {\r
-               counter++;\r
-\r
-               pos = length - 1;\r
-\r
-               int jAtCurPos = jAtPos[pos];\r
-               int sizeMapForCharPos = sizeAtPos[pos];\r
-               // move to start of string and find character with permutations left\r
-               while (jAtCurPos >= sizeMapForCharPos-1 && pos >= -1)\r
-               {\r
-                       pos--;\r
-                       if (pos >= 0 )\r
-                       {\r
-                               jAtCurPos = jAtPos[pos];\r
-                               sizeMapForCharPos = sizeAtPos[pos];\r
-                       }\r
-               }\r
-               if (pos < 0)\r
-                       continue;\r
-\r
-               // next permutation for character\r
-               jAtCurPos++;\r
-               jAtPos[pos] = jAtCurPos;\r
-               \r
-               pTempMute[pos*2] = currentCharmap[pos][jAtCurPos*2];\r
-               pTempMute[pos*2+1] = currentCharmap[pos][jAtCurPos*2+1];\r
-               \r
-               // reset positions after pos\r
-               int k;\r
-               for (k = pos+1; k < length; k++)\r
-               {\r
-                       jAtPos[k] = 0;\r
-                       pTempMute[k*2] = currentCharmap[k][0]; // reset to first char in map\r
-                       pTempMute[k*2+1] = currentCharmap[k][1];\r
-               }\r
-\r
-               if (checkNTLMPassword(pTempMute, length, sNTLMPassword) == true)\r
-               {\r
-                       int i;\r
-                       for (i = 0; i < length*2; i++)\r
-                               pLMPassword[i] = pTempMute[i];\r
-                       return true;\r
-               }\r
-\r
-               if (counter > 10000) // don't check clocks too often\r
-               {\r
-                       clock_t currentClock = clock();\r
-                       float fTime = 1.0f * (currentClock - previousClock);\r
-                       if (fTime > 1.0f * CLOCKS_PER_SEC)\r
-                       {\r
-                               float progressPercentageCurrentCombination = progressCurrentCombination * 100.0f / totalCurrentCombination;\r
-                               float fTime = 1.0f * (currentClock - startClock) / CLOCKS_PER_SEC;\r
-                               float currentSpeed = (counterOverall + progressCurrentCombination) / fTime / 1000000;\r
-\r
-                               //printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)\t\t\t\t\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed);\r
-                               printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)%-30s\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed, "");\r
-\r
-                               previousClock = clock();\r
-                               #ifdef _WIN32\r
-                               if (_kbhit())\r
-                               {\r
-                                       int ch = _getch();\r
-                                       ch = toupper(ch);\r
-                                       if (ch == 'S')\r
-                                       {\r
-                                               aborting = true;\r
-                                               printf( "\nAborting unicode correction for this hash...\n");\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               printf( "\nPress 'S' to skip unicode correction for this hash...\n");\r
-                                       }\r
-                               }\r
-                               #else\r
-                               int c = tty_getchar();\r
-                               if (c >= 0) {\r
-                                       tty_flush();\r
-                                       if (c==115) { // = s\r
-                                               aborting = true;\r
-                                               printf( "\nAborting unicode correction for this hash...\n");\r
-                                       }\r
-                                       else {\r
-                                               printf( "\nPress 's' to skip unicode correction for this hash...\n");\r
-                                       }\r
-                               }\r
-                               #endif\r
-                               if (aborting)\r
-                                       return false;\r
-                       }\r
-                       counter = 0;\r
-               }\r
-               \r
-               progressCurrentCombination++;\r
-               counterOverall++;\r
-       }\r
-       return false;\r
-}\r
-\r
-// check password, maybe integrate this function in checkPermutations() for performance reasons.\r
-bool LM2NTLMcorrector::checkNTLMPassword(unsigned char* pLMPassword, int nLMPasswordLen, string& sNTLMPassword)\r
-{\r
-       unsigned char md[MD4_DIGEST_LENGTH];\r
-\r
-       //MD4(pLMPassword, nLMPasswordLen * 2, md);\r
-       /*\r
-       MD4_CTX ctx;\r
-       MD4_Init(&ctx);\r
-       MD4_Update(&ctx, pLMPassword, nLMPasswordLen * 2);\r
-       MD4_Final(md, &ctx);*/ \r
-\r
-       MD4_NEW( pLMPassword, nLMPasswordLen * 2, md );\r
-\r
-       if (memcmp(md, NTLMHash, MD4_DIGEST_LENGTH) == 0)\r
-       {\r
-               sNTLMPassword = "";\r
-               int i;\r
-               for (i = 0; i < nLMPasswordLen; i++) {\r
-                       sNTLMPassword += char(pLMPassword[i * 2]);\r
-               }\r
-               return true;\r
-       }\r
-       else\r
-               return false;\r
-}\r
-\r
-void LM2NTLMcorrector::checkAbort()\r
-{\r
-#ifdef _WIN32\r
-       if (_kbhit())\r
-       {\r
-               int ch = _getch();\r
-               ch = toupper(ch);\r
-               if (ch == 'S')\r
-               {\r
-                       aborting = true;\r
-                       printf( "\nAborting unicode correction for this hash...\n");\r
-               }\r
-               else\r
-               {\r
-                       printf( "\nPress 'S' to skip unicode correction for this hash...\n");\r
-               }\r
-       }\r
-#endif\r
-}\r
-\r
-void LM2NTLMcorrector::writeEndStats()\r
-{\r
-       clock_t endClock = clock();\r
-       if (endClock - startClock > 0)\r
-       {\r
-               float fTime = 1.0f * (endClock - startClock) / CLOCKS_PER_SEC;\r
-               float speedOverall = counterOverall / fTime / 1000000;\r
-               printf("\nTried %s passwords in %.2f s (%.2f Mhashes/s)\n", uint64tostr(counterOverall).c_str(), fTime, speedOverall);\r
-       }\r
-\r
-       printf("\n");\r
-}\r
-\r
-int LM2NTLMcorrector::calculateTotalCombinations(int length, int setSize)\r
-{\r
-       return factorial(length) / (factorial(setSize) * factorial(length-setSize));\r
-}\r
-\r
-int LM2NTLMcorrector::factorial (int num)\r
-{\r
-       int result = 1;\r
-       int i;\r
-       for (i = 1; i <= num; ++i)\r
-               result *= i;\r
-       return result;\r
-}\r
-\r
-// convert some bytes into a string\r
-string LM2NTLMcorrector::ByteToStr(const unsigned char* pData, int nLen)\r
-{\r
-       string sRet = "";\r
-       int i;\r
-       for (i = 0; i < nLen/2; i++)\r
-       {\r
-               char szByte[3];\r
-               sprintf(szByte, "%02x", pData[i*2+1]); // swap 2-byte characters again\r
-               sRet += szByte;\r
-               sprintf(szByte, "%02x", pData[i*2]);\r
-               sRet += szByte;\r
-       }\r
-\r
-       return sRet;\r
-}\r
-\r
-void LM2NTLMcorrector::addToMapW(unsigned char key, unsigned char value1, unsigned char value2)\r
-{\r
-       unsigned long int cnt = m_mapChar[key].size();\r
-       m_mapChar[key][cnt] = value2;\r
-       m_mapChar[key][cnt+1] = value1; //reverse for endiannes\r
-}\r
-\r
-// construct the mappings, would be nicer in a separate (importable) file\r
-void LM2NTLMcorrector::fillMapW()\r
-{\r
-       addToMapW(0x01, 0x00, 0x01);\r
-       addToMapW(0x01, 0x26, 0x3A);\r
-       addToMapW(0x02, 0x00, 0x02);\r
-       addToMapW(0x02, 0x26, 0x3B);\r
-       addToMapW(0x03, 0x00, 0x03);\r
-       addToMapW(0x03, 0x26, 0x65);\r
-       addToMapW(0x04, 0x00, 0x04);\r
-       addToMapW(0x04, 0x26, 0x66);\r
-       addToMapW(0x05, 0x00, 0x05);\r
-       addToMapW(0x05, 0x26, 0x63);\r
-       addToMapW(0x06, 0x00, 0x06);\r
-       addToMapW(0x06, 0x26, 0x60);\r
-       addToMapW(0x07, 0x00, 0x07);\r
-       addToMapW(0x07, 0x00, 0xB7);\r
-       addToMapW(0x07, 0x20, 0x22);\r
-       addToMapW(0x07, 0x20, 0x24);\r
-       addToMapW(0x07, 0x20, 0x26);\r
-       addToMapW(0x07, 0x22, 0x19);\r
-       addToMapW(0x07, 0x22, 0xC5);\r
-       addToMapW(0x07, 0x30, 0xFB);\r
-       addToMapW(0x08, 0x00, 0x08);\r
-       addToMapW(0x08, 0x25, 0xD8);\r
-       addToMapW(0x09, 0x00, 0x09);\r
-       addToMapW(0x09, 0x20, 0xDD);\r
-       addToMapW(0x09, 0x25, 0xCB);\r
-       addToMapW(0x09, 0x30, 0x07);\r
-       addToMapW(0x0a, 0x00, 0x0A);\r
-       addToMapW(0x0a, 0x25, 0xD9);\r
-       addToMapW(0x0b, 0x00, 0x0B);\r
-       addToMapW(0x0b, 0x26, 0x42);\r
-       addToMapW(0x0c, 0x00, 0x0C);\r
-       addToMapW(0x0c, 0x26, 0x40);\r
-       addToMapW(0x0d, 0x00, 0x0D);\r
-       addToMapW(0x0d, 0x26, 0x6A);\r
-       addToMapW(0x0e, 0x00, 0x0E);\r
-       addToMapW(0x0e, 0x26, 0x6B);\r
-       addToMapW(0x0f, 0x00, 0x0F);\r
-       addToMapW(0x0f, 0x00, 0xA4);\r
-       addToMapW(0x0f, 0x26, 0x3C);\r
-       addToMapW(0x10, 0x00, 0x10);\r
-       addToMapW(0x10, 0x25, 0xBA);\r
-       addToMapW(0x11, 0x00, 0x11);\r
-       addToMapW(0x11, 0x25, 0xC4);\r
-       addToMapW(0x12, 0x00, 0x12);\r
-       addToMapW(0x12, 0x21, 0x95);\r
-       addToMapW(0x13, 0x00, 0x13);\r
-       addToMapW(0x13, 0x20, 0x3C);\r
-       addToMapW(0x14, 0x00, 0x14);\r
-       addToMapW(0x14, 0x00, 0xB6);\r
-       addToMapW(0x15, 0x00, 0x15);\r
-       addToMapW(0x15, 0x00, 0xA7);\r
-       addToMapW(0x16, 0x00, 0x16);\r
-       addToMapW(0x16, 0x02, 0xC9);\r
-       addToMapW(0x16, 0x25, 0xAC);\r
-       addToMapW(0x17, 0x00, 0x17);\r
-       addToMapW(0x17, 0x21, 0xA8);\r
-       addToMapW(0x18, 0x00, 0x18);\r
-       addToMapW(0x18, 0x21, 0x91);\r
-       addToMapW(0x19, 0x00, 0x19);\r
-       addToMapW(0x19, 0x21, 0x93);\r
-       addToMapW(0x1a, 0x00, 0x1A);\r
-       addToMapW(0x1a, 0x21, 0x92);\r
-       addToMapW(0x1b, 0x00, 0x1B);\r
-       addToMapW(0x1b, 0x21, 0x90);\r
-       addToMapW(0x1c, 0x00, 0x1C);\r
-       addToMapW(0x1c, 0x22, 0x1F);\r
-       addToMapW(0x1d, 0x00, 0x1D);\r
-       addToMapW(0x1d, 0x21, 0x94);\r
-       addToMapW(0x1e, 0x00, 0x1E);\r
-       addToMapW(0x1e, 0x25, 0xB2);\r
-       addToMapW(0x1f, 0x00, 0x1F);\r
-       addToMapW(0x1f, 0x25, 0xBC);\r
-       addToMapW(0x20, 0x00, 0x20);\r
-       addToMapW(0x20, 0x20, 0x00);\r
-       addToMapW(0x20, 0x20, 0x01);\r
-       addToMapW(0x20, 0x20, 0x02);\r
-       addToMapW(0x20, 0x20, 0x03);\r
-       addToMapW(0x20, 0x20, 0x04);\r
-       addToMapW(0x20, 0x20, 0x05);\r
-       addToMapW(0x20, 0x20, 0x06);\r
-       addToMapW(0x20, 0x30, 0x00);\r
-       addToMapW(0x21, 0x00, 0x21);\r
-       addToMapW(0x21, 0x00, 0xA1);\r
-       addToMapW(0x21, 0x01, 0xC3);\r
-       addToMapW(0x21, 0xFF, 0x01);\r
-       addToMapW(0x22, 0x00, 0x22);\r
-       addToMapW(0x22, 0x00, 0xA8);\r
-       addToMapW(0x22, 0x02, 0xBA);\r
-       addToMapW(0x22, 0x03, 0x08);\r
-       addToMapW(0x22, 0x03, 0x0E);\r
-       addToMapW(0x22, 0x20, 0x1C);\r
-       addToMapW(0x22, 0x20, 0x1D);\r
-       addToMapW(0x22, 0x20, 0x1E);\r
-       addToMapW(0x22, 0x20, 0x33);\r
-       addToMapW(0x22, 0x20, 0x35);\r
-       addToMapW(0x22, 0x27, 0x5D);\r
-       addToMapW(0x22, 0x27, 0x5E);\r
-       addToMapW(0x22, 0x30, 0x1D);\r
-       addToMapW(0x22, 0x30, 0x1E);\r
-       addToMapW(0x22, 0x30, 0x1F);\r
-       addToMapW(0x22, 0xFF, 0x02);\r
-       addToMapW(0x23, 0x00, 0x23);\r
-       addToMapW(0x23, 0xFF, 0x03);\r
-       addToMapW(0x24, 0x00, 0x24);\r
-       addToMapW(0x24, 0xFF, 0x04);\r
-       addToMapW(0x25, 0x00, 0x25);\r
-       addToMapW(0x25, 0x06, 0x6A);\r
-       addToMapW(0x25, 0x20, 0x30);\r
-       addToMapW(0x25, 0xFF, 0x05);\r
-       addToMapW(0x26, 0x00, 0x26);\r
-       addToMapW(0x26, 0xFF, 0x06);\r
-       addToMapW(0x27, 0x00, 0x27);\r
-       addToMapW(0x27, 0x00, 0xB4);\r
-       addToMapW(0x27, 0x02, 0xB9);\r
-       addToMapW(0x27, 0x02, 0xBB);\r
-       addToMapW(0x27, 0x02, 0xBC);\r
-       addToMapW(0x27, 0x02, 0xC8);\r
-       addToMapW(0x27, 0x02, 0xCA);\r
-       addToMapW(0x27, 0x02, 0xCB);\r
-       addToMapW(0x27, 0x03, 0x00);\r
-       addToMapW(0x27, 0x03, 0x01);\r
-       addToMapW(0x27, 0x20, 0x18);\r
-       addToMapW(0x27, 0x20, 0x19);\r
-       addToMapW(0x27, 0x20, 0x1A);\r
-       addToMapW(0x27, 0x20, 0x32);\r
-       addToMapW(0x27, 0x27, 0x5B);\r
-       addToMapW(0x27, 0x27, 0x5C);\r
-       addToMapW(0x27, 0xFF, 0x07);\r
-       addToMapW(0x28, 0x00, 0x28);\r
-       addToMapW(0x28, 0x23, 0x20);\r
-       addToMapW(0x28, 0xFF, 0x08);\r
-       addToMapW(0x29, 0x00, 0x29);\r
-       addToMapW(0x29, 0x23, 0x21);\r
-       addToMapW(0x29, 0xFF, 0x09);\r
-       addToMapW(0x2a, 0x00, 0x2A);\r
-       addToMapW(0x2a, 0x22, 0x17);\r
-       addToMapW(0x2a, 0xFF, 0x0A);\r
-       addToMapW(0x2b, 0x00, 0x2B);\r
-       addToMapW(0x2b, 0x00, 0xB1);\r
-       addToMapW(0x2b, 0x20, 0x20);\r
-       addToMapW(0x2b, 0x20, 0x21);\r
-       addToMapW(0x2b, 0xFF, 0x0B);\r
-       addToMapW(0x2c, 0x00, 0x2C);\r
-       addToMapW(0x2c, 0x00, 0xB8);\r
-       addToMapW(0x2c, 0x03, 0x27);\r
-       addToMapW(0x2c, 0x20, 0x1A);\r
-       addToMapW(0x2c, 0x20, 0x1E);\r
-       addToMapW(0x2c, 0xFF, 0x0C);\r
-       addToMapW(0x2d, 0x00, 0x2D);\r
-       addToMapW(0x2d, 0x00, 0xAC);\r
-       addToMapW(0x2d, 0x00, 0xAD);\r
-       addToMapW(0x2d, 0x20, 0x10);\r
-       addToMapW(0x2d, 0x20, 0x11);\r
-       addToMapW(0x2d, 0x20, 0x13);\r
-       addToMapW(0x2d, 0x20, 0x14);\r
-       addToMapW(0x2d, 0x22, 0x12);\r
-       addToMapW(0x2d, 0x22, 0x13);\r
-       addToMapW(0x2d, 0xFF, 0x0D);\r
-       addToMapW(0x2e, 0x00, 0x2E);\r
-       addToMapW(0x2e, 0x20, 0x26);\r
-       addToMapW(0x2e, 0xFF, 0x0E);\r
-       addToMapW(0x2f, 0x00, 0x2F);\r
-       addToMapW(0x2f, 0x20, 0x44);\r
-       addToMapW(0x2f, 0x22, 0x15);\r
-       addToMapW(0x2f, 0x22, 0x16);\r
-       addToMapW(0x2f, 0xFF, 0x0F);\r
-       addToMapW(0x30, 0x00, 0x30);\r
-       addToMapW(0x30, 0x20, 0x70);\r
-       addToMapW(0x30, 0x20, 0x80);\r
-       addToMapW(0x30, 0xFF, 0x10);\r
-       addToMapW(0x31, 0x00, 0x31);\r
-       addToMapW(0x31, 0x00, 0xB9);\r
-       addToMapW(0x31, 0x00, 0xBC);\r
-       addToMapW(0x31, 0x00, 0xBD);\r
-       addToMapW(0x31, 0x20, 0x81);\r
-       addToMapW(0x31, 0xFF, 0x11);\r
-       addToMapW(0x32, 0x00, 0x32);\r
-       addToMapW(0x32, 0x00, 0xB2);\r
-       addToMapW(0x32, 0x20, 0x82);\r
-       addToMapW(0x32, 0xFF, 0x12);\r
-       addToMapW(0x33, 0x00, 0x33);\r
-       addToMapW(0x33, 0x00, 0xB3);\r
-       addToMapW(0x33, 0x00, 0xBE);\r
-       addToMapW(0x33, 0x20, 0x83);\r
-       addToMapW(0x33, 0xFF, 0x13);\r
-       addToMapW(0x34, 0x00, 0x34);\r
-       addToMapW(0x34, 0x20, 0x74);\r
-       addToMapW(0x34, 0x20, 0x84);\r
-       addToMapW(0x34, 0xFF, 0x14);\r
-       addToMapW(0x35, 0x00, 0x35);\r
-       addToMapW(0x35, 0x20, 0x75);\r
-       addToMapW(0x35, 0x20, 0x85);\r
-       addToMapW(0x35, 0xFF, 0x15);\r
-       addToMapW(0x36, 0x00, 0x36);\r
-       addToMapW(0x36, 0x20, 0x76);\r
-       addToMapW(0x36, 0x20, 0x86);\r
-       addToMapW(0x36, 0xFF, 0x16);\r
-       addToMapW(0x37, 0x00, 0x37);\r
-       addToMapW(0x37, 0x20, 0x77);\r
-       addToMapW(0x37, 0x20, 0x87);\r
-       addToMapW(0x37, 0xFF, 0x17);\r
-       addToMapW(0x38, 0x00, 0x38);\r
-       addToMapW(0x38, 0x20, 0x78);\r
-       addToMapW(0x38, 0x20, 0x88);\r
-       addToMapW(0x38, 0x22, 0x1E);\r
-       addToMapW(0x38, 0xFF, 0x18);\r
-       addToMapW(0x39, 0x00, 0x39);\r
-       addToMapW(0x39, 0x20, 0x78);\r
-       addToMapW(0x39, 0x20, 0x89);\r
-       addToMapW(0x39, 0xFF, 0x19);\r
-       addToMapW(0x3a, 0x00, 0x3A);\r
-       addToMapW(0x3a, 0x05, 0x89);\r
-       addToMapW(0x3a, 0x20, 0x26);\r
-       addToMapW(0x3a, 0x22, 0x36);\r
-       addToMapW(0x3a, 0xFF, 0x1A);\r
-       addToMapW(0x3b, 0x00, 0x3B);\r
-       addToMapW(0x3b, 0x03, 0x7E);\r
-       addToMapW(0x3b, 0xFF, 0x1B);\r
-       addToMapW(0x3c, 0x00, 0x3C);\r
-       addToMapW(0x3c, 0x00, 0xAB);\r
-       addToMapW(0x3c, 0x20, 0x39);\r
-       addToMapW(0x3c, 0x23, 0x29);\r
-       addToMapW(0x3c, 0x30, 0x08);\r
-       addToMapW(0x3c, 0xFF, 0x1C);\r
-       addToMapW(0x3d, 0x00, 0x3D);\r
-       addToMapW(0x3d, 0x22, 0x61);\r
-       addToMapW(0x3d, 0x22, 0x64);\r
-       addToMapW(0x3d, 0x22, 0x65);\r
-       addToMapW(0x3d, 0xFF, 0x1D);\r
-       addToMapW(0x3e, 0x00, 0x3E);\r
-       addToMapW(0x3e, 0x00, 0xBB);\r
-       addToMapW(0x3e, 0x20, 0x3A);\r
-       addToMapW(0x3e, 0x23, 0x2A);\r
-       addToMapW(0x3e, 0x30, 0x09);\r
-       addToMapW(0x3e, 0xFF, 0x1E);\r
-       addToMapW(0x3f, 0x00, 0x3F);\r
-       addToMapW(0x40, 0x00, 0x40);\r
-       addToMapW(0x40, 0xFF, 0x20);\r
-       addToMapW(0x41, 0x00, 0x41);\r
-       addToMapW(0x41, 0x00, 0x61);\r
-       addToMapW(0x41, 0x00, 0xAA);\r
-       addToMapW(0x41, 0x00, 0xC0);\r
-       addToMapW(0x41, 0x00, 0xC1);\r
-       addToMapW(0x41, 0x00, 0xC2);\r
-       addToMapW(0x41, 0x00, 0xC3);\r
-       addToMapW(0x41, 0x00, 0xC4);\r
-       addToMapW(0x41, 0x00, 0xC5);\r
-       addToMapW(0x41, 0x00, 0xC6);\r
-       addToMapW(0x41, 0x00, 0xE0);\r
-       addToMapW(0x41, 0x00, 0xE1);\r
-       addToMapW(0x41, 0x00, 0xE2);\r
-       addToMapW(0x41, 0x00, 0xE3);\r
-       addToMapW(0x41, 0x00, 0xE4);\r
-       addToMapW(0x41, 0x00, 0xE5);\r
-       addToMapW(0x41, 0x00, 0xE6);\r
-       addToMapW(0x41, 0x01, 0x00);\r
-       addToMapW(0x41, 0x01, 0x01);\r
-       addToMapW(0x41, 0x01, 0x02);\r
-       addToMapW(0x41, 0x01, 0x03);\r
-       addToMapW(0x41, 0x01, 0x04);\r
-       addToMapW(0x41, 0x01, 0x05);\r
-       addToMapW(0x41, 0x01, 0xCD);\r
-       addToMapW(0x41, 0x01, 0xCE);\r
-       addToMapW(0x41, 0x01, 0xDE);\r
-       addToMapW(0x41, 0x01, 0xDF);\r
-       addToMapW(0x41, 0x03, 0xB1);\r
-       addToMapW(0x41, 0x21, 0x2B);\r
-       addToMapW(0x41, 0xFF, 0x21);\r
-       addToMapW(0x41, 0xFF, 0x41);\r
-       addToMapW(0x42, 0x00, 0x42);\r
-       addToMapW(0x42, 0x00, 0x62);\r
-       addToMapW(0x42, 0x01, 0x80);\r
-       addToMapW(0x42, 0x21, 0x2C);\r
-       addToMapW(0x42, 0xFF, 0x22);\r
-       addToMapW(0x42, 0xFF, 0x42);\r
-       addToMapW(0x43, 0x00, 0x43);\r
-       addToMapW(0x43, 0x00, 0x63);\r
-       addToMapW(0x43, 0x00, 0xA2);\r
-       addToMapW(0x43, 0x00, 0xA9);\r
-       addToMapW(0x43, 0x00, 0xC7);\r
-       addToMapW(0x43, 0x00, 0xE7);\r
-       addToMapW(0x43, 0x00, 0xE8);\r
-       addToMapW(0x43, 0x01, 0x06);\r
-       addToMapW(0x43, 0x01, 0x07);\r
-       addToMapW(0x43, 0x01, 0x08);\r
-       addToMapW(0x43, 0x01, 0x09);\r
-       addToMapW(0x43, 0x01, 0x0A);\r
-       addToMapW(0x43, 0x01, 0x0B);\r
-       addToMapW(0x43, 0x01, 0x0C);\r
-       addToMapW(0x43, 0x01, 0x0D);\r
-       addToMapW(0x43, 0x21, 0x02);\r
-       addToMapW(0x43, 0x21, 0x2D);\r
-       addToMapW(0x43, 0xFF, 0x23);\r
-       addToMapW(0x43, 0xFF, 0x43);\r
-       addToMapW(0x44, 0x00, 0x44);\r
-       addToMapW(0x44, 0x00, 0x64);\r
-       addToMapW(0x44, 0x00, 0xD0);\r
-       addToMapW(0x44, 0x00, 0xF0);\r
-       addToMapW(0x44, 0x01, 0x0E);\r
-       addToMapW(0x44, 0x01, 0x0F);\r
-       addToMapW(0x44, 0x01, 0x10);\r
-       addToMapW(0x44, 0x01, 0x11);\r
-       addToMapW(0x44, 0x01, 0x89);\r
-       addToMapW(0x44, 0x03, 0xB4);\r
-       addToMapW(0x44, 0x26, 0x6A);\r
-       addToMapW(0x44, 0x26, 0x6B);\r
-       addToMapW(0x44, 0xFF, 0x24);\r
-       addToMapW(0x44, 0xFF, 0x44);\r
-       addToMapW(0x45, 0x00, 0x45);\r
-       addToMapW(0x45, 0x00, 0x65);\r
-       addToMapW(0x45, 0x00, 0xC8);\r
-       addToMapW(0x45, 0x00, 0xC9);\r
-       addToMapW(0x45, 0x00, 0xCA);\r
-       addToMapW(0x45, 0x00, 0xCB);\r
-       addToMapW(0x45, 0x00, 0xE8);\r
-       addToMapW(0x45, 0x00, 0xE9);\r
-       addToMapW(0x45, 0x00, 0xEA);\r
-       addToMapW(0x45, 0x00, 0xEB);\r
-       addToMapW(0x45, 0x01, 0x12);\r
-       addToMapW(0x45, 0x01, 0x13);\r
-       addToMapW(0x45, 0x01, 0x14);\r
-       addToMapW(0x45, 0x01, 0x15);\r
-       addToMapW(0x45, 0x01, 0x16);\r
-       addToMapW(0x45, 0x01, 0x17);\r
-       addToMapW(0x45, 0x01, 0x18);\r
-       addToMapW(0x45, 0x01, 0x19);\r
-       addToMapW(0x45, 0x01, 0x1A);\r
-       addToMapW(0x45, 0x01, 0x1B);\r
-       addToMapW(0x45, 0x03, 0xB5);\r
-       addToMapW(0x45, 0x21, 0x07);\r
-       addToMapW(0x45, 0x21, 0x2E);\r
-       addToMapW(0x45, 0x21, 0x2F);\r
-       addToMapW(0x45, 0x21, 0x30);\r
-       addToMapW(0x45, 0xFF, 0x25);\r
-       addToMapW(0x45, 0xFF, 0x45);\r
-       addToMapW(0x46, 0x00, 0x46);\r
-       addToMapW(0x46, 0x00, 0x66);\r
-       addToMapW(0x46, 0x01, 0x91);\r
-       addToMapW(0x46, 0x01, 0x92);\r
-       addToMapW(0x46, 0x03, 0xA6);\r
-       addToMapW(0x46, 0x03, 0xC6);\r
-       addToMapW(0x46, 0x21, 0x31);\r
-       addToMapW(0x46, 0xFF, 0x26);\r
-       addToMapW(0x46, 0xFF, 0x46);\r
-       addToMapW(0x47, 0x00, 0x47);\r
-       addToMapW(0x47, 0x00, 0x67);\r
-       addToMapW(0x47, 0x01, 0x1C);\r
-       addToMapW(0x47, 0x01, 0x1D);\r
-       addToMapW(0x47, 0x01, 0x1E);\r
-       addToMapW(0x47, 0x01, 0x1F);\r
-       addToMapW(0x47, 0x01, 0x20);\r
-       addToMapW(0x47, 0x01, 0x21);\r
-       addToMapW(0x47, 0x01, 0x22);\r
-       addToMapW(0x47, 0x01, 0x23);\r
-       addToMapW(0x47, 0x01, 0xE4);\r
-       addToMapW(0x47, 0x01, 0xE5);\r
-       addToMapW(0x47, 0x01, 0xE6);\r
-       addToMapW(0x47, 0x01, 0xE7);\r
-       addToMapW(0x47, 0x02, 0x61);\r
-       addToMapW(0x47, 0x03, 0x93);\r
-       addToMapW(0x47, 0x21, 0x0A);\r
-       addToMapW(0x47, 0xFF, 0x27);\r
-       addToMapW(0x47, 0xFF, 0x47);\r
-       addToMapW(0x48, 0x00, 0x48);\r
-       addToMapW(0x48, 0x00, 0x68);\r
-       addToMapW(0x48, 0x01, 0x24);\r
-       addToMapW(0x48, 0x01, 0x25);\r
-       addToMapW(0x48, 0x01, 0x26);\r
-       addToMapW(0x48, 0x01, 0x27);\r
-       addToMapW(0x48, 0x04, 0xBB);\r
-       addToMapW(0x48, 0x21, 0x0B);\r
-       addToMapW(0x48, 0x21, 0x0C);\r
-       addToMapW(0x48, 0x21, 0x0D);\r
-       addToMapW(0x48, 0x21, 0x0E);\r
-       addToMapW(0x48, 0xFF, 0x28);\r
-       addToMapW(0x48, 0xFF, 0x48);\r
-       addToMapW(0x49, 0x00, 0x49);\r
-       addToMapW(0x49, 0x00, 0x69);\r
-       addToMapW(0x49, 0x00, 0xCC);\r
-       addToMapW(0x49, 0x00, 0xCD);\r
-       addToMapW(0x49, 0x00, 0xCE);\r
-       addToMapW(0x49, 0x00, 0xCF);\r
-       addToMapW(0x49, 0x00, 0xEC);\r
-       addToMapW(0x49, 0x00, 0xED);\r
-       addToMapW(0x49, 0x00, 0xEE);\r
-       addToMapW(0x49, 0x00, 0xEF);\r
-       addToMapW(0x49, 0x01, 0x28);\r
-       addToMapW(0x49, 0x01, 0x29);\r
-       addToMapW(0x49, 0x01, 0x2A);\r
-       addToMapW(0x49, 0x01, 0x2B);\r
-       addToMapW(0x49, 0x01, 0x2C);\r
-       addToMapW(0x49, 0x01, 0x2D);\r
-       addToMapW(0x49, 0x01, 0x2E);\r
-       addToMapW(0x49, 0x01, 0x2F);\r
-       addToMapW(0x49, 0x01, 0x30);\r
-       addToMapW(0x49, 0x01, 0x31);\r
-       addToMapW(0x49, 0x01, 0x97);\r
-       addToMapW(0x49, 0x01, 0xCF);\r
-       addToMapW(0x49, 0x01, 0xD0);\r
-       addToMapW(0x49, 0x21, 0x10);\r
-       addToMapW(0x49, 0x21, 0x11);\r
-       addToMapW(0x49, 0xFF, 0x29);\r
-       addToMapW(0x49, 0xFF, 0x49);\r
-       addToMapW(0x4a, 0x00, 0x4A);\r
-       addToMapW(0x4a, 0x00, 0x6A);\r
-       addToMapW(0x4a, 0x01, 0x34);\r
-       addToMapW(0x4a, 0x01, 0x35);\r
-       addToMapW(0x4a, 0x01, 0xF0);\r
-       addToMapW(0x4a, 0xFF, 0x2A);\r
-       addToMapW(0x4a, 0xFF, 0x4A);\r
-       addToMapW(0x4b, 0x00, 0x4B);\r
-       addToMapW(0x4b, 0x00, 0x6B);\r
-       addToMapW(0x4b, 0x01, 0x36);\r
-       addToMapW(0x4b, 0x01, 0x37);\r
-       addToMapW(0x4b, 0x01, 0xE8);\r
-       addToMapW(0x4b, 0x01, 0xE9);\r
-       addToMapW(0x4b, 0x21, 0x2A);\r
-       addToMapW(0x4b, 0xFF, 0x2B);\r
-       addToMapW(0x4b, 0xFF, 0x4B);\r
-       addToMapW(0x4c, 0x00, 0x4C);\r
-       addToMapW(0x4c, 0x00, 0x6C);\r
-       addToMapW(0x4c, 0x00, 0xA3);\r
-       addToMapW(0x4c, 0x01, 0x39);\r
-       addToMapW(0x4c, 0x01, 0x3A);\r
-       addToMapW(0x4c, 0x01, 0x3B);\r
-       addToMapW(0x4c, 0x01, 0x3C);\r
-       addToMapW(0x4c, 0x01, 0x3D);\r
-       addToMapW(0x4c, 0x01, 0x3E);\r
-       addToMapW(0x4c, 0x01, 0x41);\r
-       addToMapW(0x4c, 0x01, 0x42);\r
-       addToMapW(0x4c, 0x01, 0x9A);\r
-       addToMapW(0x4c, 0x20, 0xA4);\r
-       addToMapW(0x4c, 0x21, 0x12);\r
-       addToMapW(0x4c, 0x21, 0x13);\r
-       addToMapW(0x4c, 0xFF, 0x2C);\r
-       addToMapW(0x4c, 0xFF, 0x4C);\r
-       addToMapW(0x4d, 0x00, 0x4D);\r
-       addToMapW(0x4d, 0x00, 0x6D);\r
-       addToMapW(0x4d, 0x21, 0x33);\r
-       addToMapW(0x4d, 0xFF, 0x2D);\r
-       addToMapW(0x4d, 0xFF, 0x4D);\r
-       addToMapW(0x4e, 0x00, 0x4E);\r
-       addToMapW(0x4e, 0x00, 0x6E);\r
-       addToMapW(0x4e, 0x00, 0xD1);\r
-       addToMapW(0x4e, 0x00, 0xF1);\r
-       addToMapW(0x4e, 0x01, 0x43);\r
-       addToMapW(0x4e, 0x01, 0x44);\r
-       addToMapW(0x4e, 0x01, 0x45);\r
-       addToMapW(0x4e, 0x01, 0x46);\r
-       addToMapW(0x4e, 0x01, 0x47);\r
-       addToMapW(0x4e, 0x01, 0x48);\r
-       addToMapW(0x4e, 0x20, 0x7F);\r
-       addToMapW(0x4e, 0x21, 0x15);\r
-       addToMapW(0x4e, 0x22, 0x29);\r
-       addToMapW(0x4e, 0xFF, 0x2E);\r
-       addToMapW(0x4e, 0xFF, 0x4E);\r
-       addToMapW(0x4f, 0x00, 0x4F);\r
-       addToMapW(0x4f, 0x00, 0x6F);\r
-       addToMapW(0x4f, 0x00, 0xB0);\r
-       addToMapW(0x4f, 0x00, 0xBA);\r
-       addToMapW(0x4f, 0x00, 0xD2);\r
-       addToMapW(0x4f, 0x00, 0xD3);\r
-       addToMapW(0x4f, 0x00, 0xD4);\r
-       addToMapW(0x4f, 0x00, 0xD5);\r
-       addToMapW(0x4f, 0x00, 0xD6);\r
-       addToMapW(0x4f, 0x00, 0xD8);\r
-       addToMapW(0x4f, 0x00, 0xF2);\r
-       addToMapW(0x4f, 0x00, 0xF3);\r
-       addToMapW(0x4f, 0x00, 0xF4);\r
-       addToMapW(0x4f, 0x00, 0xF5);\r
-       addToMapW(0x4f, 0x00, 0xF6);\r
-       addToMapW(0x4f, 0x00, 0xF8);\r
-       addToMapW(0x4f, 0x01, 0x4C);\r
-       addToMapW(0x4f, 0x01, 0x4D);\r
-       addToMapW(0x4f, 0x01, 0x4E);\r
-       addToMapW(0x4f, 0x01, 0x4F);\r
-       addToMapW(0x4f, 0x01, 0x50);\r
-       addToMapW(0x4f, 0x01, 0x51);\r
-       addToMapW(0x4f, 0x01, 0x52);\r
-       addToMapW(0x4f, 0x01, 0x53);\r
-       addToMapW(0x4f, 0x01, 0x9F);\r
-       addToMapW(0x4f, 0x01, 0xA0);\r
-       addToMapW(0x4f, 0x01, 0xA1);\r
-       addToMapW(0x4f, 0x01, 0xD1);\r
-       addToMapW(0x4f, 0x01, 0xD2);\r
-       addToMapW(0x4f, 0x01, 0xEA);\r
-       addToMapW(0x4f, 0x01, 0xEB);\r
-       addToMapW(0x4f, 0x01, 0xEC);\r
-       addToMapW(0x4f, 0x01, 0xED);\r
-       addToMapW(0x4f, 0x03, 0xA9);\r
-       addToMapW(0x4f, 0x20, 0xDD);\r
-       addToMapW(0x4f, 0x21, 0x26);\r
-       addToMapW(0x4f, 0x21, 0x34);\r
-       addToMapW(0x4f, 0x22, 0x05);\r
-       addToMapW(0x4f, 0x30, 0x07);\r
-       addToMapW(0x4f, 0xFF, 0x2F);\r
-       addToMapW(0x4f, 0xFF, 0x4F);\r
-       addToMapW(0x50, 0x00, 0x50);\r
-       addToMapW(0x50, 0x00, 0x70);\r
-       addToMapW(0x50, 0x03, 0xC0);\r
-       addToMapW(0x50, 0x20, 0xA7);\r
-       addToMapW(0x50, 0x21, 0x18);\r
-       addToMapW(0x50, 0x21, 0x19);\r
-       addToMapW(0x50, 0xFF, 0x30);\r
-       addToMapW(0x50, 0xFF, 0x50);\r
-       addToMapW(0x51, 0x00, 0x51);\r
-       addToMapW(0x51, 0x00, 0x71);\r
-       addToMapW(0x51, 0x21, 0x1A);\r
-       addToMapW(0x51, 0xFF, 0x31);\r
-       addToMapW(0x51, 0xFF, 0x51);\r
-       addToMapW(0x52, 0x00, 0x52);\r
-       addToMapW(0x52, 0x00, 0x72);\r
-       addToMapW(0x52, 0x00, 0xAE);\r
-       addToMapW(0x52, 0x01, 0x54);\r
-       addToMapW(0x52, 0x01, 0x55);\r
-       addToMapW(0x52, 0x01, 0x56);\r
-       addToMapW(0x52, 0x01, 0x57);\r
-       addToMapW(0x52, 0x01, 0x58);\r
-       addToMapW(0x52, 0x01, 0x59);\r
-       addToMapW(0x52, 0x21, 0x1B);\r
-       addToMapW(0x52, 0x21, 0x1C);\r
-       addToMapW(0x52, 0x21, 0x1D);\r
-       addToMapW(0x52, 0xFF, 0x32);\r
-       addToMapW(0x52, 0xFF, 0x52);\r
-       addToMapW(0x53, 0x00, 0x53);\r
-       addToMapW(0x53, 0x00, 0x73);\r
-       addToMapW(0x53, 0x00, 0xDF);\r
-       addToMapW(0x53, 0x01, 0x5A);\r
-       addToMapW(0x53, 0x01, 0x5B);\r
-       addToMapW(0x53, 0x01, 0x5C);\r
-       addToMapW(0x53, 0x01, 0x5D);\r
-       addToMapW(0x53, 0x01, 0x5E);\r
-       addToMapW(0x53, 0x01, 0x5F);\r
-       addToMapW(0x53, 0x01, 0x60);\r
-       addToMapW(0x53, 0x01, 0x61);\r
-       addToMapW(0x53, 0x01, 0xA9);\r
-       addToMapW(0x53, 0x03, 0xA3);\r
-       addToMapW(0x53, 0x03, 0xC3);\r
-       addToMapW(0x53, 0x22, 0x11);\r
-       addToMapW(0x53, 0xFF, 0x33);\r
-       addToMapW(0x53, 0xFF, 0x53);\r
-       addToMapW(0x54, 0x00, 0x54);\r
-       addToMapW(0x54, 0x00, 0x74);\r
-       addToMapW(0x54, 0x00, 0xDE);\r
-       addToMapW(0x54, 0x00, 0xFE);\r
-       addToMapW(0x54, 0x01, 0x62);\r
-       addToMapW(0x54, 0x01, 0x63);\r
-       addToMapW(0x54, 0x01, 0x64);\r
-       addToMapW(0x54, 0x01, 0x65);\r
-       addToMapW(0x54, 0x01, 0x66);\r
-       addToMapW(0x54, 0x01, 0x67);\r
-       addToMapW(0x54, 0x01, 0xAB);\r
-       addToMapW(0x54, 0x01, 0xAE);\r
-       addToMapW(0x54, 0x03, 0xC4);\r
-       addToMapW(0x54, 0x21, 0x22);\r
-       addToMapW(0x54, 0xFF, 0x34);\r
-       addToMapW(0x54, 0xFF, 0x54);\r
-       addToMapW(0x55, 0x00, 0x55);\r
-       addToMapW(0x55, 0x00, 0x75);\r
-       addToMapW(0x55, 0x00, 0xB5);\r
-       addToMapW(0x55, 0x00, 0xD9);\r
-       addToMapW(0x55, 0x00, 0xDA);\r
-       addToMapW(0x55, 0x00, 0xDB);\r
-       addToMapW(0x55, 0x00, 0xDC);\r
-       addToMapW(0x55, 0x00, 0xF9);\r
-       addToMapW(0x55, 0x00, 0xFA);\r
-       addToMapW(0x55, 0x00, 0xFB);\r
-       addToMapW(0x55, 0x00, 0xFC);\r
-       addToMapW(0x55, 0x01, 0x68);\r
-       addToMapW(0x55, 0x01, 0x69);\r
-       addToMapW(0x55, 0x01, 0x6A);\r
-       addToMapW(0x55, 0x01, 0x6B);\r
-       addToMapW(0x55, 0x01, 0x6C);\r
-       addToMapW(0x55, 0x01, 0x6D);\r
-       addToMapW(0x55, 0x01, 0x6E);\r
-       addToMapW(0x55, 0x01, 0x6F);\r
-       addToMapW(0x55, 0x01, 0x70);\r
-       addToMapW(0x55, 0x01, 0x71);\r
-       addToMapW(0x55, 0x01, 0x72);\r
-       addToMapW(0x55, 0x01, 0x73);\r
-       addToMapW(0x55, 0x01, 0xAF);\r
-       addToMapW(0x55, 0x01, 0xB0);\r
-       addToMapW(0x55, 0x01, 0xD3);\r
-       addToMapW(0x55, 0x01, 0xD4);\r
-       addToMapW(0x55, 0x01, 0xD5);\r
-       addToMapW(0x55, 0x01, 0xD6);\r
-       addToMapW(0x55, 0x01, 0xD7);\r
-       addToMapW(0x55, 0x01, 0xD8);\r
-       addToMapW(0x55, 0x01, 0xD9);\r
-       addToMapW(0x55, 0x01, 0xDA);\r
-       addToMapW(0x55, 0x01, 0xDB);\r
-       addToMapW(0x55, 0x01, 0xDC);\r
-       addToMapW(0x55, 0x03, 0xBC);\r
-       addToMapW(0x55, 0xFF, 0x35);\r
-       addToMapW(0x55, 0xFF, 0x55);\r
-       addToMapW(0x56, 0x00, 0x56);\r
-       addToMapW(0x56, 0x00, 0x76);\r
-       addToMapW(0x56, 0x22, 0x1A);\r
-       addToMapW(0x56, 0x27, 0x13);\r
-       addToMapW(0x56, 0xFF, 0x36);\r
-       addToMapW(0x56, 0xFF, 0x56);\r
-       addToMapW(0x57, 0x00, 0x57);\r
-       addToMapW(0x57, 0x00, 0x77);\r
-       addToMapW(0x57, 0x01, 0x74);\r
-       addToMapW(0x57, 0x01, 0x75);\r
-       addToMapW(0x57, 0xFF, 0x37);\r
-       addToMapW(0x57, 0xFF, 0x57);\r
-       addToMapW(0x58, 0x00, 0x58);\r
-       addToMapW(0x58, 0x00, 0x78);\r
-       addToMapW(0x58, 0x00, 0xD7);\r
-       addToMapW(0x58, 0xFF, 0x38);\r
-       addToMapW(0x58, 0xFF, 0x58);\r
-       addToMapW(0x59, 0x00, 0x59);\r
-       addToMapW(0x59, 0x00, 0x79);\r
-       addToMapW(0x59, 0x00, 0xA5);\r
-       addToMapW(0x59, 0x00, 0xDD);\r
-       addToMapW(0x59, 0x00, 0xFD);\r
-       addToMapW(0x59, 0x00, 0xFF);\r
-       addToMapW(0x59, 0x01, 0x76);\r
-       addToMapW(0x59, 0x01, 0x77);\r
-       addToMapW(0x59, 0x01, 0x78);\r
-       addToMapW(0x59, 0xFF, 0x39);\r
-       addToMapW(0x59, 0xFF, 0x59);\r
-       addToMapW(0x5a, 0x00, 0x5A);\r
-       addToMapW(0x5a, 0x00, 0x7A);\r
-       addToMapW(0x5a, 0x01, 0x79);\r
-       addToMapW(0x5a, 0x01, 0x7A);\r
-       addToMapW(0x5a, 0x01, 0x7B);\r
-       addToMapW(0x5a, 0x01, 0x7C);\r
-       addToMapW(0x5a, 0x01, 0x7D);\r
-       addToMapW(0x5a, 0x01, 0x7E);\r
-       addToMapW(0x5a, 0x01, 0xB6);\r
-       addToMapW(0x5a, 0x21, 0x24);\r
-       addToMapW(0x5a, 0x21, 0x28);\r
-       addToMapW(0x5a, 0xFF, 0x3A);\r
-       addToMapW(0x5a, 0xFF, 0x5A);\r
-       addToMapW(0x5b, 0x00, 0x5B);\r
-       addToMapW(0x5b, 0x30, 0x1A);\r
-       addToMapW(0x5b, 0xFF, 0x3B);\r
-       addToMapW(0x5c, 0x00, 0x5C);\r
-       addToMapW(0x5c, 0x00, 0xA5);\r
-       addToMapW(0x5c, 0x22, 0x16);\r
-       addToMapW(0x5c, 0xFF, 0x3C);\r
-       addToMapW(0x5d, 0x00, 0x5D);\r
-       addToMapW(0x5d, 0x30, 0x1B);\r
-       addToMapW(0x5d, 0xFF, 0x3D);\r
-       addToMapW(0x5e, 0x00, 0x5E);\r
-       addToMapW(0x5e, 0x02, 0xC4);\r
-       addToMapW(0x5e, 0x02, 0xC6);\r
-       addToMapW(0x5e, 0x02, 0xC7);\r
-       addToMapW(0x5e, 0x02, 0xD8);\r
-       addToMapW(0x5e, 0x03, 0x02);\r
-       addToMapW(0x5e, 0x03, 0x06);\r
-       addToMapW(0x5e, 0x03, 0x0C);\r
-       addToMapW(0x5e, 0x23, 0x03);\r
-       addToMapW(0x5e, 0xFF, 0x3E);\r
-       addToMapW(0x5f, 0x00, 0x5F);\r
-       addToMapW(0x5f, 0x00, 0xAF);\r
-       addToMapW(0x5f, 0x00, 0xBE);\r
-       addToMapW(0x5f, 0x00, 0xDE);\r
-       addToMapW(0x5f, 0x00, 0xFE);\r
-       addToMapW(0x5f, 0x02, 0xCD);\r
-       addToMapW(0x5f, 0x03, 0x31);\r
-       addToMapW(0x5f, 0x03, 0x32);\r
-       addToMapW(0x5f, 0x20, 0x17);\r
-       addToMapW(0x5f, 0x30, 0xFC);\r
-       addToMapW(0x5f, 0xFF, 0x3F);\r
-       addToMapW(0x60, 0x00, 0x60);\r
-       addToMapW(0x60, 0x02, 0xCB);\r
-       addToMapW(0x60, 0x03, 0x00);\r
-       addToMapW(0x60, 0x20, 0x18);\r
-       addToMapW(0x60, 0x20, 0x35);\r
-       addToMapW(0x60, 0xFF, 0x40);\r
-       addToMapW(0x7b, 0x00, 0x7B);\r
-       addToMapW(0x7b, 0xFF, 0x5B);\r
-       addToMapW(0x7c, 0x00, 0x7C);\r
-       addToMapW(0x7c, 0x00, 0xA6);\r
-       addToMapW(0x7c, 0x01, 0xC0);\r
-       addToMapW(0x7c, 0x22, 0x23);\r
-       addToMapW(0x7c, 0x27, 0x58);\r
-       addToMapW(0x7c, 0xFF, 0x5C);\r
-       addToMapW(0x7d, 0x00, 0x7D);\r
-       addToMapW(0x7d, 0x30, 0x1B);\r
-       addToMapW(0x7d, 0xFF, 0x5D);\r
-       addToMapW(0x7e, 0x00, 0x7E);\r
-       addToMapW(0x7e, 0x02, 0xDC);\r
-       addToMapW(0x7e, 0x03, 0x03);\r
-       addToMapW(0x7e, 0x22, 0x3C);\r
-       addToMapW(0x7e, 0x22, 0x48);\r
-       addToMapW(0x7e, 0xFF, 0x5E);\r
-       addToMapW(0x7f, 0x00, 0x7F);\r
-       addToMapW(0x7f, 0x23, 0x02);\r
-       addToMapW(0x7f, 0x26, 0x60);\r
-       addToMapW(0x7f, 0x26, 0x63);\r
-       addToMapW(0x7f, 0x26, 0x65);\r
-       addToMapW(0x7f, 0x26, 0x66);\r
-       addToMapW(0x80, 0x00, 0x80);\r
-       addToMapW(0x80, 0x00, 0xC7);\r
-       addToMapW(0x80, 0x00, 0xE7);\r
-       addToMapW(0x80, 0x01, 0x06);\r
-       addToMapW(0x80, 0x01, 0x07);\r
-       addToMapW(0x80, 0x03, 0x91);\r
-       addToMapW(0x80, 0x03, 0xB1);\r
-       addToMapW(0x80, 0x04, 0x10);\r
-       addToMapW(0x80, 0x04, 0x30);\r
-       addToMapW(0x80, 0x05, 0xD0);\r
-       addToMapW(0x80, 0x20, 0xAC);\r
-       addToMapW(0x81, 0x00, 0x81);\r
-       addToMapW(0x81, 0x03, 0x92);\r
-       addToMapW(0x81, 0x03, 0xB2);\r
-       addToMapW(0x81, 0x04, 0x02);\r
-       addToMapW(0x81, 0x04, 0x11);\r
-       addToMapW(0x81, 0x04, 0x31);\r
-       addToMapW(0x81, 0x04, 0x52);\r
-       addToMapW(0x81, 0x05, 0xD1);\r
-       addToMapW(0x82, 0x00, 0x82);\r
-       addToMapW(0x82, 0x03, 0x93);\r
-       addToMapW(0x82, 0x03, 0xB3);\r
-       addToMapW(0x82, 0x04, 0x12);\r
-       addToMapW(0x82, 0x04, 0x32);\r
-       addToMapW(0x82, 0x05, 0xD2);\r
-       addToMapW(0x82, 0x20, 0x1A);\r
-       addToMapW(0x83, 0x00, 0x83);\r
-       addToMapW(0x83, 0x03, 0x94);\r
-       addToMapW(0x83, 0x03, 0xB4);\r
-       addToMapW(0x83, 0x04, 0x03);\r
-       addToMapW(0x83, 0x04, 0x13);\r
-       addToMapW(0x83, 0x04, 0x33);\r
-       addToMapW(0x83, 0x04, 0x53);\r
-       addToMapW(0x83, 0x05, 0xD3);\r
-       addToMapW(0x84, 0x00, 0x84);\r
-       addToMapW(0x84, 0x03, 0x95);\r
-       addToMapW(0x84, 0x03, 0xB5);\r
-       addToMapW(0x84, 0x04, 0x14);\r
-       addToMapW(0x84, 0x04, 0x34);\r
-       addToMapW(0x84, 0x05, 0xD4);\r
-       addToMapW(0x84, 0x20, 0x1E);\r
-       addToMapW(0x85, 0x03, 0x96);\r
-       addToMapW(0x85, 0x03, 0xB6);\r
-       addToMapW(0x85, 0x04, 0x01);\r
-       addToMapW(0x85, 0x04, 0x15);\r
-       addToMapW(0x85, 0x04, 0x35);\r
-       addToMapW(0x85, 0x04, 0x51);\r
-       addToMapW(0x85, 0x05, 0xD5);\r
-       addToMapW(0x85, 0x20, 0x26);\r
-       addToMapW(0x86, 0x00, 0x86);\r
-       addToMapW(0x86, 0x03, 0x97);\r
-       addToMapW(0x86, 0x03, 0xB7);\r
-       addToMapW(0x86, 0x04, 0x16);\r
-       addToMapW(0x86, 0x04, 0x36);\r
-       addToMapW(0x86, 0x05, 0xD6);\r
-       addToMapW(0x86, 0x20, 0x20);\r
-       addToMapW(0x87, 0x00, 0x87);\r
-       addToMapW(0x87, 0x03, 0x98);\r
-       addToMapW(0x87, 0x03, 0xB8);\r
-       addToMapW(0x87, 0x04, 0x04);\r
-       addToMapW(0x87, 0x04, 0x17);\r
-       addToMapW(0x87, 0x04, 0x37);\r
-       addToMapW(0x87, 0x04, 0x54);\r
-       addToMapW(0x87, 0x05, 0xD7);\r
-       addToMapW(0x87, 0x20, 0x21);\r
-       addToMapW(0x88, 0x00, 0x88);\r
-       addToMapW(0x88, 0x02, 0xC6);\r
-       addToMapW(0x88, 0x03, 0x99);\r
-       addToMapW(0x88, 0x03, 0xB9);\r
-       addToMapW(0x88, 0x04, 0x18);\r
-       addToMapW(0x88, 0x04, 0x38);\r
-       addToMapW(0x88, 0x05, 0xD8);\r
-       addToMapW(0x89, 0x00, 0x89);\r
-       addToMapW(0x89, 0x03, 0x9A);\r
-       addToMapW(0x89, 0x03, 0xBA);\r
-       addToMapW(0x89, 0x04, 0x05);\r
-       addToMapW(0x89, 0x04, 0x19);\r
-       addToMapW(0x89, 0x04, 0x39);\r
-       addToMapW(0x89, 0x04, 0x55);\r
-       addToMapW(0x89, 0x05, 0xD9);\r
-       addToMapW(0x89, 0x20, 0x30);\r
-       addToMapW(0x8a, 0x00, 0x8A);\r
-       addToMapW(0x8a, 0x01, 0x50);\r
-       addToMapW(0x8a, 0x01, 0x51);\r
-       addToMapW(0x8a, 0x01, 0x56);\r
-       addToMapW(0x8a, 0x01, 0x57);\r
-       addToMapW(0x8a, 0x03, 0x9B);\r
-       addToMapW(0x8a, 0x03, 0xBB);\r
-       addToMapW(0x8a, 0x04, 0x1A);\r
-       addToMapW(0x8a, 0x04, 0x3A);\r
-       addToMapW(0x8a, 0x05, 0xDA);\r
-       addToMapW(0x8b, 0x00, 0x8B);\r
-       addToMapW(0x8b, 0x03, 0x9C);\r
-       addToMapW(0x8b, 0x03, 0xBC);\r
-       addToMapW(0x8b, 0x04, 0x06);\r
-       addToMapW(0x8b, 0x04, 0x1B);\r
-       addToMapW(0x8b, 0x04, 0x3B);\r
-       addToMapW(0x8b, 0x04, 0x56);\r
-       addToMapW(0x8b, 0x05, 0xDB);\r
-       addToMapW(0x8b, 0x20, 0x39);\r
-       addToMapW(0x8c, 0x00, 0x8C);\r
-       addToMapW(0x8c, 0x01, 0x52);\r
-       addToMapW(0x8c, 0x01, 0x53);\r
-       addToMapW(0x8c, 0x03, 0x9D);\r
-       addToMapW(0x8c, 0x03, 0xBD);\r
-       addToMapW(0x8c, 0x04, 0x1C);\r
-       addToMapW(0x8c, 0x04, 0x3C);\r
-       addToMapW(0x8c, 0x05, 0xDC);\r
-       addToMapW(0x8d, 0x00, 0x8D);\r
-       addToMapW(0x8d, 0x01, 0x31);\r
-       addToMapW(0x8d, 0x01, 0x79);\r
-       addToMapW(0x8d, 0x01, 0x7A);\r
-       addToMapW(0x8d, 0x03, 0x9E);\r
-       addToMapW(0x8d, 0x03, 0xBE);\r
-       addToMapW(0x8d, 0x04, 0x07);\r
-       addToMapW(0x8d, 0x04, 0x1D);\r
-       addToMapW(0x8d, 0x04, 0x3D);\r
-       addToMapW(0x8d, 0x04, 0x57);\r
-       addToMapW(0x8d, 0x05, 0xDD);\r
-       addToMapW(0x8e, 0x00, 0x8E);\r
-       addToMapW(0x8e, 0x00, 0xC4);\r
-       addToMapW(0x8e, 0x00, 0xE4);\r
-       addToMapW(0x8e, 0x03, 0x9F);\r
-       addToMapW(0x8e, 0x03, 0xBF);\r
-       addToMapW(0x8e, 0x04, 0x1E);\r
-       addToMapW(0x8e, 0x04, 0x3E);\r
-       addToMapW(0x8e, 0x05, 0xDE);\r
-       addToMapW(0x8f, 0x00, 0x8F);\r
-       addToMapW(0x8f, 0x00, 0xC5);\r
-       addToMapW(0x8f, 0x00, 0xE5);\r
-       addToMapW(0x8f, 0x01, 0x06);\r
-       addToMapW(0x8f, 0x01, 0x07);\r
-       addToMapW(0x8f, 0x03, 0xA0);\r
-       addToMapW(0x8f, 0x03, 0xC0);\r
-       addToMapW(0x8f, 0x04, 0x08);\r
-       addToMapW(0x8f, 0x04, 0x1F);\r
-       addToMapW(0x8f, 0x04, 0x3F);\r
-       addToMapW(0x8f, 0x04, 0x58);\r
-       addToMapW(0x8f, 0x05, 0xDF);\r
-       addToMapW(0x8f, 0x21, 0x2B);\r
-       addToMapW(0x90, 0x00, 0x90);\r
-       addToMapW(0x90, 0x00, 0xC9);\r
-       addToMapW(0x90, 0x00, 0xE9);\r
-       addToMapW(0x90, 0x03, 0xA1);\r
-       addToMapW(0x90, 0x03, 0xC1);\r
-       addToMapW(0x90, 0x04, 0x20);\r
-       addToMapW(0x90, 0x04, 0x40);\r
-       addToMapW(0x90, 0x05, 0xE0);\r
-       addToMapW(0x91, 0x01, 0x39);\r
-       addToMapW(0x91, 0x01, 0x3A);\r
-       addToMapW(0x91, 0x03, 0xA3);\r
-       addToMapW(0x91, 0x03, 0xC2);\r
-       addToMapW(0x91, 0x03, 0xC3);\r
-       addToMapW(0x91, 0x04, 0x09);\r
-       addToMapW(0x91, 0x04, 0x21);\r
-       addToMapW(0x91, 0x04, 0x41);\r
-       addToMapW(0x91, 0x04, 0x59);\r
-       addToMapW(0x91, 0x05, 0xE1);\r
-       addToMapW(0x91, 0x06, 0x51);\r
-       addToMapW(0x91, 0x20, 0x18);\r
-       addToMapW(0x91, 0xFE, 0x7C);\r
-       addToMapW(0x91, 0xFE, 0x7D);\r
-       addToMapW(0x92, 0x00, 0xC6);\r
-       addToMapW(0x92, 0x00, 0xE6);\r
-       addToMapW(0x92, 0x03, 0xA4);\r
-       addToMapW(0x92, 0x03, 0xC4);\r
-       addToMapW(0x92, 0x04, 0x22);\r
-       addToMapW(0x92, 0x04, 0x42);\r
-       addToMapW(0x92, 0x05, 0xE2);\r
-       addToMapW(0x92, 0x06, 0x52);\r
-       addToMapW(0x92, 0x20, 0x19);\r
-       addToMapW(0x92, 0xFE, 0x7E);\r
-       addToMapW(0x92, 0xFE, 0x7F);\r
-       addToMapW(0x93, 0x03, 0xA5);\r
-       addToMapW(0x93, 0x03, 0xC5);\r
-       addToMapW(0x93, 0x04, 0x0A);\r
-       addToMapW(0x93, 0x04, 0x23);\r
-       addToMapW(0x93, 0x04, 0x43);\r
-       addToMapW(0x93, 0x04, 0x5A);\r
-       addToMapW(0x93, 0x05, 0xE3);\r
-       addToMapW(0x93, 0x20, 0x1C);\r
-       addToMapW(0x94, 0x00, 0xA4);\r
-       addToMapW(0x94, 0x03, 0xA6);\r
-       addToMapW(0x94, 0x03, 0xC6);\r
-       addToMapW(0x94, 0x04, 0x24);\r
-       addToMapW(0x94, 0x04, 0x44);\r
-       addToMapW(0x94, 0x05, 0xE4);\r
-       addToMapW(0x94, 0x20, 0x1D);\r
-       addToMapW(0x95, 0x01, 0x22);\r
-       addToMapW(0x95, 0x01, 0x23);\r
-       addToMapW(0x95, 0x01, 0x3D);\r
-       addToMapW(0x95, 0x01, 0x3E);\r
-       addToMapW(0x95, 0x03, 0xA7);\r
-       addToMapW(0x95, 0x03, 0xC7);\r
-       addToMapW(0x95, 0x04, 0x0B);\r
-       addToMapW(0x95, 0x04, 0x25);\r
-       addToMapW(0x95, 0x04, 0x45);\r
-       addToMapW(0x95, 0x04, 0x5B);\r
-       addToMapW(0x95, 0x05, 0xE5);\r
-       addToMapW(0x95, 0x06, 0x40);\r
-       addToMapW(0x95, 0x20, 0x22);\r
-       addToMapW(0x96, 0x00, 0xA2);\r
-       addToMapW(0x96, 0x03, 0xA8);\r
-       addToMapW(0x96, 0x03, 0xC8);\r
-       addToMapW(0x96, 0x04, 0x26);\r
-       addToMapW(0x96, 0x04, 0x46);\r
-       addToMapW(0x96, 0x05, 0xE6);\r
-       addToMapW(0x96, 0x20, 0x13);\r
-       addToMapW(0x97, 0x00, 0xB5);\r
-       addToMapW(0x97, 0x01, 0x5A);\r
-       addToMapW(0x97, 0x01, 0x5B);\r
-       addToMapW(0x97, 0x03, 0xA9);\r
-       addToMapW(0x97, 0x03, 0xC9);\r
-       addToMapW(0x97, 0x04, 0x0C);\r
-       addToMapW(0x97, 0x04, 0x27);\r
-       addToMapW(0x97, 0x04, 0x47);\r
-       addToMapW(0x97, 0x04, 0x5C);\r
-       addToMapW(0x97, 0x05, 0xE7);\r
-       addToMapW(0x97, 0x20, 0x14);\r
-       addToMapW(0x98, 0x00, 0x98);\r
-       addToMapW(0x98, 0x01, 0x30);\r
-       addToMapW(0x98, 0x02, 0xDC);\r
-       addToMapW(0x98, 0x04, 0x28);\r
-       addToMapW(0x98, 0x04, 0x48);\r
-       addToMapW(0x98, 0x05, 0xE8);\r
-       addToMapW(0x98, 0x06, 0x21);\r
-       addToMapW(0x98, 0xFE, 0x80);\r
-       addToMapW(0x99, 0x00, 0x99);\r
-       addToMapW(0x99, 0x00, 0xD6);\r
-       addToMapW(0x99, 0x00, 0xF6);\r
-       addToMapW(0x99, 0x04, 0x0E);\r
-       addToMapW(0x99, 0x04, 0x29);\r
-       addToMapW(0x99, 0x04, 0x49);\r
-       addToMapW(0x99, 0x04, 0x5E);\r
-       addToMapW(0x99, 0x05, 0xE9);\r
-       addToMapW(0x99, 0x06, 0x22);\r
-       addToMapW(0x99, 0x21, 0x22);\r
-       addToMapW(0x99, 0xFE, 0x81);\r
-       addToMapW(0x99, 0xFE, 0x82);\r
-       addToMapW(0x9a, 0x00, 0x9A);\r
-       addToMapW(0x9a, 0x00, 0xDC);\r
-       addToMapW(0x9a, 0x00, 0xFC);\r
-       addToMapW(0x9a, 0x04, 0x2A);\r
-       addToMapW(0x9a, 0x04, 0x4A);\r
-       addToMapW(0x9a, 0x05, 0xEA);\r
-       addToMapW(0x9a, 0x06, 0x23);\r
-       addToMapW(0x9a, 0xFE, 0x83);\r
-       addToMapW(0x9a, 0xFE, 0x84);\r
-       addToMapW(0x9b, 0x00, 0x9B);\r
-       addToMapW(0x9b, 0x00, 0xA2);\r
-       addToMapW(0x9b, 0x01, 0x64);\r
-       addToMapW(0x9b, 0x01, 0x65);\r
-       addToMapW(0x9b, 0x04, 0x0F);\r
-       addToMapW(0x9b, 0x04, 0x2B);\r
-       addToMapW(0x9b, 0x04, 0x4B);\r
-       addToMapW(0x9b, 0x04, 0x5F);\r
-       addToMapW(0x9b, 0x06, 0x24);\r
-       addToMapW(0x9b, 0x20, 0x3A);\r
-       addToMapW(0x9b, 0xFE, 0x85);\r
-       addToMapW(0x9b, 0xFE, 0x86);\r
-       addToMapW(0x9c, 0x00, 0x9C);\r
-       addToMapW(0x9c, 0x00, 0xA3);\r
-       addToMapW(0x9c, 0x04, 0x2C);\r
-       addToMapW(0x9c, 0x04, 0x4C);\r
-       addToMapW(0x9c, 0x20, 0xA4);\r
-       addToMapW(0x9d, 0x00, 0x9D);\r
-       addToMapW(0x9d, 0x00, 0xA5);\r
-       addToMapW(0x9d, 0x00, 0xD8);\r
-       addToMapW(0x9d, 0x00, 0xF8);\r
-       addToMapW(0x9d, 0x01, 0x41);\r
-       addToMapW(0x9d, 0x01, 0x42);\r
-       addToMapW(0x9d, 0x02, 0x78);\r
-       addToMapW(0x9d, 0x03, 0x98);\r
-       addToMapW(0x9d, 0x04, 0x2D);\r
-       addToMapW(0x9d, 0x04, 0x2E);\r
-       addToMapW(0x9d, 0x04, 0x4D);\r
-       addToMapW(0x9d, 0x04, 0x4E);\r
-       addToMapW(0x9d, 0x06, 0x25);\r
-       addToMapW(0x9d, 0x22, 0x05);\r
-       addToMapW(0x9d, 0xFE, 0x87);\r
-       addToMapW(0x9d, 0xFE, 0x88);\r
-       addToMapW(0x9e, 0x00, 0x9E);\r
-       addToMapW(0x9e, 0x00, 0xD7);\r
-       addToMapW(0x9e, 0x01, 0x5E);\r
-       addToMapW(0x9e, 0x01, 0x5F);\r
-       addToMapW(0x9e, 0x04, 0x2E);\r
-       addToMapW(0x9e, 0x04, 0x4E);\r
-       addToMapW(0x9e, 0x06, 0x26);\r
-       addToMapW(0x9e, 0x20, 0xA7);\r
-       addToMapW(0x9e, 0xFE, 0x89);\r
-       addToMapW(0x9e, 0xFE, 0x8A);\r
-       addToMapW(0x9e, 0xFE, 0x8B);\r
-       addToMapW(0x9e, 0xFE, 0x8C);\r
-       addToMapW(0x9f, 0x00, 0x9F);\r
-       addToMapW(0x9f, 0x00, 0xA4);\r
-       addToMapW(0x9f, 0x00, 0xFF);\r
-       addToMapW(0x9f, 0x01, 0x78);\r
-       addToMapW(0x9f, 0x01, 0x91);\r
-       addToMapW(0x9f, 0x01, 0x92);\r
-       addToMapW(0x9f, 0x04, 0x2A);\r
-       addToMapW(0x9f, 0x04, 0x2F);\r
-       addToMapW(0x9f, 0x04, 0x4A);\r
-       addToMapW(0x9f, 0x04, 0x4F);\r
-       addToMapW(0x9f, 0x06, 0x27);\r
-       addToMapW(0x9f, 0xFE, 0x8D);\r
-       addToMapW(0x9f, 0xFE, 0x8E);\r
-       addToMapW(0xa0, 0x00, 0xA0);\r
-       addToMapW(0xa0, 0x01, 0x00);\r
-       addToMapW(0xa0, 0x01, 0x01);\r
-       addToMapW(0xa0, 0x06, 0x28);\r
-       addToMapW(0xa0, 0xF8, 0xF0);\r
-       addToMapW(0xa0, 0xFE, 0x8F);\r
-       addToMapW(0xa0, 0xFE, 0x90);\r
-       addToMapW(0xa0, 0xFE, 0x91);\r
-       addToMapW(0xa0, 0xFE, 0x92);\r
-       addToMapW(0xa1, 0x00, 0xA1);\r
-       addToMapW(0xa1, 0x01, 0x2A);\r
-       addToMapW(0xa1, 0x01, 0x2B);\r
-       addToMapW(0xa1, 0x04, 0x10);\r
-       addToMapW(0xa1, 0x04, 0x30);\r
-       addToMapW(0xa1, 0x06, 0x29);\r
-       addToMapW(0xa1, 0x0E, 0x01);\r
-       addToMapW(0xa1, 0xFE, 0x93);\r
-       addToMapW(0xa1, 0xFE, 0x94);\r
-       addToMapW(0xa1, 0xFF, 0x61);\r
-       addToMapW(0xa2, 0x00, 0xA2);\r
-       addToMapW(0xa2, 0x06, 0x2A);\r
-       addToMapW(0xa2, 0x0E, 0x02);\r
-       addToMapW(0xa2, 0xFE, 0x95);\r
-       addToMapW(0xa2, 0xFE, 0x96);\r
-       addToMapW(0xa2, 0xFE, 0x97);\r
-       addToMapW(0xa2, 0xFE, 0x98);\r
-       addToMapW(0xa2, 0xFF, 0x62);\r
-       addToMapW(0xa3, 0x00, 0xA3);\r
-       addToMapW(0xa3, 0x01, 0x7B);\r
-       addToMapW(0xa3, 0x01, 0x7C);\r
-       addToMapW(0xa3, 0x04, 0x11);\r
-       addToMapW(0xa3, 0x04, 0x31);\r
-       addToMapW(0xa3, 0x06, 0x2B);\r
-       addToMapW(0xa3, 0x0E, 0x03);\r
-       addToMapW(0xa3, 0xFE, 0x99);\r
-       addToMapW(0xa3, 0xFE, 0x9A);\r
-       addToMapW(0xa3, 0xFE, 0x9B);\r
-       addToMapW(0xa3, 0xFE, 0x9C);\r
-       addToMapW(0xa3, 0xFF, 0x63);\r
-       addToMapW(0xa4, 0x00, 0xA4);\r
-       addToMapW(0xa4, 0x01, 0x04);\r
-       addToMapW(0xa4, 0x01, 0x05);\r
-       addToMapW(0xa4, 0x06, 0x2C);\r
-       addToMapW(0xa4, 0x0E, 0x04);\r
-       addToMapW(0xa4, 0xFE, 0x9D);\r
-       addToMapW(0xa4, 0xFE, 0x9E);\r
-       addToMapW(0xa4, 0xFE, 0x9F);\r
-       addToMapW(0xa4, 0xFE, 0xA0);\r
-       addToMapW(0xa4, 0xFF, 0x64);\r
-       addToMapW(0xa5, 0x00, 0xA5);\r
-       addToMapW(0xa5, 0x00, 0xD1);\r
-       addToMapW(0xa5, 0x00, 0xF1);\r
-       addToMapW(0xa5, 0x04, 0x26);\r
-       addToMapW(0xa5, 0x04, 0x46);\r
-       addToMapW(0xa5, 0x06, 0x2D);\r
-       addToMapW(0xa5, 0x0E, 0x05);\r
-       addToMapW(0xa5, 0xFE, 0xA1);\r
-       addToMapW(0xa5, 0xFE, 0xA2);\r
-       addToMapW(0xa5, 0xFE, 0xA3);\r
-       addToMapW(0xa5, 0xFE, 0xA4);\r
-       addToMapW(0xa5, 0xFF, 0x65);\r
-       addToMapW(0xa6, 0x00, 0xA6);\r
-       addToMapW(0xa6, 0x00, 0xAA);\r
-       addToMapW(0xa6, 0x01, 0x1E);\r
-       addToMapW(0xa6, 0x01, 0x1F);\r
-       addToMapW(0xa6, 0x01, 0x7D);\r
-       addToMapW(0xa6, 0x01, 0x7E);\r
-       addToMapW(0xa6, 0x06, 0x2E);\r
-       addToMapW(0xa6, 0x0E, 0x06);\r
-       addToMapW(0xa6, 0x20, 0x1D);\r
-       addToMapW(0xa6, 0xFE, 0xA5);\r
-       addToMapW(0xa6, 0xFE, 0xA6);\r
-       addToMapW(0xa6, 0xFE, 0xA7);\r
-       addToMapW(0xa6, 0xFE, 0xA8);\r
-       addToMapW(0xa6, 0xFF, 0x66);\r
-       addToMapW(0xa7, 0x00, 0xA6);\r
-       addToMapW(0xa7, 0x00, 0xA7);\r
-       addToMapW(0xa7, 0x00, 0xBA);\r
-       addToMapW(0xa7, 0x04, 0x14);\r
-       addToMapW(0xa7, 0x04, 0x34);\r
-       addToMapW(0xa7, 0x06, 0x2F);\r
-       addToMapW(0xa7, 0x0E, 0x07);\r
-       addToMapW(0xa7, 0xFE, 0xA9);\r
-       addToMapW(0xa7, 0xFE, 0xAA);\r
-       addToMapW(0xa7, 0xFF, 0x67);\r
-       addToMapW(0xa8, 0x00, 0xA8);\r
-       addToMapW(0xa8, 0x00, 0xA9);\r
-       addToMapW(0xa8, 0x00, 0xBF);\r
-       addToMapW(0xa8, 0x01, 0x18);\r
-       addToMapW(0xa8, 0x01, 0x19);\r
-       addToMapW(0xa8, 0x06, 0x30);\r
-       addToMapW(0xa8, 0x0E, 0x08);\r
-       addToMapW(0xa8, 0xFE, 0xAB);\r
-       addToMapW(0xa8, 0xFE, 0xAC);\r
-       addToMapW(0xa8, 0xFF, 0x68);\r
-       addToMapW(0xa9, 0x00, 0xA9);\r
-       addToMapW(0xa9, 0x00, 0xAE);\r
-       addToMapW(0xa9, 0x04, 0x15);\r
-       addToMapW(0xa9, 0x04, 0x35);\r
-       addToMapW(0xa9, 0x06, 0x31);\r
-       addToMapW(0xa9, 0x0E, 0x09);\r
-       addToMapW(0xa9, 0x23, 0x10);\r
-       addToMapW(0xa9, 0xFE, 0xAD);\r
-       addToMapW(0xa9, 0xFE, 0xAE);\r
-       addToMapW(0xa9, 0xFF, 0x69);\r
-       addToMapW(0xaa, 0x00, 0xAA);\r
-       addToMapW(0xaa, 0x00, 0xAC);\r
-       addToMapW(0xaa, 0x06, 0x32);\r
-       addToMapW(0xaa, 0x0E, 0x0A);\r
-       addToMapW(0xaa, 0x23, 0x10);\r
-       addToMapW(0xaa, 0xFE, 0xAF);\r
-       addToMapW(0xaa, 0xFE, 0xB0);\r
-       addToMapW(0xaa, 0xFF, 0x6A);\r
-       addToMapW(0xab, 0x00, 0xAB);\r
-       addToMapW(0xab, 0x00, 0xBD);\r
-       addToMapW(0xab, 0x04, 0x24);\r
-       addToMapW(0xab, 0x04, 0x44);\r
-       addToMapW(0xab, 0x06, 0x33);\r
-       addToMapW(0xab, 0x0E, 0x0B);\r
-       addToMapW(0xab, 0xFE, 0xB1);\r
-       addToMapW(0xab, 0xFE, 0xB2);\r
-       addToMapW(0xab, 0xFE, 0xB3);\r
-       addToMapW(0xab, 0xFE, 0xB4);\r
-       addToMapW(0xab, 0xFF, 0x6B);\r
-       addToMapW(0xac, 0x00, 0xAC);\r
-       addToMapW(0xac, 0x00, 0xBC);\r
-       addToMapW(0xac, 0x01, 0x0C);\r
-       addToMapW(0xac, 0x01, 0x0D);\r
-       addToMapW(0xac, 0x06, 0x34);\r
-       addToMapW(0xac, 0x0E, 0x0C);\r
-       addToMapW(0xac, 0xFE, 0xB5);\r
-       addToMapW(0xac, 0xFE, 0xB6);\r
-       addToMapW(0xac, 0xFE, 0xB7);\r
-       addToMapW(0xac, 0xFE, 0xB8);\r
-       addToMapW(0xac, 0xFF, 0x6C);\r
-       addToMapW(0xad, 0x00, 0xA1);\r
-       addToMapW(0xad, 0x00, 0xAD);\r
-       addToMapW(0xad, 0x01, 0x41);\r
-       addToMapW(0xad, 0x01, 0x42);\r
-       addToMapW(0xad, 0x04, 0x13);\r
-       addToMapW(0xad, 0x04, 0x33);\r
-       addToMapW(0xad, 0x06, 0x35);\r
-       addToMapW(0xad, 0x0E, 0x0D);\r
-       addToMapW(0xad, 0xFE, 0xB9);\r
-       addToMapW(0xad, 0xFE, 0xBA);\r
-       addToMapW(0xad, 0xFE, 0xBB);\r
-       addToMapW(0xad, 0xFE, 0xBC);\r
-       addToMapW(0xad, 0xFF, 0x6D);\r
-       addToMapW(0xae, 0x00, 0xAB);\r
-       addToMapW(0xae, 0x00, 0xAE);\r
-       addToMapW(0xae, 0x0E, 0x0E);\r
-       addToMapW(0xae, 0x22, 0x6A);\r
-       addToMapW(0xae, 0x30, 0x0A);\r
-       addToMapW(0xae, 0xFF, 0x6E);\r
-       addToMapW(0xaf, 0x00, 0xAF);\r
-       addToMapW(0xaf, 0x00, 0xBB);\r
-       addToMapW(0xaf, 0x0E, 0x0F);\r
-       addToMapW(0xaf, 0x22, 0x6B);\r
-       addToMapW(0xaf, 0x30, 0x0B);\r
-       addToMapW(0xaf, 0xFF, 0x6F);\r
-       addToMapW(0xb0, 0x00, 0xB0);\r
-       addToMapW(0xb0, 0x0E, 0x10);\r
-       addToMapW(0xb0, 0x25, 0x91);\r
-       addToMapW(0xb0, 0xFF, 0x70);\r
-       addToMapW(0xb1, 0x00, 0xB1);\r
-       addToMapW(0xb1, 0x0E, 0x11);\r
-       addToMapW(0xb1, 0x25, 0x92);\r
-       addToMapW(0xb1, 0xFF, 0x71);\r
-       addToMapW(0xb2, 0x00, 0xB2);\r
-       addToMapW(0xb2, 0x0E, 0x12);\r
-       addToMapW(0xb2, 0x25, 0x93);\r
-       addToMapW(0xb2, 0xFF, 0x72);\r
-       addToMapW(0xb3, 0x00, 0xA6);\r
-       addToMapW(0xb3, 0x00, 0xB3);\r
-       addToMapW(0xb3, 0x01, 0xC0);\r
-       addToMapW(0xb3, 0x0E, 0x13);\r
-       addToMapW(0xb3, 0x22, 0x23);\r
-       addToMapW(0xb3, 0x25, 0x02);\r
-       addToMapW(0xb3, 0x27, 0x58);\r
-       addToMapW(0xb3, 0xFF, 0x73);\r
-       addToMapW(0xb4, 0x00, 0xB4);\r
-       addToMapW(0xb4, 0x0E, 0x14);\r
-       addToMapW(0xb4, 0x25, 0x24);\r
-       addToMapW(0xb4, 0xFF, 0x74);\r
-       addToMapW(0xb5, 0x00, 0xB5);\r
-       addToMapW(0xb5, 0x00, 0xC1);\r
-       addToMapW(0xb5, 0x00, 0xE1);\r
-       addToMapW(0xb5, 0x01, 0x04);\r
-       addToMapW(0xb5, 0x01, 0x05);\r
-       addToMapW(0xb5, 0x0E, 0x15);\r
-       addToMapW(0xb5, 0x25, 0x61);\r
-       addToMapW(0xb5, 0xFF, 0x75);\r
-       addToMapW(0xb6, 0x00, 0xB6);\r
-       addToMapW(0xb6, 0x00, 0xC2);\r
-       addToMapW(0xb6, 0x00, 0xE2);\r
-       addToMapW(0xb6, 0x01, 0x0C);\r
-       addToMapW(0xb6, 0x01, 0x0D);\r
-       addToMapW(0xb6, 0x04, 0x25);\r
-       addToMapW(0xb6, 0x04, 0x45);\r
-       addToMapW(0xb6, 0x0E, 0x16);\r
-       addToMapW(0xb6, 0x25, 0x62);\r
-       addToMapW(0xb6, 0xFF, 0x76);\r
-       addToMapW(0xb7, 0x00, 0xB7);\r
-       addToMapW(0xb7, 0x00, 0xC0);\r
-       addToMapW(0xb7, 0x00, 0xE0);\r
-       addToMapW(0xb7, 0x01, 0x18);\r
-       addToMapW(0xb7, 0x01, 0x19);\r
-       addToMapW(0xb7, 0x01, 0x1A);\r
-       addToMapW(0xb7, 0x01, 0x1B);\r
-       addToMapW(0xb7, 0x0E, 0x17);\r
-       addToMapW(0xb7, 0x25, 0x56);\r
-       addToMapW(0xb7, 0xFF, 0x77);\r
-       addToMapW(0xb8, 0x00, 0xA9);\r
-       addToMapW(0xb8, 0x00, 0xB8);\r
-       addToMapW(0xb8, 0x01, 0x16);\r
-       addToMapW(0xb8, 0x01, 0x17);\r
-       addToMapW(0xb8, 0x01, 0x5E);\r
-       addToMapW(0xb8, 0x01, 0x5F);\r
-       addToMapW(0xb8, 0x04, 0x18);\r
-       addToMapW(0xb8, 0x04, 0x38);\r
-       addToMapW(0xb8, 0x0E, 0x18);\r
-       addToMapW(0xb8, 0x25, 0x55);\r
-       addToMapW(0xb8, 0xFF, 0x78);\r
-       addToMapW(0xb9, 0x00, 0xB9);\r
-       addToMapW(0xb9, 0x0E, 0x19);\r
-       addToMapW(0xb9, 0x25, 0x61);\r
-       addToMapW(0xb9, 0x25, 0x62);\r
-       addToMapW(0xb9, 0x25, 0x63);\r
-       addToMapW(0xb9, 0xFF, 0x79);\r
-       addToMapW(0xba, 0x00, 0xBA);\r
-       addToMapW(0xba, 0x0E, 0x1A);\r
-       addToMapW(0xba, 0x25, 0x51);\r
-       addToMapW(0xba, 0xFF, 0x7A);\r
-       addToMapW(0xbb, 0x00, 0xBB);\r
-       addToMapW(0xbb, 0x0E, 0x1B);\r
-       addToMapW(0xbb, 0x25, 0x55);\r
-       addToMapW(0xbb, 0x25, 0x56);\r
-       addToMapW(0xbb, 0x25, 0x57);\r
-       addToMapW(0xbb, 0xFF, 0x7B);\r
-       addToMapW(0xbc, 0x00, 0xBC);\r
-       addToMapW(0xbc, 0x0E, 0x1C);\r
-       addToMapW(0xbc, 0x25, 0x5B);\r
-       addToMapW(0xbc, 0x25, 0x5C);\r
-       addToMapW(0xbc, 0x25, 0x5D);\r
-       addToMapW(0xbc, 0xFF, 0x7C);\r
-       addToMapW(0xbd, 0x00, 0xA2);\r
-       addToMapW(0xbd, 0x00, 0xBD);\r
-       addToMapW(0xbd, 0x01, 0x2E);\r
-       addToMapW(0xbd, 0x01, 0x2F);\r
-       addToMapW(0xbd, 0x01, 0x7B);\r
-       addToMapW(0xbd, 0x01, 0x7C);\r
-       addToMapW(0xbd, 0x0E, 0x1D);\r
-       addToMapW(0xbd, 0x25, 0x5C);\r
-       addToMapW(0xbd, 0xFF, 0x7D);\r
-       addToMapW(0xbe, 0x00, 0xA5);\r
-       addToMapW(0xbe, 0x00, 0xBE);\r
-       addToMapW(0xbe, 0x01, 0x60);\r
-       addToMapW(0xbe, 0x01, 0x61);\r
-       addToMapW(0xbe, 0x04, 0x19);\r
-       addToMapW(0xbe, 0x04, 0x39);\r
-       addToMapW(0xbe, 0x0E, 0x1E);\r
-       addToMapW(0xbe, 0x25, 0x5B);\r
-       addToMapW(0xbe, 0xFF, 0x7E);\r
-       addToMapW(0xbf, 0x00, 0xAC);\r
-       addToMapW(0xbf, 0x00, 0xBF);\r
-       addToMapW(0xbf, 0x0E, 0x1F);\r
-       addToMapW(0xbf, 0x25, 0x10);\r
-       addToMapW(0xbf, 0xFF, 0x7F);\r
-       addToMapW(0xc0, 0x00, 0xC0);\r
-       addToMapW(0xc0, 0x00, 0xE0);\r
-       addToMapW(0xc0, 0x0E, 0x20);\r
-       addToMapW(0xc0, 0x25, 0x14);\r
-       addToMapW(0xc0, 0xFF, 0x80);\r
-       addToMapW(0xc1, 0x00, 0xC1);\r
-       addToMapW(0xc1, 0x00, 0xE1);\r
-       addToMapW(0xc1, 0x0E, 0x21);\r
-       addToMapW(0xc1, 0x25, 0x34);\r
-       addToMapW(0xc1, 0xFF, 0x81);\r
-       addToMapW(0xc2, 0x00, 0xC2);\r
-       addToMapW(0xc2, 0x00, 0xE2);\r
-       addToMapW(0xc2, 0x0E, 0x22);\r
-       addToMapW(0xc2, 0x25, 0x2C);\r
-       addToMapW(0xc2, 0xFF, 0x82);\r
-       addToMapW(0xc3, 0x01, 0x02);\r
-       addToMapW(0xc3, 0x01, 0x03);\r
-       addToMapW(0xc3, 0x0E, 0x23);\r
-       addToMapW(0xc3, 0x25, 0x1C);\r
-       addToMapW(0xc3, 0xFF, 0x83);\r
-       addToMapW(0xc4, 0x00, 0xAF);\r
-       addToMapW(0xc4, 0x00, 0xC4);\r
-       addToMapW(0xc4, 0x00, 0xE4);\r
-       addToMapW(0xc4, 0x02, 0xC9);\r
-       addToMapW(0xc4, 0x03, 0x04);\r
-       addToMapW(0xc4, 0x03, 0x05);\r
-       addToMapW(0xc4, 0x0E, 0x24);\r
-       addToMapW(0xc4, 0x25, 0x00);\r
-       addToMapW(0xc4, 0xFF, 0x84);\r
-       addToMapW(0xc5, 0x00, 0xC5);\r
-       addToMapW(0xc5, 0x00, 0xE5);\r
-       addToMapW(0xc5, 0x0E, 0x25);\r
-       addToMapW(0xc5, 0x20, 0x20);\r
-       addToMapW(0xc5, 0x20, 0x21);\r
-       addToMapW(0xc5, 0x25, 0x3C);\r
-       addToMapW(0xc5, 0xFF, 0x85);\r
-       addToMapW(0xc6, 0x00, 0xC6);\r
-       addToMapW(0xc6, 0x00, 0xE6);\r
-       addToMapW(0xc6, 0x01, 0x02);\r
-       addToMapW(0xc6, 0x01, 0x03);\r
-       addToMapW(0xc6, 0x01, 0x72);\r
-       addToMapW(0xc6, 0x01, 0x73);\r
-       addToMapW(0xc6, 0x0E, 0x26);\r
-       addToMapW(0xc6, 0x25, 0x5E);\r
-       addToMapW(0xc6, 0xFF, 0x86);\r
-       addToMapW(0xc7, 0x00, 0xC3);\r
-       addToMapW(0xc7, 0x00, 0xC7);\r
-       addToMapW(0xc7, 0x00, 0xE3);\r
-       addToMapW(0xc7, 0x00, 0xE7);\r
-       addToMapW(0xc7, 0x01, 0x6A);\r
-       addToMapW(0xc7, 0x01, 0x6B);\r
-       addToMapW(0xc7, 0x04, 0x1A);\r
-       addToMapW(0xc7, 0x04, 0x3A);\r
-       addToMapW(0xc7, 0x0E, 0x27);\r
-       addToMapW(0xc7, 0x25, 0x5F);\r
-       addToMapW(0xc7, 0xFF, 0x87);\r
-       addToMapW(0xc8, 0x00, 0xC8);\r
-       addToMapW(0xc8, 0x00, 0xE8);\r
-       addToMapW(0xc8, 0x0E, 0x28);\r
-       addToMapW(0xc8, 0x25, 0x58);\r
-       addToMapW(0xc8, 0x25, 0x59);\r
-       addToMapW(0xc8, 0x25, 0x5A);\r
-       addToMapW(0xc8, 0xFF, 0x88);\r
-       addToMapW(0xc9, 0x00, 0xC9);\r
-       addToMapW(0xc9, 0x00, 0xE9);\r
-       addToMapW(0xc9, 0x0E, 0x29);\r
-       addToMapW(0xc9, 0x25, 0x52);\r
-       addToMapW(0xc9, 0x25, 0x53);\r
-       addToMapW(0xc9, 0x25, 0x54);\r
-       addToMapW(0xc9, 0xFF, 0x89);\r
-       addToMapW(0xca, 0x00, 0xCA);\r
-       addToMapW(0xca, 0x00, 0xEA);\r
-       addToMapW(0xca, 0x0E, 0x2A);\r
-       addToMapW(0xca, 0x25, 0x67);\r
-       addToMapW(0xca, 0x25, 0x68);\r
-       addToMapW(0xca, 0x25, 0x69);\r
-       addToMapW(0xca, 0xFF, 0x8A);\r
-       addToMapW(0xcb, 0x00, 0xCB);\r
-       addToMapW(0xcb, 0x00, 0xEB);\r
-       addToMapW(0xcb, 0x0E, 0x2B);\r
-       addToMapW(0xcb, 0x25, 0x64);\r
-       addToMapW(0xcb, 0x25, 0x65);\r
-       addToMapW(0xcb, 0x25, 0x66);\r
-       addToMapW(0xcb, 0xFF, 0x8B);\r
-       addToMapW(0xcc, 0x03, 0x00);\r
-       addToMapW(0xcc, 0x0E, 0x2C);\r
-       addToMapW(0xcc, 0x25, 0x5E);\r
-       addToMapW(0xcc, 0x25, 0x5F);\r
-       addToMapW(0xcc, 0x25, 0x60);\r
-       addToMapW(0xcc, 0xFF, 0x8C);\r
-       addToMapW(0xcd, 0x00, 0xCD);\r
-       addToMapW(0xcd, 0x00, 0xED);\r
-       addToMapW(0xcd, 0x0E, 0x2D);\r
-       addToMapW(0xcd, 0x25, 0x50);\r
-       addToMapW(0xcd, 0xFF, 0x8D);\r
-       addToMapW(0xce, 0x00, 0xCE);\r
-       addToMapW(0xce, 0x00, 0xEE);\r
-       addToMapW(0xce, 0x0E, 0x2E);\r
-       addToMapW(0xce, 0x20, 0x21);\r
-       addToMapW(0xce, 0x25, 0x6A);\r
-       addToMapW(0xce, 0x25, 0x6B);\r
-       addToMapW(0xce, 0x25, 0x6C);\r
-       addToMapW(0xce, 0xFF, 0x8E);\r
-       addToMapW(0xcf, 0x00, 0xA4);\r
-       addToMapW(0xcf, 0x00, 0xCF);\r
-       addToMapW(0xcf, 0x00, 0xEF);\r
-       addToMapW(0xcf, 0x01, 0x7D);\r
-       addToMapW(0xcf, 0x01, 0x7E);\r
-       addToMapW(0xcf, 0x0E, 0x2F);\r
-       addToMapW(0xcf, 0x25, 0x67);\r
-       addToMapW(0xcf, 0xFF, 0x8F);\r
-       addToMapW(0xd0, 0x00, 0xBA);\r
-       addToMapW(0xd0, 0x01, 0x10);\r
-       addToMapW(0xd0, 0x01, 0x11);\r
-       addToMapW(0xd0, 0x0E, 0x30);\r
-       addToMapW(0xd0, 0x25, 0x68);\r
-       addToMapW(0xd0, 0xFF, 0x90);\r
-       addToMapW(0xd1, 0x00, 0xAA);\r
-       addToMapW(0xd1, 0x00, 0xD0);\r
-       addToMapW(0xd1, 0x00, 0xD1);\r
-       addToMapW(0xd1, 0x00, 0xF0);\r
-       addToMapW(0xd1, 0x00, 0xF1);\r
-       addToMapW(0xd1, 0x01, 0x10);\r
-       addToMapW(0xd1, 0x01, 0x11);\r
-       addToMapW(0xd1, 0x01, 0x89);\r
-       addToMapW(0xd1, 0x04, 0x1B);\r
-       addToMapW(0xd1, 0x04, 0x3B);\r
-       addToMapW(0xd1, 0x0E, 0x31);\r
-       addToMapW(0xd1, 0x25, 0x64);\r
-       addToMapW(0xd1, 0xFF, 0x91);\r
-       addToMapW(0xd2, 0x00, 0xCA);\r
-       addToMapW(0xd2, 0x00, 0xEA);\r
-       addToMapW(0xd2, 0x01, 0x0E);\r
-       addToMapW(0xd2, 0x01, 0x0F);\r
-       addToMapW(0xd2, 0x03, 0x09);\r
-       addToMapW(0xd2, 0x0E, 0x32);\r
-       addToMapW(0xd2, 0x25, 0x65);\r
-       addToMapW(0xd2, 0xFF, 0x92);\r
-       addToMapW(0xd3, 0x00, 0xCB);\r
-       addToMapW(0xd3, 0x00, 0xD3);\r
-       addToMapW(0xd3, 0x00, 0xEB);\r
-       addToMapW(0xd3, 0x00, 0xF3);\r
-       addToMapW(0xd3, 0x04, 0x1C);\r
-       addToMapW(0xd3, 0x04, 0x3C);\r
-       addToMapW(0xd3, 0x0E, 0x33);\r
-       addToMapW(0xd3, 0x25, 0x59);\r
-       addToMapW(0xd3, 0xFF, 0x93);\r
-       addToMapW(0xd4, 0x00, 0xC8);\r
-       addToMapW(0xd4, 0x00, 0xD4);\r
-       addToMapW(0xd4, 0x00, 0xE8);\r
-       addToMapW(0xd4, 0x00, 0xF4);\r
-       addToMapW(0xd4, 0x0E, 0x34);\r
-       addToMapW(0xd4, 0x25, 0x58);\r
-       addToMapW(0xd4, 0xFF, 0x94);\r
-       addToMapW(0xd5, 0x01, 0x31);\r
-       addToMapW(0xd5, 0x01, 0x47);\r
-       addToMapW(0xd5, 0x01, 0x48);\r
-       addToMapW(0xd5, 0x01, 0xA0);\r
-       addToMapW(0xd5, 0x01, 0xA1);\r
-       addToMapW(0xd5, 0x04, 0x1D);\r
-       addToMapW(0xd5, 0x04, 0x3D);\r
-       addToMapW(0xd5, 0x0E, 0x35);\r
-       addToMapW(0xd5, 0x25, 0x52);\r
-       addToMapW(0xd5, 0xF8, 0xBB);\r
-       addToMapW(0xd5, 0xFF, 0x95);\r
-       addToMapW(0xd6, 0x00, 0xCD);\r
-       addToMapW(0xd6, 0x00, 0xD6);\r
-       addToMapW(0xd6, 0x00, 0xED);\r
-       addToMapW(0xd6, 0x00, 0xF6);\r
-       addToMapW(0xd6, 0x0E, 0x36);\r
-       addToMapW(0xd6, 0x25, 0x53);\r
-       addToMapW(0xd6, 0xFF, 0x96);\r
-       addToMapW(0xd7, 0x00, 0xCE);\r
-       addToMapW(0xd7, 0x00, 0xD7);\r
-       addToMapW(0xd7, 0x00, 0xEE);\r
-       addToMapW(0xd7, 0x04, 0x1E);\r
-       addToMapW(0xd7, 0x04, 0x3E);\r
-       addToMapW(0xd7, 0x0E, 0x37);\r
-       addToMapW(0xd7, 0x25, 0x6B);\r
-       addToMapW(0xd7, 0xFF, 0x97);\r
-       addToMapW(0xd8, 0x00, 0xCF);\r
-       addToMapW(0xd8, 0x00, 0xD8);\r
-       addToMapW(0xd8, 0x00, 0xEF);\r
-       addToMapW(0xd8, 0x00, 0xF8);\r
-       addToMapW(0xd8, 0x0E, 0x38);\r
-       addToMapW(0xd8, 0x20, 0x21);\r
-       addToMapW(0xd8, 0x25, 0x6A);\r
-       addToMapW(0xd8, 0xFF, 0x98);\r
-       addToMapW(0xd9, 0x00, 0xD9);\r
-       addToMapW(0xd9, 0x00, 0xF9);\r
-       addToMapW(0xd9, 0x0E, 0x39);\r
-       addToMapW(0xd9, 0x25, 0x18);\r
-       addToMapW(0xd9, 0xFF, 0x99);\r
-       addToMapW(0xda, 0x00, 0xDA);\r
-       addToMapW(0xda, 0x00, 0xFA);\r
-       addToMapW(0xda, 0x0E, 0x3A);\r
-       addToMapW(0xda, 0x25, 0x0C);\r
-       addToMapW(0xda, 0xFF, 0x9A);\r
-       addToMapW(0xdb, 0x00, 0xDB);\r
-       addToMapW(0xdb, 0x00, 0xFB);\r
-       addToMapW(0xdb, 0x25, 0x88);\r
-       addToMapW(0xdb, 0x25, 0x8C);\r
-       addToMapW(0xdb, 0x25, 0x90);\r
-       addToMapW(0xdb, 0xF8, 0xC1);\r
-       addToMapW(0xdb, 0xFF, 0x9B);\r
-       addToMapW(0xdc, 0x00, 0xDC);\r
-       addToMapW(0xdc, 0x00, 0xFC);\r
-       addToMapW(0xdc, 0x25, 0x84);\r
-       addToMapW(0xdc, 0xF8, 0xC2);\r
-       addToMapW(0xdc, 0xFF, 0x9C);\r
-       addToMapW(0xdd, 0x00, 0xA6);\r
-       addToMapW(0xdd, 0x01, 0x62);\r
-       addToMapW(0xdd, 0x01, 0x63);\r
-       addToMapW(0xdd, 0x01, 0xAF);\r
-       addToMapW(0xdd, 0x01, 0xB0);\r
-       addToMapW(0xdd, 0x04, 0x1F);\r
-       addToMapW(0xdd, 0x04, 0x3F);\r
-       addToMapW(0xdd, 0x25, 0x8C);\r
-       addToMapW(0xdd, 0xF8, 0xC3);\r
-       addToMapW(0xdd, 0xFF, 0x9D);\r
-       addToMapW(0xde, 0x00, 0xCC);\r
-       addToMapW(0xde, 0x00, 0xEC);\r
-       addToMapW(0xde, 0x01, 0x6E);\r
-       addToMapW(0xde, 0x01, 0x6F);\r
-       addToMapW(0xde, 0x03, 0x03);\r
-       addToMapW(0xde, 0x25, 0x90);\r
-       addToMapW(0xde, 0xF8, 0xC4);\r
-       addToMapW(0xde, 0xFF, 0x9E);\r
-       addToMapW(0xdf, 0x00, 0xDF);\r
-       addToMapW(0xdf, 0x0E, 0x3F);\r
-       addToMapW(0xdf, 0x25, 0x80);\r
-       addToMapW(0xdf, 0xFF, 0x9F);\r
-       addToMapW(0xe0, 0x00, 0xD3);\r
-       addToMapW(0xe0, 0x00, 0xF3);\r
-       addToMapW(0xe0, 0x03, 0x91);\r
-       addToMapW(0xe0, 0x03, 0xB1);\r
-       addToMapW(0xe0, 0x04, 0x2F);\r
-       addToMapW(0xe0, 0x04, 0x4F);\r
-       addToMapW(0xe0, 0x06, 0x36);\r
-       addToMapW(0xe0, 0x0E, 0x40);\r
-       addToMapW(0xe0, 0xFE, 0xBD);\r
-       addToMapW(0xe0, 0xFE, 0xBE);\r
-       addToMapW(0xe0, 0xFE, 0xBF);\r
-       addToMapW(0xe0, 0xFE, 0xC0);\r
-       addToMapW(0xe1, 0x00, 0xDF);\r
-       addToMapW(0xe1, 0x03, 0xB2);\r
-       addToMapW(0xe1, 0x06, 0x37);\r
-       addToMapW(0xe1, 0x0E, 0x41);\r
-       addToMapW(0xe1, 0xFE, 0xC1);\r
-       addToMapW(0xe1, 0xFE, 0xC2);\r
-       addToMapW(0xe1, 0xFE, 0xC3);\r
-       addToMapW(0xe1, 0xFE, 0xC4);\r
-       addToMapW(0xe2, 0x00, 0xD4);\r
-       addToMapW(0xe2, 0x00, 0xF4);\r
-       addToMapW(0xe2, 0x01, 0x4C);\r
-       addToMapW(0xe2, 0x01, 0x4D);\r
-       addToMapW(0xe2, 0x03, 0x93);\r
-       addToMapW(0xe2, 0x04, 0x20);\r
-       addToMapW(0xe2, 0x04, 0x40);\r
-       addToMapW(0xe2, 0x06, 0x38);\r
-       addToMapW(0xe2, 0x0E, 0x42);\r
-       addToMapW(0xe2, 0xFE, 0xC5);\r
-       addToMapW(0xe2, 0xFE, 0xC6);\r
-       addToMapW(0xe2, 0xFE, 0xC7);\r
-       addToMapW(0xe2, 0xFE, 0xC8);\r
-       addToMapW(0xe3, 0x00, 0xD2);\r
-       addToMapW(0xe3, 0x00, 0xF2);\r
-       addToMapW(0xe3, 0x01, 0x43);\r
-       addToMapW(0xe3, 0x01, 0x44);\r
-       addToMapW(0xe3, 0x03, 0xA0);\r
-       addToMapW(0xe3, 0x03, 0xC0);\r
-       addToMapW(0xe3, 0x06, 0x39);\r
-       addToMapW(0xe3, 0x0E, 0x43);\r
-       addToMapW(0xe3, 0xFE, 0xC9);\r
-       addToMapW(0xe3, 0xFE, 0xCA);\r
-       addToMapW(0xe3, 0xFE, 0xCB);\r
-       addToMapW(0xe3, 0xFE, 0xCC);\r
-       addToMapW(0xe4, 0x01, 0xA9);\r
-       addToMapW(0xe4, 0x03, 0xA3);\r
-       addToMapW(0xe4, 0x03, 0xC3);\r
-       addToMapW(0xe4, 0x04, 0x21);\r
-       addToMapW(0xe4, 0x04, 0x41);\r
-       addToMapW(0xe4, 0x06, 0x3A);\r
-       addToMapW(0xe4, 0x0E, 0x44);\r
-       addToMapW(0xe4, 0x22, 0x11);\r
-       addToMapW(0xe4, 0xFE, 0xCD);\r
-       addToMapW(0xe4, 0xFE, 0xCE);\r
-       addToMapW(0xe4, 0xFE, 0xCF);\r
-       addToMapW(0xe4, 0xFE, 0xD0);\r
-       addToMapW(0xe5, 0x00, 0xD5);\r
-       addToMapW(0xe5, 0x00, 0xF5);\r
-       addToMapW(0xe5, 0x06, 0x41);\r
-       addToMapW(0xe5, 0x0E, 0x45);\r
-       addToMapW(0xe5, 0xFE, 0xD1);\r
-       addToMapW(0xe5, 0xFE, 0xD2);\r
-       addToMapW(0xe5, 0xFE, 0xD3);\r
-       addToMapW(0xe5, 0xFE, 0xD4);\r
-       addToMapW(0xe6, 0x00, 0xB5);\r
-       addToMapW(0xe6, 0x01, 0x60);\r
-       addToMapW(0xe6, 0x01, 0x61);\r
-       addToMapW(0xe6, 0x03, 0xBC);\r
-       addToMapW(0xe6, 0x04, 0x22);\r
-       addToMapW(0xe6, 0x04, 0x42);\r
-       addToMapW(0xe6, 0x0E, 0x46);\r
-       addToMapW(0xe7, 0x03, 0xA4);\r
-       addToMapW(0xe7, 0x03, 0xC4);\r
-       addToMapW(0xe7, 0x06, 0x42);\r
-       addToMapW(0xe7, 0x0E, 0x47);\r
-       addToMapW(0xe7, 0xF8, 0xBC);\r
-       addToMapW(0xe7, 0xFE, 0xD5);\r
-       addToMapW(0xe7, 0xFE, 0xD6);\r
-       addToMapW(0xe7, 0xFE, 0xD7);\r
-       addToMapW(0xe7, 0xFE, 0xD8);\r
-       addToMapW(0xe8, 0x00, 0xD7);\r
-       addToMapW(0xe8, 0x00, 0xDE);\r
-       addToMapW(0xe8, 0x00, 0xFE);\r
-       addToMapW(0xe8, 0x01, 0x36);\r
-       addToMapW(0xe8, 0x01, 0x37);\r
-       addToMapW(0xe8, 0x01, 0x54);\r
-       addToMapW(0xe8, 0x01, 0x55);\r
-       addToMapW(0xe8, 0x02, 0x78);\r
-       addToMapW(0xe8, 0x03, 0xA6);\r
-       addToMapW(0xe8, 0x03, 0xC6);\r
-       addToMapW(0xe8, 0x04, 0x23);\r
-       addToMapW(0xe8, 0x04, 0x43);\r
-       addToMapW(0xe8, 0x06, 0x43);\r
-       addToMapW(0xe8, 0x0E, 0x48);\r
-       addToMapW(0xe8, 0x22, 0x05);\r
-       addToMapW(0xe8, 0xFE, 0xD9);\r
-       addToMapW(0xe8, 0xFE, 0xDA);\r
-       addToMapW(0xe8, 0xFE, 0xDB);\r
-       addToMapW(0xe8, 0xFE, 0xDC);\r
-       addToMapW(0xe9, 0x00, 0xDA);\r
-       addToMapW(0xe9, 0x00, 0xFA);\r
-       addToMapW(0xe9, 0x03, 0x98);\r
-       addToMapW(0xe9, 0x06, 0x44);\r
-       addToMapW(0xe9, 0x0E, 0x49);\r
-       addToMapW(0xe9, 0xFE, 0xDD);\r
-       addToMapW(0xe9, 0xFE, 0xDE);\r
-       addToMapW(0xe9, 0xFE, 0xDF);\r
-       addToMapW(0xe9, 0xFE, 0xE0);\r
-       addToMapW(0xea, 0x00, 0xDB);\r
-       addToMapW(0xea, 0x00, 0xFB);\r
-       addToMapW(0xea, 0x01, 0x3B);\r
-       addToMapW(0xea, 0x01, 0x3C);\r
-       addToMapW(0xea, 0x03, 0x86);\r
-       addToMapW(0xea, 0x03, 0xA9);\r
-       addToMapW(0xea, 0x03, 0xAC);\r
-       addToMapW(0xea, 0x04, 0x16);\r
-       addToMapW(0xea, 0x04, 0x36);\r
-       addToMapW(0xea, 0x06, 0x45);\r
-       addToMapW(0xea, 0x0E, 0x4A);\r
-       addToMapW(0xea, 0x21, 0x26);\r
-       addToMapW(0xea, 0xFE, 0xE1);\r
-       addToMapW(0xea, 0xFE, 0xE2);\r
-       addToMapW(0xea, 0xFE, 0xE3);\r
-       addToMapW(0xea, 0xFE, 0xE4);\r
-       addToMapW(0xeb, 0x00, 0xD9);\r
-       addToMapW(0xeb, 0x00, 0xF9);\r
-       addToMapW(0xeb, 0x01, 0x70);\r
-       addToMapW(0xeb, 0x01, 0x71);\r
-       addToMapW(0xeb, 0x03, 0x88);\r
-       addToMapW(0xeb, 0x03, 0x94);\r
-       addToMapW(0xeb, 0x03, 0xAD);\r
-       addToMapW(0xeb, 0x03, 0xB4);\r
-       addToMapW(0xeb, 0x06, 0x46);\r
-       addToMapW(0xeb, 0x0E, 0x4B);\r
-       addToMapW(0xeb, 0xFE, 0xE5);\r
-       addToMapW(0xeb, 0xFE, 0xE6);\r
-       addToMapW(0xeb, 0xFE, 0xE7);\r
-       addToMapW(0xeb, 0xFE, 0xE8);\r
-       addToMapW(0xec, 0x03, 0x01);\r
-       addToMapW(0xec, 0x03, 0x89);\r
-       addToMapW(0xec, 0x03, 0xAE);\r
-       addToMapW(0xec, 0x04, 0x12);\r
-       addToMapW(0xec, 0x04, 0x32);\r
-       addToMapW(0xec, 0x06, 0x47);\r
-       addToMapW(0xec, 0x0E, 0x4C);\r
-       addToMapW(0xec, 0x22, 0x1E);\r
-       addToMapW(0xec, 0xFE, 0xE9);\r
-       addToMapW(0xec, 0xFE, 0xEA);\r
-       addToMapW(0xec, 0xFE, 0xEB);\r
-       addToMapW(0xec, 0xFE, 0xEC);\r
-       addToMapW(0xed, 0x00, 0xDD);\r
-       addToMapW(0xed, 0x00, 0xFD);\r
-       addToMapW(0xed, 0x01, 0x12);\r
-       addToMapW(0xed, 0x01, 0x13);\r
-       addToMapW(0xed, 0x03, 0x8A);\r
-       addToMapW(0xed, 0x03, 0xAF);\r
-       addToMapW(0xed, 0x06, 0x48);\r
-       addToMapW(0xed, 0x0E, 0x4D);\r
-       addToMapW(0xed, 0xFE, 0xED);\r
-       addToMapW(0xed, 0xFE, 0xEE);\r
-       addToMapW(0xee, 0x00, 0xAF);\r
-       addToMapW(0xee, 0x01, 0x45);\r
-       addToMapW(0xee, 0x01, 0x46);\r
-       addToMapW(0xee, 0x03, 0x04);\r
-       addToMapW(0xee, 0x03, 0x05);\r
-       addToMapW(0xee, 0x03, 0x8C);\r
-       addToMapW(0xee, 0x03, 0x95);\r
-       addToMapW(0xee, 0x03, 0xB5);\r
-       addToMapW(0xee, 0x03, 0xCC);\r
-       addToMapW(0xee, 0x04, 0x2C);\r
-       addToMapW(0xee, 0x04, 0x4C);\r
-       addToMapW(0xee, 0x06, 0x49);\r
-       addToMapW(0xee, 0x0E, 0x4E);\r
-       addToMapW(0xee, 0xFE, 0xEF);\r
-       addToMapW(0xee, 0xFE, 0xF0);\r
-       addToMapW(0xef, 0x00, 0xB4);\r
-       addToMapW(0xef, 0x02, 0xB9);\r
-       addToMapW(0xef, 0x02, 0xCA);\r
-       addToMapW(0xef, 0x03, 0x01);\r
-       addToMapW(0xef, 0x03, 0x8E);\r
-       addToMapW(0xef, 0x03, 0xCD);\r
-       addToMapW(0xef, 0x06, 0x4A);\r
-       addToMapW(0xef, 0x0E, 0x4F);\r
-       addToMapW(0xef, 0x20, 0x19);\r
-       addToMapW(0xef, 0x20, 0x32);\r
-       addToMapW(0xef, 0x20, 0x35);\r
-       addToMapW(0xef, 0x21, 0x16);\r
-       addToMapW(0xef, 0x22, 0x29);\r
-       addToMapW(0xef, 0xFE, 0xF1);\r
-       addToMapW(0xef, 0xFE, 0xF2);\r
-       addToMapW(0xef, 0xFE, 0xF3);\r
-       addToMapW(0xef, 0xFE, 0xF4);\r
-       addToMapW(0xf0, 0x00, 0xAD);\r
-       addToMapW(0xf0, 0x03, 0x8F);\r
-       addToMapW(0xf0, 0x03, 0xCE);\r
-       addToMapW(0xf0, 0x04, 0x01);\r
-       addToMapW(0xf0, 0x04, 0x51);\r
-       addToMapW(0xf0, 0x0E, 0x50);\r
-       addToMapW(0xf0, 0x22, 0x61);\r
-       addToMapW(0xf1, 0x00, 0xB1);\r
-       addToMapW(0xf1, 0x02, 0xDD);\r
-       addToMapW(0xf1, 0x06, 0x4B);\r
-       addToMapW(0xf1, 0x0E, 0x51);\r
-       addToMapW(0xf1, 0x22, 0x13);\r
-       addToMapW(0xf1, 0xFE, 0x70);\r
-       addToMapW(0xf1, 0xFE, 0x71);\r
-       addToMapW(0xf2, 0x02, 0xDB);\r
-       addToMapW(0xf2, 0x03, 0x23);\r
-       addToMapW(0xf2, 0x04, 0x04);\r
-       addToMapW(0xf2, 0x04, 0x2B);\r
-       addToMapW(0xf2, 0x04, 0x4B);\r
-       addToMapW(0xf2, 0x04, 0x54);\r
-       addToMapW(0xf2, 0x06, 0x4C);\r
-       addToMapW(0xf2, 0x0E, 0x52);\r
-       addToMapW(0xf2, 0x20, 0x17);\r
-       addToMapW(0xf2, 0x20, 0x1C);\r
-       addToMapW(0xf2, 0x22, 0x65);\r
-       addToMapW(0xf2, 0xF8, 0xBD);\r
-       addToMapW(0xf2, 0xFE, 0x72);\r
-       addToMapW(0xf3, 0x00, 0xBE);\r
-       addToMapW(0xf3, 0x02, 0xC7);\r
-       addToMapW(0xf3, 0x03, 0x0C);\r
-       addToMapW(0xf3, 0x06, 0x4D);\r
-       addToMapW(0xf3, 0x0E, 0x53);\r
-       addToMapW(0xf3, 0x22, 0x64);\r
-       addToMapW(0xf3, 0xFE, 0x74);\r
-       addToMapW(0xf4, 0x00, 0xB6);\r
-       addToMapW(0xf4, 0x02, 0xD8);\r
-       addToMapW(0xf4, 0x03, 0x06);\r
-       addToMapW(0xf4, 0x03, 0xAA);\r
-       addToMapW(0xf4, 0x03, 0xCA);\r
-       addToMapW(0xf4, 0x04, 0x07);\r
-       addToMapW(0xf4, 0x04, 0x17);\r
-       addToMapW(0xf4, 0x04, 0x37);\r
-       addToMapW(0xf4, 0x04, 0x57);\r
-       addToMapW(0xf4, 0x06, 0x4E);\r
-       addToMapW(0xf4, 0x0E, 0x54);\r
-       addToMapW(0xf4, 0x23, 0x20);\r
-       addToMapW(0xf4, 0xFE, 0x76);\r
-       addToMapW(0xf4, 0xFE, 0x77);\r
-       addToMapW(0xf5, 0x00, 0xA7);\r
-       addToMapW(0xf5, 0x03, 0xAB);\r
-       addToMapW(0xf5, 0x03, 0xCB);\r
-       addToMapW(0xf5, 0x06, 0x4F);\r
-       addToMapW(0xf5, 0x0E, 0x55);\r
-       addToMapW(0xf5, 0x23, 0x21);\r
-       addToMapW(0xf5, 0xFE, 0x78);\r
-       addToMapW(0xf5, 0xFE, 0x79);\r
-       addToMapW(0xf6, 0x00, 0xF7);\r
-       addToMapW(0xf6, 0x04, 0x0E);\r
-       addToMapW(0xf6, 0x04, 0x28);\r
-       addToMapW(0xf6, 0x04, 0x48);\r
-       addToMapW(0xf6, 0x04, 0x5E);\r
-       addToMapW(0xf6, 0x06, 0x50);\r
-       addToMapW(0xf6, 0x0E, 0x56);\r
-       addToMapW(0xf6, 0xFE, 0x7A);\r
-       addToMapW(0xf6, 0xFE, 0x7B);\r
-       addToMapW(0xf7, 0x00, 0xB8);\r
-       addToMapW(0xf7, 0x00, 0xF7);\r
-       addToMapW(0xf7, 0x02, 0xDB);\r
-       addToMapW(0xf7, 0x03, 0x27);\r
-       addToMapW(0xf7, 0x0E, 0x57);\r
-       addToMapW(0xf7, 0x20, 0x1E);\r
-       addToMapW(0xf7, 0x22, 0x48);\r
-       addToMapW(0xf8, 0x00, 0xB0);\r
-       addToMapW(0xf8, 0x02, 0xDA);\r
-       addToMapW(0xf8, 0x03, 0x0A);\r
-       addToMapW(0xf8, 0x04, 0x2D);\r
-       addToMapW(0xf8, 0x04, 0x4D);\r
-       addToMapW(0xf8, 0x0E, 0x58);\r
-       addToMapW(0xf8, 0x20, 0x70);\r
-       addToMapW(0xf8, 0x22, 0x18);\r
-       addToMapW(0xf9, 0x00, 0xA8);\r
-       addToMapW(0xf9, 0x02, 0xDD);\r
-       addToMapW(0xf9, 0x03, 0x08);\r
-       addToMapW(0xf9, 0x0E, 0x59);\r
-       addToMapW(0xf9, 0x22, 0x19);\r
-       addToMapW(0xfa, 0x00, 0xB7);\r
-       addToMapW(0xfa, 0x02, 0xD9);\r
-       addToMapW(0xfa, 0x03, 0x07);\r
-       addToMapW(0xfa, 0x04, 0x29);\r
-       addToMapW(0xfa, 0x04, 0x49);\r
-       addToMapW(0xfa, 0x0E, 0x5A);\r
-       addToMapW(0xfa, 0x20, 0x24);\r
-       addToMapW(0xfa, 0x22, 0xC5);\r
-       addToMapW(0xfa, 0x30, 0xFB);\r
-       addToMapW(0xfb, 0x00, 0xB9);\r
-       addToMapW(0xfb, 0x0E, 0x5B);\r
-       addToMapW(0xfb, 0x20, 0x81);\r
-       addToMapW(0xfb, 0x22, 0x1A);\r
-       addToMapW(0xfb, 0x27, 0x13);\r
-       addToMapW(0xfc, 0x00, 0xB3);\r
-       addToMapW(0xfc, 0x01, 0x58);\r
-       addToMapW(0xfc, 0x01, 0x59);\r
-       addToMapW(0xfc, 0x04, 0x27);\r
-       addToMapW(0xfc, 0x04, 0x47);\r
-       addToMapW(0xfc, 0x20, 0x7F);\r
-       addToMapW(0xfc, 0x20, 0x83);\r
-       addToMapW(0xfc, 0x21, 0x16);\r
-       addToMapW(0xfc, 0xF8, 0xC5);\r
-       addToMapW(0xfd, 0x00, 0xA4);\r
-       addToMapW(0xfd, 0x00, 0xA7);\r
-       addToMapW(0xfd, 0x00, 0xB2);\r
-       addToMapW(0xfd, 0x20, 0x82);\r
-       addToMapW(0xfd, 0xF8, 0xC6);\r
-       addToMapW(0xfd, 0xF8, 0xF1);\r
-       addToMapW(0xfe, 0x20, 0xAB);\r
-       addToMapW(0xfe, 0x25, 0xA0);\r
-       addToMapW(0xfe, 0xF8, 0xC7);\r
-       addToMapW(0xfe, 0xF8, 0xF2);\r
-       addToMapW(0xff, 0x00, 0xA0);\r
-       addToMapW(0xff, 0xF8, 0xC8);\r
-       addToMapW(0xff, 0xF8, 0xF3);\r
-}\r
+/*
+ * rcracki_mt is a multithreaded implementation and fork of the original 
+ * RainbowCrack
+ *
+ * Copyright 2009, 2010 DaniĆ«l Niggebrugge <niggebrugge@fox-it.com>
+ * Copyright 2009, 2010 James Nobis <frt@quelrod.net>
+ *
+ * This file is part of rcracki_mt.
+ *
+ * rcracki_mt is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * rcracki_mt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with rcracki_mt.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#if defined(_WIN32) && !defined(__GNUC__)
+       #pragma warning(disable : 4786 4267 4018)
+#endif
+
+#include "lm2ntlm.h"
+
+LM2NTLMcorrector::LM2NTLMcorrector()
+{
+       progressCurrentCombination = 0;
+       totalCurrentCombination = 1;
+       counterOverall = 0;
+       countCombinations = 0;
+       countTotalCombinations = 0;
+       counter = 0;
+       fillMapW();
+       aborting = false;
+       sBinary = "";
+
+}
+
+string LM2NTLMcorrector::getBinary()
+{
+       return sBinary;
+}
+
+bool LM2NTLMcorrector::LMPasswordCorrectUnicode(string hexPassword, unsigned char* pNTLMHash, string& sNTLMPassword) //, unsigned char* pLMPassword
+{
+       string sPlain = "";
+
+       UINT4 i;
+       for (i = 0; i < hexPassword.size() / 2; i++)
+       {
+               string sSub = hexPassword.substr(i * 2, 2);
+               int nValue;
+               sscanf(sSub.c_str(), "%02x", &nValue);
+               sPlain += (unsigned char)nValue;
+       }
+
+       memcpy(NTLMHash, pNTLMHash, MD4_DIGEST_LENGTH);
+
+
+       unsigned long int tmpLength = sPlain.size() * 2;
+       unsigned char* pLMPassword = new unsigned char[tmpLength];
+
+       //printf("Searching for unicode password.\n");
+       printf("Failed case correction, trying unicode correction for: %s\n", sPlain.c_str());
+       //printf("NTLM hash:          %s\n\n", sNTLMHash.c_str());
+       
+       setvbuf(stdout, NULL, _IONBF,0);
+
+       startClock = clock();
+       previousClock = clock();
+
+#ifndef _WIN32
+       tty_init();
+#endif
+
+       if (startCorrecting(sPlain, sNTLMPassword, pLMPassword))
+       {
+               sBinary = ByteToStr(pLMPassword, tmpLength).c_str();
+               //printf("\nFound unicode password: %s\n", sNTLMPassword.c_str());
+               //printf("Password in hex: %s\n", sBinary.c_str());
+               writeEndStats();
+#ifndef _WIN32
+               tty_done();
+#endif
+               return true;
+       }
+       else
+       {
+               //printf("\ncase correction for password %s fail!\n", sPlain.c_str());
+               writeEndStats();
+#ifndef _WIN32
+               tty_done();
+#endif
+               return false;
+       }
+}
+
+bool LM2NTLMcorrector::startCorrecting(string sLMPassword, string& sNTLMPassword, unsigned char* pLMPassword)
+{
+       if (sLMPassword.size() == 0)
+       {
+               sNTLMPassword = "";
+               return true;
+       }
+
+       string muteMe = sLMPassword;
+       int length = muteMe.size();
+
+       unsigned char* pMuteMe = new unsigned char[length];
+       unsigned char* pTempMute = new unsigned char[length * 2];
+
+       int i;
+       for (i = 0; i < length; i++)
+       {
+               pMuteMe[i] = muteMe[i];
+               pTempMute[i * 2    ] = muteMe[i];
+               pTempMute[i * 2 + 1] = 0x00;
+               unsigned char muteChar = pMuteMe[i];
+               int sizeMapForChar = m_mapChar[muteChar].size();
+               int j;
+               for (j = 0; j < sizeMapForChar; j++)
+               {
+                       currentCharmap[i][j] = m_mapChar[muteChar][j];
+               }
+       }
+       
+       int* jAtPos = new int[length];
+       int* sizeAtPos = new int[length];
+       bool* fullAtPos = new bool[length];
+
+       int setSize;
+       for (setSize = 0; setSize <= length; setSize++)
+       {
+               int cntFull = 0;
+
+               // clear all 'fullatpos' before new setSize
+               int i;
+               for (i=0; i < length; i++)
+               {
+                       fullAtPos[i] = false;
+               }
+
+               //printf("Trying full unicode map for %d/%d characters...\t\t\n", setSize, length);
+               printf("Trying full unicode map for %d/%d characters...%-20s\n", setSize, length, "");
+
+               bool notFirst = true;
+
+               // start at end and set 'full' combination
+               countCombinations = 0;
+               countTotalCombinations = calculateTotalCombinations(length, setSize);
+
+               int sPos = length - 1;
+               while (sPos >= 0 && notFirst) // finding combinations for current 'setSize'
+               {
+                       if (aborting)
+                               return false;
+
+                       if (cntFull < setSize)
+                       {
+                               if (fullAtPos[sPos] == false)
+                               {
+                                       fullAtPos[sPos] = true;
+                                       cntFull++;
+                               }
+                               sPos--;
+                       }
+                       else
+                       {
+                               if (fullAtPos[sPos] == false && setSize > 0)
+                               {
+                                       fullAtPos[sPos] = true;
+                                       cntFull++;
+                                       
+                                       // reset positions after sPos
+                                       int k;
+                                       for (k = sPos+1; k < length; k++)
+                                       {
+                                               if (fullAtPos[k] == true)
+                                               {
+                                                       fullAtPos[k] = false;
+                                                       cntFull--;
+                                               }
+                                       }
+                                       // start at end again
+                                       sPos = length - 1;
+                               }
+                               else
+                               {
+                                       sPos--;
+                               }
+                       }
+                       // we have a combination
+                       if (cntFull == setSize)
+                       {
+                               countCombinations++;
+
+                               setupCombinationAtPositions(length, pMuteMe, pTempMute, jAtPos, fullAtPos, sizeAtPos);
+
+                               if (checkPermutations(length, pTempMute, jAtPos, sizeAtPos, pLMPassword, sNTLMPassword))
+                               {
+                                       return true;
+                               }
+                       }
+
+                       if (setSize == 0)
+                               notFirst = false;
+               }
+       }
+       return false;
+}
+
+// set up combination at positions
+void LM2NTLMcorrector::setupCombinationAtPositions(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, bool* fullAtPos, int* sizeAtPos)
+{
+       progressCurrentCombination = 0;
+       totalCurrentCombination = 1;
+
+       int i;
+       for (i=0; i < length; i++)
+       {
+               pTempMute[i*2] = currentCharmap[i][0];
+               pTempMute[i*2+1] = currentCharmap[i][1]; // reset to first char in map
+       
+               jAtPos[i] = 0; // reset charcounter for this char (that is all chars)
+
+               // based on combination, set full map or only upper/lowercase
+               if (fullAtPos[i] == true)
+               {
+                       unsigned char muteChar = pMuteMe[i];
+                       long unsigned int sizeMapForChar = m_mapChar[muteChar].size()/2; // 2 bytes per char
+                       sizeAtPos[i] = sizeMapForChar;
+               }
+               else
+               {
+                       sizeAtPos[i] = 2;
+               }
+
+               totalCurrentCombination *= sizeAtPos[i];
+       }
+       //printf("Trying %I64u passwords for current combination\t\t\r", totalCurrentCombination);
+}
+
+// go check all permutations for this combination
+bool LM2NTLMcorrector::checkPermutations(int length, unsigned char* pTempMute, int* jAtPos, int* sizeAtPos, unsigned char* pLMPassword, string& sNTLMPassword)
+{
+       int pos = length - 1;
+
+       while (pos >= 0)
+       {
+               counter++;
+
+               pos = length - 1;
+
+               int jAtCurPos = jAtPos[pos];
+               int sizeMapForCharPos = sizeAtPos[pos];
+               // move to start of string and find character with permutations left
+               while (jAtCurPos >= sizeMapForCharPos-1 && pos >= -1)
+               {
+                       pos--;
+                       if (pos >= 0 )
+                       {
+                               jAtCurPos = jAtPos[pos];
+                               sizeMapForCharPos = sizeAtPos[pos];
+                       }
+               }
+               if (pos < 0)
+                       continue;
+
+               // next permutation for character
+               jAtCurPos++;
+               jAtPos[pos] = jAtCurPos;
+               
+               pTempMute[pos*2] = currentCharmap[pos][jAtCurPos*2];
+               pTempMute[pos*2+1] = currentCharmap[pos][jAtCurPos*2+1];
+               
+               // reset positions after pos
+               int k;
+               for (k = pos+1; k < length; k++)
+               {
+                       jAtPos[k] = 0;
+                       pTempMute[k*2] = currentCharmap[k][0]; // reset to first char in map
+                       pTempMute[k*2+1] = currentCharmap[k][1];
+               }
+
+               if (checkNTLMPassword(pTempMute, length, sNTLMPassword) == true)
+               {
+                       int i;
+                       for (i = 0; i < length*2; i++)
+                               pLMPassword[i] = pTempMute[i];
+                       return true;
+               }
+
+               if (counter > 10000) // don't check clocks too often
+               {
+                       clock_t currentClock = clock();
+                       float fTime = 1.0f * (currentClock - previousClock);
+                       if (fTime > 1.0f * CLOCKS_PER_SEC)
+                       {
+                               float progressPercentageCurrentCombination = progressCurrentCombination * 100.0f / totalCurrentCombination;
+                               float fTime = 1.0f * (currentClock - startClock) / CLOCKS_PER_SEC;
+                               float currentSpeed = (counterOverall + progressCurrentCombination) / fTime / 1000000;
+
+                               //printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)\t\t\t\t\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed);
+                               printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)%-30s\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed, "");
+
+                               previousClock = clock();
+                               #ifdef _WIN32
+                               if (_kbhit())
+                               {
+                                       int ch = _getch();
+                                       ch = toupper(ch);
+                                       if (ch == 'S')
+                                       {
+                                               aborting = true;
+                                               printf( "\nAborting unicode correction for this hash...\n");
+                                       }
+                                       else
+                                       {
+                                               printf( "\nPress 'S' to skip unicode correction for this hash...\n");
+                                       }
+                               }
+                               #else
+                               int c = tty_getchar();
+                               if (c >= 0) {
+                                       tty_flush();
+                                       if (c==115) { // = s
+                                               aborting = true;
+                                               printf( "\nAborting unicode correction for this hash...\n");
+                                       }
+                                       else {
+                                               printf( "\nPress 's' to skip unicode correction for this hash...\n");
+                                       }
+                               }
+                               #endif
+                               if (aborting)
+                                       return false;
+                       }
+                       counter = 0;
+               }
+               
+               progressCurrentCombination++;
+               counterOverall++;
+       }
+       return false;
+}
+
+// check password, maybe integrate this function in checkPermutations() for performance reasons.
+bool LM2NTLMcorrector::checkNTLMPassword(unsigned char* pLMPassword, int nLMPasswordLen, string& sNTLMPassword)
+{
+       unsigned char md[MD4_DIGEST_LENGTH];
+
+       //MD4(pLMPassword, nLMPasswordLen * 2, md);
+       /*
+       MD4_CTX ctx;
+       MD4_Init(&ctx);
+       MD4_Update(&ctx, pLMPassword, nLMPasswordLen * 2);
+       MD4_Final(md, &ctx);*/ 
+
+       MD4_NEW( pLMPassword, nLMPasswordLen * 2, md );
+
+       if (memcmp(md, NTLMHash, MD4_DIGEST_LENGTH) == 0)
+       {
+               sNTLMPassword = "";
+               int i;
+               for (i = 0; i < nLMPasswordLen; i++) {
+                       sNTLMPassword += char(pLMPassword[i * 2]);
+               }
+               return true;
+       }
+       else
+               return false;
+}
+
+void LM2NTLMcorrector::checkAbort()
+{
+#ifdef _WIN32
+       if (_kbhit())
+       {
+               int ch = _getch();
+               ch = toupper(ch);
+               if (ch == 'S')
+               {
+                       aborting = true;
+                       printf( "\nAborting unicode correction for this hash...\n");
+               }
+               else
+               {
+                       printf( "\nPress 'S' to skip unicode correction for this hash...\n");
+               }
+       }
+#endif
+}
+
+void LM2NTLMcorrector::writeEndStats()
+{
+       clock_t endClock = clock();
+       if (endClock - startClock > 0)
+       {
+               float fTime = 1.0f * (endClock - startClock) / CLOCKS_PER_SEC;
+               float speedOverall = counterOverall / fTime / 1000000;
+               printf("\nTried %s passwords in %.2f s (%.2f Mhashes/s)\n", uint64tostr(counterOverall).c_str(), fTime, speedOverall);
+       }
+
+       printf("\n");
+}
+
+int LM2NTLMcorrector::calculateTotalCombinations(int length, int setSize)
+{
+       return factorial(length) / (factorial(setSize) * factorial(length-setSize));
+}
+
+int LM2NTLMcorrector::factorial (int num)
+{
+       int result = 1;
+       int i;
+       for (i = 1; i <= num; ++i)
+               result *= i;
+       return result;
+}
+
+// convert some bytes into a string
+string LM2NTLMcorrector::ByteToStr(const unsigned char* pData, int nLen)
+{
+       string sRet = "";
+       int i;
+       for (i = 0; i < nLen/2; i++)
+       {
+               char szByte[3];
+               sprintf(szByte, "%02x", pData[i*2+1]); // swap 2-byte characters again
+               sRet += szByte;
+               sprintf(szByte, "%02x", pData[i*2]);
+               sRet += szByte;
+       }
+
+       return sRet;
+}
+
+void LM2NTLMcorrector::addToMapW(unsigned char key, unsigned char value1, unsigned char value2)
+{
+       unsigned long int cnt = m_mapChar[key].size();
+       m_mapChar[key][cnt] = value2;
+       m_mapChar[key][cnt+1] = value1; //reverse for endiannes
+}
+
+// construct the mappings, would be nicer in a separate (importable) file
+void LM2NTLMcorrector::fillMapW()
+{
+       addToMapW(0x01, 0x00, 0x01);
+       addToMapW(0x01, 0x26, 0x3A);
+       addToMapW(0x02, 0x00, 0x02);
+       addToMapW(0x02, 0x26, 0x3B);
+       addToMapW(0x03, 0x00, 0x03);
+       addToMapW(0x03, 0x26, 0x65);
+       addToMapW(0x04, 0x00, 0x04);
+       addToMapW(0x04, 0x26, 0x66);
+       addToMapW(0x05, 0x00, 0x05);
+       addToMapW(0x05, 0x26, 0x63);
+       addToMapW(0x06, 0x00, 0x06);
+       addToMapW(0x06, 0x26, 0x60);
+       addToMapW(0x07, 0x00, 0x07);
+       addToMapW(0x07, 0x00, 0xB7);
+       addToMapW(0x07, 0x20, 0x22);
+       addToMapW(0x07, 0x20, 0x24);
+       addToMapW(0x07, 0x20, 0x26);
+       addToMapW(0x07, 0x22, 0x19);
+       addToMapW(0x07, 0x22, 0xC5);
+       addToMapW(0x07, 0x30, 0xFB);
+       addToMapW(0x08, 0x00, 0x08);
+       addToMapW(0x08, 0x25, 0xD8);
+       addToMapW(0x09, 0x00, 0x09);
+       addToMapW(0x09, 0x20, 0xDD);
+       addToMapW(0x09, 0x25, 0xCB);
+       addToMapW(0x09, 0x30, 0x07);
+       addToMapW(0x0a, 0x00, 0x0A);
+       addToMapW(0x0a, 0x25, 0xD9);
+       addToMapW(0x0b, 0x00, 0x0B);
+       addToMapW(0x0b, 0x26, 0x42);
+       addToMapW(0x0c, 0x00, 0x0C);
+       addToMapW(0x0c, 0x26, 0x40);
+       addToMapW(0x0d, 0x00, 0x0D);
+       addToMapW(0x0d, 0x26, 0x6A);
+       addToMapW(0x0e, 0x00, 0x0E);
+       addToMapW(0x0e, 0x26, 0x6B);
+       addToMapW(0x0f, 0x00, 0x0F);
+       addToMapW(0x0f, 0x00, 0xA4);
+       addToMapW(0x0f, 0x26, 0x3C);
+       addToMapW(0x10, 0x00, 0x10);
+       addToMapW(0x10, 0x25, 0xBA);
+       addToMapW(0x11, 0x00, 0x11);
+       addToMapW(0x11, 0x25, 0xC4);
+       addToMapW(0x12, 0x00, 0x12);
+       addToMapW(0x12, 0x21, 0x95);
+       addToMapW(0x13, 0x00, 0x13);
+       addToMapW(0x13, 0x20, 0x3C);
+       addToMapW(0x14, 0x00, 0x14);
+       addToMapW(0x14, 0x00, 0xB6);
+       addToMapW(0x15, 0x00, 0x15);
+       addToMapW(0x15, 0x00, 0xA7);
+       addToMapW(0x16, 0x00, 0x16);
+       addToMapW(0x16, 0x02, 0xC9);
+       addToMapW(0x16, 0x25, 0xAC);
+       addToMapW(0x17, 0x00, 0x17);
+       addToMapW(0x17, 0x21, 0xA8);
+       addToMapW(0x18, 0x00, 0x18);
+       addToMapW(0x18, 0x21, 0x91);
+       addToMapW(0x19, 0x00, 0x19);
+       addToMapW(0x19, 0x21, 0x93);
+       addToMapW(0x1a, 0x00, 0x1A);
+       addToMapW(0x1a, 0x21, 0x92);
+       addToMapW(0x1b, 0x00, 0x1B);
+       addToMapW(0x1b, 0x21, 0x90);
+       addToMapW(0x1c, 0x00, 0x1C);
+       addToMapW(0x1c, 0x22, 0x1F);
+       addToMapW(0x1d, 0x00, 0x1D);
+       addToMapW(0x1d, 0x21, 0x94);
+       addToMapW(0x1e, 0x00, 0x1E);
+       addToMapW(0x1e, 0x25, 0xB2);
+       addToMapW(0x1f, 0x00, 0x1F);
+       addToMapW(0x1f, 0x25, 0xBC);
+       addToMapW(0x20, 0x00, 0x20);
+       addToMapW(0x20, 0x20, 0x00);
+       addToMapW(0x20, 0x20, 0x01);
+       addToMapW(0x20, 0x20, 0x02);
+       addToMapW(0x20, 0x20, 0x03);
+       addToMapW(0x20, 0x20, 0x04);
+       addToMapW(0x20, 0x20, 0x05);
+       addToMapW(0x20, 0x20, 0x06);
+       addToMapW(0x20, 0x30, 0x00);
+       addToMapW(0x21, 0x00, 0x21);
+       addToMapW(0x21, 0x00, 0xA1);
+       addToMapW(0x21, 0x01, 0xC3);
+       addToMapW(0x21, 0xFF, 0x01);
+       addToMapW(0x22, 0x00, 0x22);
+       addToMapW(0x22, 0x00, 0xA8);
+       addToMapW(0x22, 0x02, 0xBA);
+       addToMapW(0x22, 0x03, 0x08);
+       addToMapW(0x22, 0x03, 0x0E);
+       addToMapW(0x22, 0x20, 0x1C);
+       addToMapW(0x22, 0x20, 0x1D);
+       addToMapW(0x22, 0x20, 0x1E);
+       addToMapW(0x22, 0x20, 0x33);
+       addToMapW(0x22, 0x20, 0x35);
+       addToMapW(0x22, 0x27, 0x5D);
+       addToMapW(0x22, 0x27, 0x5E);
+       addToMapW(0x22, 0x30, 0x1D);
+       addToMapW(0x22, 0x30, 0x1E);
+       addToMapW(0x22, 0x30, 0x1F);
+       addToMapW(0x22, 0xFF, 0x02);
+       addToMapW(0x23, 0x00, 0x23);
+       addToMapW(0x23, 0xFF, 0x03);
+       addToMapW(0x24, 0x00, 0x24);
+       addToMapW(0x24, 0xFF, 0x04);
+       addToMapW(0x25, 0x00, 0x25);
+       addToMapW(0x25, 0x06, 0x6A);
+       addToMapW(0x25, 0x20, 0x30);
+       addToMapW(0x25, 0xFF, 0x05);
+       addToMapW(0x26, 0x00, 0x26);
+       addToMapW(0x26, 0xFF, 0x06);
+       addToMapW(0x27, 0x00, 0x27);
+       addToMapW(0x27, 0x00, 0xB4);
+       addToMapW(0x27, 0x02, 0xB9);
+       addToMapW(0x27, 0x02, 0xBB);
+       addToMapW(0x27, 0x02, 0xBC);
+       addToMapW(0x27, 0x02, 0xC8);
+       addToMapW(0x27, 0x02, 0xCA);
+       addToMapW(0x27, 0x02, 0xCB);
+       addToMapW(0x27, 0x03, 0x00);
+       addToMapW(0x27, 0x03, 0x01);
+       addToMapW(0x27, 0x20, 0x18);
+       addToMapW(0x27, 0x20, 0x19);
+       addToMapW(0x27, 0x20, 0x1A);
+       addToMapW(0x27, 0x20, 0x32);
+       addToMapW(0x27, 0x27, 0x5B);
+       addToMapW(0x27, 0x27, 0x5C);
+       addToMapW(0x27, 0xFF, 0x07);
+       addToMapW(0x28, 0x00, 0x28);
+       addToMapW(0x28, 0x23, 0x20);
+       addToMapW(0x28, 0xFF, 0x08);
+       addToMapW(0x29, 0x00, 0x29);
+       addToMapW(0x29, 0x23, 0x21);
+       addToMapW(0x29, 0xFF, 0x09);
+       addToMapW(0x2a, 0x00, 0x2A);
+       addToMapW(0x2a, 0x22, 0x17);
+       addToMapW(0x2a, 0xFF, 0x0A);
+       addToMapW(0x2b, 0x00, 0x2B);
+       addToMapW(0x2b, 0x00, 0xB1);
+       addToMapW(0x2b, 0x20, 0x20);
+       addToMapW(0x2b, 0x20, 0x21);
+       addToMapW(0x2b, 0xFF, 0x0B);
+       addToMapW(0x2c, 0x00, 0x2C);
+       addToMapW(0x2c, 0x00, 0xB8);
+       addToMapW(0x2c, 0x03, 0x27);
+       addToMapW(0x2c, 0x20, 0x1A);
+       addToMapW(0x2c, 0x20, 0x1E);
+       addToMapW(0x2c, 0xFF, 0x0C);
+       addToMapW(0x2d, 0x00, 0x2D);
+       addToMapW(0x2d, 0x00, 0xAC);
+       addToMapW(0x2d, 0x00, 0xAD);
+       addToMapW(0x2d, 0x20, 0x10);
+       addToMapW(0x2d, 0x20, 0x11);
+       addToMapW(0x2d, 0x20, 0x13);
+       addToMapW(0x2d, 0x20, 0x14);
+       addToMapW(0x2d, 0x22, 0x12);
+       addToMapW(0x2d, 0x22, 0x13);
+       addToMapW(0x2d, 0xFF, 0x0D);
+       addToMapW(0x2e, 0x00, 0x2E);
+       addToMapW(0x2e, 0x20, 0x26);
+       addToMapW(0x2e, 0xFF, 0x0E);
+       addToMapW(0x2f, 0x00, 0x2F);
+       addToMapW(0x2f, 0x20, 0x44);
+       addToMapW(0x2f, 0x22, 0x15);
+       addToMapW(0x2f, 0x22, 0x16);
+       addToMapW(0x2f, 0xFF, 0x0F);
+       addToMapW(0x30, 0x00, 0x30);
+       addToMapW(0x30, 0x20, 0x70);
+       addToMapW(0x30, 0x20, 0x80);
+       addToMapW(0x30, 0xFF, 0x10);
+       addToMapW(0x31, 0x00, 0x31);
+       addToMapW(0x31, 0x00, 0xB9);
+       addToMapW(0x31, 0x00, 0xBC);
+       addToMapW(0x31, 0x00, 0xBD);
+       addToMapW(0x31, 0x20, 0x81);
+       addToMapW(0x31, 0xFF, 0x11);
+       addToMapW(0x32, 0x00, 0x32);
+       addToMapW(0x32, 0x00, 0xB2);
+       addToMapW(0x32, 0x20, 0x82);
+       addToMapW(0x32, 0xFF, 0x12);
+       addToMapW(0x33, 0x00, 0x33);
+       addToMapW(0x33, 0x00, 0xB3);
+       addToMapW(0x33, 0x00, 0xBE);
+       addToMapW(0x33, 0x20, 0x83);
+       addToMapW(0x33, 0xFF, 0x13);
+       addToMapW(0x34, 0x00, 0x34);
+       addToMapW(0x34, 0x20, 0x74);
+       addToMapW(0x34, 0x20, 0x84);
+       addToMapW(0x34, 0xFF, 0x14);
+       addToMapW(0x35, 0x00, 0x35);
+       addToMapW(0x35, 0x20, 0x75);
+       addToMapW(0x35, 0x20, 0x85);
+       addToMapW(0x35, 0xFF, 0x15);
+       addToMapW(0x36, 0x00, 0x36);
+       addToMapW(0x36, 0x20, 0x76);
+       addToMapW(0x36, 0x20, 0x86);
+       addToMapW(0x36, 0xFF, 0x16);
+       addToMapW(0x37, 0x00, 0x37);
+       addToMapW(0x37, 0x20, 0x77);
+       addToMapW(0x37, 0x20, 0x87);
+       addToMapW(0x37, 0xFF, 0x17);
+       addToMapW(0x38, 0x00, 0x38);
+       addToMapW(0x38, 0x20, 0x78);
+       addToMapW(0x38, 0x20, 0x88);
+       addToMapW(0x38, 0x22, 0x1E);
+       addToMapW(0x38, 0xFF, 0x18);
+       addToMapW(0x39, 0x00, 0x39);
+       addToMapW(0x39, 0x20, 0x78);
+       addToMapW(0x39, 0x20, 0x89);
+       addToMapW(0x39, 0xFF, 0x19);
+       addToMapW(0x3a, 0x00, 0x3A);
+       addToMapW(0x3a, 0x05, 0x89);
+       addToMapW(0x3a, 0x20, 0x26);
+       addToMapW(0x3a, 0x22, 0x36);
+       addToMapW(0x3a, 0xFF, 0x1A);
+       addToMapW(0x3b, 0x00, 0x3B);
+       addToMapW(0x3b, 0x03, 0x7E);
+       addToMapW(0x3b, 0xFF, 0x1B);
+       addToMapW(0x3c, 0x00, 0x3C);
+       addToMapW(0x3c, 0x00, 0xAB);
+       addToMapW(0x3c, 0x20, 0x39);
+       addToMapW(0x3c, 0x23, 0x29);
+       addToMapW(0x3c, 0x30, 0x08);
+       addToMapW(0x3c, 0xFF, 0x1C);
+       addToMapW(0x3d, 0x00, 0x3D);
+       addToMapW(0x3d, 0x22, 0x61);
+       addToMapW(0x3d, 0x22, 0x64);
+       addToMapW(0x3d, 0x22, 0x65);
+       addToMapW(0x3d, 0xFF, 0x1D);
+       addToMapW(0x3e, 0x00, 0x3E);
+       addToMapW(0x3e, 0x00, 0xBB);
+       addToMapW(0x3e, 0x20, 0x3A);
+       addToMapW(0x3e, 0x23, 0x2A);
+       addToMapW(0x3e, 0x30, 0x09);
+       addToMapW(0x3e, 0xFF, 0x1E);
+       addToMapW(0x3f, 0x00, 0x3F);
+       addToMapW(0x40, 0x00, 0x40);
+       addToMapW(0x40, 0xFF, 0x20);
+       addToMapW(0x41, 0x00, 0x41);
+       addToMapW(0x41, 0x00, 0x61);
+       addToMapW(0x41, 0x00, 0xAA);
+       addToMapW(0x41, 0x00, 0xC0);
+       addToMapW(0x41, 0x00, 0xC1);
+       addToMapW(0x41, 0x00, 0xC2);
+       addToMapW(0x41, 0x00, 0xC3);
+       addToMapW(0x41, 0x00, 0xC4);
+       addToMapW(0x41, 0x00, 0xC5);
+       addToMapW(0x41, 0x00, 0xC6);
+       addToMapW(0x41, 0x00, 0xE0);
+       addToMapW(0x41, 0x00, 0xE1);
+       addToMapW(0x41, 0x00, 0xE2);
+       addToMapW(0x41, 0x00, 0xE3);
+       addToMapW(0x41, 0x00, 0xE4);
+       addToMapW(0x41, 0x00, 0xE5);
+       addToMapW(0x41, 0x00, 0xE6);
+       addToMapW(0x41, 0x01, 0x00);
+       addToMapW(0x41, 0x01, 0x01);
+       addToMapW(0x41, 0x01, 0x02);
+       addToMapW(0x41, 0x01, 0x03);
+       addToMapW(0x41, 0x01, 0x04);
+       addToMapW(0x41, 0x01, 0x05);
+       addToMapW(0x41, 0x01, 0xCD);
+       addToMapW(0x41, 0x01, 0xCE);
+       addToMapW(0x41, 0x01, 0xDE);
+       addToMapW(0x41, 0x01, 0xDF);
+       addToMapW(0x41, 0x03, 0xB1);
+       addToMapW(0x41, 0x21, 0x2B);
+       addToMapW(0x41, 0xFF, 0x21);
+       addToMapW(0x41, 0xFF, 0x41);
+       addToMapW(0x42, 0x00, 0x42);
+       addToMapW(0x42, 0x00, 0x62);
+       addToMapW(0x42, 0x01, 0x80);
+       addToMapW(0x42, 0x21, 0x2C);
+       addToMapW(0x42, 0xFF, 0x22);
+       addToMapW(0x42, 0xFF, 0x42);
+       addToMapW(0x43, 0x00, 0x43);
+       addToMapW(0x43, 0x00, 0x63);
+       addToMapW(0x43, 0x00, 0xA2);
+       addToMapW(0x43, 0x00, 0xA9);
+       addToMapW(0x43, 0x00, 0xC7);
+       addToMapW(0x43, 0x00, 0xE7);
+       addToMapW(0x43, 0x00, 0xE8);
+       addToMapW(0x43, 0x01, 0x06);
+       addToMapW(0x43, 0x01, 0x07);
+       addToMapW(0x43, 0x01, 0x08);
+       addToMapW(0x43, 0x01, 0x09);
+       addToMapW(0x43, 0x01, 0x0A);
+       addToMapW(0x43, 0x01, 0x0B);
+       addToMapW(0x43, 0x01, 0x0C);
+       addToMapW(0x43, 0x01, 0x0D);
+       addToMapW(0x43, 0x21, 0x02);
+       addToMapW(0x43, 0x21, 0x2D);
+       addToMapW(0x43, 0xFF, 0x23);
+       addToMapW(0x43, 0xFF, 0x43);
+       addToMapW(0x44, 0x00, 0x44);
+       addToMapW(0x44, 0x00, 0x64);
+       addToMapW(0x44, 0x00, 0xD0);
+       addToMapW(0x44, 0x00, 0xF0);
+       addToMapW(0x44, 0x01, 0x0E);
+       addToMapW(0x44, 0x01, 0x0F);
+       addToMapW(0x44, 0x01, 0x10);
+       addToMapW(0x44, 0x01, 0x11);
+       addToMapW(0x44, 0x01, 0x89);
+       addToMapW(0x44, 0x03, 0xB4);
+       addToMapW(0x44, 0x26, 0x6A);
+       addToMapW(0x44, 0x26, 0x6B);
+       addToMapW(0x44, 0xFF, 0x24);
+       addToMapW(0x44, 0xFF, 0x44);
+       addToMapW(0x45, 0x00, 0x45);
+       addToMapW(0x45, 0x00, 0x65);
+       addToMapW(0x45, 0x00, 0xC8);
+       addToMapW(0x45, 0x00, 0xC9);
+       addToMapW(0x45, 0x00, 0xCA);
+       addToMapW(0x45, 0x00, 0xCB);
+       addToMapW(0x45, 0x00, 0xE8);
+       addToMapW(0x45, 0x00, 0xE9);
+       addToMapW(0x45, 0x00, 0xEA);
+       addToMapW(0x45, 0x00, 0xEB);
+       addToMapW(0x45, 0x01, 0x12);
+       addToMapW(0x45, 0x01, 0x13);
+       addToMapW(0x45, 0x01, 0x14);
+       addToMapW(0x45, 0x01, 0x15);
+       addToMapW(0x45, 0x01, 0x16);
+       addToMapW(0x45, 0x01, 0x17);
+       addToMapW(0x45, 0x01, 0x18);
+       addToMapW(0x45, 0x01, 0x19);
+       addToMapW(0x45, 0x01, 0x1A);
+       addToMapW(0x45, 0x01, 0x1B);
+       addToMapW(0x45, 0x03, 0xB5);
+       addToMapW(0x45, 0x21, 0x07);
+       addToMapW(0x45, 0x21, 0x2E);
+       addToMapW(0x45, 0x21, 0x2F);
+       addToMapW(0x45, 0x21, 0x30);
+       addToMapW(0x45, 0xFF, 0x25);
+       addToMapW(0x45, 0xFF, 0x45);
+       addToMapW(0x46, 0x00, 0x46);
+       addToMapW(0x46, 0x00, 0x66);
+       addToMapW(0x46, 0x01, 0x91);
+       addToMapW(0x46, 0x01, 0x92);
+       addToMapW(0x46, 0x03, 0xA6);
+       addToMapW(0x46, 0x03, 0xC6);
+       addToMapW(0x46, 0x21, 0x31);
+       addToMapW(0x46, 0xFF, 0x26);
+       addToMapW(0x46, 0xFF, 0x46);
+       addToMapW(0x47, 0x00, 0x47);
+       addToMapW(0x47, 0x00, 0x67);
+       addToMapW(0x47, 0x01, 0x1C);
+       addToMapW(0x47, 0x01, 0x1D);
+       addToMapW(0x47, 0x01, 0x1E);
+       addToMapW(0x47, 0x01, 0x1F);
+       addToMapW(0x47, 0x01, 0x20);
+       addToMapW(0x47, 0x01, 0x21);
+       addToMapW(0x47, 0x01, 0x22);
+       addToMapW(0x47, 0x01, 0x23);
+       addToMapW(0x47, 0x01, 0xE4);
+       addToMapW(0x47, 0x01, 0xE5);
+       addToMapW(0x47, 0x01, 0xE6);
+       addToMapW(0x47, 0x01, 0xE7);
+       addToMapW(0x47, 0x02, 0x61);
+       addToMapW(0x47, 0x03, 0x93);
+       addToMapW(0x47, 0x21, 0x0A);
+       addToMapW(0x47, 0xFF, 0x27);
+       addToMapW(0x47, 0xFF, 0x47);
+       addToMapW(0x48, 0x00, 0x48);
+       addToMapW(0x48, 0x00, 0x68);
+       addToMapW(0x48, 0x01, 0x24);
+       addToMapW(0x48, 0x01, 0x25);
+       addToMapW(0x48, 0x01, 0x26);
+       addToMapW(0x48, 0x01, 0x27);
+       addToMapW(0x48, 0x04, 0xBB);
+       addToMapW(0x48, 0x21, 0x0B);
+       addToMapW(0x48, 0x21, 0x0C);
+       addToMapW(0x48, 0x21, 0x0D);
+       addToMapW(0x48, 0x21, 0x0E);
+       addToMapW(0x48, 0xFF, 0x28);
+       addToMapW(0x48, 0xFF, 0x48);
+       addToMapW(0x49, 0x00, 0x49);
+       addToMapW(0x49, 0x00, 0x69);
+       addToMapW(0x49, 0x00, 0xCC);
+       addToMapW(0x49, 0x00, 0xCD);
+       addToMapW(0x49, 0x00, 0xCE);
+       addToMapW(0x49, 0x00, 0xCF);
+       addToMapW(0x49, 0x00, 0xEC);
+       addToMapW(0x49, 0x00, 0xED);
+       addToMapW(0x49, 0x00, 0xEE);
+       addToMapW(0x49, 0x00, 0xEF);
+       addToMapW(0x49, 0x01, 0x28);
+       addToMapW(0x49, 0x01, 0x29);
+       addToMapW(0x49, 0x01, 0x2A);
+       addToMapW(0x49, 0x01, 0x2B);
+       addToMapW(0x49, 0x01, 0x2C);
+       addToMapW(0x49, 0x01, 0x2D);
+       addToMapW(0x49, 0x01, 0x2E);
+       addToMapW(0x49, 0x01, 0x2F);
+       addToMapW(0x49, 0x01, 0x30);
+       addToMapW(0x49, 0x01, 0x31);
+       addToMapW(0x49, 0x01, 0x97);
+       addToMapW(0x49, 0x01, 0xCF);
+       addToMapW(0x49, 0x01, 0xD0);
+       addToMapW(0x49, 0x21, 0x10);
+       addToMapW(0x49, 0x21, 0x11);
+       addToMapW(0x49, 0xFF, 0x29);
+       addToMapW(0x49, 0xFF, 0x49);
+       addToMapW(0x4a, 0x00, 0x4A);
+       addToMapW(0x4a, 0x00, 0x6A);
+       addToMapW(0x4a, 0x01, 0x34);
+       addToMapW(0x4a, 0x01, 0x35);
+       addToMapW(0x4a, 0x01, 0xF0);
+       addToMapW(0x4a, 0xFF, 0x2A);
+       addToMapW(0x4a, 0xFF, 0x4A);
+       addToMapW(0x4b, 0x00, 0x4B);
+       addToMapW(0x4b, 0x00, 0x6B);
+       addToMapW(0x4b, 0x01, 0x36);
+       addToMapW(0x4b, 0x01, 0x37);
+       addToMapW(0x4b, 0x01, 0xE8);
+       addToMapW(0x4b, 0x01, 0xE9);
+       addToMapW(0x4b, 0x21, 0x2A);
+       addToMapW(0x4b, 0xFF, 0x2B);
+       addToMapW(0x4b, 0xFF, 0x4B);
+       addToMapW(0x4c, 0x00, 0x4C);
+       addToMapW(0x4c, 0x00, 0x6C);
+       addToMapW(0x4c, 0x00, 0xA3);
+       addToMapW(0x4c, 0x01, 0x39);
+       addToMapW(0x4c, 0x01, 0x3A);
+       addToMapW(0x4c, 0x01, 0x3B);
+       addToMapW(0x4c, 0x01, 0x3C);
+       addToMapW(0x4c, 0x01, 0x3D);
+       addToMapW(0x4c, 0x01, 0x3E);
+       addToMapW(0x4c, 0x01, 0x41);
+       addToMapW(0x4c, 0x01, 0x42);
+       addToMapW(0x4c, 0x01, 0x9A);
+       addToMapW(0x4c, 0x20, 0xA4);
+       addToMapW(0x4c, 0x21, 0x12);
+       addToMapW(0x4c, 0x21, 0x13);
+       addToMapW(0x4c, 0xFF, 0x2C);
+       addToMapW(0x4c, 0xFF, 0x4C);
+       addToMapW(0x4d, 0x00, 0x4D);
+       addToMapW(0x4d, 0x00, 0x6D);
+       addToMapW(0x4d, 0x21, 0x33);
+       addToMapW(0x4d, 0xFF, 0x2D);
+       addToMapW(0x4d, 0xFF, 0x4D);
+       addToMapW(0x4e, 0x00, 0x4E);
+       addToMapW(0x4e, 0x00, 0x6E);
+       addToMapW(0x4e, 0x00, 0xD1);
+       addToMapW(0x4e, 0x00, 0xF1);
+       addToMapW(0x4e, 0x01, 0x43);
+       addToMapW(0x4e, 0x01, 0x44);
+       addToMapW(0x4e, 0x01, 0x45);
+       addToMapW(0x4e, 0x01, 0x46);
+       addToMapW(0x4e, 0x01, 0x47);
+       addToMapW(0x4e, 0x01, 0x48);
+       addToMapW(0x4e, 0x20, 0x7F);
+       addToMapW(0x4e, 0x21, 0x15);
+       addToMapW(0x4e, 0x22, 0x29);
+       addToMapW(0x4e, 0xFF, 0x2E);
+       addToMapW(0x4e, 0xFF, 0x4E);
+       addToMapW(0x4f, 0x00, 0x4F);
+       addToMapW(0x4f, 0x00, 0x6F);
+       addToMapW(0x4f, 0x00, 0xB0);
+       addToMapW(0x4f, 0x00, 0xBA);
+       addToMapW(0x4f, 0x00, 0xD2);
+       addToMapW(0x4f, 0x00, 0xD3);
+       addToMapW(0x4f, 0x00, 0xD4);
+       addToMapW(0x4f, 0x00, 0xD5);
+       addToMapW(0x4f, 0x00, 0xD6);
+       addToMapW(0x4f, 0x00, 0xD8);
+       addToMapW(0x4f, 0x00, 0xF2);
+       addToMapW(0x4f, 0x00, 0xF3);
+       addToMapW(0x4f, 0x00, 0xF4);
+       addToMapW(0x4f, 0x00, 0xF5);
+       addToMapW(0x4f, 0x00, 0xF6);
+       addToMapW(0x4f, 0x00, 0xF8);
+       addToMapW(0x4f, 0x01, 0x4C);
+       addToMapW(0x4f, 0x01, 0x4D);
+       addToMapW(0x4f, 0x01, 0x4E);
+       addToMapW(0x4f, 0x01, 0x4F);
+       addToMapW(0x4f, 0x01, 0x50);
+       addToMapW(0x4f, 0x01, 0x51);
+       addToMapW(0x4f, 0x01, 0x52);
+       addToMapW(0x4f, 0x01, 0x53);
+       addToMapW(0x4f, 0x01, 0x9F);
+       addToMapW(0x4f, 0x01, 0xA0);
+       addToMapW(0x4f, 0x01, 0xA1);
+       addToMapW(0x4f, 0x01, 0xD1);
+       addToMapW(0x4f, 0x01, 0xD2);
+       addToMapW(0x4f, 0x01, 0xEA);
+       addToMapW(0x4f, 0x01, 0xEB);
+       addToMapW(0x4f, 0x01, 0xEC);
+       addToMapW(0x4f, 0x01, 0xED);
+       addToMapW(0x4f, 0x03, 0xA9);
+       addToMapW(0x4f, 0x20, 0xDD);
+       addToMapW(0x4f, 0x21, 0x26);
+       addToMapW(0x4f, 0x21, 0x34);
+       addToMapW(0x4f, 0x22, 0x05);
+       addToMapW(0x4f, 0x30, 0x07);
+       addToMapW(0x4f, 0xFF, 0x2F);
+       addToMapW(0x4f, 0xFF, 0x4F);
+       addToMapW(0x50, 0x00, 0x50);
+       addToMapW(0x50, 0x00, 0x70);
+       addToMapW(0x50, 0x03, 0xC0);
+       addToMapW(0x50, 0x20, 0xA7);
+       addToMapW(0x50, 0x21, 0x18);
+       addToMapW(0x50, 0x21, 0x19);
+       addToMapW(0x50, 0xFF, 0x30);
+       addToMapW(0x50, 0xFF, 0x50);
+       addToMapW(0x51, 0x00, 0x51);
+       addToMapW(0x51, 0x00, 0x71);
+       addToMapW(0x51, 0x21, 0x1A);
+       addToMapW(0x51, 0xFF, 0x31);
+       addToMapW(0x51, 0xFF, 0x51);
+       addToMapW(0x52, 0x00, 0x52);
+       addToMapW(0x52, 0x00, 0x72);
+       addToMapW(0x52, 0x00, 0xAE);
+       addToMapW(0x52, 0x01, 0x54);
+       addToMapW(0x52, 0x01, 0x55);
+       addToMapW(0x52, 0x01, 0x56);
+       addToMapW(0x52, 0x01, 0x57);
+       addToMapW(0x52, 0x01, 0x58);
+       addToMapW(0x52, 0x01, 0x59);
+       addToMapW(0x52, 0x21, 0x1B);
+       addToMapW(0x52, 0x21, 0x1C);
+       addToMapW(0x52, 0x21, 0x1D);
+       addToMapW(0x52, 0xFF, 0x32);
+       addToMapW(0x52, 0xFF, 0x52);
+       addToMapW(0x53, 0x00, 0x53);
+       addToMapW(0x53, 0x00, 0x73);
+       addToMapW(0x53, 0x00, 0xDF);
+       addToMapW(0x53, 0x01, 0x5A);
+       addToMapW(0x53, 0x01, 0x5B);
+       addToMapW(0x53, 0x01, 0x5C);
+       addToMapW(0x53, 0x01, 0x5D);
+       addToMapW(0x53, 0x01, 0x5E);
+       addToMapW(0x53, 0x01, 0x5F);
+       addToMapW(0x53, 0x01, 0x60);
+       addToMapW(0x53, 0x01, 0x61);
+       addToMapW(0x53, 0x01, 0xA9);
+       addToMapW(0x53, 0x03, 0xA3);
+       addToMapW(0x53, 0x03, 0xC3);
+       addToMapW(0x53, 0x22, 0x11);
+       addToMapW(0x53, 0xFF, 0x33);
+       addToMapW(0x53, 0xFF, 0x53);
+       addToMapW(0x54, 0x00, 0x54);
+       addToMapW(0x54, 0x00, 0x74);
+       addToMapW(0x54, 0x00, 0xDE);
+       addToMapW(0x54, 0x00, 0xFE);
+       addToMapW(0x54, 0x01, 0x62);
+       addToMapW(0x54, 0x01, 0x63);
+       addToMapW(0x54, 0x01, 0x64);
+       addToMapW(0x54, 0x01, 0x65);
+       addToMapW(0x54, 0x01, 0x66);
+       addToMapW(0x54, 0x01, 0x67);
+       addToMapW(0x54, 0x01, 0xAB);
+       addToMapW(0x54, 0x01, 0xAE);
+       addToMapW(0x54, 0x03, 0xC4);
+       addToMapW(0x54, 0x21, 0x22);
+       addToMapW(0x54, 0xFF, 0x34);
+       addToMapW(0x54, 0xFF, 0x54);
+       addToMapW(0x55, 0x00, 0x55);
+       addToMapW(0x55, 0x00, 0x75);
+       addToMapW(0x55, 0x00, 0xB5);
+       addToMapW(0x55, 0x00, 0xD9);
+       addToMapW(0x55, 0x00, 0xDA);
+       addToMapW(0x55, 0x00, 0xDB);
+       addToMapW(0x55, 0x00, 0xDC);
+       addToMapW(0x55, 0x00, 0xF9);
+       addToMapW(0x55, 0x00, 0xFA);
+       addToMapW(0x55, 0x00, 0xFB);
+       addToMapW(0x55, 0x00, 0xFC);
+       addToMapW(0x55, 0x01, 0x68);
+       addToMapW(0x55, 0x01, 0x69);
+       addToMapW(0x55, 0x01, 0x6A);
+       addToMapW(0x55, 0x01, 0x6B);
+       addToMapW(0x55, 0x01, 0x6C);
+       addToMapW(0x55, 0x01, 0x6D);
+       addToMapW(0x55, 0x01, 0x6E);
+       addToMapW(0x55, 0x01, 0x6F);
+       addToMapW(0x55, 0x01, 0x70);
+       addToMapW(0x55, 0x01, 0x71);
+       addToMapW(0x55, 0x01, 0x72);
+       addToMapW(0x55, 0x01, 0x73);
+       addToMapW(0x55, 0x01, 0xAF);
+       addToMapW(0x55, 0x01, 0xB0);
+       addToMapW(0x55, 0x01, 0xD3);
+       addToMapW(0x55, 0x01, 0xD4);
+       addToMapW(0x55, 0x01, 0xD5);
+       addToMapW(0x55, 0x01, 0xD6);
+       addToMapW(0x55, 0x01, 0xD7);
+       addToMapW(0x55, 0x01, 0xD8);
+       addToMapW(0x55, 0x01, 0xD9);
+       addToMapW(0x55, 0x01, 0xDA);
+       addToMapW(0x55, 0x01, 0xDB);
+       addToMapW(0x55, 0x01, 0xDC);
+       addToMapW(0x55, 0x03, 0xBC);
+       addToMapW(0x55, 0xFF, 0x35);
+       addToMapW(0x55, 0xFF, 0x55);
+       addToMapW(0x56, 0x00, 0x56);
+       addToMapW(0x56, 0x00, 0x76);
+       addToMapW(0x56, 0x22, 0x1A);
+       addToMapW(0x56, 0x27, 0x13);
+       addToMapW(0x56, 0xFF, 0x36);
+       addToMapW(0x56, 0xFF, 0x56);
+       addToMapW(0x57, 0x00, 0x57);
+       addToMapW(0x57, 0x00, 0x77);
+       addToMapW(0x57, 0x01, 0x74);
+       addToMapW(0x57, 0x01, 0x75);
+       addToMapW(0x57, 0xFF, 0x37);
+       addToMapW(0x57, 0xFF, 0x57);
+       addToMapW(0x58, 0x00, 0x58);
+       addToMapW(0x58, 0x00, 0x78);
+       addToMapW(0x58, 0x00, 0xD7);
+       addToMapW(0x58, 0xFF, 0x38);
+       addToMapW(0x58, 0xFF, 0x58);
+       addToMapW(0x59, 0x00, 0x59);
+       addToMapW(0x59, 0x00, 0x79);
+       addToMapW(0x59, 0x00, 0xA5);
+       addToMapW(0x59, 0x00, 0xDD);
+       addToMapW(0x59, 0x00, 0xFD);
+       addToMapW(0x59, 0x00, 0xFF);
+       addToMapW(0x59, 0x01, 0x76);
+       addToMapW(0x59, 0x01, 0x77);
+       addToMapW(0x59, 0x01, 0x78);
+       addToMapW(0x59, 0xFF, 0x39);
+       addToMapW(0x59, 0xFF, 0x59);
+       addToMapW(0x5a, 0x00, 0x5A);
+       addToMapW(0x5a, 0x00, 0x7A);
+       addToMapW(0x5a, 0x01, 0x79);
+       addToMapW(0x5a, 0x01, 0x7A);
+       addToMapW(0x5a, 0x01, 0x7B);
+       addToMapW(0x5a, 0x01, 0x7C);
+       addToMapW(0x5a, 0x01, 0x7D);
+       addToMapW(0x5a, 0x01, 0x7E);
+       addToMapW(0x5a, 0x01, 0xB6);
+       addToMapW(0x5a, 0x21, 0x24);
+       addToMapW(0x5a, 0x21, 0x28);
+       addToMapW(0x5a, 0xFF, 0x3A);
+       addToMapW(0x5a, 0xFF, 0x5A);
+       addToMapW(0x5b, 0x00, 0x5B);
+       addToMapW(0x5b, 0x30, 0x1A);
+       addToMapW(0x5b, 0xFF, 0x3B);
+       addToMapW(0x5c, 0x00, 0x5C);
+       addToMapW(0x5c, 0x00, 0xA5);
+       addToMapW(0x5c, 0x22, 0x16);
+       addToMapW(0x5c, 0xFF, 0x3C);
+       addToMapW(0x5d, 0x00, 0x5D);
+       addToMapW(0x5d, 0x30, 0x1B);
+       addToMapW(0x5d, 0xFF, 0x3D);
+       addToMapW(0x5e, 0x00, 0x5E);
+       addToMapW(0x5e, 0x02, 0xC4);
+       addToMapW(0x5e, 0x02, 0xC6);
+       addToMapW(0x5e, 0x02, 0xC7);
+       addToMapW(0x5e, 0x02, 0xD8);
+       addToMapW(0x5e, 0x03, 0x02);
+       addToMapW(0x5e, 0x03, 0x06);
+       addToMapW(0x5e, 0x03, 0x0C);
+       addToMapW(0x5e, 0x23, 0x03);
+       addToMapW(0x5e, 0xFF, 0x3E);
+       addToMapW(0x5f, 0x00, 0x5F);
+       addToMapW(0x5f, 0x00, 0xAF);
+       addToMapW(0x5f, 0x00, 0xBE);
+       addToMapW(0x5f, 0x00, 0xDE);
+       addToMapW(0x5f, 0x00, 0xFE);
+       addToMapW(0x5f, 0x02, 0xCD);
+       addToMapW(0x5f, 0x03, 0x31);
+       addToMapW(0x5f, 0x03, 0x32);
+       addToMapW(0x5f, 0x20, 0x17);
+       addToMapW(0x5f, 0x30, 0xFC);
+       addToMapW(0x5f, 0xFF, 0x3F);
+       addToMapW(0x60, 0x00, 0x60);
+       addToMapW(0x60, 0x02, 0xCB);
+       addToMapW(0x60, 0x03, 0x00);
+       addToMapW(0x60, 0x20, 0x18);
+       addToMapW(0x60, 0x20, 0x35);
+       addToMapW(0x60, 0xFF, 0x40);
+       addToMapW(0x7b, 0x00, 0x7B);
+       addToMapW(0x7b, 0xFF, 0x5B);
+       addToMapW(0x7c, 0x00, 0x7C);
+       addToMapW(0x7c, 0x00, 0xA6);
+       addToMapW(0x7c, 0x01, 0xC0);
+       addToMapW(0x7c, 0x22, 0x23);
+       addToMapW(0x7c, 0x27, 0x58);
+       addToMapW(0x7c, 0xFF, 0x5C);
+       addToMapW(0x7d, 0x00, 0x7D);
+       addToMapW(0x7d, 0x30, 0x1B);
+       addToMapW(0x7d, 0xFF, 0x5D);
+       addToMapW(0x7e, 0x00, 0x7E);
+       addToMapW(0x7e, 0x02, 0xDC);
+       addToMapW(0x7e, 0x03, 0x03);
+       addToMapW(0x7e, 0x22, 0x3C);
+       addToMapW(0x7e, 0x22, 0x48);
+       addToMapW(0x7e, 0xFF, 0x5E);
+       addToMapW(0x7f, 0x00, 0x7F);
+       addToMapW(0x7f, 0x23, 0x02);
+       addToMapW(0x7f, 0x26, 0x60);
+       addToMapW(0x7f, 0x26, 0x63);
+       addToMapW(0x7f, 0x26, 0x65);
+       addToMapW(0x7f, 0x26, 0x66);
+       addToMapW(0x80, 0x00, 0x80);
+       addToMapW(0x80, 0x00, 0xC7);
+       addToMapW(0x80, 0x00, 0xE7);
+       addToMapW(0x80, 0x01, 0x06);
+       addToMapW(0x80, 0x01, 0x07);
+       addToMapW(0x80, 0x03, 0x91);
+       addToMapW(0x80, 0x03, 0xB1);
+       addToMapW(0x80, 0x04, 0x10);
+       addToMapW(0x80, 0x04, 0x30);
+       addToMapW(0x80, 0x05, 0xD0);
+       addToMapW(0x80, 0x20, 0xAC);
+       addToMapW(0x81, 0x00, 0x81);
+       addToMapW(0x81, 0x03, 0x92);
+       addToMapW(0x81, 0x03, 0xB2);
+       addToMapW(0x81, 0x04, 0x02);
+       addToMapW(0x81, 0x04, 0x11);
+       addToMapW(0x81, 0x04, 0x31);
+       addToMapW(0x81, 0x04, 0x52);
+       addToMapW(0x81, 0x05, 0xD1);
+       addToMapW(0x82, 0x00, 0x82);
+       addToMapW(0x82, 0x03, 0x93);
+       addToMapW(0x82, 0x03, 0xB3);
+       addToMapW(0x82, 0x04, 0x12);
+       addToMapW(0x82, 0x04, 0x32);
+       addToMapW(0x82, 0x05, 0xD2);
+       addToMapW(0x82, 0x20, 0x1A);
+       addToMapW(0x83, 0x00, 0x83);
+       addToMapW(0x83, 0x03, 0x94);
+       addToMapW(0x83, 0x03, 0xB4);
+       addToMapW(0x83, 0x04, 0x03);
+       addToMapW(0x83, 0x04, 0x13);
+       addToMapW(0x83, 0x04, 0x33);
+       addToMapW(0x83, 0x04, 0x53);
+       addToMapW(0x83, 0x05, 0xD3);
+       addToMapW(0x84, 0x00, 0x84);
+       addToMapW(0x84, 0x03, 0x95);
+       addToMapW(0x84, 0x03, 0xB5);
+       addToMapW(0x84, 0x04, 0x14);
+       addToMapW(0x84, 0x04, 0x34);
+       addToMapW(0x84, 0x05, 0xD4);
+       addToMapW(0x84, 0x20, 0x1E);
+       addToMapW(0x85, 0x03, 0x96);
+       addToMapW(0x85, 0x03, 0xB6);
+       addToMapW(0x85, 0x04, 0x01);
+       addToMapW(0x85, 0x04, 0x15);
+       addToMapW(0x85, 0x04, 0x35);
+       addToMapW(0x85, 0x04, 0x51);
+       addToMapW(0x85, 0x05, 0xD5);
+       addToMapW(0x85, 0x20, 0x26);
+       addToMapW(0x86, 0x00, 0x86);
+       addToMapW(0x86, 0x03, 0x97);
+       addToMapW(0x86, 0x03, 0xB7);
+       addToMapW(0x86, 0x04, 0x16);
+       addToMapW(0x86, 0x04, 0x36);
+       addToMapW(0x86, 0x05, 0xD6);
+       addToMapW(0x86, 0x20, 0x20);
+       addToMapW(0x87, 0x00, 0x87);
+       addToMapW(0x87, 0x03, 0x98);
+       addToMapW(0x87, 0x03, 0xB8);
+       addToMapW(0x87, 0x04, 0x04);
+       addToMapW(0x87, 0x04, 0x17);
+       addToMapW(0x87, 0x04, 0x37);
+       addToMapW(0x87, 0x04, 0x54);
+       addToMapW(0x87, 0x05, 0xD7);
+       addToMapW(0x87, 0x20, 0x21);
+       addToMapW(0x88, 0x00, 0x88);
+       addToMapW(0x88, 0x02, 0xC6);
+       addToMapW(0x88, 0x03, 0x99);
+       addToMapW(0x88, 0x03, 0xB9);
+       addToMapW(0x88, 0x04, 0x18);
+       addToMapW(0x88, 0x04, 0x38);
+       addToMapW(0x88, 0x05, 0xD8);
+       addToMapW(0x89, 0x00, 0x89);
+       addToMapW(0x89, 0x03, 0x9A);
+       addToMapW(0x89, 0x03, 0xBA);
+       addToMapW(0x89, 0x04, 0x05);
+       addToMapW(0x89, 0x04, 0x19);
+       addToMapW(0x89, 0x04, 0x39);
+       addToMapW(0x89, 0x04, 0x55);
+       addToMapW(0x89, 0x05, 0xD9);
+       addToMapW(0x89, 0x20, 0x30);
+       addToMapW(0x8a, 0x00, 0x8A);
+       addToMapW(0x8a, 0x01, 0x50);
+       addToMapW(0x8a, 0x01, 0x51);
+       addToMapW(0x8a, 0x01, 0x56);
+       addToMapW(0x8a, 0x01, 0x57);
+       addToMapW(0x8a, 0x03, 0x9B);
+       addToMapW(0x8a, 0x03, 0xBB);
+       addToMapW(0x8a, 0x04, 0x1A);
+       addToMapW(0x8a, 0x04, 0x3A);
+       addToMapW(0x8a, 0x05, 0xDA);
+       addToMapW(0x8b, 0x00, 0x8B);
+       addToMapW(0x8b, 0x03, 0x9C);
+       addToMapW(0x8b, 0x03, 0xBC);
+       addToMapW(0x8b, 0x04, 0x06);
+       addToMapW(0x8b, 0x04, 0x1B);
+       addToMapW(0x8b, 0x04, 0x3B);
+       addToMapW(0x8b, 0x04, 0x56);
+       addToMapW(0x8b, 0x05, 0xDB);
+       addToMapW(0x8b, 0x20, 0x39);
+       addToMapW(0x8c, 0x00, 0x8C);
+       addToMapW(0x8c, 0x01, 0x52);
+       addToMapW(0x8c, 0x01, 0x53);
+       addToMapW(0x8c, 0x03, 0x9D);
+       addToMapW(0x8c, 0x03, 0xBD);
+       addToMapW(0x8c, 0x04, 0x1C);
+       addToMapW(0x8c, 0x04, 0x3C);
+       addToMapW(0x8c, 0x05, 0xDC);
+       addToMapW(0x8d, 0x00, 0x8D);
+       addToMapW(0x8d, 0x01, 0x31);
+       addToMapW(0x8d, 0x01, 0x79);
+       addToMapW(0x8d, 0x01, 0x7A);
+       addToMapW(0x8d, 0x03, 0x9E);
+       addToMapW(0x8d, 0x03, 0xBE);
+       addToMapW(0x8d, 0x04, 0x07);
+       addToMapW(0x8d, 0x04, 0x1D);
+       addToMapW(0x8d, 0x04, 0x3D);
+       addToMapW(0x8d, 0x04, 0x57);
+       addToMapW(0x8d, 0x05, 0xDD);
+       addToMapW(0x8e, 0x00, 0x8E);
+       addToMapW(0x8e, 0x00, 0xC4);
+       addToMapW(0x8e, 0x00, 0xE4);
+       addToMapW(0x8e, 0x03, 0x9F);
+       addToMapW(0x8e, 0x03, 0xBF);
+       addToMapW(0x8e, 0x04, 0x1E);
+       addToMapW(0x8e, 0x04, 0x3E);
+       addToMapW(0x8e, 0x05, 0xDE);
+       addToMapW(0x8f, 0x00, 0x8F);
+       addToMapW(0x8f, 0x00, 0xC5);
+       addToMapW(0x8f, 0x00, 0xE5);
+       addToMapW(0x8f, 0x01, 0x06);
+       addToMapW(0x8f, 0x01, 0x07);
+       addToMapW(0x8f, 0x03, 0xA0);
+       addToMapW(0x8f, 0x03, 0xC0);
+       addToMapW(0x8f, 0x04, 0x08);
+       addToMapW(0x8f, 0x04, 0x1F);
+       addToMapW(0x8f, 0x04, 0x3F);
+       addToMapW(0x8f, 0x04, 0x58);
+       addToMapW(0x8f, 0x05, 0xDF);
+       addToMapW(0x8f, 0x21, 0x2B);
+       addToMapW(0x90, 0x00, 0x90);
+       addToMapW(0x90, 0x00, 0xC9);
+       addToMapW(0x90, 0x00, 0xE9);
+       addToMapW(0x90, 0x03, 0xA1);
+       addToMapW(0x90, 0x03, 0xC1);
+       addToMapW(0x90, 0x04, 0x20);
+       addToMapW(0x90, 0x04, 0x40);
+       addToMapW(0x90, 0x05, 0xE0);
+       addToMapW(0x91, 0x01, 0x39);
+       addToMapW(0x91, 0x01, 0x3A);
+       addToMapW(0x91, 0x03, 0xA3);
+       addToMapW(0x91, 0x03, 0xC2);
+       addToMapW(0x91, 0x03, 0xC3);
+       addToMapW(0x91, 0x04, 0x09);
+       addToMapW(0x91, 0x04, 0x21);
+       addToMapW(0x91, 0x04, 0x41);
+       addToMapW(0x91, 0x04, 0x59);
+       addToMapW(0x91, 0x05, 0xE1);
+       addToMapW(0x91, 0x06, 0x51);
+       addToMapW(0x91, 0x20, 0x18);
+       addToMapW(0x91, 0xFE, 0x7C);
+       addToMapW(0x91, 0xFE, 0x7D);
+       addToMapW(0x92, 0x00, 0xC6);
+       addToMapW(0x92, 0x00, 0xE6);
+       addToMapW(0x92, 0x03, 0xA4);
+       addToMapW(0x92, 0x03, 0xC4);
+       addToMapW(0x92, 0x04, 0x22);
+       addToMapW(0x92, 0x04, 0x42);
+       addToMapW(0x92, 0x05, 0xE2);
+       addToMapW(0x92, 0x06, 0x52);
+       addToMapW(0x92, 0x20, 0x19);
+       addToMapW(0x92, 0xFE, 0x7E);
+       addToMapW(0x92, 0xFE, 0x7F);
+       addToMapW(0x93, 0x03, 0xA5);
+       addToMapW(0x93, 0x03, 0xC5);
+       addToMapW(0x93, 0x04, 0x0A);
+       addToMapW(0x93, 0x04, 0x23);
+       addToMapW(0x93, 0x04, 0x43);
+       addToMapW(0x93, 0x04, 0x5A);
+       addToMapW(0x93, 0x05, 0xE3);
+       addToMapW(0x93, 0x20, 0x1C);
+       addToMapW(0x94, 0x00, 0xA4);
+       addToMapW(0x94, 0x03, 0xA6);
+       addToMapW(0x94, 0x03, 0xC6);
+       addToMapW(0x94, 0x04, 0x24);
+       addToMapW(0x94, 0x04, 0x44);
+       addToMapW(0x94, 0x05, 0xE4);
+       addToMapW(0x94, 0x20, 0x1D);
+       addToMapW(0x95, 0x01, 0x22);
+       addToMapW(0x95, 0x01, 0x23);
+       addToMapW(0x95, 0x01, 0x3D);
+       addToMapW(0x95, 0x01, 0x3E);
+       addToMapW(0x95, 0x03, 0xA7);
+       addToMapW(0x95, 0x03, 0xC7);
+       addToMapW(0x95, 0x04, 0x0B);
+       addToMapW(0x95, 0x04, 0x25);
+       addToMapW(0x95, 0x04, 0x45);
+       addToMapW(0x95, 0x04, 0x5B);
+       addToMapW(0x95, 0x05, 0xE5);
+       addToMapW(0x95, 0x06, 0x40);
+       addToMapW(0x95, 0x20, 0x22);
+       addToMapW(0x96, 0x00, 0xA2);
+       addToMapW(0x96, 0x03, 0xA8);
+       addToMapW(0x96, 0x03, 0xC8);
+       addToMapW(0x96, 0x04, 0x26);
+       addToMapW(0x96, 0x04, 0x46);
+       addToMapW(0x96, 0x05, 0xE6);
+       addToMapW(0x96, 0x20, 0x13);
+       addToMapW(0x97, 0x00, 0xB5);
+       addToMapW(0x97, 0x01, 0x5A);
+       addToMapW(0x97, 0x01, 0x5B);
+       addToMapW(0x97, 0x03, 0xA9);
+       addToMapW(0x97, 0x03, 0xC9);
+       addToMapW(0x97, 0x04, 0x0C);
+       addToMapW(0x97, 0x04, 0x27);
+       addToMapW(0x97, 0x04, 0x47);
+       addToMapW(0x97, 0x04, 0x5C);
+       addToMapW(0x97, 0x05, 0xE7);
+       addToMapW(0x97, 0x20, 0x14);
+       addToMapW(0x98, 0x00, 0x98);
+       addToMapW(0x98, 0x01, 0x30);
+       addToMapW(0x98, 0x02, 0xDC);
+       addToMapW(0x98, 0x04, 0x28);
+       addToMapW(0x98, 0x04, 0x48);
+       addToMapW(0x98, 0x05, 0xE8);
+       addToMapW(0x98, 0x06, 0x21);
+       addToMapW(0x98, 0xFE, 0x80);
+       addToMapW(0x99, 0x00, 0x99);
+       addToMapW(0x99, 0x00, 0xD6);
+       addToMapW(0x99, 0x00, 0xF6);
+       addToMapW(0x99, 0x04, 0x0E);
+       addToMapW(0x99, 0x04, 0x29);
+       addToMapW(0x99, 0x04, 0x49);
+       addToMapW(0x99, 0x04, 0x5E);
+       addToMapW(0x99, 0x05, 0xE9);
+       addToMapW(0x99, 0x06, 0x22);
+       addToMapW(0x99, 0x21, 0x22);
+       addToMapW(0x99, 0xFE, 0x81);
+       addToMapW(0x99, 0xFE, 0x82);
+       addToMapW(0x9a, 0x00, 0x9A);
+       addToMapW(0x9a, 0x00, 0xDC);
+       addToMapW(0x9a, 0x00, 0xFC);
+       addToMapW(0x9a, 0x04, 0x2A);
+       addToMapW(0x9a, 0x04, 0x4A);
+       addToMapW(0x9a, 0x05, 0xEA);
+       addToMapW(0x9a, 0x06, 0x23);
+       addToMapW(0x9a, 0xFE, 0x83);
+       addToMapW(0x9a, 0xFE, 0x84);
+       addToMapW(0x9b, 0x00, 0x9B);
+       addToMapW(0x9b, 0x00, 0xA2);
+       addToMapW(0x9b, 0x01, 0x64);
+       addToMapW(0x9b, 0x01, 0x65);
+       addToMapW(0x9b, 0x04, 0x0F);
+       addToMapW(0x9b, 0x04, 0x2B);
+       addToMapW(0x9b, 0x04, 0x4B);
+       addToMapW(0x9b, 0x04, 0x5F);
+       addToMapW(0x9b, 0x06, 0x24);
+       addToMapW(0x9b, 0x20, 0x3A);
+       addToMapW(0x9b, 0xFE, 0x85);
+       addToMapW(0x9b, 0xFE, 0x86);
+       addToMapW(0x9c, 0x00, 0x9C);
+       addToMapW(0x9c, 0x00, 0xA3);
+       addToMapW(0x9c, 0x04, 0x2C);
+       addToMapW(0x9c, 0x04, 0x4C);
+       addToMapW(0x9c, 0x20, 0xA4);
+       addToMapW(0x9d, 0x00, 0x9D);
+       addToMapW(0x9d, 0x00, 0xA5);
+       addToMapW(0x9d, 0x00, 0xD8);
+       addToMapW(0x9d, 0x00, 0xF8);
+       addToMapW(0x9d, 0x01, 0x41);
+       addToMapW(0x9d, 0x01, 0x42);
+       addToMapW(0x9d, 0x02, 0x78);
+       addToMapW(0x9d, 0x03, 0x98);
+       addToMapW(0x9d, 0x04, 0x2D);
+       addToMapW(0x9d, 0x04, 0x2E);
+       addToMapW(0x9d, 0x04, 0x4D);
+       addToMapW(0x9d, 0x04, 0x4E);
+       addToMapW(0x9d, 0x06, 0x25);
+       addToMapW(0x9d, 0x22, 0x05);
+       addToMapW(0x9d, 0xFE, 0x87);
+       addToMapW(0x9d, 0xFE, 0x88);
+       addToMapW(0x9e, 0x00, 0x9E);
+       addToMapW(0x9e, 0x00, 0xD7);
+       addToMapW(0x9e, 0x01, 0x5E);
+       addToMapW(0x9e, 0x01, 0x5F);
+       addToMapW(0x9e, 0x04, 0x2E);
+       addToMapW(0x9e, 0x04, 0x4E);
+       addToMapW(0x9e, 0x06, 0x26);
+       addToMapW(0x9e, 0x20, 0xA7);
+       addToMapW(0x9e, 0xFE, 0x89);
+       addToMapW(0x9e, 0xFE, 0x8A);
+       addToMapW(0x9e, 0xFE, 0x8B);
+       addToMapW(0x9e, 0xFE, 0x8C);
+       addToMapW(0x9f, 0x00, 0x9F);
+       addToMapW(0x9f, 0x00, 0xA4);
+       addToMapW(0x9f, 0x00, 0xFF);
+       addToMapW(0x9f, 0x01, 0x78);
+       addToMapW(0x9f, 0x01, 0x91);
+       addToMapW(0x9f, 0x01, 0x92);
+       addToMapW(0x9f, 0x04, 0x2A);
+       addToMapW(0x9f, 0x04, 0x2F);
+       addToMapW(0x9f, 0x04, 0x4A);
+       addToMapW(0x9f, 0x04, 0x4F);
+       addToMapW(0x9f, 0x06, 0x27);
+       addToMapW(0x9f, 0xFE, 0x8D);
+       addToMapW(0x9f, 0xFE, 0x8E);
+       addToMapW(0xa0, 0x00, 0xA0);
+       addToMapW(0xa0, 0x01, 0x00);
+       addToMapW(0xa0, 0x01, 0x01);
+       addToMapW(0xa0, 0x06, 0x28);
+       addToMapW(0xa0, 0xF8, 0xF0);
+       addToMapW(0xa0, 0xFE, 0x8F);
+       addToMapW(0xa0, 0xFE, 0x90);
+       addToMapW(0xa0, 0xFE, 0x91);
+       addToMapW(0xa0, 0xFE, 0x92);
+       addToMapW(0xa1, 0x00, 0xA1);
+       addToMapW(0xa1, 0x01, 0x2A);
+       addToMapW(0xa1, 0x01, 0x2B);
+       addToMapW(0xa1, 0x04, 0x10);
+       addToMapW(0xa1, 0x04, 0x30);
+       addToMapW(0xa1, 0x06, 0x29);
+       addToMapW(0xa1, 0x0E, 0x01);
+       addToMapW(0xa1, 0xFE, 0x93);
+       addToMapW(0xa1, 0xFE, 0x94);
+       addToMapW(0xa1, 0xFF, 0x61);
+       addToMapW(0xa2, 0x00, 0xA2);
+       addToMapW(0xa2, 0x06, 0x2A);
+       addToMapW(0xa2, 0x0E, 0x02);
+       addToMapW(0xa2, 0xFE, 0x95);
+       addToMapW(0xa2, 0xFE, 0x96);
+       addToMapW(0xa2, 0xFE, 0x97);
+       addToMapW(0xa2, 0xFE, 0x98);
+       addToMapW(0xa2, 0xFF, 0x62);
+       addToMapW(0xa3, 0x00, 0xA3);
+       addToMapW(0xa3, 0x01, 0x7B);
+       addToMapW(0xa3, 0x01, 0x7C);
+       addToMapW(0xa3, 0x04, 0x11);
+       addToMapW(0xa3, 0x04, 0x31);
+       addToMapW(0xa3, 0x06, 0x2B);
+       addToMapW(0xa3, 0x0E, 0x03);
+       addToMapW(0xa3, 0xFE, 0x99);
+       addToMapW(0xa3, 0xFE, 0x9A);
+       addToMapW(0xa3, 0xFE, 0x9B);
+       addToMapW(0xa3, 0xFE, 0x9C);
+       addToMapW(0xa3, 0xFF, 0x63);
+       addToMapW(0xa4, 0x00, 0xA4);
+       addToMapW(0xa4, 0x01, 0x04);
+       addToMapW(0xa4, 0x01, 0x05);
+       addToMapW(0xa4, 0x06, 0x2C);
+       addToMapW(0xa4, 0x0E, 0x04);
+       addToMapW(0xa4, 0xFE, 0x9D);
+       addToMapW(0xa4, 0xFE, 0x9E);
+       addToMapW(0xa4, 0xFE, 0x9F);
+       addToMapW(0xa4, 0xFE, 0xA0);
+       addToMapW(0xa4, 0xFF, 0x64);
+       addToMapW(0xa5, 0x00, 0xA5);
+       addToMapW(0xa5, 0x00, 0xD1);
+       addToMapW(0xa5, 0x00, 0xF1);
+       addToMapW(0xa5, 0x04, 0x26);
+       addToMapW(0xa5, 0x04, 0x46);
+       addToMapW(0xa5, 0x06, 0x2D);
+       addToMapW(0xa5, 0x0E, 0x05);
+       addToMapW(0xa5, 0xFE, 0xA1);
+       addToMapW(0xa5, 0xFE, 0xA2);
+       addToMapW(0xa5, 0xFE, 0xA3);
+       addToMapW(0xa5, 0xFE, 0xA4);
+       addToMapW(0xa5, 0xFF, 0x65);
+       addToMapW(0xa6, 0x00, 0xA6);
+       addToMapW(0xa6, 0x00, 0xAA);
+       addToMapW(0xa6, 0x01, 0x1E);
+       addToMapW(0xa6, 0x01, 0x1F);
+       addToMapW(0xa6, 0x01, 0x7D);
+       addToMapW(0xa6, 0x01, 0x7E);
+       addToMapW(0xa6, 0x06, 0x2E);
+       addToMapW(0xa6, 0x0E, 0x06);
+       addToMapW(0xa6, 0x20, 0x1D);
+       addToMapW(0xa6, 0xFE, 0xA5);
+       addToMapW(0xa6, 0xFE, 0xA6);
+       addToMapW(0xa6, 0xFE, 0xA7);
+       addToMapW(0xa6, 0xFE, 0xA8);
+       addToMapW(0xa6, 0xFF, 0x66);
+       addToMapW(0xa7, 0x00, 0xA6);
+       addToMapW(0xa7, 0x00, 0xA7);
+       addToMapW(0xa7, 0x00, 0xBA);
+       addToMapW(0xa7, 0x04, 0x14);
+       addToMapW(0xa7, 0x04, 0x34);
+       addToMapW(0xa7, 0x06, 0x2F);
+       addToMapW(0xa7, 0x0E, 0x07);
+       addToMapW(0xa7, 0xFE, 0xA9);
+       addToMapW(0xa7, 0xFE, 0xAA);
+       addToMapW(0xa7, 0xFF, 0x67);
+       addToMapW(0xa8, 0x00, 0xA8);
+       addToMapW(0xa8, 0x00, 0xA9);
+       addToMapW(0xa8, 0x00, 0xBF);
+       addToMapW(0xa8, 0x01, 0x18);
+       addToMapW(0xa8, 0x01, 0x19);
+       addToMapW(0xa8, 0x06, 0x30);
+       addToMapW(0xa8, 0x0E, 0x08);
+       addToMapW(0xa8, 0xFE, 0xAB);
+       addToMapW(0xa8, 0xFE, 0xAC);
+       addToMapW(0xa8, 0xFF, 0x68);
+       addToMapW(0xa9, 0x00, 0xA9);
+       addToMapW(0xa9, 0x00, 0xAE);
+       addToMapW(0xa9, 0x04, 0x15);
+       addToMapW(0xa9, 0x04, 0x35);
+       addToMapW(0xa9, 0x06, 0x31);
+       addToMapW(0xa9, 0x0E, 0x09);
+       addToMapW(0xa9, 0x23, 0x10);
+       addToMapW(0xa9, 0xFE, 0xAD);
+       addToMapW(0xa9, 0xFE, 0xAE);
+       addToMapW(0xa9, 0xFF, 0x69);
+       addToMapW(0xaa, 0x00, 0xAA);
+       addToMapW(0xaa, 0x00, 0xAC);
+       addToMapW(0xaa, 0x06, 0x32);
+       addToMapW(0xaa, 0x0E, 0x0A);
+       addToMapW(0xaa, 0x23, 0x10);
+       addToMapW(0xaa, 0xFE, 0xAF);
+       addToMapW(0xaa, 0xFE, 0xB0);
+       addToMapW(0xaa, 0xFF, 0x6A);
+       addToMapW(0xab, 0x00, 0xAB);
+       addToMapW(0xab, 0x00, 0xBD);
+       addToMapW(0xab, 0x04, 0x24);
+       addToMapW(0xab, 0x04, 0x44);
+       addToMapW(0xab, 0x06, 0x33);
+       addToMapW(0xab, 0x0E, 0x0B);
+       addToMapW(0xab, 0xFE, 0xB1);
+       addToMapW(0xab, 0xFE, 0xB2);
+       addToMapW(0xab, 0xFE, 0xB3);
+       addToMapW(0xab, 0xFE, 0xB4);
+       addToMapW(0xab, 0xFF, 0x6B);
+       addToMapW(0xac, 0x00, 0xAC);
+       addToMapW(0xac, 0x00, 0xBC);
+       addToMapW(0xac, 0x01, 0x0C);
+       addToMapW(0xac, 0x01, 0x0D);
+       addToMapW(0xac, 0x06, 0x34);
+       addToMapW(0xac, 0x0E, 0x0C);
+       addToMapW(0xac, 0xFE, 0xB5);
+       addToMapW(0xac, 0xFE, 0xB6);
+       addToMapW(0xac, 0xFE, 0xB7);
+       addToMapW(0xac, 0xFE, 0xB8);
+       addToMapW(0xac, 0xFF, 0x6C);
+       addToMapW(0xad, 0x00, 0xA1);
+       addToMapW(0xad, 0x00, 0xAD);
+       addToMapW(0xad, 0x01, 0x41);
+       addToMapW(0xad, 0x01, 0x42);
+       addToMapW(0xad, 0x04, 0x13);
+       addToMapW(0xad, 0x04, 0x33);
+       addToMapW(0xad, 0x06, 0x35);
+       addToMapW(0xad, 0x0E, 0x0D);
+       addToMapW(0xad, 0xFE, 0xB9);
+       addToMapW(0xad, 0xFE, 0xBA);
+       addToMapW(0xad, 0xFE, 0xBB);
+       addToMapW(0xad, 0xFE, 0xBC);
+       addToMapW(0xad, 0xFF, 0x6D);
+       addToMapW(0xae, 0x00, 0xAB);
+       addToMapW(0xae, 0x00, 0xAE);
+       addToMapW(0xae, 0x0E, 0x0E);
+       addToMapW(0xae, 0x22, 0x6A);
+       addToMapW(0xae, 0x30, 0x0A);
+       addToMapW(0xae, 0xFF, 0x6E);
+       addToMapW(0xaf, 0x00, 0xAF);
+       addToMapW(0xaf, 0x00, 0xBB);
+       addToMapW(0xaf, 0x0E, 0x0F);
+       addToMapW(0xaf, 0x22, 0x6B);
+       addToMapW(0xaf, 0x30, 0x0B);
+       addToMapW(0xaf, 0xFF, 0x6F);
+       addToMapW(0xb0, 0x00, 0xB0);
+       addToMapW(0xb0, 0x0E, 0x10);
+       addToMapW(0xb0, 0x25, 0x91);
+       addToMapW(0xb0, 0xFF, 0x70);
+       addToMapW(0xb1, 0x00, 0xB1);
+       addToMapW(0xb1, 0x0E, 0x11);
+       addToMapW(0xb1, 0x25, 0x92);
+       addToMapW(0xb1, 0xFF, 0x71);
+       addToMapW(0xb2, 0x00, 0xB2);
+       addToMapW(0xb2, 0x0E, 0x12);
+       addToMapW(0xb2, 0x25, 0x93);
+       addToMapW(0xb2, 0xFF, 0x72);
+       addToMapW(0xb3, 0x00, 0xA6);
+       addToMapW(0xb3, 0x00, 0xB3);
+       addToMapW(0xb3, 0x01, 0xC0);
+       addToMapW(0xb3, 0x0E, 0x13);
+       addToMapW(0xb3, 0x22, 0x23);
+       addToMapW(0xb3, 0x25, 0x02);
+       addToMapW(0xb3, 0x27, 0x58);
+       addToMapW(0xb3, 0xFF, 0x73);
+       addToMapW(0xb4, 0x00, 0xB4);
+       addToMapW(0xb4, 0x0E, 0x14);
+       addToMapW(0xb4, 0x25, 0x24);
+       addToMapW(0xb4, 0xFF, 0x74);
+       addToMapW(0xb5, 0x00, 0xB5);
+       addToMapW(0xb5, 0x00, 0xC1);
+       addToMapW(0xb5, 0x00, 0xE1);
+       addToMapW(0xb5, 0x01, 0x04);
+       addToMapW(0xb5, 0x01, 0x05);
+       addToMapW(0xb5, 0x0E, 0x15);
+       addToMapW(0xb5, 0x25, 0x61);
+       addToMapW(0xb5, 0xFF, 0x75);
+       addToMapW(0xb6, 0x00, 0xB6);
+       addToMapW(0xb6, 0x00, 0xC2);
+       addToMapW(0xb6, 0x00, 0xE2);
+       addToMapW(0xb6, 0x01, 0x0C);
+       addToMapW(0xb6, 0x01, 0x0D);
+       addToMapW(0xb6, 0x04, 0x25);
+       addToMapW(0xb6, 0x04, 0x45);
+       addToMapW(0xb6, 0x0E, 0x16);
+       addToMapW(0xb6, 0x25, 0x62);
+       addToMapW(0xb6, 0xFF, 0x76);
+       addToMapW(0xb7, 0x00, 0xB7);
+       addToMapW(0xb7, 0x00, 0xC0);
+       addToMapW(0xb7, 0x00, 0xE0);
+       addToMapW(0xb7, 0x01, 0x18);
+       addToMapW(0xb7, 0x01, 0x19);
+       addToMapW(0xb7, 0x01, 0x1A);
+       addToMapW(0xb7, 0x01, 0x1B);
+       addToMapW(0xb7, 0x0E, 0x17);
+       addToMapW(0xb7, 0x25, 0x56);
+       addToMapW(0xb7, 0xFF, 0x77);
+       addToMapW(0xb8, 0x00, 0xA9);
+       addToMapW(0xb8, 0x00, 0xB8);
+       addToMapW(0xb8, 0x01, 0x16);
+       addToMapW(0xb8, 0x01, 0x17);
+       addToMapW(0xb8, 0x01, 0x5E);
+       addToMapW(0xb8, 0x01, 0x5F);
+       addToMapW(0xb8, 0x04, 0x18);
+       addToMapW(0xb8, 0x04, 0x38);
+       addToMapW(0xb8, 0x0E, 0x18);
+       addToMapW(0xb8, 0x25, 0x55);
+       addToMapW(0xb8, 0xFF, 0x78);
+       addToMapW(0xb9, 0x00, 0xB9);
+       addToMapW(0xb9, 0x0E, 0x19);
+       addToMapW(0xb9, 0x25, 0x61);
+       addToMapW(0xb9, 0x25, 0x62);
+       addToMapW(0xb9, 0x25, 0x63);
+       addToMapW(0xb9, 0xFF, 0x79);
+       addToMapW(0xba, 0x00, 0xBA);
+       addToMapW(0xba, 0x0E, 0x1A);
+       addToMapW(0xba, 0x25, 0x51);
+       addToMapW(0xba, 0xFF, 0x7A);
+       addToMapW(0xbb, 0x00, 0xBB);
+       addToMapW(0xbb, 0x0E, 0x1B);
+       addToMapW(0xbb, 0x25, 0x55);
+       addToMapW(0xbb, 0x25, 0x56);
+       addToMapW(0xbb, 0x25, 0x57);
+       addToMapW(0xbb, 0xFF, 0x7B);
+       addToMapW(0xbc, 0x00, 0xBC);
+       addToMapW(0xbc, 0x0E, 0x1C);
+       addToMapW(0xbc, 0x25, 0x5B);
+       addToMapW(0xbc, 0x25, 0x5C);
+       addToMapW(0xbc, 0x25, 0x5D);
+       addToMapW(0xbc, 0xFF, 0x7C);
+       addToMapW(0xbd, 0x00, 0xA2);
+       addToMapW(0xbd, 0x00, 0xBD);
+       addToMapW(0xbd, 0x01, 0x2E);
+       addToMapW(0xbd, 0x01, 0x2F);
+       addToMapW(0xbd, 0x01, 0x7B);
+       addToMapW(0xbd, 0x01, 0x7C);
+       addToMapW(0xbd, 0x0E, 0x1D);
+       addToMapW(0xbd, 0x25, 0x5C);
+       addToMapW(0xbd, 0xFF, 0x7D);
+       addToMapW(0xbe, 0x00, 0xA5);
+       addToMapW(0xbe, 0x00, 0xBE);
+       addToMapW(0xbe, 0x01, 0x60);
+       addToMapW(0xbe, 0x01, 0x61);
+       addToMapW(0xbe, 0x04, 0x19);
+       addToMapW(0xbe, 0x04, 0x39);
+       addToMapW(0xbe, 0x0E, 0x1E);
+       addToMapW(0xbe, 0x25, 0x5B);
+       addToMapW(0xbe, 0xFF, 0x7E);
+       addToMapW(0xbf, 0x00, 0xAC);
+       addToMapW(0xbf, 0x00, 0xBF);
+       addToMapW(0xbf, 0x0E, 0x1F);
+       addToMapW(0xbf, 0x25, 0x10);
+       addToMapW(0xbf, 0xFF, 0x7F);
+       addToMapW(0xc0, 0x00, 0xC0);
+       addToMapW(0xc0, 0x00, 0xE0);
+       addToMapW(0xc0, 0x0E, 0x20);
+       addToMapW(0xc0, 0x25, 0x14);
+       addToMapW(0xc0, 0xFF, 0x80);
+       addToMapW(0xc1, 0x00, 0xC1);
+       addToMapW(0xc1, 0x00, 0xE1);
+       addToMapW(0xc1, 0x0E, 0x21);
+       addToMapW(0xc1, 0x25, 0x34);
+       addToMapW(0xc1, 0xFF, 0x81);
+       addToMapW(0xc2, 0x00, 0xC2);
+       addToMapW(0xc2, 0x00, 0xE2);
+       addToMapW(0xc2, 0x0E, 0x22);
+       addToMapW(0xc2, 0x25, 0x2C);
+       addToMapW(0xc2, 0xFF, 0x82);
+       addToMapW(0xc3, 0x01, 0x02);
+       addToMapW(0xc3, 0x01, 0x03);
+       addToMapW(0xc3, 0x0E, 0x23);
+       addToMapW(0xc3, 0x25, 0x1C);
+       addToMapW(0xc3, 0xFF, 0x83);
+       addToMapW(0xc4, 0x00, 0xAF);
+       addToMapW(0xc4, 0x00, 0xC4);
+       addToMapW(0xc4, 0x00, 0xE4);
+       addToMapW(0xc4, 0x02, 0xC9);
+       addToMapW(0xc4, 0x03, 0x04);
+       addToMapW(0xc4, 0x03, 0x05);
+       addToMapW(0xc4, 0x0E, 0x24);
+       addToMapW(0xc4, 0x25, 0x00);
+       addToMapW(0xc4, 0xFF, 0x84);
+       addToMapW(0xc5, 0x00, 0xC5);
+       addToMapW(0xc5, 0x00, 0xE5);
+       addToMapW(0xc5, 0x0E, 0x25);
+       addToMapW(0xc5, 0x20, 0x20);
+       addToMapW(0xc5, 0x20, 0x21);
+       addToMapW(0xc5, 0x25, 0x3C);
+       addToMapW(0xc5, 0xFF, 0x85);
+       addToMapW(0xc6, 0x00, 0xC6);
+       addToMapW(0xc6, 0x00, 0xE6);
+       addToMapW(0xc6, 0x01, 0x02);
+       addToMapW(0xc6, 0x01, 0x03);
+       addToMapW(0xc6, 0x01, 0x72);
+       addToMapW(0xc6, 0x01, 0x73);
+       addToMapW(0xc6, 0x0E, 0x26);
+       addToMapW(0xc6, 0x25, 0x5E);
+       addToMapW(0xc6, 0xFF, 0x86);
+       addToMapW(0xc7, 0x00, 0xC3);
+       addToMapW(0xc7, 0x00, 0xC7);
+       addToMapW(0xc7, 0x00, 0xE3);
+       addToMapW(0xc7, 0x00, 0xE7);
+       addToMapW(0xc7, 0x01, 0x6A);
+       addToMapW(0xc7, 0x01, 0x6B);
+       addToMapW(0xc7, 0x04, 0x1A);
+       addToMapW(0xc7, 0x04, 0x3A);
+       addToMapW(0xc7, 0x0E, 0x27);
+       addToMapW(0xc7, 0x25, 0x5F);
+       addToMapW(0xc7, 0xFF, 0x87);
+       addToMapW(0xc8, 0x00, 0xC8);
+       addToMapW(0xc8, 0x00, 0xE8);
+       addToMapW(0xc8, 0x0E, 0x28);
+       addToMapW(0xc8, 0x25, 0x58);
+       addToMapW(0xc8, 0x25, 0x59);
+       addToMapW(0xc8, 0x25, 0x5A);
+       addToMapW(0xc8, 0xFF, 0x88);
+       addToMapW(0xc9, 0x00, 0xC9);
+       addToMapW(0xc9, 0x00, 0xE9);
+       addToMapW(0xc9, 0x0E, 0x29);
+       addToMapW(0xc9, 0x25, 0x52);
+       addToMapW(0xc9, 0x25, 0x53);
+       addToMapW(0xc9, 0x25, 0x54);
+       addToMapW(0xc9, 0xFF, 0x89);
+       addToMapW(0xca, 0x00, 0xCA);
+       addToMapW(0xca, 0x00, 0xEA);
+       addToMapW(0xca, 0x0E, 0x2A);
+       addToMapW(0xca, 0x25, 0x67);
+       addToMapW(0xca, 0x25, 0x68);
+       addToMapW(0xca, 0x25, 0x69);
+       addToMapW(0xca, 0xFF, 0x8A);
+       addToMapW(0xcb, 0x00, 0xCB);
+       addToMapW(0xcb, 0x00, 0xEB);
+       addToMapW(0xcb, 0x0E, 0x2B);
+       addToMapW(0xcb, 0x25, 0x64);
+       addToMapW(0xcb, 0x25, 0x65);
+       addToMapW(0xcb, 0x25, 0x66);
+       addToMapW(0xcb, 0xFF, 0x8B);
+       addToMapW(0xcc, 0x03, 0x00);
+       addToMapW(0xcc, 0x0E, 0x2C);
+       addToMapW(0xcc, 0x25, 0x5E);
+       addToMapW(0xcc, 0x25, 0x5F);
+       addToMapW(0xcc, 0x25, 0x60);
+       addToMapW(0xcc, 0xFF, 0x8C);
+       addToMapW(0xcd, 0x00, 0xCD);
+       addToMapW(0xcd, 0x00, 0xED);
+       addToMapW(0xcd, 0x0E, 0x2D);
+       addToMapW(0xcd, 0x25, 0x50);
+       addToMapW(0xcd, 0xFF, 0x8D);
+       addToMapW(0xce, 0x00, 0xCE);
+       addToMapW(0xce, 0x00, 0xEE);
+       addToMapW(0xce, 0x0E, 0x2E);
+       addToMapW(0xce, 0x20, 0x21);
+       addToMapW(0xce, 0x25, 0x6A);
+       addToMapW(0xce, 0x25, 0x6B);
+       addToMapW(0xce, 0x25, 0x6C);
+       addToMapW(0xce, 0xFF, 0x8E);
+       addToMapW(0xcf, 0x00, 0xA4);
+       addToMapW(0xcf, 0x00, 0xCF);
+       addToMapW(0xcf, 0x00, 0xEF);
+       addToMapW(0xcf, 0x01, 0x7D);
+       addToMapW(0xcf, 0x01, 0x7E);
+       addToMapW(0xcf, 0x0E, 0x2F);
+       addToMapW(0xcf, 0x25, 0x67);
+       addToMapW(0xcf, 0xFF, 0x8F);
+       addToMapW(0xd0, 0x00, 0xBA);
+       addToMapW(0xd0, 0x01, 0x10);
+       addToMapW(0xd0, 0x01, 0x11);
+       addToMapW(0xd0, 0x0E, 0x30);
+       addToMapW(0xd0, 0x25, 0x68);
+       addToMapW(0xd0, 0xFF, 0x90);
+       addToMapW(0xd1, 0x00, 0xAA);
+       addToMapW(0xd1, 0x00, 0xD0);
+       addToMapW(0xd1, 0x00, 0xD1);
+       addToMapW(0xd1, 0x00, 0xF0);
+       addToMapW(0xd1, 0x00, 0xF1);
+       addToMapW(0xd1, 0x01, 0x10);
+       addToMapW(0xd1, 0x01, 0x11);
+       addToMapW(0xd1, 0x01, 0x89);
+       addToMapW(0xd1, 0x04, 0x1B);
+       addToMapW(0xd1, 0x04, 0x3B);
+       addToMapW(0xd1, 0x0E, 0x31);
+       addToMapW(0xd1, 0x25, 0x64);
+       addToMapW(0xd1, 0xFF, 0x91);
+       addToMapW(0xd2, 0x00, 0xCA);
+       addToMapW(0xd2, 0x00, 0xEA);
+       addToMapW(0xd2, 0x01, 0x0E);
+       addToMapW(0xd2, 0x01, 0x0F);
+       addToMapW(0xd2, 0x03, 0x09);
+       addToMapW(0xd2, 0x0E, 0x32);
+       addToMapW(0xd2, 0x25, 0x65);
+       addToMapW(0xd2, 0xFF, 0x92);
+       addToMapW(0xd3, 0x00, 0xCB);
+       addToMapW(0xd3, 0x00, 0xD3);
+       addToMapW(0xd3, 0x00, 0xEB);
+       addToMapW(0xd3, 0x00, 0xF3);
+       addToMapW(0xd3, 0x04, 0x1C);
+       addToMapW(0xd3, 0x04, 0x3C);
+       addToMapW(0xd3, 0x0E, 0x33);
+       addToMapW(0xd3, 0x25, 0x59);
+       addToMapW(0xd3, 0xFF, 0x93);
+       addToMapW(0xd4, 0x00, 0xC8);
+       addToMapW(0xd4, 0x00, 0xD4);
+       addToMapW(0xd4, 0x00, 0xE8);
+       addToMapW(0xd4, 0x00, 0xF4);
+       addToMapW(0xd4, 0x0E, 0x34);
+       addToMapW(0xd4, 0x25, 0x58);
+       addToMapW(0xd4, 0xFF, 0x94);
+       addToMapW(0xd5, 0x01, 0x31);
+       addToMapW(0xd5, 0x01, 0x47);
+       addToMapW(0xd5, 0x01, 0x48);
+       addToMapW(0xd5, 0x01, 0xA0);
+       addToMapW(0xd5, 0x01, 0xA1);
+       addToMapW(0xd5, 0x04, 0x1D);
+       addToMapW(0xd5, 0x04, 0x3D);
+       addToMapW(0xd5, 0x0E, 0x35);
+       addToMapW(0xd5, 0x25, 0x52);
+       addToMapW(0xd5, 0xF8, 0xBB);
+       addToMapW(0xd5, 0xFF, 0x95);
+       addToMapW(0xd6, 0x00, 0xCD);
+       addToMapW(0xd6, 0x00, 0xD6);
+       addToMapW(0xd6, 0x00, 0xED);
+       addToMapW(0xd6, 0x00, 0xF6);
+       addToMapW(0xd6, 0x0E, 0x36);
+       addToMapW(0xd6, 0x25, 0x53);
+       addToMapW(0xd6, 0xFF, 0x96);
+       addToMapW(0xd7, 0x00, 0xCE);
+       addToMapW(0xd7, 0x00, 0xD7);
+       addToMapW(0xd7, 0x00, 0xEE);
+       addToMapW(0xd7, 0x04, 0x1E);
+       addToMapW(0xd7, 0x04, 0x3E);
+       addToMapW(0xd7, 0x0E, 0x37);
+       addToMapW(0xd7, 0x25, 0x6B);
+       addToMapW(0xd7, 0xFF, 0x97);
+       addToMapW(0xd8, 0x00, 0xCF);
+       addToMapW(0xd8, 0x00, 0xD8);
+       addToMapW(0xd8, 0x00, 0xEF);
+       addToMapW(0xd8, 0x00, 0xF8);
+       addToMapW(0xd8, 0x0E, 0x38);
+       addToMapW(0xd8, 0x20, 0x21);
+       addToMapW(0xd8, 0x25, 0x6A);
+       addToMapW(0xd8, 0xFF, 0x98);
+       addToMapW(0xd9, 0x00, 0xD9);
+       addToMapW(0xd9, 0x00, 0xF9);
+       addToMapW(0xd9, 0x0E, 0x39);
+       addToMapW(0xd9, 0x25, 0x18);
+       addToMapW(0xd9, 0xFF, 0x99);
+       addToMapW(0xda, 0x00, 0xDA);
+       addToMapW(0xda, 0x00, 0xFA);
+       addToMapW(0xda, 0x0E, 0x3A);
+       addToMapW(0xda, 0x25, 0x0C);
+       addToMapW(0xda, 0xFF, 0x9A);
+       addToMapW(0xdb, 0x00, 0xDB);
+       addToMapW(0xdb, 0x00, 0xFB);
+       addToMapW(0xdb, 0x25, 0x88);
+       addToMapW(0xdb, 0x25, 0x8C);
+       addToMapW(0xdb, 0x25, 0x90);
+       addToMapW(0xdb, 0xF8, 0xC1);
+       addToMapW(0xdb, 0xFF, 0x9B);
+       addToMapW(0xdc, 0x00, 0xDC);
+       addToMapW(0xdc, 0x00, 0xFC);
+       addToMapW(0xdc, 0x25, 0x84);
+       addToMapW(0xdc, 0xF8, 0xC2);
+       addToMapW(0xdc, 0xFF, 0x9C);
+       addToMapW(0xdd, 0x00, 0xA6);
+       addToMapW(0xdd, 0x01, 0x62);
+       addToMapW(0xdd, 0x01, 0x63);
+       addToMapW(0xdd, 0x01, 0xAF);
+       addToMapW(0xdd, 0x01, 0xB0);
+       addToMapW(0xdd, 0x04, 0x1F);
+       addToMapW(0xdd, 0x04, 0x3F);
+       addToMapW(0xdd, 0x25, 0x8C);
+       addToMapW(0xdd, 0xF8, 0xC3);
+       addToMapW(0xdd, 0xFF, 0x9D);
+       addToMapW(0xde, 0x00, 0xCC);
+       addToMapW(0xde, 0x00, 0xEC);
+       addToMapW(0xde, 0x01, 0x6E);
+       addToMapW(0xde, 0x01, 0x6F);
+       addToMapW(0xde, 0x03, 0x03);
+       addToMapW(0xde, 0x25, 0x90);
+       addToMapW(0xde, 0xF8, 0xC4);
+       addToMapW(0xde, 0xFF, 0x9E);
+       addToMapW(0xdf, 0x00, 0xDF);
+       addToMapW(0xdf, 0x0E, 0x3F);
+       addToMapW(0xdf, 0x25, 0x80);
+       addToMapW(0xdf, 0xFF, 0x9F);
+       addToMapW(0xe0, 0x00, 0xD3);
+       addToMapW(0xe0, 0x00, 0xF3);
+       addToMapW(0xe0, 0x03, 0x91);
+       addToMapW(0xe0, 0x03, 0xB1);
+       addToMapW(0xe0, 0x04, 0x2F);
+       addToMapW(0xe0, 0x04, 0x4F);
+       addToMapW(0xe0, 0x06, 0x36);
+       addToMapW(0xe0, 0x0E, 0x40);
+       addToMapW(0xe0, 0xFE, 0xBD);
+       addToMapW(0xe0, 0xFE, 0xBE);
+       addToMapW(0xe0, 0xFE, 0xBF);
+       addToMapW(0xe0, 0xFE, 0xC0);
+       addToMapW(0xe1, 0x00, 0xDF);
+       addToMapW(0xe1, 0x03, 0xB2);
+       addToMapW(0xe1, 0x06, 0x37);
+       addToMapW(0xe1, 0x0E, 0x41);
+       addToMapW(0xe1, 0xFE, 0xC1);
+       addToMapW(0xe1, 0xFE, 0xC2);
+       addToMapW(0xe1, 0xFE, 0xC3);
+       addToMapW(0xe1, 0xFE, 0xC4);
+       addToMapW(0xe2, 0x00, 0xD4);
+       addToMapW(0xe2, 0x00, 0xF4);
+       addToMapW(0xe2, 0x01, 0x4C);
+       addToMapW(0xe2, 0x01, 0x4D);
+       addToMapW(0xe2, 0x03, 0x93);
+       addToMapW(0xe2, 0x04, 0x20);
+       addToMapW(0xe2, 0x04, 0x40);
+       addToMapW(0xe2, 0x06, 0x38);
+       addToMapW(0xe2, 0x0E, 0x42);
+       addToMapW(0xe2, 0xFE, 0xC5);
+       addToMapW(0xe2, 0xFE, 0xC6);
+       addToMapW(0xe2, 0xFE, 0xC7);
+       addToMapW(0xe2, 0xFE, 0xC8);
+       addToMapW(0xe3, 0x00, 0xD2);
+       addToMapW(0xe3, 0x00, 0xF2);
+       addToMapW(0xe3, 0x01, 0x43);
+       addToMapW(0xe3, 0x01, 0x44);
+       addToMapW(0xe3, 0x03, 0xA0);
+       addToMapW(0xe3, 0x03, 0xC0);
+       addToMapW(0xe3, 0x06, 0x39);
+       addToMapW(0xe3, 0x0E, 0x43);
+       addToMapW(0xe3, 0xFE, 0xC9);
+       addToMapW(0xe3, 0xFE, 0xCA);
+       addToMapW(0xe3, 0xFE, 0xCB);
+       addToMapW(0xe3, 0xFE, 0xCC);
+       addToMapW(0xe4, 0x01, 0xA9);
+       addToMapW(0xe4, 0x03, 0xA3);
+       addToMapW(0xe4, 0x03, 0xC3);
+       addToMapW(0xe4, 0x04, 0x21);
+       addToMapW(0xe4, 0x04, 0x41);
+       addToMapW(0xe4, 0x06, 0x3A);
+       addToMapW(0xe4, 0x0E, 0x44);
+       addToMapW(0xe4, 0x22, 0x11);
+       addToMapW(0xe4, 0xFE, 0xCD);
+       addToMapW(0xe4, 0xFE, 0xCE);
+       addToMapW(0xe4, 0xFE, 0xCF);
+       addToMapW(0xe4, 0xFE, 0xD0);
+       addToMapW(0xe5, 0x00, 0xD5);
+       addToMapW(0xe5, 0x00, 0xF5);
+       addToMapW(0xe5, 0x06, 0x41);
+       addToMapW(0xe5, 0x0E, 0x45);
+       addToMapW(0xe5, 0xFE, 0xD1);
+       addToMapW(0xe5, 0xFE, 0xD2);
+       addToMapW(0xe5, 0xFE, 0xD3);
+       addToMapW(0xe5, 0xFE, 0xD4);
+       addToMapW(0xe6, 0x00, 0xB5);
+       addToMapW(0xe6, 0x01, 0x60);
+       addToMapW(0xe6, 0x01, 0x61);
+       addToMapW(0xe6, 0x03, 0xBC);
+       addToMapW(0xe6, 0x04, 0x22);
+       addToMapW(0xe6, 0x04, 0x42);
+       addToMapW(0xe6, 0x0E, 0x46);
+       addToMapW(0xe7, 0x03, 0xA4);
+       addToMapW(0xe7, 0x03, 0xC4);
+       addToMapW(0xe7, 0x06, 0x42);
+       addToMapW(0xe7, 0x0E, 0x47);
+       addToMapW(0xe7, 0xF8, 0xBC);
+       addToMapW(0xe7, 0xFE, 0xD5);
+       addToMapW(0xe7, 0xFE, 0xD6);
+       addToMapW(0xe7, 0xFE, 0xD7);
+       addToMapW(0xe7, 0xFE, 0xD8);
+       addToMapW(0xe8, 0x00, 0xD7);
+       addToMapW(0xe8, 0x00, 0xDE);
+       addToMapW(0xe8, 0x00, 0xFE);
+       addToMapW(0xe8, 0x01, 0x36);
+       addToMapW(0xe8, 0x01, 0x37);
+       addToMapW(0xe8, 0x01, 0x54);
+       addToMapW(0xe8, 0x01, 0x55);
+       addToMapW(0xe8, 0x02, 0x78);
+       addToMapW(0xe8, 0x03, 0xA6);
+       addToMapW(0xe8, 0x03, 0xC6);
+       addToMapW(0xe8, 0x04, 0x23);
+       addToMapW(0xe8, 0x04, 0x43);
+       addToMapW(0xe8, 0x06, 0x43);
+       addToMapW(0xe8, 0x0E, 0x48);
+       addToMapW(0xe8, 0x22, 0x05);
+       addToMapW(0xe8, 0xFE, 0xD9);
+       addToMapW(0xe8, 0xFE, 0xDA);
+       addToMapW(0xe8, 0xFE, 0xDB);
+       addToMapW(0xe8, 0xFE, 0xDC);
+       addToMapW(0xe9, 0x00, 0xDA);
+       addToMapW(0xe9, 0x00, 0xFA);
+       addToMapW(0xe9, 0x03, 0x98);
+       addToMapW(0xe9, 0x06, 0x44);
+       addToMapW(0xe9, 0x0E, 0x49);
+       addToMapW(0xe9, 0xFE, 0xDD);
+       addToMapW(0xe9, 0xFE, 0xDE);
+       addToMapW(0xe9, 0xFE, 0xDF);
+       addToMapW(0xe9, 0xFE, 0xE0);
+       addToMapW(0xea, 0x00, 0xDB);
+       addToMapW(0xea, 0x00, 0xFB);
+       addToMapW(0xea, 0x01, 0x3B);
+       addToMapW(0xea, 0x01, 0x3C);
+       addToMapW(0xea, 0x03, 0x86);
+       addToMapW(0xea, 0x03, 0xA9);
+       addToMapW(0xea, 0x03, 0xAC);
+       addToMapW(0xea, 0x04, 0x16);
+       addToMapW(0xea, 0x04, 0x36);
+       addToMapW(0xea, 0x06, 0x45);
+       addToMapW(0xea, 0x0E, 0x4A);
+       addToMapW(0xea, 0x21, 0x26);
+       addToMapW(0xea, 0xFE, 0xE1);
+       addToMapW(0xea, 0xFE, 0xE2);
+       addToMapW(0xea, 0xFE, 0xE3);
+       addToMapW(0xea, 0xFE, 0xE4);
+       addToMapW(0xeb, 0x00, 0xD9);
+       addToMapW(0xeb, 0x00, 0xF9);
+       addToMapW(0xeb, 0x01, 0x70);
+       addToMapW(0xeb, 0x01, 0x71);
+       addToMapW(0xeb, 0x03, 0x88);
+       addToMapW(0xeb, 0x03, 0x94);
+       addToMapW(0xeb, 0x03, 0xAD);
+       addToMapW(0xeb, 0x03, 0xB4);
+       addToMapW(0xeb, 0x06, 0x46);
+       addToMapW(0xeb, 0x0E, 0x4B);
+       addToMapW(0xeb, 0xFE, 0xE5);
+       addToMapW(0xeb, 0xFE, 0xE6);
+       addToMapW(0xeb, 0xFE, 0xE7);
+       addToMapW(0xeb, 0xFE, 0xE8);
+       addToMapW(0xec, 0x03, 0x01);
+       addToMapW(0xec, 0x03, 0x89);
+       addToMapW(0xec, 0x03, 0xAE);
+       addToMapW(0xec, 0x04, 0x12);
+       addToMapW(0xec, 0x04, 0x32);
+       addToMapW(0xec, 0x06, 0x47);
+       addToMapW(0xec, 0x0E, 0x4C);
+       addToMapW(0xec, 0x22, 0x1E);
+       addToMapW(0xec, 0xFE, 0xE9);
+       addToMapW(0xec, 0xFE, 0xEA);
+       addToMapW(0xec, 0xFE, 0xEB);
+       addToMapW(0xec, 0xFE, 0xEC);
+       addToMapW(0xed, 0x00, 0xDD);
+       addToMapW(0xed, 0x00, 0xFD);
+       addToMapW(0xed, 0x01, 0x12);
+       addToMapW(0xed, 0x01, 0x13);
+       addToMapW(0xed, 0x03, 0x8A);
+       addToMapW(0xed, 0x03, 0xAF);
+       addToMapW(0xed, 0x06, 0x48);
+       addToMapW(0xed, 0x0E, 0x4D);
+       addToMapW(0xed, 0xFE, 0xED);
+       addToMapW(0xed, 0xFE, 0xEE);
+       addToMapW(0xee, 0x00, 0xAF);
+       addToMapW(0xee, 0x01, 0x45);
+       addToMapW(0xee, 0x01, 0x46);
+       addToMapW(0xee, 0x03, 0x04);
+       addToMapW(0xee, 0x03, 0x05);
+       addToMapW(0xee, 0x03, 0x8C);
+       addToMapW(0xee, 0x03, 0x95);
+       addToMapW(0xee, 0x03, 0xB5);
+       addToMapW(0xee, 0x03, 0xCC);
+       addToMapW(0xee, 0x04, 0x2C);
+       addToMapW(0xee, 0x04, 0x4C);
+       addToMapW(0xee, 0x06, 0x49);
+       addToMapW(0xee, 0x0E, 0x4E);
+       addToMapW(0xee, 0xFE, 0xEF);
+       addToMapW(0xee, 0xFE, 0xF0);
+       addToMapW(0xef, 0x00, 0xB4);
+       addToMapW(0xef, 0x02, 0xB9);
+       addToMapW(0xef, 0x02, 0xCA);
+       addToMapW(0xef, 0x03, 0x01);
+       addToMapW(0xef, 0x03, 0x8E);
+       addToMapW(0xef, 0x03, 0xCD);
+       addToMapW(0xef, 0x06, 0x4A);
+       addToMapW(0xef, 0x0E, 0x4F);
+       addToMapW(0xef, 0x20, 0x19);
+       addToMapW(0xef, 0x20, 0x32);
+       addToMapW(0xef, 0x20, 0x35);
+       addToMapW(0xef, 0x21, 0x16);
+       addToMapW(0xef, 0x22, 0x29);
+       addToMapW(0xef, 0xFE, 0xF1);
+       addToMapW(0xef, 0xFE, 0xF2);
+       addToMapW(0xef, 0xFE, 0xF3);
+       addToMapW(0xef, 0xFE, 0xF4);
+       addToMapW(0xf0, 0x00, 0xAD);
+       addToMapW(0xf0, 0x03, 0x8F);
+       addToMapW(0xf0, 0x03, 0xCE);
+       addToMapW(0xf0, 0x04, 0x01);
+       addToMapW(0xf0, 0x04, 0x51);
+       addToMapW(0xf0, 0x0E, 0x50);
+       addToMapW(0xf0, 0x22, 0x61);
+       addToMapW(0xf1, 0x00, 0xB1);
+       addToMapW(0xf1, 0x02, 0xDD);
+       addToMapW(0xf1, 0x06, 0x4B);
+       addToMapW(0xf1, 0x0E, 0x51);
+       addToMapW(0xf1, 0x22, 0x13);
+       addToMapW(0xf1, 0xFE, 0x70);
+       addToMapW(0xf1, 0xFE, 0x71);
+       addToMapW(0xf2, 0x02, 0xDB);
+       addToMapW(0xf2, 0x03, 0x23);
+       addToMapW(0xf2, 0x04, 0x04);
+       addToMapW(0xf2, 0x04, 0x2B);
+       addToMapW(0xf2, 0x04, 0x4B);
+       addToMapW(0xf2, 0x04, 0x54);
+       addToMapW(0xf2, 0x06, 0x4C);
+       addToMapW(0xf2, 0x0E, 0x52);
+       addToMapW(0xf2, 0x20, 0x17);
+       addToMapW(0xf2, 0x20, 0x1C);
+       addToMapW(0xf2, 0x22, 0x65);
+       addToMapW(0xf2, 0xF8, 0xBD);
+       addToMapW(0xf2, 0xFE, 0x72);
+       addToMapW(0xf3, 0x00, 0xBE);
+       addToMapW(0xf3, 0x02, 0xC7);
+       addToMapW(0xf3, 0x03, 0x0C);
+       addToMapW(0xf3, 0x06, 0x4D);
+       addToMapW(0xf3, 0x0E, 0x53);
+       addToMapW(0xf3, 0x22, 0x64);
+       addToMapW(0xf3, 0xFE, 0x74);
+       addToMapW(0xf4, 0x00, 0xB6);
+       addToMapW(0xf4, 0x02, 0xD8);
+       addToMapW(0xf4, 0x03, 0x06);
+       addToMapW(0xf4, 0x03, 0xAA);
+       addToMapW(0xf4, 0x03, 0xCA);
+       addToMapW(0xf4, 0x04, 0x07);
+       addToMapW(0xf4, 0x04, 0x17);
+       addToMapW(0xf4, 0x04, 0x37);
+       addToMapW(0xf4, 0x04, 0x57);
+       addToMapW(0xf4, 0x06, 0x4E);
+       addToMapW(0xf4, 0x0E, 0x54);
+       addToMapW(0xf4, 0x23, 0x20);
+       addToMapW(0xf4, 0xFE, 0x76);
+       addToMapW(0xf4, 0xFE, 0x77);
+       addToMapW(0xf5, 0x00, 0xA7);
+       addToMapW(0xf5, 0x03, 0xAB);
+       addToMapW(0xf5, 0x03, 0xCB);
+       addToMapW(0xf5, 0x06, 0x4F);
+       addToMapW(0xf5, 0x0E, 0x55);
+       addToMapW(0xf5, 0x23, 0x21);
+       addToMapW(0xf5, 0xFE, 0x78);
+       addToMapW(0xf5, 0xFE, 0x79);
+       addToMapW(0xf6, 0x00, 0xF7);
+       addToMapW(0xf6, 0x04, 0x0E);
+       addToMapW(0xf6, 0x04, 0x28);
+       addToMapW(0xf6, 0x04, 0x48);
+       addToMapW(0xf6, 0x04, 0x5E);
+       addToMapW(0xf6, 0x06, 0x50);
+       addToMapW(0xf6, 0x0E, 0x56);
+       addToMapW(0xf6, 0xFE, 0x7A);
+       addToMapW(0xf6, 0xFE, 0x7B);
+       addToMapW(0xf7, 0x00, 0xB8);
+       addToMapW(0xf7, 0x00, 0xF7);
+       addToMapW(0xf7, 0x02, 0xDB);
+       addToMapW(0xf7, 0x03, 0x27);
+       addToMapW(0xf7, 0x0E, 0x57);
+       addToMapW(0xf7, 0x20, 0x1E);
+       addToMapW(0xf7, 0x22, 0x48);
+       addToMapW(0xf8, 0x00, 0xB0);
+       addToMapW(0xf8, 0x02, 0xDA);
+       addToMapW(0xf8, 0x03, 0x0A);
+       addToMapW(0xf8, 0x04, 0x2D);
+       addToMapW(0xf8, 0x04, 0x4D);
+       addToMapW(0xf8, 0x0E, 0x58);
+       addToMapW(0xf8, 0x20, 0x70);
+       addToMapW(0xf8, 0x22, 0x18);
+       addToMapW(0xf9, 0x00, 0xA8);
+       addToMapW(0xf9, 0x02, 0xDD);
+       addToMapW(0xf9, 0x03, 0x08);
+       addToMapW(0xf9, 0x0E, 0x59);
+       addToMapW(0xf9, 0x22, 0x19);
+       addToMapW(0xfa, 0x00, 0xB7);
+       addToMapW(0xfa, 0x02, 0xD9);
+       addToMapW(0xfa, 0x03, 0x07);
+       addToMapW(0xfa, 0x04, 0x29);
+       addToMapW(0xfa, 0x04, 0x49);
+       addToMapW(0xfa, 0x0E, 0x5A);
+       addToMapW(0xfa, 0x20, 0x24);
+       addToMapW(0xfa, 0x22, 0xC5);
+       addToMapW(0xfa, 0x30, 0xFB);
+       addToMapW(0xfb, 0x00, 0xB9);
+       addToMapW(0xfb, 0x0E, 0x5B);
+       addToMapW(0xfb, 0x20, 0x81);
+       addToMapW(0xfb, 0x22, 0x1A);
+       addToMapW(0xfb, 0x27, 0x13);
+       addToMapW(0xfc, 0x00, 0xB3);
+       addToMapW(0xfc, 0x01, 0x58);
+       addToMapW(0xfc, 0x01, 0x59);
+       addToMapW(0xfc, 0x04, 0x27);
+       addToMapW(0xfc, 0x04, 0x47);
+       addToMapW(0xfc, 0x20, 0x7F);
+       addToMapW(0xfc, 0x20, 0x83);
+       addToMapW(0xfc, 0x21, 0x16);
+       addToMapW(0xfc, 0xF8, 0xC5);
+       addToMapW(0xfd, 0x00, 0xA4);
+       addToMapW(0xfd, 0x00, 0xA7);
+       addToMapW(0xfd, 0x00, 0xB2);
+       addToMapW(0xfd, 0x20, 0x82);
+       addToMapW(0xfd, 0xF8, 0xC6);
+       addToMapW(0xfd, 0xF8, 0xF1);
+       addToMapW(0xfe, 0x20, 0xAB);
+       addToMapW(0xfe, 0x25, 0xA0);
+       addToMapW(0xfe, 0xF8, 0xC7);
+       addToMapW(0xfe, 0xF8, 0xF2);
+       addToMapW(0xff, 0x00, 0xA0);
+       addToMapW(0xff, 0xF8, 0xC8);
+       addToMapW(0xff, 0xF8, 0xF3);
+}