Merge pull request #18 from djipi/release/R4
authorJean-Paul Mari <djipi.mari@gmail.com>
Fri, 16 Aug 2019 22:57:26 +0000 (18:57 -0400)
committerGitHub <noreply@github.com>
Fri, 16 Aug 2019 22:57:26 +0000 (18:57 -0400)
Release/r4

48 files changed:
.gitignore
Win-VS2017/GeneratedFiles/qrc_virtualjaguar.cpp
Win-VS2017/virtualjaguar.vcxproj
Win-VS2017/virtualjaguar.vcxproj.filters
docs/INSTALL
docs/WHATSNEW
docs/virtualjaguar.1
docs/vj_HistoryNotes.txt [moved from docs/vj_ReleaseNotes.txt with 83% similarity]
res/debug-breakpoints.png [new file with mode: 0644]
res/debug-deleteallbreakpoints.png [new file with mode: 0644]
res/debug-disableallbreakpoints.png [new file with mode: 0644]
res/help.html
src/debugger/BreakpointsWin.cpp [new file with mode: 0644]
src/debugger/BreakpointsWin.h [new file with mode: 0644]
src/debugger/CartFilesListWin.cpp [new file with mode: 0644]
src/debugger/CartFilesListWin.h [new file with mode: 0644]
src/debugger/DBGManager.cpp
src/debugger/DBGManager.h
src/debugger/DWARFManager.cpp
src/debugger/DWARFManager.h
src/debugger/ELFManager.cpp
src/debugger/ELFManager.h
src/debugger/NewFnctBreakpointWin.cpp [new file with mode: 0644]
src/debugger/NewFnctBreakpointWin.h [new file with mode: 0644]
src/debugger/SaveDumpAsWin.cpp [new file with mode: 0644]
src/debugger/SaveDumpAsWin.h [new file with mode: 0644]
src/debugger/allwatchbrowser.cpp
src/debugger/brkWin.cpp [deleted file]
src/debugger/brkWin.h [deleted file]
src/debugger/callstackbrowser.cpp
src/debugger/debuggertab.cpp
src/debugger/debuggertab.h
src/debugger/heapallocatorbrowser.cpp
src/debugger/localbrowser.cpp
src/file.cpp
src/gui/app.cpp
src/gui/debug/cpubrowser.cpp
src/gui/debug/cpubrowser.h
src/gui/keybindingstab.cpp
src/gui/keybindingstab.h
src/gui/mainwin.cpp
src/gui/mainwin.h
src/gui/virtualjaguar.qrc
src/jaguar.cpp
src/jaguar.h
src/m68000/m68kinterface.h
src/settings.h
virtualjaguar.pro

index 05baa39..ffc38f5 100644 (file)
@@ -32,3 +32,4 @@ Win-VS2017/virtualjaguar.sdf
 Win-VS2017/virtualjaguar.vcxproj.user\r
 Win-VS2017/GeneratedFiles/\r
 Win-VS2015/\r
+Win-VS2019/\r
index 034b169..2a4ee8a 100644 (file)
@@ -1,7 +1,7 @@
 /****************************************************************************\r
 ** Resource object code\r
 **\r
-** Created by: The Resource Compiler for Qt version 5.9.1\r
+** Created by: The Resource Compiler for Qt version 5.12.0\r
 **\r
 ** WARNING! All changes made in this file will be lost!\r
 *****************************************************************************/\r
@@ -31965,6 +31965,107 @@ static const unsigned char qt_resource_data[] = {
   0x43,0x99,0x60,0x4d,0x7a,0x78,0x13,0x73,0x52,0x87,0x7d,0xb4,0xf6,0xc9,0x27,0xff,\r
   0x7,0x6e,0x8,0x77,0x55,0xb3,0x24,0xb6,0xea,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,\r
   0x44,0xae,0x42,0x60,0x82,\r
+    // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/debug-breakpoints.png\r
+  0x0,0x0,0x6,0x18,\r
+  0x89,\r
+  0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,\r
+  0x0,0x0,0x80,0x0,0x0,0x0,0x80,0x8,0x6,0x0,0x0,0x0,0xc3,0x3e,0x61,0xcb,\r
+  0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,\r
+  0x4,0x67,0x41,0x4d,0x41,0x0,0x0,0xb1,0x8f,0xb,0xfc,0x61,0x5,0x0,0x0,0x0,\r
+  0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0xc3,0x0,0x0,0xe,0xc3,0x1,0xc7,0x6f,\r
+  0xa8,0x64,0x0,0x0,0x5,0xad,0x49,0x44,0x41,0x54,0x78,0x5e,0xed,0xdd,0x4d,0x68,\r
+  0x1c,0x65,0x1c,0x6,0xf0,0xcc,0xec,0x6e,0x93,0x90,0x56,0xa8,0x7a,0xd0,0x98,0xa4,\r
+  0x35,0x12,0x91,0xfa,0x95,0x88,0x60,0xb1,0x48,0x14,0xc1,0xaf,0x83,0xe2,0xc9,0xf,\r
+  0x10,0xf1,0x68,0xac,0x18,0x50,0x90,0x16,0x15,0x9,0x7e,0xb4,0xa0,0xa6,0x3d,0xd4,\r
+  0x42,0x7b,0x91,0x78,0x10,0xbd,0x8,0x9e,0x4,0x23,0xd2,0x83,0x7,0x45,0xb1,0xd4,\r
+  0x4a,0xab,0x31,0x69,0x4c,0xcd,0x26,0x25,0xd4,0x36,0x4d,0x93,0xec,0x66,0x67,0x76,\r
+  0xec,0xf8,0x7f,0xc0,0x79,0xdf,0x5,0xc7,0xcd,0x4e,0xa6,0xbb,0xf9,0x3f,0x3f,0x78,\r
+  0xe9,0xd3,0x86,0x40,0xa,0xf,0xb3,0xff,0x7d,0xe7,0xdd,0x89,0x73,0xe1,0x62,0x39,\r
+  0x68,0x22,0xb5,0x5c,0xfc,0x49,0x4a,0xb1,0x0,0xca,0xb1,0x0,0xca,0xb1,0x0,0xca,\r
+  0xb1,0x0,0xca,0xb1,0x0,0xca,0xb1,0x0,0xca,0xd5,0xbe,0xf,0xc0,0x5d,0x84,0xfa,\r
+  0xe2,0xe0,0xcf,0xff,0x89,0x57,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x12,0x9f,\r
+  0x1,0x16,0x97,0xa,0x48,0x62,0xfc,0xf7,0x5f,0x91,0x44,0xb1,0x70,0x1,0x89,0x56,\r
+  0xa3,0xa3,0xeb,0x66,0x24,0x71,0xed,0x35,0x57,0x22,0x1,0x67,0x0,0xaa,0x6,0xb,\r
+  0xa0,0x1c,0xb,0xa0,0x5c,0xe2,0x33,0x40,0x3e,0x7f,0x1a,0x49,0xec,0x1b,0xde,0x83,\r
+  0x24,0x26,0x27,0x4f,0x21,0xd1,0x6a,0xbc,0xb0,0x73,0x10,0x49,0xf4,0xf7,0x3f,0x80,\r
+  0x4,0x9c,0x1,0xa8,0x1a,0x2c,0x80,0x72,0x2c,0x80,0x72,0x89,0xcf,0x0,0xd3,0xd3,\r
+  0x53,0x48,0xe2,0xfd,0xf7,0xde,0x42,0x12,0x13,0x13,0x13,0x48,0xb4,0x1a,0x83,0x83,\r
+  0x2f,0x23,0x89,0x7b,0xef,0x7b,0x18,0x9,0x38,0x3,0x50,0x35,0x58,0x0,0xe5,0x58,\r
+  0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,\r
+  0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x52,0xbf,0x17,0x30,0x35,0x65,\r
+  0x7e,0x7d,0xf3,0xe6,0xab,0x90,0x28,0x54,0x28,0x2c,0x23,0x89,0x85,0x5,0xf3,0xc,\r
+  0x25,0xef,0x5,0x50,0xa2,0x58,0x0,0xe5,0x58,0x0,0xe5,0x52,0x9f,0x1,0x7c,0x1f,\r
+  0x1,0xf6,0xee,0x3d,0x80,0x44,0xa1,0x23,0x47,0xbe,0x42,0x12,0x7,0xf,0x7e,0x80,\r
+  0x24,0x38,0x3,0x50,0xa2,0x58,0x0,0xe5,0x58,0x0,0xe5,0xd6,0xbc,0x0,0xb9,0x5c,\r
+  0xce,0x58,0x6d,0x1b,0x37,0x19,0xcb,0x75,0x1c,0x63,0x65,0xb2,0xae,0xb1,0xb2,0x39,\r
+  0xc7,0x5a,0xe1,0xbf,0xfd,0xbb,0x5c,0xf7,0xd2,0xf7,0x45,0xd6,0x3f,0xaf,0x81,0xd1,\r
+  0x45,0xff,0x89,0x57,0x0,0xe5,0x58,0x0,0xe5,0x58,0x0,0xe5,0x12,0xdf,0x7,0x98,\r
+  0x9f,0x3f,0x87,0x24,0x8e,0x1f,0x3f,0x8a,0x24,0x3a,0xbb,0x6e,0x44,0x12,0x5d,0x9d,\r
+  0xd7,0x21,0x25,0xa3,0x6c,0xfd,0x77,0x2,0xeb,0xef,0x9e,0x5f,0x46,0x12,0xf6,0xd7,\r
+  0x2f,0x37,0xee,0x3,0x50,0xaa,0x58,0x0,0xe5,0x58,0x0,0xe5,0x12,0x9f,0x1,0x2a,\r
+  0x94,0x56,0x10,0x20,0x3f,0x8e,0x20,0xbc,0x6f,0xbf,0x41,0x12,0xfe,0x89,0x9f,0x91,\r
+  0x44,0x70,0xde,0x9c,0x29,0x9c,0x4d,0x57,0x20,0x89,0xcc,0x2d,0x7d,0x48,0x22,0xb7,\r
+  0xe3,0x1e,0x24,0x11,0xb4,0xdf,0x80,0x24,0xca,0xd9,0x16,0x24,0xe1,0x97,0xcc,0x99,\r
+  0xc0,0xb7,0x66,0x84,0xb4,0x71,0x6,0xa0,0x54,0xb1,0x0,0xca,0xb1,0x0,0xca,0x25,\r
+  0x3e,0x3,0x4,0xa7,0x7e,0x41,0x12,0xde,0xc8,0x87,0x48,0x62,0xe5,0xb3,0x8f,0x91,\r
+  0x44,0xb0,0x78,0x11,0x29,0x19,0x4e,0x5b,0x1b,0x92,0xc8,0x3e,0xf8,0x18,0x92,0xd8,\r
+  0xf0,0xe2,0x6b,0x48,0xc2,0xb9,0xde,0xdc,0x97,0xf0,0x4a,0x8,0xe0,0x79,0xd6,0x1,\r
+  0x86,0x35,0xc6,0x19,0x80,0x52,0xc5,0x2,0x28,0xc7,0x2,0x28,0x17,0x3b,0x3,0x4,\r
+  0x81,0xf9,0x65,0xc7,0x7e,0x91,0x99,0x31,0x9f,0xfb,0xb7,0x3c,0xf0,0x24,0x92,0xf0,\r
+  0x8f,0xfd,0x84,0x4,0xbe,0x87,0x90,0x12,0xd7,0xec,0x78,0xf6,0xae,0x1d,0x48,0xa2,\r
+  0x65,0xd7,0x3b,0x48,0x22,0xb8,0xf5,0x6e,0x24,0xe1,0xa5,0xbc,0x4f,0xc0,0x19,0x80,\r
+  0x52,0xc5,0x2,0x28,0xc7,0x2,0x28,0x57,0x31,0x3,0xd8,0x3,0x81,0x63,0xbf,0xcf,\r
+  0x3f,0x3d,0x86,0x24,0x8a,0x83,0xcf,0x20,0x9,0xef,0xc7,0xef,0x91,0x1a,0x83,0xdb,\r
+  0xdd,0x83,0x24,0x5a,0x47,0xbe,0x44,0x82,0xf6,0xad,0x8,0xa2,0x54,0x32,0xf7,0x5,\r
+  0xec,0xf3,0x7,0xb5,0xe2,0xc,0x40,0xa9,0x62,0x1,0x94,0x63,0x1,0x94,0xab,0xdc,\r
+  0x7,0xb0,0x5f,0xd2,0x56,0xcc,0xdf,0x1,0x54,0xda,0xff,0x26,0x92,0x28,0x1e,0x1a,\r
+  0x46,0x82,0x92,0xb5,0x99,0xde,0x60,0x36,0x3c,0xf7,0x3c,0x92,0x68,0x7e,0x63,0x1f,\r
+  0x92,0xf0,0xfc,0xc,0x92,0xb0,0x67,0x82,0x5a,0x71,0x6,0xa0,0x54,0xb1,0x0,0xca,\r
+  0xb1,0x0,0xca,0xc5,0xcf,0x0,0xb3,0xe6,0xe7,0xfd,0x97,0x1e,0x37,0xf7,0xd2,0xcb,\r
+  0x33,0xd3,0x48,0xeb,0x83,0xbb,0xd5,0x3c,0x43,0xd8,0x32,0xfc,0x11,0x92,0x70,0x7a,\r
+  0xcd,0x7b,0x5,0xc5,0x82,0x3d,0x3,0xd4,0xb6,0x2f,0xc0,0x19,0x80,0x52,0xc5,0x2,\r
+  0x28,0xc7,0x2,0x28,0x17,0x5b,0x80,0x60,0xea,0x37,0x63,0x95,0x67,0xf3,0xc6,0x5a,\r
+  0x6f,0xca,0x67,0xe7,0xcc,0x35,0x76,0xd2,0x58,0x8e,0xe3,0x18,0x2b,0x3c,0x6e,0x10,\r
+  0x5d,0x8d,0xa6,0x1,0x7f,0x64,0x4a,0x12,0xb,0xa0,0x1c,0xb,0xa0,0x5c,0x6c,0x1,\r
+  0xfc,0xc9,0x71,0x63,0x35,0x85,0x67,0x4,0xa3,0x6b,0xbd,0x9,0x3f,0xa7,0x10,0x59,\r
+  0xe5,0x33,0xb3,0xc6,0xaa,0x10,0x3e,0x97,0x28,0xba,0x1a,0xc,0xaf,0x0,0xca,0xb1,\r
+  0x0,0xca,0xb1,0x0,0xca,0xc5,0x16,0xc0,0x71,0x33,0xc6,0x5a,0xff,0xc2,0xd7,0xf1,\r
+  0xc8,0xba,0xf4,0x5e,0x3f,0xba,0xc2,0x33,0x80,0xd1,0x35,0x33,0x7b,0xce,0x58,0xf9,\r
+  0xd9,0xb9,0x9a,0xd6,0xf9,0xf9,0x5,0x63,0xad,0x35,0x5e,0x1,0x94,0x63,0x1,0x94,\r
+  0x63,0x1,0x94,0x8b,0x3d,0xf,0x10,0x7c,0x37,0x8a,0x24,0x16,0x9f,0x7a,0x8,0x9,\r
+  0xca,0x97,0xf7,0x99,0x3a,0x89,0xb3,0x9e,0x41,0xd4,0xfc,0xba,0x79,0x3f,0xde,0x7f,\r
+  0xf4,0x69,0x24,0x31,0x34,0xb4,0x1b,0x49,0x4c,0x4f,0xff,0x89,0xb4,0x3a,0x2b,0x2b,\r
+  0x45,0x24,0xb1,0xbc,0xb4,0x88,0x24,0x78,0x1e,0x80,0x12,0xc5,0x2,0x28,0xc7,0x2,\r
+  0x28,0x17,0x3f,0x3,0xcc,0x99,0xfb,0xdf,0xcb,0x4f,0xf4,0x23,0x89,0xf2,0x84,0xf9,\r
+  0x59,0xc1,0x46,0x97,0xe9,0xb9,0x9,0x49,0xb4,0x1c,0xf8,0x4,0x49,0xf8,0xdd,0xdb,\r
+  0x90,0xc4,0xe8,0xa8,0xf9,0x59,0xc2,0xd2,0x1a,0x7f,0x2e,0xa2,0xaf,0xef,0xe,0x24,\r
+  0xd1,0xd1,0x61,0x7e,0x76,0x91,0x33,0x0,0x55,0x85,0x5,0x50,0x8e,0x5,0x50,0x2e,\r
+  0xfe,0x73,0x1,0x9e,0xf9,0xac,0x5f,0xef,0xd0,0x1e,0x24,0x51,0xd8,0xff,0x2e,0x12,\r
+  0x14,0xcd,0xf7,0xb1,0x75,0x2f,0xdc,0xe3,0x8f,0x68,0xde,0xf9,0x2a,0x92,0xc8,0xd,\r
+  0xe,0x21,0x41,0x26,0x8b,0x50,0xa7,0x38,0x3,0x50,0x35,0x58,0x0,0xe5,0x58,0x0,\r
+  0xe5,0x2a,0x66,0x80,0xd8,0xe7,0x2,0x9e,0x99,0x44,0x10,0x85,0xdd,0x3,0x48,0xc2,\r
+  0xfb,0xda,0x7a,0xc6,0x4e,0x9d,0xcb,0xf4,0xde,0x89,0x24,0x5a,0xf,0x7f,0x8e,0x24,\r
+  0x82,0xab,0xdb,0x91,0xc0,0x9a,0x19,0xea,0x4d,0xb5,0x3f,0x1e,0xaf,0x0,0xca,0xb1,\r
+  0x0,0xca,0xb1,0x0,0xca,0x55,0xee,0x3,0x58,0xec,0xa3,0xff,0x4e,0x93,0x79,0xff,\r
+  0xdf,0xc9,0x4f,0x20,0x89,0xe5,0x97,0x9e,0x45,0x12,0xde,0xd1,0x1f,0x90,0x20,0xed,\r
+  0x67,0x8,0x65,0xcc,0x73,0x8c,0x99,0xed,0xe6,0xef,0x14,0x6a,0x7e,0xe5,0x6d,0x24,\r
+  0xe1,0xf6,0x6e,0x47,0x82,0x6,0x3c,0xeb,0x5f,0xd,0x5e,0x1,0x94,0x63,0x1,0x94,\r
+  0x63,0x1,0x94,0x8b,0x9d,0x1,0x6c,0xf6,0x3e,0x41,0x38,0x15,0x44,0x65,0xce,0x9a,\r
+  0xcf,0x14,0x2a,0x8e,0x1c,0x46,0x12,0xa5,0x2f,0x3e,0x45,0x12,0xe5,0x3f,0xcc,0x19,\r
+  0xa2,0xea,0x33,0x86,0xd6,0x87,0xf2,0xdd,0xce,0x2d,0x48,0x22,0x77,0xff,0x23,0x48,\r
+  0x22,0x3b,0xb0,0xb,0x49,0x38,0xf6,0xfb,0x7c,0x4b,0x60,0x8d,0x0,0xeb,0x6d,0x22,\r
+  0xe0,0x15,0x40,0x39,0x16,0x40,0x39,0x16,0x40,0xb9,0xaa,0x67,0x0,0x5b,0xc5,0x48,\r
+  0x60,0xdf,0x4b,0xf0,0xcc,0xf3,0x1,0xc1,0xa4,0x75,0x86,0x70,0xec,0x18,0x82,0xf0,\r
+  0x4e,0x98,0xbf,0x77,0x30,0x98,0xff,0xb,0x9,0x36,0x9a,0xe7,0xf6,0xb3,0xdb,0x6e,\r
+  0x47,0x82,0x9e,0xdb,0x10,0x84,0xbb,0xa5,0x1b,0x9,0x5a,0xcd,0xdf,0x2b,0xa8,0x1d,\r
+  0xaf,0x0,0xca,0xb1,0x0,0xca,0xb1,0x0,0xca,0xd5,0x3c,0x3,0xd8,0x2a,0x66,0x2,\r
+  0x4b,0xdc,0xfb,0x68,0xfb,0xdb,0xab,0x7d,0xdf,0x5d,0xb1,0x4f,0x61,0xdd,0x20,0xaf,\r
+  0xf3,0xdb,0xf9,0xa9,0xe3,0x15,0x40,0x39,0x16,0x40,0x39,0x16,0x40,0xb9,0xc4,0x67,\r
+  0x80,0x5a,0xc5,0xbc,0x84,0x53,0xc2,0x78,0x5,0x50,0x8e,0x5,0x50,0x8e,0x5,0x50,\r
+  0xae,0xee,0xa,0x10,0xbe,0xe6,0x47,0x17,0xad,0x2d,0x5e,0x1,0x94,0x63,0x1,0x94,\r
+  0x63,0x1,0x94,0x63,0x1,0x94,0x63,0x1,0x94,0x63,0x1,0x94,0x63,0x1,0x54,0x6b,\r
+  0x6a,0xfa,0x1b,0x6c,0xf5,0x55,0xe9,0x85,0x29,0x3e,0x41,0x0,0x0,0x0,0x0,0x49,\r
+  0x45,0x4e,0x44,0xae,0x42,0x60,0x82,\r
     // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/screenshot.png\r
   0x0,0x0,0x1b,0x4b,\r
   0x89,\r
@@ -72281,6 +72382,108 @@ static const unsigned char qt_resource_data[] = {
   0x69,0x4,0xf,0xd1,0x3c,0x0,0xf8,0xbd,0x3e,0xcd,0x66,0x15,0xb7,0xbd,0xb3,0xf9,\r
   0x4f,0x9f,0x8d,0xec,0xfc,0x5a,0x0,0xfc,0x1b,0x86,0xab,0xd5,0xc0,0xad,0xe8,0x69,\r
   0xfc,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,\r
+    // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/debug-disableallbreakpoints.png\r
+  0x0,0x0,0x6,0x22,\r
+  0x89,\r
+  0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,\r
+  0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4,\r
+  0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,\r
+  0x4,0x67,0x41,0x4d,0x41,0x0,0x0,0xb1,0x8f,0xb,0xfc,0x61,0x5,0x0,0x0,0x0,\r
+  0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0xc3,0x0,0x0,0xe,0xc3,0x1,0xc7,0x6f,\r
+  0xa8,0x64,0x0,0x0,0x5,0xb7,0x49,0x44,0x41,0x54,0x58,0x47,0xc5,0x56,0x6d,0x6c,\r
+  0x93,0x55,0x14,0x7e,0xfa,0xb9,0x96,0xb2,0x8f,0xee,0xb,0x6,0xb,0xeb,0x36,0xdc,\r
+  0x2c,0x4b,0x18,0x63,0x6a,0x47,0x1c,0x3,0x6,0x26,0x33,0x41,0x45,0x85,0x1,0x8e,\r
+  0x88,0xc1,0x8,0x51,0x1,0xa3,0x33,0x18,0x31,0xd1,0x1f,0x6,0x4c,0x14,0x51,0x7e,\r
+  0xf0,0x47,0xd,0x1f,0x41,0x16,0x25,0x1b,0xa,0x91,0x41,0x62,0x8,0xc8,0x6,0xc,\r
+  0xd6,0xd,0xb7,0x31,0x18,0x1b,0xa5,0x4c,0xa4,0xdd,0xf7,0xdc,0x68,0xd7,0x76,0x5d,\r
+  0x5b,0xcf,0xbd,0x7d,0x5b,0xca,0xe8,0xb6,0x96,0x69,0x78,0xd6,0xbd,0xb7,0xef,0x7b,\r
+  0xef,0x7d,0xcf,0x73,0xce,0x79,0xce,0x3d,0x15,0xd,0x5a,0xdc,0x1e,0x3c,0x46,0x88,\r
+  0x85,0x71,0x92,0x20,0x1f,0x44,0x74,0xa5,0xc1,0xc3,0x2f,0xc2,0xe3,0x10,0x30,0xa9,\r
+  0x8,0x30,0x5b,0x3e,0xb8,0x5c,0x6e,0x58,0xad,0x16,0x78,0xdc,0x4e,0x88,0x25,0x11,\r
+  0x50,0x44,0x28,0x20,0x97,0x4b,0xfd,0x5c,0x44,0x44,0x30,0x18,0x26,0x4d,0xc0,0xe1,\r
+  0x18,0x41,0xfd,0x15,0x3d,0xea,0xf5,0x35,0xe8,0xe8,0x30,0xc1,0xed,0xb2,0x43,0x22,\r
+  0x55,0x21,0x26,0x46,0x8d,0x39,0x73,0x32,0xa0,0x5b,0x50,0x84,0xd8,0x18,0x5,0xdc,\r
+  0xb4,0x98,0x91,0x10,0x8d,0x62,0xf2,0x68,0x4,0x68,0x87,0xd3,0xe9,0x82,0xc1,0x78,\r
+  0x1b,0xe5,0x3f,0xff,0x80,0xa6,0xab,0x4d,0x98,0xa2,0x54,0x42,0x35,0x35,0xa,0x32,\r
+  0xb9,0xa,0xce,0x61,0x2b,0x86,0xac,0xf7,0x28,0x22,0x56,0x24,0x24,0x4c,0xc3,0xab,\r
+  0x2b,0xd7,0x40,0x97,0xb7,0x8,0xa,0x85,0x1c,0x62,0xf1,0x24,0x8,0xf0,0x85,0x74,\r
+  0xf1,0xd0,0x16,0x7d,0x7d,0x3,0xf6,0x7d,0xff,0xd,0xfa,0xfb,0x7b,0xe8,0xe5,0x4b,\r
+  0x50,0x50,0xb0,0x10,0x49,0x49,0xc9,0x50,0xaa,0x62,0x61,0xb3,0xf6,0xa1,0xb7,0xb7,\r
+  0x83,0x22,0xd3,0x80,0x53,0x95,0x47,0x21,0x95,0x4a,0xb1,0xfc,0x85,0x55,0x58,0x55,\r
+  0xfc,0x1a,0x98,0x7d,0x51,0x0,0x89,0xf0,0x8,0x8,0x2b,0x8d,0xb7,0xda,0xb0,0x67,\r
+  0xcf,0x97,0xe8,0xed,0xe9,0xc6,0x96,0x2d,0xef,0x63,0x6e,0xb6,0x8e,0xbc,0x53,0x3c,\r
+  0x94,0x67,0xa7,0xd3,0x89,0xc6,0xa6,0x6b,0x38,0x74,0x70,0x2f,0xba,0xba,0x3a,0xf0,\r
+  0xd6,0xc6,0xcd,0x44,0x74,0x19,0x8f,0x82,0x8f,0x44,0x98,0x55,0xe0,0x21,0xb1,0x79,\r
+  0x50,0x76,0x78,0x1f,0x3a,0x3b,0xcc,0x28,0x5e,0xbd,0x8e,0x87,0x56,0xa9,0x7c,0xd8,\r
+  0x38,0x83,0x4c,0x26,0x43,0xce,0xbc,0xb9,0x78,0x65,0xd5,0x7a,0xd2,0x85,0x1c,0x95,\r
+  0x95,0x27,0x70,0xd7,0x64,0xe2,0x3a,0xe0,0xd5,0x42,0x8,0x8f,0x0,0xed,0x31,0xdc,\r
+  0x6c,0x46,0x73,0xf3,0x55,0x64,0x64,0x6a,0x91,0x9f,0xbf,0x44,0x98,0x18,0x1b,0xcc,\r
+  0xdb,0x3c,0x9d,0xe,0xf9,0xcf,0xe6,0xe3,0xb6,0xb1,0x15,0x2d,0x37,0xae,0xf1,0x48,\r
+  0xfa,0xc4,0x18,0x32,0x1,0xdf,0xa6,0xce,0x4e,0x33,0xf7,0x2c,0x3d,0x5d,0x8b,0xe8,\r
+  0xe8,0x58,0x61,0x76,0x7c,0xc8,0x65,0x52,0xcc,0xcd,0xc9,0xe3,0x29,0x31,0xdc,0xbc,\r
+  0x41,0x51,0x1c,0x9,0x2d,0x2,0x6c,0x11,0x5b,0xc7,0x8d,0xb,0xcf,0x72,0x73,0x17,\r
+  0x60,0xc7,0x8e,0x6f,0x49,0x54,0x2f,0x43,0x22,0x9,0x12,0xf7,0x31,0xa0,0xd1,0x64,\r
+  0xf2,0xd1,0x32,0xd8,0x43,0xef,0x73,0xd3,0xfb,0x26,0x88,0x80,0x97,0xa1,0x8,0x3,\r
+  0x83,0x56,0xb4,0x5c,0x6f,0x44,0x75,0xf5,0x19,0x9c,0x3e,0x7d,0xa,0x57,0xea,0x2f,\r
+  0x63,0xc8,0x66,0x21,0x65,0xcb,0xbd,0x55,0x11,0x22,0x2c,0x54,0x92,0xc,0x62,0xf1,\r
+  0x83,0x26,0xa5,0xc2,0x78,0x1f,0xcc,0x63,0x1a,0x86,0x86,0x86,0xc9,0xd8,0x5,0x1c,\r
+  0x3f,0xfe,0x2b,0xfa,0xfb,0xba,0x60,0xb3,0xd9,0xe0,0x76,0x13,0x73,0x4a,0x83,0x4a,\r
+  0x35,0x15,0x9,0x89,0x49,0x28,0x2c,0x5c,0x46,0xaa,0x2e,0xa4,0x94,0xc8,0xbd,0x7b,\r
+  0xc7,0x41,0xfb,0xad,0x26,0x3e,0xaa,0xe3,0x66,0x11,0x9,0x89,0x3f,0xa4,0x41,0xcb,\r
+  0xb0,0xbd,0xdd,0x8c,0xb2,0xb2,0x3,0xa8,0xab,0xfd,0x3,0xd1,0x74,0xa2,0xb1,0x7c,\r
+  0x27,0xcf,0x4c,0xa2,0x43,0x25,0x9e,0xea,0xbb,0xf,0xb7,0xff,0xfa,0x1b,0xed,0xc6,\r
+  0x16,0x74,0x77,0x77,0x63,0x61,0xc1,0x62,0xac,0x5e,0xf3,0x26,0x66,0xce,0x48,0x22,\r
+  0x72,0xc2,0xb,0x46,0xa1,0xb7,0xb7,0x7,0xbb,0x76,0x7d,0x8e,0xe,0xb3,0x9,0x5b,\r
+  0xdf,0xdb,0x86,0x9c,0x9c,0xa7,0xc9,0x49,0x76,0x32,0x8a,0xee,0x47,0x80,0xb3,0x20,\r
+  0x2e,0xf7,0x2c,0x4e,0xec,0xdf,0xb7,0x17,0x8d,0xd,0x97,0xa1,0xd5,0x6a,0xb1,0xb6,\r
+  0x64,0x13,0xd2,0xd2,0xd2,0xa1,0x54,0x44,0xf8,0xd,0x58,0xac,0x76,0xb4,0xb6,0xb6,\r
+  0xe2,0x68,0xc5,0x8f,0xb8,0x70,0xbe,0x8a,0xf7,0x81,0x4d,0x9b,0xb6,0x92,0x28,0x63,\r
+  0xbc,0xb,0x2,0xe0,0x18,0x76,0xe1,0xe4,0xa9,0x93,0x74,0x76,0x18,0xb0,0x68,0xf1,\r
+  0x52,0x64,0x66,0x66,0xf1,0xe7,0xbe,0x2a,0xb8,0x1f,0x1,0xba,0x3a,0x1c,0xe,0x5e,\r
+  0xe3,0x95,0x95,0xc7,0x29,0xb4,0x8b,0xb1,0x61,0xc3,0x3b,0x74,0xbc,0x46,0xf2,0xe9,\r
+  0x60,0x70,0xd1,0xd6,0x5d,0x5f,0xed,0x44,0xcd,0xc5,0xb3,0x28,0x2a,0x2a,0xa2,0x83,\r
+  0xa6,0x94,0xc2,0xeb,0x9d,0x1b,0x26,0xc3,0x5d,0x5d,0x26,0x1c,0x39,0x72,0x90,0x48,\r
+  0x56,0x23,0x45,0x93,0x8a,0xed,0x9f,0x7c,0x8d,0xb8,0xd8,0x29,0xfe,0xf0,0x33,0x8,\r
+  0xcb,0xbd,0x1c,0x8c,0xc6,0x36,0xd4,0xd6,0xd6,0x20,0x71,0xfa,0xc,0x2c,0x7f,0xb1,\r
+  0x64,0x5c,0xe3,0xc,0x12,0xaa,0xf1,0xe2,0xe2,0x12,0x52,0xb8,0x6,0x55,0x55,0x55,\r
+  0x30,0x99,0xda,0xf9,0xf3,0x13,0xbf,0x55,0x60,0xf7,0xee,0x1d,0xf8,0x62,0xe7,0xa7,\r
+  0x38,0x5f,0x5d,0x85,0xf9,0x4f,0x2d,0xc4,0xbb,0x9b,0x3f,0x44,0x2c,0x33,0x3e,0xa,\r
+  0x2,0x1,0x11,0xef,0x56,0xd7,0x5b,0xc,0x30,0x53,0x9e,0x16,0x15,0x14,0x20,0x55,\r
+  0x93,0xec,0x9d,0x9a,0x0,0x29,0x9a,0x14,0xcc,0x9b,0x9f,0x47,0x1e,0x93,0x68,0xaf,\r
+  0xd4,0xf2,0x67,0xd,0xd,0x75,0x68,0x6b,0x6d,0x26,0x7,0xd4,0xd8,0xb2,0x75,0x1b,\r
+  0x4a,0x4b,0x3f,0x46,0x5a,0x6a,0x3a,0xcf,0x7b,0xa0,0xf7,0xc,0x9c,0x0,0x2b,0x39,\r
+  0xb7,0xcb,0x85,0xee,0xae,0x3b,0xfc,0xfb,0xac,0x94,0x39,0x7c,0x32,0x14,0x88,0x29,\r
+  0x97,0xc9,0x24,0x40,0xb9,0x5c,0x4e,0xe4,0xcd,0xfc,0xd9,0x9a,0xb5,0x6f,0xe0,0x83,\r
+  0xd2,0xed,0xd8,0xf6,0xd1,0x67,0x3c,0xef,0x72,0x19,0x59,0xa5,0xf,0x5b,0x3b,0x1a,\r
+  0x9c,0x80,0xf7,0x50,0xf0,0x60,0x64,0xc4,0xce,0x6e,0x11,0x15,0x9d,0xc8,0xc7,0x50,\r
+  0x11,0x19,0x19,0x49,0x87,0x92,0x4,0xc3,0xa4,0x21,0x86,0xb4,0xb4,0xc,0x64,0x65,\r
+  0x65,0x23,0x3e,0x2e,0x9a,0xee,0x48,0xed,0x1,0xdd,0x6f,0x34,0x84,0x14,0x10,0x9,\r
+  0x91,0x18,0x11,0xca,0x78,0xfe,0xdd,0x7c,0xf7,0x3a,0x1f,0x43,0x85,0x99,0x1a,0x13,\r
+  0x13,0x70,0x54,0x54,0x14,0xbf,0xf7,0x87,0x9a,0xfe,0x7d,0x6a,0x1f,0xb,0x7e,0x2,\r
+  0xcc,0x83,0x8c,0x27,0x52,0xa9,0xb3,0x29,0xd1,0xd4,0x58,0x4f,0x39,0x75,0xa,0x33,\r
+  0xe3,0xc3,0x3a,0x44,0x25,0xd9,0x66,0xe4,0x87,0x54,0x66,0xa6,0x90,0xba,0x9,0x8c,\r
+  0x6,0xc2,0x4b,0x40,0x58,0x3f,0x7b,0xf6,0x93,0x48,0xa3,0x43,0x47,0xaf,0xd7,0xe3,\r
+  0x5c,0xd5,0x39,0x5e,0x66,0x13,0xa1,0x4e,0x7f,0x1e,0x7f,0xd2,0x89,0x39,0x7d,0x7a,\r
+  0x12,0xb4,0x59,0xb9,0x5c,0x43,0xa1,0x9b,0xf,0x88,0x0,0xdb,0x38,0x2d,0x31,0x11,\r
+  0x2b,0x56,0xac,0xe0,0xb5,0x7c,0xb4,0xe2,0x10,0x6a,0x2e,0xd5,0xc0,0xee,0x8,0x1e,\r
+  0x9,0xbb,0xdd,0x4e,0xbf,0x8a,0x9a,0x71,0x60,0xff,0x77,0x3c,0x7a,0x2b,0x57,0x6f,\r
+  0x24,0x2d,0x28,0xc3,0xf2,0x9e,0xe1,0x81,0xa3,0x98,0x38,0x50,0x28,0x3d,0x38,0x76,\r
+  0xac,0x2,0xbf,0x54,0x1c,0xe6,0xed,0x73,0xd9,0x73,0x2f,0x41,0xa7,0x9b,0x8f,0xf8,\r
+  0x44,0xd,0xd4,0x6a,0x35,0x6,0x7,0x6,0x48,0x23,0x6,0xd4,0xea,0x2f,0xe1,0xec,\r
+  0x99,0xdf,0x79,0x73,0x29,0x29,0x79,0x1d,0x4b,0xa,0x9f,0xa7,0xdf,0x83,0x11,0xfc,\r
+  0x3d,0xe1,0x70,0x78,0xa8,0x17,0x30,0x2,0x2c,0xff,0x75,0xfa,0x8b,0x28,0x2f,0xff,\r
+  0x9,0x66,0xd3,0x1d,0xae,0x8b,0x8,0x85,0x8a,0x97,0x9a,0x93,0xe6,0x6c,0xb6,0x7b,\r
+  0xbc,0xee,0xd5,0xea,0x38,0xac,0x5b,0xff,0x36,0x72,0x73,0xb2,0x21,0xa5,0x86,0xc4,\r
+  0xd4,0x1e,0x9e,0xff,0x41,0x8,0xf0,0x36,0x4c,0x1f,0xa6,0xde,0xbe,0x7f,0x6c,0xb8,\r
+  0x50,0x7d,0x92,0x44,0x66,0xc0,0x40,0x7f,0x27,0x29,0xdd,0xce,0x49,0xb0,0x8e,0x96,\r
+  0xa5,0x4d,0x47,0xee,0x33,0x5,0x88,0x53,0x47,0x7b,0x55,0x4f,0xa6,0xc3,0x8c,0x3e,\r
+  0x47,0xd0,0x6e,0xc8,0xc0,0x78,0x78,0xbf,0x50,0xbe,0xc9,0xb0,0x7d,0xc8,0x82,0x11,\r
+  0xfa,0x25,0xc3,0xf2,0xad,0x9c,0x12,0x43,0xcd,0x49,0xe6,0x9d,0x7f,0x4,0xa3,0x81,\r
+  0x18,0x93,0x80,0xf,0x3c,0x22,0xcc,0x8,0x1f,0x4,0x6b,0x34,0x70,0xb5,0x3f,0x8a,\r
+  0xcb,0xa3,0xe0,0xaf,0x82,0xb1,0xc0,0x8c,0xf0,0x3f,0x66,0x8c,0xd9,0xf3,0x71,0xf8,\r
+  0xf,0x8c,0x33,0x4c,0x48,0xe0,0xff,0xc6,0x63,0x26,0x0,0xfc,0xb,0x16,0x3b,0x5c,\r
+  0x80,0x54,0xa2,0x16,0x5e,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,\r
+  0x82,\r
     // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/upper-left.png\r
   0x0,0x0,0x1,0xf1,\r
   0x89,\r
@@ -72316,6 +72519,120 @@ static const unsigned char qt_resource_data[] = {
   0x83,0x24,0xc0,0xdb,0x7f,0x63,0x20,0x84,0x22,0x40,0x8d,0x7f,0x9f,0xa7,0xb9,0xf7,\r
   0xd7,0x6e,0xaa,0x9b,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,\r
   \r
+    // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/debug-deleteallbreakpoints.png\r
+  0x0,0x0,0x6,0xeb,\r
+  0x89,\r
+  0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,\r
+  0x0,0x0,0x20,0x0,0x0,0x0,0x20,0x8,0x6,0x0,0x0,0x0,0x73,0x7a,0x7a,0xf4,\r
+  0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,\r
+  0x4,0x67,0x41,0x4d,0x41,0x0,0x0,0xb1,0x8f,0xb,0xfc,0x61,0x5,0x0,0x0,0x0,\r
+  0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xe,0xc3,0x0,0x0,0xe,0xc3,0x1,0xc7,0x6f,\r
+  0xa8,0x64,0x0,0x0,0x6,0x80,0x49,0x44,0x41,0x54,0x58,0x47,0xc5,0x56,0x6b,0x50,\r
+  0x94,0x55,0x18,0x7e,0xf6,0xe,0xbb,0xb0,0x82,0x9,0x2c,0xea,0xa2,0xdc,0x2f,0xa2,\r
+  0x48,0x99,0x5d,0xd0,0x34,0x5,0x49,0x29,0x47,0xc1,0x69,0x34,0x9a,0xb1,0x66,0x6c,\r
+  0xbc,0x84,0x36,0xa3,0x65,0xc6,0x8f,0xd4,0x29,0xcc,0xcb,0x94,0x93,0x8e,0xe6,0x94,\r
+  0x58,0x16,0x36,0x93,0xa1,0x46,0x5a,0x31,0x95,0x33,0x35,0xa5,0x79,0x41,0x1b,0x6e,\r
+  0xa,0x22,0xf7,0xdb,0x82,0x5c,0x6c,0x59,0x6e,0xcb,0xee,0xd2,0x7b,0xce,0xf7,0xed,\r
+  0xc7,0x62,0x60,0x6c,0xfe,0xe8,0x19,0x3e,0xbe,0x73,0xde,0x73,0xbe,0xf3,0x3e,0xe7,\r
+  0x79,0xdf,0xf3,0x9e,0x95,0x99,0x2d,0x8e,0x41,0xfc,0x8f,0x90,0x8b,0x6f,0xc,0x32,\r
+  0x1a,0x2e,0xcf,0x20,0x19,0x46,0x64,0x76,0xcf,0x3c,0x6,0x3e,0x57,0xec,0xb3,0xb6,\r
+  0xd3,0x3e,0x16,0x70,0x2,0xec,0x1b,0x19,0xef,0x12,0xf8,0x4a,0xec,0x2d,0x3e,0x22,\r
+  0xf8,0xb8,0xb3,0xef,0xf4,0xe6,0xd2,0x64,0xe3,0x82,0x73,0x46,0x66,0x88,0x10,0x7b,\r
+  0xb8,0x7d,0x14,0x8,0x21,0xe0,0x13,0x7,0x61,0xa9,0x2e,0x85,0xe9,0x42,0x3e,0x26,\r
+  0x3c,0x32,0x1b,0x3e,0x31,0x9,0x64,0x54,0xf0,0x95,0xd9,0xb0,0x4c,0x5c,0xc3,0x6a,\r
+  0xee,0x44,0x7b,0xc1,0x79,0x4c,0x98,0x35,0x7,0x2a,0xbd,0x1,0x36,0xbb,0x3,0x6d,\r
+  0x77,0x5a,0xd1,0xdc,0xdc,0x88,0xca,0xea,0x26,0xf4,0x74,0x35,0x41,0xa9,0xd6,0xc3,\r
+  0x10,0x38,0x19,0xc1,0x41,0x6,0x4,0x4e,0xa,0x86,0x87,0x46,0x29,0xac,0x21,0xed,\r
+  0x72,0x8,0x12,0x1,0x87,0xcd,0x8a,0x8a,0x63,0x7b,0x70,0xf3,0xc8,0x3e,0x8c,0xb,\r
+  0x8f,0x41,0xfc,0xce,0xfd,0xf0,0x89,0x7a,0x8c,0xa6,0x48,0x51,0x42,0x7f,0x47,0xb,\r
+  0x6a,0x4e,0x65,0x43,0x1f,0x12,0xe,0x43,0x62,0x2a,0x7a,0x7a,0x80,0xf3,0x3f,0xe5,\r
+  0xe1,0x8f,0x4b,0x17,0x51,0x59,0x71,0x3,0xfd,0xfd,0xfd,0xe2,0x4c,0x40,0xa9,0x54,\r
+  0xc2,0x60,0x30,0xe0,0x89,0x84,0x45,0x48,0x4a,0x5c,0x0,0x3f,0x7f,0x3,0xe4,0x4e,\r
+  0x6,0x2e,0x44,0xa4,0xd5,0x65,0xa,0x25,0xf4,0x31,0x31,0xf0,0x98,0xe0,0xf,0x73,\r
+  0x55,0x39,0x6e,0x1e,0xde,0x8b,0x9e,0xa6,0x5a,0x71,0x74,0x10,0xd6,0x6e,0x13,0xd9,\r
+  0xde,0x81,0x5c,0x21,0x47,0xc0,0x9c,0x25,0x18,0xb0,0x2,0xe7,0xbe,0xfd,0xa,0x27,\r
+  0x72,0xb2,0x71,0xa3,0xe4,0xcf,0x61,0xce,0x19,0x6c,0x36,0x1b,0x1a,0x1a,0x1a,0x90,\r
+  0x77,0x26,0x7,0x87,0xf,0x7d,0x80,0xba,0xba,0x6,0x41,0x68,0x61,0x58,0x82,0xe2,\r
+  0xad,0xcc,0xed,0x3b,0xb8,0x4,0x32,0x39,0xbc,0xa7,0x44,0xc0,0x2b,0x38,0x14,0x9d,\r
+  0x25,0xd7,0xd1,0x59,0x7c,0x1d,0xbd,0xad,0x8d,0x8,0x78,0x72,0x21,0xed,0xbc,0xe,\r
+  0xc5,0x7b,0x32,0xa1,0xf4,0xd0,0x21,0xfc,0xe5,0x2d,0x18,0x54,0x7b,0xe2,0xfc,0xcf,\r
+  0xdf,0xe1,0xeb,0x93,0x39,0xa4,0x2,0xc9,0x70,0x1f,0xd8,0xed,0x76,0x98,0x4c,0xcd,\r
+  0xa8,0xaa,0xbc,0x89,0xf8,0xf8,0xd9,0xd0,0xe9,0x74,0x9c,0x84,0x53,0xc,0x4e,0x80,\r
+  0x69,0xc2,0x12,0x45,0x46,0x31,0xf7,0xa,0x8a,0x84,0x6e,0xa2,0x11,0xe6,0xdb,0x37,\r
+  0xd0,0x56,0x70,0x11,0x36,0x4b,0x7,0x1a,0xf2,0x4f,0x63,0xa0,0xab,0x1b,0xb1,0x9b,\r
+  0xb3,0x48,0xa1,0x40,0x14,0x16,0x5e,0xc5,0x17,0x9f,0x67,0xa3,0xb3,0xb3,0x53,0x58,\r
+  0x65,0xc,0xb8,0x7b,0xf7,0x2e,0x39,0x96,0x23,0x3a,0x7a,0x6,0x94,0xa4,0xa2,0x4c,\r
+  0x64,0xc0,0x43,0xc0,0xda,0x72,0x39,0x91,0xe0,0x26,0x20,0x20,0x21,0x19,0x71,0xdb,\r
+  0xf6,0x91,0x22,0x61,0xa8,0x3e,0x73,0x2,0x5d,0x55,0x15,0x88,0xde,0xb4,0x15,0xda,\r
+  0xc0,0x29,0xe8,0x1f,0x70,0x90,0xec,0xc7,0xd1,0xda,0xda,0x2a,0xce,0x1e,0x1b,0x98,\r
+  0x12,0x5,0x57,0x2e,0x50,0x28,0x2a,0xb9,0x73,0xe7,0xc9,0x18,0xca,0x30,0x17,0xb0,\r
+  0x41,0xc7,0x40,0x3f,0xe5,0x85,0xc0,0x52,0x26,0x57,0xc0,0xd1,0x2b,0x7c,0xd0,0xdb,\r
+  0x3b,0x0,0xb5,0x46,0xcd,0xdb,0xee,0x82,0x9d,0x94,0xb2,0xb2,0x5b,0xb0,0x3b,0x1c,\r
+  0x52,0xc,0x24,0x2,0x8c,0x90,0x18,0x16,0xb4,0xfc,0xfe,0x3,0x8a,0xf6,0x65,0xc2,\r
+  0x5c,0x5d,0x81,0xb0,0x95,0x6b,0xe0,0x1d,0x12,0x81,0xf2,0x8f,0x77,0x53,0x52,0xd6,\r
+  0xc0,0x47,0xaf,0x41,0x7a,0xfa,0x6a,0x4,0x6,0x6,0x8a,0xb3,0xc7,0xe,0xb6,0xb1,\r
+  0xa6,0xc6,0x6a,0x4a,0xd0,0x1,0xc1,0x21,0x41,0x20,0x20,0x3a,0x77,0xd0,0x40,0xe3,\r
+  0x8f,0xb9,0x28,0xda,0xb3,0x15,0x96,0xda,0x4a,0x18,0x97,0xac,0x40,0xd4,0xfa,0xed,\r
+  0x98,0x99,0xf9,0x3e,0xb4,0x86,0x49,0xb8,0x75,0x74,0x37,0xac,0x1d,0x26,0x44,0x45,\r
+  0xcd,0xc0,0xda,0x75,0xaf,0x61,0xfa,0xf4,0x38,0x68,0x34,0x1a,0x29,0x9e,0x63,0x81,\r
+  0xa5,0xab,0x3,0x83,0xa4,0x80,0x4c,0xdc,0xee,0x90,0x2,0x64,0x34,0xfd,0x7a,0xe,\r
+  0x45,0x7b,0xb7,0xa2,0xaf,0xad,0x5,0x86,0xa7,0x16,0x22,0x66,0xe3,0xe,0x28,0x3c,\r
+  0x75,0xd0,0xf8,0x5,0x21,0x2e,0x73,0x1f,0xe4,0x9e,0x1e,0xa8,0xc9,0xfd,0x4,0x72,\r
+  0x7b,0x2f,0x65,0xf4,0xa3,0xd8,0xbe,0xf3,0x7d,0xac,0x5b,0xbf,0x11,0xe1,0x11,0xd1,\r
+  0x50,0x28,0xa8,0x68,0x8d,0x1,0x72,0xf9,0xf0,0xa8,0xbb,0x10,0xb0,0xa1,0xeb,0x76,\r
+  0x31,0x1d,0xb9,0x36,0xe8,0x83,0x23,0x11,0xbd,0xf6,0x4d,0x78,0xfa,0x4f,0x42,0x6d,\r
+  0xbd,0x9,0x65,0xe5,0x15,0x80,0xda,0x17,0x91,0xaf,0x6c,0x83,0x4c,0xa5,0x81,0xe9,\r
+  0x97,0xb3,0xfc,0x1b,0x95,0x52,0x86,0xf9,0x4f,0x3f,0x43,0x6a,0x6c,0x26,0x55,0xa6,\r
+  0x71,0xdb,0xbf,0x41,0xef,0x33,0x91,0x6a,0x89,0x52,0xec,0xb9,0x10,0x90,0x2b,0x54,\r
+  0x98,0xbc,0x64,0x15,0x65,0xff,0x6e,0xcc,0xda,0x75,0x4,0xfa,0xf0,0x87,0x61,0xe9,\r
+  0xee,0xc3,0xa1,0x83,0xbb,0x70,0xe0,0xc3,0x5d,0xb8,0x52,0x50,0x4,0xa5,0x77,0x0,\r
+  0x82,0x57,0xbe,0xa,0xd5,0xb8,0x87,0xf8,0xf1,0x64,0x38,0x9d,0xfb,0x25,0x2,0x2,\r
+  0xc,0xd8,0x90,0xf1,0x3a,0x22,0x22,0xa3,0xb8,0x6d,0x34,0xb0,0x70,0x45,0x45,0x46,\r
+  0xf0,0x2a,0x29,0xd4,0x7f,0x91,0x0,0x6f,0x52,0x1c,0x75,0xc6,0x70,0x4,0x3f,0xbf,\r
+  0x1,0x5e,0xa1,0x71,0xb8,0xd3,0xd6,0x8e,0x4f,0x8f,0x1d,0x44,0x79,0x59,0x29,0x1a,\r
+  0x1b,0xea,0x70,0xe4,0x50,0x16,0x7e,0xbb,0x70,0x19,0x76,0xb9,0x1a,0x7e,0x8f,0x27,\r
+  0x43,0xe9,0x35,0x9e,0x7d,0x85,0x93,0x27,0x4f,0x20,0x37,0x37,0x7,0xbe,0x3e,0xbe,\r
+  0x48,0x5b,0xb1,0x1a,0xbe,0xbe,0xbe,0xdc,0x7e,0x2f,0x58,0x9e,0xc4,0xc5,0xc5,0x63,\r
+  0x5a,0xcc,0x34,0xb1,0x24,0xb,0x39,0x20,0x14,0x22,0x6a,0x3b,0xd3,0xc8,0x64,0x6a,\r
+  0xc0,0xb5,0x6b,0x97,0x90,0x97,0x77,0xa,0x57,0x2e,0x5f,0xe4,0xe7,0x97,0xa1,0xaf,\r
+  0xaf,0x17,0xb7,0xa9,0xde,0x2b,0x95,0x72,0x38,0xec,0xfd,0x68,0xa7,0x3c,0x69,0x6b,\r
+  0x33,0x21,0x3f,0xff,0x7b,0x22,0x58,0x8b,0xa9,0x53,0x8c,0x94,0x94,0x33,0xe9,0xfb,\r
+  0x26,0xd4,0xd6,0x54,0x4b,0xe7,0xdc,0x9,0xad,0xd6,0xb,0x2f,0xae,0xce,0x40,0x68,\r
+  0x48,0x8,0x3f,0x81,0xce,0xbc,0x1d,0xfa,0x41,0x42,0xff,0xdb,0x3b,0xfe,0xc2,0x47,\r
+  0x87,0xf7,0xa3,0xb8,0xe8,0x2a,0xac,0x56,0x2b,0x1c,0xec,0xbc,0xde,0x3,0x26,0xa3,\r
+  0x4a,0xa5,0x12,0x7b,0x94,0xd5,0x16,0xb,0x7f,0x87,0x86,0x85,0x23,0xeb,0xbd,0x3,\r
+  0x74,0x29,0x95,0x22,0xeb,0xdd,0xb7,0xa5,0x12,0xcd,0x76,0xae,0xd3,0x79,0x23,0x35,\r
+  0x35,0xd,0xcb,0x96,0xbf,0xc0,0x93,0x90,0xaa,0xbe,0x4,0xa1,0xc9,0x28,0xd0,0x53,\r
+  0x4d,0x97,0x50,0x79,0x59,0x21,0xed,0xb6,0x6f,0x44,0xe7,0xc,0xec,0xd2,0x61,0x4e,\r
+  0x9d,0x8f,0x13,0x4d,0x8d,0x8d,0x28,0x2d,0x29,0x44,0xd0,0xd4,0x58,0xee,0xd0,0x89,\r
+  0xd0,0xb0,0x8,0xac,0x59,0xbb,0x5,0xcf,0x2d,0x5d,0xc9,0xab,0xad,0xab,0x73,0x6,\r
+  0xa1,0x4b,0x72,0xd8,0x49,0xb2,0x9a,0xfa,0x16,0x98,0xcd,0x66,0x6e,0x72,0x17,0x3,\r
+  0x74,0x3d,0x56,0x55,0x96,0x41,0xef,0xa5,0xa2,0x50,0xc4,0x52,0xcd,0x8f,0xc6,0xb2,\r
+  0xb4,0x97,0xb0,0x71,0xd3,0x1b,0x98,0x3b,0x27,0x1,0x6a,0x35,0x65,0xbe,0x53,0x77,\r
+  0x17,0x48,0xbf,0x7,0xac,0xb4,0xc0,0xf1,0xcf,0xb2,0x71,0xee,0x6c,0xae,0x38,0xe4,\r
+  0x1e,0x98,0xd4,0x89,0x49,0x8b,0x91,0x91,0xb1,0x85,0xca,0x75,0xf,0x57,0x50,0xad,\r
+  0xf6,0x80,0x52,0x45,0x19,0x4f,0x9b,0x63,0xe3,0x23,0xf8,0x1f,0x3a,0x86,0xac,0x34,\r
+  0xda,0x6d,0x7d,0x62,0xc7,0x7d,0xf0,0xfb,0x43,0xc,0x9b,0xa7,0xa7,0x16,0x5a,0xba,\r
+  0x76,0x55,0xe4,0x9c,0xc5,0x56,0xc6,0xa4,0x1f,0xc1,0x39,0x83,0x44,0x40,0x26,0x53,\r
+  0xc0,0x43,0xeb,0x27,0xf6,0xdc,0x7,0x4b,0x2e,0xbd,0x5e,0xcf,0xdb,0x4c,0x52,0x5e,\r
+  0x9e,0xd9,0x1f,0xdb,0x39,0xb7,0x8e,0xc,0x89,0x0,0x63,0x1b,0x19,0x39,0x95,0xd8,\r
+  0x7b,0x8a,0x16,0xf7,0xa0,0x56,0x6b,0x28,0xee,0xb1,0x42,0x67,0xb4,0xed,0x8e,0x0,\r
+  0x29,0x9,0x19,0x8c,0xc6,0x10,0x18,0x83,0x42,0x84,0x8e,0x9b,0xf0,0xf3,0xf3,0xa7,\r
+  0x3b,0x21,0x4e,0x88,0xb7,0x68,0x1b,0xb,0x24,0x5,0x98,0x6c,0x6,0x2a,0xa9,0xf3,\r
+  0xe6,0xcd,0xa7,0xdd,0xb8,0x77,0xdf,0x33,0xf9,0x17,0x24,0xa5,0x52,0x15,0xf4,0x72,\r
+  0x6b,0xf7,0xc,0x2e,0x39,0x20,0xe3,0x55,0x6e,0x51,0xf2,0x52,0x22,0xb1,0x70,0x58,\r
+  0xb1,0xb9,0x1f,0x18,0xd9,0x94,0x94,0x67,0xb1,0x28,0x71,0x9e,0x68,0x71,0xf,0x12,\r
+  0x1,0x6,0x56,0x8f,0x58,0x2e,0xac,0x4a,0x5f,0x43,0x44,0x52,0xf8,0xf,0xc8,0xfb,\r
+  0x81,0x39,0x5f,0x9c,0x92,0x8a,0xd4,0xb4,0x74,0x9a,0x4b,0xbb,0x27,0xb8,0x29,0x80,\r
+  0x4b,0x29,0x16,0xc1,0x62,0x48,0x7f,0xe8,0xb6,0x74,0xe1,0xea,0xb5,0x12,0x7c,0x73,\r
+  0xea,0x28,0xea,0xeb,0xeb,0x87,0x55,0x46,0x76,0xf7,0x87,0x50,0x4d,0x4f,0x4a,0x5e,\r
+  0x8e,0x84,0x84,0xb9,0xd0,0x69,0x29,0x71,0x59,0xb6,0xbb,0xe9,0x9c,0xe1,0x1f,0x4,\r
+  0x24,0x90,0x95,0x11,0xb1,0xd1,0x65,0xd4,0x6c,0x6a,0x41,0x53,0x43,0x5,0xba,0xbb,\r
+  0xbb,0xc8,0x99,0xe,0x81,0xc6,0xe9,0x30,0x4e,0x1c,0xcf,0xc3,0xe6,0x3c,0x6e,0xff,\r
+  0x15,0xa3,0x12,0x10,0x6e,0x33,0xb6,0xb2,0x38,0x4c,0x2f,0xee,0x4c,0x68,0x72,0x76,\r
+  0xf,0xea,0x9c,0x61,0x58,0xe,0xb8,0x42,0xd8,0x9d,0xf3,0xcd,0x1b,0x82,0x33,0xb1,\r
+  0x29,0xf5,0x1f,0x8,0xc0,0xdf,0x81,0xe6,0x97,0xc8,0x26,0x97,0x96,0xa9,0x0,0x0,\r
+  0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,\r
     // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/tool-op.png\r
   0x0,0x0,0x17,0xf4,\r
   0x89,\r
@@ -72704,7 +73021,7 @@ static const unsigned char qt_resource_data[] = {
   0x15,0xb0,0x4f,0xd,0x27,0xc4,0xde,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,\r
   0x42,0x60,0x82,\r
     // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/help.html\r
-  0x0,0x0,0x79,0xb9,\r
+  0x0,0x0,0x7d,0xe6,\r
   0x3c,\r
   0x68,0x74,0x6d,0x6c,0x3e,0xd,0xa,0xd,0xa,0x3c,0x68,0x65,0x61,0x64,0x3e,0xd,\r
   0xa,0x3c,0x74,0x69,0x74,0x6c,0x65,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,\r
@@ -73974,169 +74291,192 @@ static const unsigned char qt_resource_data[] = {
   0x6c,0x61,0x62,0x65,0x6c,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,\r
   0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,\r
   0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,\r
-  0x2f,0x75,0x6c,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
-  0x3e,0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x6c,0x69,0x6e,\r
-  0x65,0x73,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,\r
-  0x3b,0x72,0x65,0x70,0x72,0x65,0x73,0x65,0x6e,0x74,0x20,0x74,0x68,0x65,0x20,0x6e,\r
-  0x75,0x6d,0x62,0x65,0x72,0x20,0x6f,0x66,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,\r
-  0x6d,0x62,0x6c,0x79,0x20,0x6c,0x69,0x6e,0x65,0x73,0x20,0x74,0x6f,0x20,0x64,0x69,\r
-  0x73,0x70,0x6c,0x61,0x79,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,\r
-  0x30,0x30,0x30,0x20,0x74,0x72,0x61,0x63,0x69,0x6e,0x67,0x20,0x77,0x69,0x6e,0x64,\r
-  0x6f,0x77,0x2e,0x20,0x54,0x68,0x69,0x73,0x20,0x64,0x6f,0x65,0x73,0x6e,0x27,0x74,\r
-  0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x6e,0x75,0x6d,\r
-  0x62,0x65,0x72,0x20,0x6f,0x66,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x6c,0x69,\r
-  0x6e,0x65,0x73,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x65,0x64,0x2e,0x3c,0x2f,\r
-  0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,\r
-  0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x6f,0x70,\r
-  0x63,0x6f,0x64,0x65,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,\r
-  0x73,0x70,0x3b,0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,\r
-  0x20,0x74,0x68,0x65,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x20,0x64,0x69,0x73,0x70,\r
-  0x6c,0x61,0x79,0x2e,0x20,0x43,0x61,0x6e,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x66,\r
-  0x75,0x6c,0x20,0x69,0x6e,0x20,0x63,0x61,0x73,0x65,0x20,0x6f,0x66,0x20,0x75,0x73,\r
-  0x65,0x72,0x20,0x70,0x72,0x65,0x66,0x65,0x72,0x73,0x20,0x74,0x6f,0x20,0x73,0x65,\r
-  0x65,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,\r
-  0x79,0x20,0x6f,0x6e,0x6c,0x79,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
+  0x6c,0x69,0x3e,0x45,0x4c,0x46,0x20,0x73,0x65,0x63,0x74,0x69,0x6f,0x6e,0x73,0x20,\r
+  0x63,0x68,0x65,0x63,0x6b,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,\r
+  0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,\r
+  0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x6c,0x69,0x6e,0x65,0x73,0x3c,\r
+  0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x72,0x65,\r
+  0x70,0x72,0x65,0x73,0x65,0x6e,0x74,0x20,0x74,0x68,0x65,0x20,0x6e,0x75,0x6d,0x62,\r
+  0x65,0x72,0x20,0x6f,0x66,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,\r
+  0x79,0x20,0x6c,0x69,0x6e,0x65,0x73,0x20,0x74,0x6f,0x20,0x64,0x69,0x73,0x70,0x6c,\r
+  0x61,0x79,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,\r
+  0x20,0x74,0x72,0x61,0x63,0x69,0x6e,0x67,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x2e,\r
+  0x20,0x54,0x68,0x69,0x73,0x20,0x64,0x6f,0x65,0x73,0x6e,0x27,0x74,0x20,0x69,0x6e,\r
+  0x63,0x6c,0x75,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x6e,0x75,0x6d,0x62,0x65,0x72,\r
+  0x20,0x6f,0x66,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x6c,0x69,0x6e,0x65,0x73,\r
+  0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x65,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,\r
+  0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x70,\r
+  0x6c,0x61,0x79,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x6f,0x70,0x63,0x6f,0x64,\r
+  0x65,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,\r
+  0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,0x68,\r
+  0x65,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,\r
+  0x2e,0x20,0x43,0x61,0x6e,0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x66,0x75,0x6c,0x20,\r
+  0x69,0x6e,0x20,0x63,0x61,0x73,0x65,0x20,0x6f,0x66,0x20,0x75,0x73,0x65,0x72,0x20,\r
+  0x70,0x72,0x65,0x66,0x65,0x72,0x73,0x20,0x74,0x6f,0x20,0x73,0x65,0x65,0x20,0x74,\r
+  0x68,0x65,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x6f,\r
+  0x6e,0x6c,0x79,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,\r
+  0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x48,0x57,0x20,\r
+  0x6c,0x61,0x62,0x65,0x6c,0x73,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,\r
+  0x6e,0x62,0x73,0x70,0x3b,0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,\r
+  0x6f,0x74,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x20,0x6f,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x20,0x68,0x61,0x72,0x64,0x77,0x61,\r
+  0x72,0x65,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x61,0x73,0x20,\r
+  0x72,0x65,0x70,0x6f,0x72,0x74,0x65,0x64,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,\r
+  0x6f,0x66,0x66,0x69,0x63,0x69,0x61,0x6c,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,\r
+  0x74,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
   0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,\r
-  0x48,0x57,0x20,0x6c,0x61,0x62,0x65,0x6c,0x73,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
-  0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,\r
-  0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,0x68,0x65,0x20,0x6e,0x61,0x6d,0x65,0x20,0x6f,\r
-  0x66,0x20,0x74,0x68,0x65,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x20,0x68,0x61,0x72,\r
-  0x64,0x77,0x61,0x72,0x65,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,\r
-  0x61,0x73,0x20,0x72,0x65,0x70,0x6f,0x72,0x74,0x65,0x64,0x20,0x69,0x6e,0x20,0x74,\r
-  0x68,0x65,0x20,0x6f,0x66,0x66,0x69,0x63,0x69,0x61,0x6c,0x20,0x64,0x6f,0x63,0x75,\r
-  0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,\r
-  0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x70,0x6c,\r
-  0x61,0x79,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x66,0x69,0x6c,0x65,0x6e,0x61,\r
-  0x6d,0x65,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,\r
-  0x3b,0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,\r
-  0x68,0x65,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x66,\r
-  0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,\r
-  0x64,0x65,0x70,0x65,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x61,0x73,\r
-  0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,\r
-  0x38,0x30,0x30,0x30,0x20,0x74,0x72,0x61,0x63,0x69,0x6e,0x67,0x20,0x77,0x69,0x6e,\r
-  0x64,0x6f,0x77,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x57,0x68,0x65,\r
-  0x6e,0x20,0x73,0x74,0x61,0x72,0x74,0x65,0x64,0x20,0x69,0x6e,0x20,0x41,0x6c,0x70,\r
-  0x69,0x6e,0x65,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x6f,0x72,0x20,0x69,0x6e,0x20,\r
-  0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x61,\r
-  0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x74,0x61,0x62,0x20,0x69,0x73,\r
-  0x20,0x6d,0x61,0x64,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,\r
-  0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x6e,0x66,0x69,0x67,0x75,0x72,0x61,\r
-  0x74,0x69,0x6f,0x6e,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x77,0x68,\r
-  0x69,0x63,0x68,0x20,0x67,0x69,0x76,0x65,0x73,0x20,0x79,0x6f,0x75,0x20,0x74,0x68,\r
-  0x65,0x20,0x66,0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x6f,0x70,0x74,0x69,\r
-  0x6f,0x6e,0x73,0x3a,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x75,0x6c,0x3e,0xd,0xa,\r
-  0x3c,0x6c,0x69,0x3e,0x52,0x4f,0x4d,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,0x3c,\r
-  0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x41,0x42,0x53,0x20,0x74,0x6f,\r
-  0x20,0x6c,0x6f,0x61,0x64,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,\r
-  0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x3c,\r
-  0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x41,0x6c,0x6c,0x6f,0x77,0x20,\r
-  0x77,0x72,0x69,0x74,0x65,0x73,0x20,0x74,0x6f,0x20,0x63,0x61,0x72,0x74,0x64,0x72,\r
-  0x69,0x64,0x67,0x65,0x20,0x52,0x4f,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,\r
-  0x2f,0x75,0x6c,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
-  0x3e,0x52,0x4f,0x4d,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,0x3c,0x2f,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x74,\r
-  0x68,0x20,0x74,0x6f,0x20,0x61,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x20,0x65,0x78,\r
-  0x65,0x63,0x75,0x74,0x61,0x62,0x6c,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x74,0x68,\r
-  0x61,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,\r
-  0x64,0x20,0x69,0x6e,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x4a,0x61,0x67,0x75,0x61,\r
-  0x72,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x63,0x61,0x72,0x74,0x72,0x69,\r
-  0x64,0x67,0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,0x70,0x61,0x63,0x65,\r
-  0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x30,0x30,0x30,0x30,0x20,0x28,0x41,0x6c,0x70,\r
-  0x69,0x6e,0x65,0x20,0x52,0x4f,0x4d,0x20,0x69,0x6d,0x61,0x67,0x65,0x73,0x20,0x77,\r
-  0x69,0x6c,0x6c,0x20,0x6c,0x6f,0x61,0x64,0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x32,\r
-  0x30,0x30,0x30,0x29,0x2e,0x20,0x41,0x73,0x20,0x61,0x20,0x63,0x6f,0x6e,0x76,0x65,\r
-  0x6e,0x69,0x65,0x6e,0x63,0x65,0x20,0x74,0x6f,0x20,0x63,0x6f,0x64,0x65,0x72,0x73,\r
-  0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x63,0x61,0x6e,0x20,\r
-  0x62,0x65,0x20,0x6f,0x66,0x20,0x61,0x6e,0x79,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,\r
-  0x2c,0x20,0x61,0x73,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x73,0x20,0x69,0x74,0x20,\r
-  0x66,0x69,0x74,0x73,0x20,0x69,0x6e,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x63,0x61,\r
-  0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,\r
-  0x70,0x61,0x63,0x65,0x20,0x28,0x61,0x20,0x66,0x69,0x6c,0x65,0x20,0x6f,0x66,0x20,\r
-  0x74,0x68,0x69,0x73,0x20,0x74,0x79,0x70,0x65,0x20,0x69,0x73,0x20,0x74,0x72,0x65,\r
-  0x61,0x74,0x65,0x64,0x20,0x61,0x73,0x20,0x61,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,\r
-  0x65,0x20,0x52,0x4f,0x4d,0x20,0x61,0x6e,0x64,0x20,0x69,0x73,0x20,0x6c,0x6f,0x61,\r
-  0x64,0x65,0x64,0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x32,0x30,0x30,0x30,0x29,0x2e,\r
-  0x20,0x54,0x68,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x74,0x68,0x75,0x73,0x20,0x6c,\r
-  0x6f,0x61,0x64,0x65,0x64,0x20,0x69,0x6e,0x74,0x6f,0x20,0x6d,0x65,0x6d,0x6f,0x72,\r
-  0x79,0x20,0x77,0x69,0x6c,0x6c,0x20,0x6e,0x6f,0x74,0x20,0x62,0x65,0x20,0x65,0x78,\r
-  0x65,0x63,0x75,0x74,0x65,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
-  0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x41,0x42,0x53,0x20,0x74,0x6f,0x20,0x6c,\r
-  0x6f,0x61,0x64,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x69,0x73,0x20,\r
-  0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x68,0x20,0x74,0x6f,0x20,0x61,0x20,0x4a,0x61,\r
-  0x67,0x75,0x61,0x72,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x61,0x62,0x6c,0x65,0x20,\r
-  0x66,0x69,0x6c,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,\r
-  0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,\r
-  0x4a,0x61,0x67,0x75,0x61,0x72,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,\r
-  0x61,0x69,0x6e,0x20,0x52,0x41,0x4d,0x2e,0x20,0x54,0x68,0x69,0x73,0x20,0x66,0x69,\r
-  0x6c,0x65,0x20,0x6d,0x75,0x73,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x76,0x61,0x6c,\r
-  0x69,0x64,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x73,0x2c,0x20,0x6f,0x74,0x68,0x65,\r
-  0x72,0x77,0x69,0x73,0x65,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,\r
-  0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x6f,\r
-  0x6e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x74,0x20,0x62,0x65,0x20,0x61,0x62,0x6c,\r
-  0x65,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,0x20,0x69,0x74,0x2e,0x20,0x41,0x73,\r
-  0x73,0x75,0x6d,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,\r
-  0x65,0x78,0x69,0x73,0x74,0x73,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x73,0x20,0x74,\r
-  0x68,0x65,0x20,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x20,0x68,0x65,0x61,0x64,0x65,\r
-  0x72,0x73,0x20,0x69,0x6e,0x20,0x69,0x74,0x2c,0x20,0x69,0x74,0x20,0x77,0x69,0x6c,\r
-  0x6c,0x20,0x62,0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,0x20,0x61,0x6e,0x64,0x20,\r
-  0x72,0x75,0x6e,0x20,0x77,0x68,0x65,0x6e,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,\r
-  0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,\r
-  0x20,0x69,0x73,0x20,0x66,0x69,0x72,0x73,0x74,0x20,0x72,0x75,0x6e,0x2e,0x3c,0x2f,\r
-  0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x57,\r
-  0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x3c,0x2f,\r
-  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x69,0x73,0x20,\r
-  0x74,0x68,0x65,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,0x65,\r
-  0x20,0x66,0x6f,0x72,0x20,0x6f,0x70,0x65,0x6e,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,\r
-  0x73,0x2e,0x20,0x54,0x68,0x65,0x20,0x73,0x6d,0x61,0x6c,0x6c,0x65,0x72,0x20,0x74,\r
-  0x68,0x65,0x20,0x72,0x61,0x74,0x65,0x2c,0x20,0x74,0x68,0x65,0x20,0x66,0x61,0x73,\r
-  0x74,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,\r
-  0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x77,0x69,0x6c,0x6c,0x20,0x6f,0x63,0x63,0x75,\r
-  0x72,0x2e,0x20,0x41,0x20,0x30,0x20,0x76,0x61,0x6c,0x75,0x65,0x20,0x77,0x69,0x6c,\r
-  0x6c,0x20,0x64,0x69,0x73,0x61,0x62,0x6c,0x65,0x20,0x74,0x68,0x65,0x20,0x72,0x65,\r
-  0x66,0x72,0x65,0x73,0x68,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73,\r
+  0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x3c,\r
+  0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x61,0x6c,\r
+  0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,0x68,0x65,0x20,\r
+  0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x66,0x69,0x6c,0x65,\r
+  0x6e,0x61,0x6d,0x65,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x64,0x65,0x70,\r
+  0x65,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,\r
+  0x62,0x6c,0x79,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,0x30,0x30,\r
+  0x30,0x20,0x74,0x72,0x61,0x63,0x69,0x6e,0x67,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,\r
   0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,\r
-  0x67,0x3e,0x41,0x6c,0x6c,0x6f,0x77,0x20,0x77,0x72,0x69,0x74,0x65,0x73,0x20,0x74,\r
-  0x6f,0x20,0x63,0x61,0x72,0x74,0x64,0x72,0x69,0x64,0x67,0x65,0x20,0x52,0x4f,0x4d,\r
-  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x69,\r
-  0x73,0x20,0x74,0x68,0x65,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6c,0x6c,\r
-  0x6f,0x77,0x69,0x6e,0x67,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,0x68,0x65,\r
-  0x20,0x63,0x61,0x72,0x74,0x64,0x72,0x69,0x64,0x67,0x65,0x20,0x52,0x4f,0x4d,0x20,\r
-  0x77,0x72,0x69,0x74,0x69,0x6e,0x67,0x2e,0x20,0x49,0x66,0x20,0x61,0x6c,0x6c,0x6f,\r
-  0x77,0x65,0x64,0x2c,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x6f,0x72,0x20,0x77,0x6f,\r
-  0x6e,0x27,0x74,0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x65,0x72,0x65,0x20,0x62,0x75,\r
-  0x74,0x20,0x77,0x68,0x65,0x6e,0x20,0x74,0x75,0x72,0x6e,0x65,0x64,0x20,0x6f,0x66,\r
-  0x66,0x20,0x74,0x68,0x65,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x6f,0x72,0x20,0x77,\r
-  0x69,0x6c,0x6c,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x20,0x64,0x69,\r
-  0x61,0x6c,0x6f,0x67,0x20,0x62,0x6f,0x78,0x20,0x77,0x69,0x74,0x68,0x20,0x70,0x72,\r
-  0x6f,0x70,0x65,0x72,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,\r
-  0x2c,0x20,0x61,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x6f,0x69,0x6e,0x74,0x20,\r
-  0x75,0x73,0x65,0x72,0x20,0x63,0x61,0x6e,0x20,0x61,0x6c,0x6c,0x6f,0x77,0x20,0x74,\r
-  0x6f,0x20,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x20,0x6f,0x72,0x20,0x73,0x74,\r
-  0x6f,0x70,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x64,0x65,0x2e,0x3c,0x2f,0x70,0x3e,\r
-  0xd,0xa,0x3c,0x70,0x3e,0x41,0x6c,0x73,0x6f,0x2c,0x20,0x77,0x68,0x65,0x6e,0x20,\r
-  0x69,0x6e,0x20,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,\r
-  0x2c,0x26,0x6e,0x62,0x73,0x70,0x3b,0x65,0x78,0x74,0x72,0x61,0x20,0x74,0x6f,0x6f,\r
-  0x6c,0x62,0x61,0x72,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,\r
-  0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x20,0x28,0x61,0x6c,0x73,0x6f,0x20,0x66,\r
-  0x6f,0x75,0x6e,0x64,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x65,\r
-  0x78,0x74,0x72,0x61,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x44,0x65,0x62,0x75,\r
-  0x67,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x6d,0x65,0x6e,0x75,0x29,0x20,0x61,\r
-  0x6e,0x64,0x20,0x61,0x6c,0x73,0x6f,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,\r
-  0x74,0x68,0x65,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6d,0x6f,0x64,0x65,0x20,\r
-  0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x3a,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
-  0x75,0x6c,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x52,0x65,0x73,0x74,0x61,0x72,0x74,\r
-  0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,0x74,0x65,0x70,0x20,\r
-  0x49,0x6e,0x74,0x6f,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,\r
-  0x74,0x65,0x70,0x20,0x4f,0x76,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,\r
-  0x6c,0x69,0x3e,0x45,0x78,0x63,0x65,0x70,0x74,0x69,0x6f,0x6e,0x20,0x56,0x65,0x63,\r
-  0x74,0x6f,0x72,0x20,0x54,0x61,0x62,0x6c,0x65,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,\r
-  0x3c,0x6c,0x69,0x3e,0x41,0x6c,0x6c,0x20,0x57,0x61,0x74,0x63,0x68,0x3c,0x2f,0x6c,\r
-  0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4c,0x6f,0x63,0x61,0x6c,0x73,0x3c,0x2f,\r
-  0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x43,0x61,0x6c,0x6c,0x20,0x53,0x74,\r
-  0x61,0x63,0x6b,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x48,0x65,\r
-  0x61,0x70,0x20,0x41,0x6c,0x6c,0x6f,0x63,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,\r
-  0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x28,0x31,\r
-  0x2d,0x34,0x29,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,0x3e,0xd,\r
+  0x67,0x3e,0x45,0x4c,0x46,0x20,0x73,0x65,0x63,0x74,0x69,0x6f,0x6e,0x73,0x20,0x63,\r
+  0x68,0x65,0x63,0x6b,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,\r
+  0x73,0x70,0x3b,0x61,0x6c,0x6c,0x6f,0x77,0x73,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,\r
+  0x20,0x70,0x6f,0x74,0x65,0x6e,0x74,0x69,0x61,0x6c,0x20,0x75,0x6e,0x6b,0x6e,0x6f,\r
+  0x77,0x6e,0x20,0x45,0x4c,0x46,0x20,0x73,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2c,0x20,\r
+  0x69,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x73,0x74,0x6f,0x70,0x2c,0x20,0x6f,0x72,\r
+  0x20,0x6e,0x6f,0x74,0x20,0x73,0x74,0x6f,0x70,0x2c,0x20,0x74,0x68,0x65,0x20,0x73,\r
+  0x65,0x63,0x74,0x69,0x6f,0x6e,0x73,0x20,0x64,0x65,0x63,0x6f,0x64,0x69,0x6e,0x67,\r
+  0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x57,0x68,0x65,0x6e,0x20,0x73,\r
+  0x74,0x61,0x72,0x74,0x65,0x64,0x20,0x69,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,\r
+  0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x6f,0x72,0x20,0x69,0x6e,0x20,0x44,0x65,0x62,\r
+  0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x61,0x20,0x73,0x70,\r
+  0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x74,0x61,0x62,0x20,0x69,0x73,0x20,0x6d,0x61,\r
+  0x64,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x69,0x6e,0x20,\r
+  0x74,0x68,0x65,0x20,0x63,0x6f,0x6e,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6f,\r
+  0x6e,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x77,0x68,0x69,0x63,0x68,\r
+  0x20,0x67,0x69,0x76,0x65,0x73,0x20,0x79,0x6f,0x75,0x20,0x74,0x68,0x65,0x20,0x66,\r
+  0x6f,0x6c,0x6c,0x6f,0x77,0x69,0x6e,0x67,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73,\r
+  0x3a,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x75,0x6c,0x3e,0xd,0xa,0x3c,0x6c,0x69,\r
+  0x3e,0x52,0x4f,0x4d,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,0x3c,0x2f,0x6c,0x69,\r
+  0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x41,0x42,0x53,0x20,0x74,0x6f,0x20,0x6c,0x6f,\r
+  0x61,0x64,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x57,0x69,0x6e,\r
+  0x64,0x6f,0x77,0x73,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x3c,0x2f,0x6c,0x69,\r
+  0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x41,0x6c,0x6c,0x6f,0x77,0x20,0x77,0x72,0x69,\r
+  0x74,0x65,0x73,0x20,0x74,0x6f,0x20,0x63,0x61,0x72,0x74,0x64,0x72,0x69,0x64,0x67,\r
+  0x65,0x20,0x52,0x4f,0x4d,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,\r
+  0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x52,0x4f,\r
+  0x4d,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
+  0x67,0x3e,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x68,0x20,0x74,\r
+  0x6f,0x20,0x61,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x20,0x65,0x78,0x65,0x63,0x75,\r
+  0x74,0x61,0x62,0x6c,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x74,0x68,0x61,0x74,0x20,\r
+  0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,0x20,0x69,\r
+  0x6e,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x26,0x72,\r
+  0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,\r
+  0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x61,0x74,\r
+  0x20,0x24,0x38,0x30,0x30,0x30,0x30,0x30,0x20,0x28,0x41,0x6c,0x70,0x69,0x6e,0x65,\r
+  0x20,0x52,0x4f,0x4d,0x20,0x69,0x6d,0x61,0x67,0x65,0x73,0x20,0x77,0x69,0x6c,0x6c,\r
+  0x20,0x6c,0x6f,0x61,0x64,0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x32,0x30,0x30,0x30,\r
+  0x29,0x2e,0x20,0x41,0x73,0x20,0x61,0x20,0x63,0x6f,0x6e,0x76,0x65,0x6e,0x69,0x65,\r
+  0x6e,0x63,0x65,0x20,0x74,0x6f,0x20,0x63,0x6f,0x64,0x65,0x72,0x73,0x2c,0x20,0x74,\r
+  0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,\r
+  0x6f,0x66,0x20,0x61,0x6e,0x79,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x2c,0x20,0x61,\r
+  0x73,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x73,0x20,0x69,0x74,0x20,0x66,0x69,0x74,\r
+  0x73,0x20,0x69,0x6e,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x63,0x61,0x72,0x74,0x72,\r
+  0x69,0x64,0x67,0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,0x70,0x61,0x63,\r
+  0x65,0x20,0x28,0x61,0x20,0x66,0x69,0x6c,0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x69,\r
+  0x73,0x20,0x74,0x79,0x70,0x65,0x20,0x69,0x73,0x20,0x74,0x72,0x65,0x61,0x74,0x65,\r
+  0x64,0x20,0x61,0x73,0x20,0x61,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x52,\r
+  0x4f,0x4d,0x20,0x61,0x6e,0x64,0x20,0x69,0x73,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,\r
+  0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x32,0x30,0x30,0x30,0x29,0x2e,0x20,0x54,0x68,\r
+  0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x74,0x68,0x75,0x73,0x20,0x6c,0x6f,0x61,0x64,\r
+  0x65,0x64,0x20,0x69,0x6e,0x74,0x6f,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x77,\r
+  0x69,0x6c,0x6c,0x20,0x6e,0x6f,0x74,0x20,0x62,0x65,0x20,0x65,0x78,0x65,0x63,0x75,\r
+  0x74,0x65,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,\r
+  0x72,0x6f,0x6e,0x67,0x3e,0x41,0x42,0x53,0x20,0x74,0x6f,0x20,0x6c,0x6f,0x61,0x64,\r
+  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x69,0x73,0x20,0x74,0x68,0x65,\r
+  0x20,0x70,0x61,0x74,0x68,0x20,0x74,0x6f,0x20,0x61,0x20,0x4a,0x61,0x67,0x75,0x61,\r
+  0x72,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x61,0x62,0x6c,0x65,0x20,0x66,0x69,0x6c,\r
+  0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x6c,\r
+  0x6f,0x61,0x64,0x65,0x64,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x4a,0x61,0x67,\r
+  0x75,0x61,0x72,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x61,0x69,0x6e,\r
+  0x20,0x52,0x41,0x4d,0x2e,0x20,0x54,0x68,0x69,0x73,0x20,0x66,0x69,0x6c,0x65,0x20,\r
+  0x6d,0x75,0x73,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x76,0x61,0x6c,0x69,0x64,0x20,\r
+  0x68,0x65,0x61,0x64,0x65,0x72,0x73,0x2c,0x20,0x6f,0x74,0x68,0x65,0x72,0x77,0x69,\r
+  0x73,0x65,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,\r
+  0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x6f,0x6e,0x26,0x72,\r
+  0x73,0x71,0x75,0x6f,0x3b,0x74,0x20,0x62,0x65,0x20,0x61,0x62,0x6c,0x65,0x20,0x74,\r
+  0x6f,0x20,0x6c,0x6f,0x61,0x64,0x20,0x69,0x74,0x2e,0x20,0x41,0x73,0x73,0x75,0x6d,\r
+  0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x6c,0x65,0x20,0x65,0x78,0x69,\r
+  0x73,0x74,0x73,0x20,0x61,0x6e,0x64,0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,0x20,\r
+  0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x73,0x20,\r
+  0x69,0x6e,0x20,0x69,0x74,0x2c,0x20,0x69,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,\r
+  0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,0x20,0x61,0x6e,0x64,0x20,0x72,0x75,0x6e,\r
+  0x20,0x77,0x68,0x65,0x6e,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,\r
+  0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,\r
+  0x20,0x66,0x69,0x72,0x73,0x74,0x20,0x72,0x75,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,\r
+  0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x57,0x69,0x6e,0x64,\r
+  0x6f,0x77,0x73,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x3c,0x2f,0x73,0x74,0x72,\r
+  0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x69,0x73,0x20,0x74,0x68,0x65,\r
+  0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,0x65,0x20,0x66,0x6f,\r
+  0x72,0x20,0x6f,0x70,0x65,0x6e,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x73,0x2e,0x20,\r
+  0x54,0x68,0x65,0x20,0x73,0x6d,0x61,0x6c,0x6c,0x65,0x72,0x20,0x74,0x68,0x65,0x20,\r
+  0x72,0x61,0x74,0x65,0x2c,0x20,0x74,0x68,0x65,0x20,0x66,0x61,0x73,0x74,0x65,0x72,\r
+  0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x77,0x69,0x6e,\r
+  0x64,0x6f,0x77,0x20,0x77,0x69,0x6c,0x6c,0x20,0x6f,0x63,0x63,0x75,0x72,0x2e,0x20,\r
+  0x41,0x20,0x30,0x20,0x76,0x61,0x6c,0x75,0x65,0x20,0x77,0x69,0x6c,0x6c,0x20,0x64,\r
+  0x69,0x73,0x61,0x62,0x6c,0x65,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x66,0x72,0x65,\r
+  0x73,0x68,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x3c,0x2f,\r
+  0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x41,\r
+  0x6c,0x6c,0x6f,0x77,0x20,0x77,0x72,0x69,0x74,0x65,0x73,0x20,0x74,0x6f,0x20,0x63,\r
+  0x61,0x72,0x74,0x64,0x72,0x69,0x64,0x67,0x65,0x20,0x52,0x4f,0x4d,0x3c,0x2f,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x69,0x73,0x20,0x74,\r
+  0x68,0x65,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x20,0x61,0x6c,0x6c,0x6f,0x77,0x69,\r
+  0x6e,0x67,0x20,0x6f,0x72,0x20,0x6e,0x6f,0x74,0x20,0x74,0x68,0x65,0x20,0x63,0x61,\r
+  0x72,0x74,0x64,0x72,0x69,0x64,0x67,0x65,0x20,0x52,0x4f,0x4d,0x20,0x77,0x72,0x69,\r
+  0x74,0x69,0x6e,0x67,0x2e,0x20,0x49,0x66,0x20,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,\r
+  0x2c,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x6f,0x72,0x20,0x77,0x6f,0x6e,0x27,0x74,\r
+  0x20,0x69,0x6e,0x74,0x65,0x72,0x66,0x65,0x72,0x65,0x20,0x62,0x75,0x74,0x20,0x77,\r
+  0x68,0x65,0x6e,0x20,0x74,0x75,0x72,0x6e,0x65,0x64,0x20,0x6f,0x66,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x6f,0x72,0x20,0x77,0x69,0x6c,0x6c,\r
+  0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x20,0x64,0x69,0x61,0x6c,0x6f,\r
+  0x67,0x20,0x62,0x6f,0x78,0x20,0x77,0x69,0x74,0x68,0x20,0x70,0x72,0x6f,0x70,0x65,\r
+  0x72,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,\r
+  0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x6f,0x69,0x6e,0x74,0x20,0x75,0x73,0x65,\r
+  0x72,0x20,0x63,0x61,0x6e,0x20,0x61,0x6c,0x6c,0x6f,0x77,0x20,0x74,0x6f,0x20,0x63,\r
+  0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x20,0x6f,0x72,0x20,0x73,0x74,0x6f,0x70,0x20,\r
+  0x74,0x68,0x65,0x20,0x63,0x6f,0x64,0x65,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
+  0x70,0x3e,0x41,0x6c,0x73,0x6f,0x2c,0x20,0x77,0x68,0x65,0x6e,0x20,0x69,0x6e,0x20,\r
+  0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x26,0x6e,\r
+  0x62,0x73,0x70,0x3b,0x65,0x78,0x74,0x72,0x61,0x20,0x74,0x6f,0x6f,0x6c,0x62,0x61,\r
+  0x72,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,0x20,0x64,0x65,\r
+  0x66,0x69,0x6e,0x65,0x64,0x20,0x28,0x61,0x6c,0x73,0x6f,0x20,0x66,0x6f,0x75,0x6e,\r
+  0x64,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x65,0x78,0x74,0x72,\r
+  0x61,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x44,0x65,0x62,0x75,0x67,0x26,0x72,\r
+  0x64,0x71,0x75,0x6f,0x3b,0x20,0x6d,0x65,0x6e,0x75,0x29,0x20,0x61,0x6e,0x64,0x20,\r
+  0x61,0x6c,0x73,0x6f,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x20,0x74,0x68,0x65,\r
+  0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6d,0x6f,0x64,0x65,0x20,0x66,0x65,0x61,\r
+  0x74,0x75,0x72,0x65,0x73,0x3a,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x75,0x6c,0x3e,\r
+  0xd,0xa,0x3c,0x6c,0x69,0x3e,0x52,0x65,0x73,0x74,0x61,0x72,0x74,0x3c,0x2f,0x6c,\r
+  0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,0x74,0x65,0x70,0x20,0x49,0x6e,0x74,\r
+  0x6f,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,0x74,0x65,0x70,\r
+  0x20,0x4f,0x76,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,\r
+  0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3c,0x2f,0x6c,0x69,0x3e,\r
+  0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4e,0x65,0x77,0x20,0x46,0x75,0x6e,0x63,0x74,0x69,\r
+  0x6f,0x6e,0x20,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x3c,0x2f,0x6c,\r
+  0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x44,0x65,0x6c,0x65,0x74,0x65,0x20,0x41,\r
+  0x6c,0x6c,0x20,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3c,0x2f,\r
+  0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x44,0x69,0x73,0x61,0x62,0x6c,0x65,\r
+  0x20,0x41,0x6c,0x6c,0x20,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,\r
+  0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x45,0x78,0x63,0x65,0x70,\r
+  0x74,0x69,0x6f,0x6e,0x20,0x56,0x65,0x63,0x74,0x6f,0x72,0x20,0x54,0x61,0x62,0x6c,\r
+  0x65,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x41,0x6c,0x6c,0x20,\r
+  0x57,0x61,0x74,0x63,0x68,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,\r
+  0x4c,0x6f,0x63,0x61,0x6c,0x73,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,\r
+  0x3e,0x43,0x61,0x6c,0x6c,0x20,0x53,0x74,0x61,0x63,0x6b,0x3c,0x2f,0x6c,0x69,0x3e,\r
+  0xd,0xa,0x3c,0x6c,0x69,0x3e,0x48,0x65,0x61,0x70,0x20,0x41,0x6c,0x6c,0x6f,0x63,\r
+  0x61,0x74,0x6f,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4d,\r
+  0x65,0x6d,0x6f,0x72,0x79,0x20,0x28,0x31,0x2d,0x34,0x29,0x3c,0x2f,0x6c,0x69,0x3e,\r
+  0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,0x61,0x76,0x65,0x20,0x44,0x75,0x6d,0x70,0x20,\r
+  0x41,0x73,0x2e,0x2e,0x2e,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,\r
+  0x43,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x20,0x64,0x69,0x72,0x65,0x63,0x74,\r
+  0x6f,0x72,0x79,0x20,0x61,0x6e,0x64,0x20,0x66,0x69,0x6c,0x65,0x73,0x20,0x6c,0x69,\r
+  0x73,0x74,0x2e,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,0x3e,0xd,\r
   0xa,0x3c,0x68,0x33,0x3e,0x52,0x65,0x73,0x74,0x61,0x72,0x74,0x3c,0x2f,0x68,0x33,\r
   0x3e,0xd,0xa,0x3c,0x70,0x3e,0x52,0x65,0x73,0x74,0x61,0x72,0x74,0x20,0x4d,0x36,\r
   0x38,0x30,0x30,0x30,0x20,0x63,0x6f,0x64,0x65,0x20,0x28,0x50,0x43,0x29,0x20,0x61,\r
@@ -74158,59 +74498,208 @@ static const unsigned char qt_resource_data[] = {
   0x65,0x72,0x77,0x69,0x73,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x66,0x65,0x61,0x74,\r
   0x75,0x72,0x65,0x20,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x73,0x20,0x6c,0x69,\r
   0x6b,0x65,0x20,0x61,0x20,0x53,0x74,0x65,0x70,0x20,0x49,0x6e,0x74,0x6f,0x2e,0x3c,\r
-  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x45,0x78,0x63,0x65,0x70,0x74,0x69,\r
-  0x6f,0x6e,0x20,0x56,0x65,0x63,0x74,0x6f,0x72,0x20,0x54,0x61,0x62,0x6c,0x65,0x3c,\r
-  0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,\r
-  0x20,0x61,0x20,0x70,0x61,0x72,0x74,0x69,0x61,0x6c,0x20,0x74,0x61,0x62,0x6c,0x65,\r
-  0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x65,\r
-  0x78,0x63,0x65,0x70,0x74,0x69,0x6f,0x6e,0x20,0x76,0x65,0x63,0x74,0x6f,0x72,0x73,\r
-  0x20,0x61,0x73,0x20,0x72,0x65,0x70,0x6f,0x72,0x74,0x65,0x64,0x20,0x62,0x79,0x20,\r
-  0x4d,0x6f,0x74,0x6f,0x72,0x6f,0x6c,0x61,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
-  0x68,0x33,0x3e,0x41,0x6c,0x6c,0x20,0x57,0x61,0x74,0x63,0x68,0x3c,0x2f,0x68,0x33,\r
-  0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x6c,\r
-  0x6c,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,\r
-  0x65,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x4a,\r
-  0x61,0x67,0x75,0x61,0x72,0x20,0x63,0x6f,0x64,0x65,0x2e,0x20,0x49,0x74,0x20,0x75,\r
-  0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,\r
-  0x65,0x20,0x44,0x57,0x41,0x52,0x46,0x20,0x64,0x65,0x62,0x75,0x67,0x20,0x69,0x6e,\r
-  0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,\r
-  0x3c,0x68,0x33,0x3e,0x4c,0x6f,0x63,0x61,0x6c,0x73,0x3c,0x2f,0x68,0x33,0x3e,0xd,\r
-  0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x74,0x68,0x65,0x20,\r
-  0x6c,0x6f,0x63,0x61,0x6c,0x20,0x76,0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x73,0x20,\r
-  0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x72,0x61,0x63,0x65,0x64,0x20,0x4d,0x36,\r
-  0x38,0x30,0x30,0x30,0x20,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x26,0x6e,\r
-  0x62,0x73,0x70,0x3b,0x49,0x74,0x20,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,\r
-  0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x44,0x57,0x41,0x52,0x46,0x20,\r
-  0x64,0x65,0x62,0x75,0x67,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,\r
-  0x6e,0x2c,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,0x41,0x36,0x20,0x72,0x65,\r
-  0x67,0x69,0x73,0x74,0x65,0x72,0x20,0x74,0x6f,0x20,0x70,0x6f,0x69,0x6e,0x74,0x20,\r
-  0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x61,0x63,0x6b,0x2e,0x3c,0x2f,0x70,\r
-  0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x43,0x61,0x6c,0x6c,0x20,0x53,0x74,0x61,0x63,\r
-  0x6b,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,\r
-  0x61,0x79,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x63,0x61,\r
-  0x6c,0x6c,0x20,0x73,0x74,0x61,0x63,0x6b,0x20,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,\r
-  0x6e,0x73,0x2e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x49,0x74,0x20,0x75,0x73,0x65,0x73,\r
-  0x20,0x74,0x68,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x44,\r
-  0x57,0x41,0x52,0x46,0x20,0x64,0x65,0x62,0x75,0x67,0x20,0x69,0x6e,0x66,0x6f,0x72,\r
-  0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x20,\r
-  0x41,0x36,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x20,0x74,0x6f,0x20,0x70,\r
-  0x6f,0x69,0x6e,0x74,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x61,0x63,\r
-  0x6b,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x48,0x65,0x61,0x70,\r
-  0x20,0x41,0x6c,0x6c,0x6f,0x63,0x61,0x74,0x6f,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,\r
-  0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x74,0x68,0x65,0x20,\r
-  0x73,0x74,0x61,0x74,0x75,0x73,0x20,0x6f,0x66,0x20,0x61,0x6c,0x6c,0x20,0x6d,0x65,\r
-  0x6d,0x6f,0x72,0x79,0x20,0x61,0x6c,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,\r
-  0x2e,0x20,0x49,0x74,0x20,0x75,0x73,0x65,0x73,0x20,0x61,0x20,0x73,0x70,0x65,0x63,\r
-  0x69,0x66,0x69,0x63,0x20,0x73,0x74,0x72,0x75,0x63,0x74,0x75,0x72,0x65,0x20,0x6d,\r
-  0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x6c,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,\r
-  0x2c,0x20,0x69,0x66,0x20,0x73,0x75,0x63,0x68,0x20,0x73,0x74,0x72,0x75,0x63,0x74,\r
-  0x75,0x72,0x65,0x20,0x69,0x73,0x20,0x6e,0x6f,0x74,0x20,0x66,0x6f,0x75,0x6e,0x64,\r
-  0x20,0x74,0x68,0x65,0x6e,0x20,0x6e,0x6f,0x74,0x68,0x69,0x6e,0x67,0x20,0x77,0x69,\r
-  0x6c,0x6c,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x65,0x64,0x2e,\r
-  0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4d,0x65,0x6d,0x6f,0x72,0x79,\r
-  0x20,0x28,0x31,0x2d,0x34,0x29,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
-  0x54,0x68,0x69,0x73,0x20,0x34,0x20,0x69,0x6e,0x64,0x65,0x70,0x65,0x6e,0x64,0x65,\r
-  0x6e,0x74,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x6c,0x65,0x74,0x73,0x20,\r
+  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,\r
+  0x69,0x6e,0x74,0x73,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x4c,0x69,\r
+  0x73,0x74,0x20,0x74,0x68,0x65,0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,\r
+  0x74,0x73,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x73,0x74,0x61,\r
+  0x74,0x75,0x73,0x2e,0x20,0x54,0x68,0x65,0x20,0x66,0x69,0x72,0x73,0x74,0x20,0x62,\r
+  0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x20,0x72,0x65,0x70,0x72,0x65,0x73,\r
+  0x65,0x6e,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,\r
+  0x69,0x6e,0x74,0x20,0x73,0x65,0x74,0x20,0x76,0x69,0x61,0x20,0x74,0x68,0x65,0x20,\r
+  0x43,0x50,0x55,0x20,0x62,0x72,0x6f,0x77,0x73,0x65,0x72,0x2c,0x20,0x61,0x6c,0x73,\r
+  0x6f,0x20,0x6e,0x61,0x6d,0x65,0x64,0x20,0x61,0x73,0x20,0x42,0x50,0x4d,0x2e,0x3c,\r
+  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4e,0x65,0x77,0x20,0x46,0x75,0x6e,\r
+  0x63,0x74,0x69,0x6f,0x6e,0x20,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,\r
+  0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x41,0x64,0x64,0x20,0x62,0x72,\r
+  0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x20,0x74,0x6f,0x20,0x61,0x20,0x66,0x75,\r
+  0x6e,0x63,0x74,0x69,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,\r
+  0x3e,0x44,0x65,0x6c,0x65,0x74,0x65,0x20,0x41,0x6c,0x6c,0x20,0x42,0x72,0x65,0x61,\r
+  0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,\r
+  0x3e,0x44,0x65,0x6c,0x65,0x74,0x65,0x20,0x61,0x6c,0x6c,0x20,0x62,0x72,0x65,0x61,\r
+  0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x2c,0x20,0x61,0x6c,0x73,0x6f,0x20,0x72,0x65,\r
+  0x73,0x65,0x74,0x20,0x74,0x68,0x65,0x20,0x42,0x50,0x4d,0x2e,0x3c,0x2f,0x70,0x3e,\r
+  0xd,0xa,0x3c,0x68,0x33,0x3e,0x44,0x69,0x73,0x61,0x62,0x6c,0x65,0x20,0x41,0x6c,\r
+  0x6c,0x20,0x42,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x3c,0x2f,0x68,\r
+  0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x61,0x62,0x6c,0x65,0x20,0x61,\r
+  0x6c,0x6c,0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x2c,0x20,\r
+  0x61,0x6e,0x64,0x20,0x61,0x6c,0x73,0x6f,0x20,0x64,0x69,0x73,0x61,0x62,0x6c,0x65,\r
+  0x20,0x42,0x50,0x4d,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x45,\r
+  0x78,0x63,0x65,0x70,0x74,0x69,0x6f,0x6e,0x20,0x56,0x65,0x63,0x74,0x6f,0x72,0x20,\r
+  0x54,0x61,0x62,0x6c,0x65,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,\r
+  0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x20,0x70,0x61,0x72,0x74,0x69,0x61,0x6c,\r
+  0x20,0x74,0x61,0x62,0x6c,0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,\r
+  0x38,0x30,0x30,0x30,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x69,0x6f,0x6e,0x20,0x76,\r
+  0x65,0x63,0x74,0x6f,0x72,0x73,0x20,0x61,0x73,0x20,0x72,0x65,0x70,0x6f,0x72,0x74,\r
+  0x65,0x64,0x20,0x62,0x79,0x20,0x4d,0x6f,0x74,0x6f,0x72,0x6f,0x6c,0x61,0x2e,0x3c,\r
+  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x41,0x6c,0x6c,0x20,0x57,0x61,0x74,\r
+  0x63,0x68,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,\r
+  0x6c,0x61,0x79,0x20,0x61,0x6c,0x6c,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,\r
+  0x61,0x72,0x69,0x61,0x62,0x6c,0x65,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x62,0x79,\r
+  0x20,0x74,0x68,0x65,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x20,0x63,0x6f,0x64,0x65,\r
+  0x2e,0x20,0x49,0x74,0x20,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x61,0x76,\r
+  0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x44,0x57,0x41,0x52,0x46,0x20,0x64,0x65,\r
+  0x62,0x75,0x67,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2e,\r
+  0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4c,0x6f,0x63,0x61,0x6c,0x73,\r
+  0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,\r
+  0x79,0x20,0x74,0x68,0x65,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x76,0x61,0x72,0x69,\r
+  0x61,0x62,0x6c,0x65,0x73,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x72,0x61,\r
+  0x63,0x65,0x64,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x66,0x75,0x6e,0x63,0x74,\r
+  0x69,0x6f,0x6e,0x2e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x49,0x74,0x20,0x75,0x73,0x65,\r
+  0x73,0x20,0x74,0x68,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,\r
+  0x44,0x57,0x41,0x52,0x46,0x20,0x64,0x65,0x62,0x75,0x67,0x20,0x69,0x6e,0x66,0x6f,\r
+  0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65,\r
+  0x20,0x41,0x36,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x20,0x74,0x6f,0x20,\r
+  0x70,0x6f,0x69,0x6e,0x74,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x61,\r
+  0x63,0x6b,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x43,0x61,0x6c,\r
+  0x6c,0x20,0x53,0x74,0x61,0x63,0x6b,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,\r
+  0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,\r
+  0x30,0x30,0x30,0x20,0x63,0x61,0x6c,0x6c,0x20,0x73,0x74,0x61,0x63,0x6b,0x20,0x66,\r
+  0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x26,0x6e,0x62,0x73,0x70,0x3b,0x49,\r
+  0x74,0x20,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x61,0x76,0x61,0x69,0x6c,\r
+  0x61,0x62,0x6c,0x65,0x20,0x44,0x57,0x41,0x52,0x46,0x20,0x64,0x65,0x62,0x75,0x67,\r
+  0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x61,0x6e,\r
+  0x64,0x20,0x74,0x68,0x65,0x20,0x41,0x36,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,\r
+  0x72,0x20,0x74,0x6f,0x20,0x70,0x6f,0x69,0x6e,0x74,0x20,0x6f,0x6e,0x20,0x74,0x68,\r
+  0x65,0x20,0x73,0x74,0x61,0x63,0x6b,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,\r
+  0x33,0x3e,0x48,0x65,0x61,0x70,0x20,0x41,0x6c,0x6c,0x6f,0x63,0x61,0x74,0x6f,0x72,\r
+  0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x44,0x69,0x73,0x70,0x6c,0x61,\r
+  0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x61,0x74,0x75,0x73,0x20,0x6f,0x66,0x20,\r
+  0x61,0x6c,0x6c,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x6c,0x6c,0x6f,0x63,\r
+  0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e,0x20,0x49,0x74,0x20,0x75,0x73,0x65,0x73,0x20,\r
+  0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x73,0x74,0x72,0x75,0x63,\r
+  0x74,0x75,0x72,0x65,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x61,0x6c,0x6c,0x6f,\r
+  0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x69,0x66,0x20,0x73,0x75,0x63,0x68,0x20,\r
+  0x73,0x74,0x72,0x75,0x63,0x74,0x75,0x72,0x65,0x20,0x69,0x73,0x20,0x6e,0x6f,0x74,\r
+  0x20,0x66,0x6f,0x75,0x6e,0x64,0x20,0x74,0x68,0x65,0x6e,0x20,0x6e,0x6f,0x74,0x68,\r
+  0x69,0x6e,0x67,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x70,\r
+  0x6c,0x61,0x79,0x65,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,\r
+  0x4d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x28,0x31,0x2d,0x34,0x29,0x3c,0x2f,0x68,0x33,\r
+  0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x34,0x20,0x69,0x6e,0x64,\r
+  0x65,0x70,0x65,0x6e,0x64,0x65,0x6e,0x74,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x73,\r
+  0x20,0x6c,0x65,0x74,0x73,0x20,0x79,0x6f,0x75,0x20,0x69,0x6e,0x73,0x70,0x65,0x63,\r
+  0x74,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,\r
+  0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,\r
+  0x73,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x65,0x64,0x20,0x6d,0x65,0x6d,0x6f,0x72,\r
+  0x79,0x20,0x73,0x70,0x61,0x63,0x65,0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,0x73,0x74,\r
+  0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,0x44,0x6e,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
+  0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,0x6c,0x20,0x61,0x64,0x76,0x61,\r
+  0x6e,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,0x70,0x20,0x6f,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,\r
+  0x73,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,\r
+  0x6e,0x20,0x62,0x79,0x20,0x34,0x38,0x30,0x20,0x62,0x79,0x74,0x65,0x73,0x2c,0x20,\r
+  0x61,0x6e,0x64,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,0x55,0x70,\r
+  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,\r
+  0x6f,0x20,0x62,0x61,0x63,0x6b,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,\r
+  0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,\r
+  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x6c,0x75,0x73,0x20,0x28,0x2b,0x29,0x3c,\r
+  0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,\r
+  0x6c,0x20,0x61,0x64,0x76,0x61,0x6e,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,\r
+  0x70,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,\r
+  0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,\r
+  0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x62,0x79,0x20,0x31,0x36,0x20,0x62,0x79,\r
+  0x74,0x65,0x73,0x2c,0x20,0x61,0x6e,0x64,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
+  0x3e,0x4d,0x69,0x6e,0x75,0x73,0x20,0x28,0x2d,0x29,0x3c,0x2f,0x73,0x74,0x72,0x6f,\r
+  0x6e,0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,0x6f,0x20,0x62,0x61,0x63,0x6b,\r
+  0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,\r
+  0x75,0x6e,0x74,0x2e,0x20,0x45,0x6e,0x74,0x65,0x72,0x69,0x6e,0x67,0x20,0x61,0x20,\r
+  0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,\r
+  0x20,0x69,0x6e,0x20,0x68,0x65,0x78,0x61,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,\r
+  0x20,0x6c,0x61,0x62,0x65,0x6c,0x20,0x6f,0x72,0x20,0x64,0x65,0x63,0x69,0x6d,0x61,\r
+  0x6c,0x2c,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x65,0x64,0x69,0x74,0x20,0x66,\r
+  0x69,0x65,0x6c,0x64,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,\r
+  0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x47,0x6f,\r
+  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,\r
+  0x20,0x77,0x69,0x6c,0x6c,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x6d,0x65,\r
+  0x6d,0x6f,0x72,0x79,0x20,0x66,0x72,0x6f,0x6d,0x20,0x74,0x68,0x61,0x74,0x20,0x6c,\r
+  0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,\r
+  0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,\r
+  0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,\r
+  0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,\r
+  0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,\r
+  0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,\r
+  0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,\r
+  0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,\r
+  0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,\r
+  0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,\r
+  0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x53,0x61,0x76,0x65,0x20,0x44,\r
+  0x75,0x6d,0x70,0x20,0x41,0x73,0x2e,0x2e,0x2e,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,\r
+  0x3c,0x70,0x3e,0x53,0x61,0x76,0x65,0x20,0x61,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,\r
+  0x20,0x70,0x6f,0x72,0x74,0x69,0x6f,0x6e,0x20,0x74,0x6f,0x20,0x61,0x20,0x66,0x69,\r
+  0x6c,0x65,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x43,0x61,0x72,\r
+  0x74,0x72,0x69,0x64,0x67,0x65,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,\r
+  0x20,0x61,0x6e,0x64,0x20,0x66,0x69,0x6c,0x65,0x73,0x20,0x6c,0x69,0x73,0x74,0x3c,\r
+  0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x4c,0x69,0x73,0x74,0x20,0x74,0x68,\r
+  0x65,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x27,0x73,0x20,0x64,0x69,\r
+  0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x20,0x61,0x6e,0x64,0x20,0x66,0x69,0x6c,0x65,\r
+  0x73,0x3b,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x6f,0x6e,0x6c,\r
+  0x79,0x20,0x69,0x66,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x73,0x74,\r
+  0x72,0x75,0x63,0x74,0x75,0x72,0x65,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x2e,\r
+  0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x3c,0x65,0x6d,0x3e,0x4d,0x61,\r
+  0x69,0x6e,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x3c,0x2f,0x65,0x6d,0x3e,0x3c,0x2f,\r
+  0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x49,0x6e,0x20,0x74,0x68,0x65,0x20,0x64,\r
+  0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x74,0x68,\r
+  0x65,0x20,0x6d,0x61,0x69,0x6e,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x64,0x6f,\r
+  0x65,0x73,0x6e,0x27,0x74,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x6e,\r
+  0x79,0x6d,0x6f,0x72,0x65,0x20,0x74,0x68,0x65,0x20,0x76,0x69,0x64,0x65,0x6f,0x20,\r
+  0x6f,0x75,0x74,0x70,0x75,0x74,0x3b,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x72,0x65,\r
+  0x70,0x6c,0x61,0x63,0x65,0x64,0x20,0x62,0x79,0x20,0x61,0x20,0x73,0x6f,0x75,0x72,\r
+  0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x66,0x69,0x6c,0x65,0x73,0x20,0x76,0x69,\r
+  0x65,0x77,0x65,0x72,0x20,0x61,0x6e,0x64,0x20,0x61,0x20,0x64,0x69,0x73,0x61,0x73,\r
+  0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x6d,0x61,\r
+  0x64,0x65,0x20,0x6f,0x66,0x20,0x74,0x61,0x62,0x73,0x20,0x74,0x6f,0x20,0x61,0x6c,\r
+  0x6c,0x6f,0x77,0x20,0x74,0x72,0x61,0x63,0x69,0x6e,0x67,0x20,0x2f,0x20,0x64,0x69,\r
+  0x73,0x70,0x6c,0x61,0x79,0x20,0x6f,0x66,0x20,0x63,0x6f,0x64,0x65,0x2e,0x3c,0x2f,\r
+  0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x53,\r
+  0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x66,0x69,0x6c,0x65,0x73,\r
+  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
+  0x70,0x3e,0x49,0x74,0x20,0x69,0x73,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,\r
+  0x65,0x20,0x66,0x6f,0x72,0x20,0x63,0x6f,0x6e,0x76,0x65,0x6e,0x69,0x65,0x6e,0x63,\r
+  0x65,0x20,0x72,0x65,0x61,0x73,0x6f,0x6e,0x3b,0x20,0x69,0x74,0x20,0x64,0x69,0x73,\r
+  0x70,0x6c,0x61,0x79,0x20,0x61,0x6c,0x6c,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x6c,\r
+  0x65,0x6e,0x61,0x6d,0x65,0x73,0x20,0x66,0x6f,0x75,0x6e,0x64,0x20,0x69,0x6e,0x20,\r
+  0x74,0x68,0x65,0x20,0x44,0x57,0x41,0x52,0x46,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,\r
+  0x61,0x74,0x69,0x6f,0x6e,0x2e,0x20,0x49,0x74,0x20,0x69,0x73,0x20,0x74,0x75,0x72,\r
+  0x6e,0x65,0x64,0x20,0x6f,0x66,0x66,0x20,0x62,0x79,0x20,0x64,0x65,0x66,0x61,0x75,\r
+  0x6c,0x74,0x20,0x62,0x75,0x74,0x20,0x75,0x73,0x65,0x72,0x20,0x63,0x61,0x6e,0x20,\r
+  0x74,0x75,0x72,0x6e,0x20,0x69,0x74,0x20,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,\r
+  0xa,0x3c,0x70,0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x61,\r
+  0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x74,0x61,0x62,0x73,0x3c,0x2f,0x73,0x74,\r
+  0x72,0x6f,0x6e,0x67,0x3e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,\r
+  0x65,0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x33,0x20,0x74,0x61,0x62,0x73,0x2c,0x20,\r
+  0x65,0x61,0x63,0x68,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x6d,0x20,0x69,0x73,0x20,\r
+  0x64,0x65,0x64,0x69,0x63,0x61,0x74,0x65,0x64,0x20,0x74,0x6f,0x20,0x61,0x20,0x73,\r
+  0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,\r
+  0x72,0x20,0x28,0x4d,0x36,0x38,0x30,0x30,0x30,0x2c,0x20,0x47,0x50,0x55,0x2c,0x20,\r
+  0x61,0x6e,0x64,0x20,0x44,0x53,0x50,0x29,0x2e,0x20,0x43,0x75,0x72,0x72,0x65,0x6e,\r
+  0x74,0x6c,0x79,0x2c,0x20,0x6f,0x6e,0x6c,0x79,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,\r
+  0x38,0x30,0x30,0x30,0x20,0x69,0x73,0x20,0x74,0x72,0x61,0x63,0x61,0x62,0x6c,0x65,\r
+  0x2c,0x20,0x6f,0x74,0x68,0x65,0x72,0x73,0x20,0x32,0x20,0x64,0x69,0x73,0x70,0x6c,\r
+  0x61,0x79,0x20,0x6f,0x6e,0x6c,0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x64,0x65,\r
+  0x20,0x70,0x6f,0x69,0x6e,0x74,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x69,\r
+  0x72,0x20,0x72,0x65,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x20,0x70,0x72,0x6f,\r
+  0x67,0x72,0x61,0x6d,0x20,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x20,0x28,0x50,0x43,\r
+  0x29,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x41,0x6c,0x73,0x6f,0x2c,\r
+  0x20,0x77,0x68,0x65,0x6e,0x20,0x69,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,\r
+  0x6d,0x6f,0x64,0x65,0x2c,0x20,0x65,0x78,0x74,0x72,0x61,0x20,0x74,0x6f,0x6f,0x6c,\r
+  0x62,0x61,0x72,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,0x20,\r
+  0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x20,0x28,0x61,0x6c,0x73,0x6f,0x20,0x66,0x6f,\r
+  0x75,0x6e,0x64,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x65,0x78,\r
+  0x74,0x72,0x61,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x44,0x65,0x62,0x75,0x67,\r
+  0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x6d,0x65,0x6e,0x75,0x29,0x3a,0x3c,0x2f,\r
+  0x70,0x3e,0xd,0xa,0x3c,0x75,0x6c,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4d,0x65,\r
+  0x6d,0x6f,0x72,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,\r
+  0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x53,0x74,0x61,0x63,0x6b,0x20,0x42,0x72,0x6f,\r
+  0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x43,\r
+  0x50,0x55,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,\r
+  0xa,0x3c,0x6c,0x69,0x3e,0x4f,0x50,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,\r
+  0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4d,0x36,0x38,0x4b,0x20,0x44,\r
+  0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,\r
+  0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x52,0x49,0x53,\r
+  0x43,0x20,0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,\r
+  0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,\r
+  0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x42,0x72,\r
+  0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,\r
+  0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x6c,0x65,0x74,0x73,0x20,\r
   0x79,0x6f,0x75,0x20,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x20,0x3c,0x65,0x6d,0x3e,\r
   0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,\r
   0x65,0x6d,0x3e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x65,0x6d,0x75,0x6c,\r
@@ -74238,124 +74727,82 @@ static const unsigned char qt_resource_data[] = {
   0x65,0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x45,\r
   0x6e,0x74,0x65,0x72,0x69,0x6e,0x67,0x20,0x61,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,\r
   0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x69,0x6e,0x20,0x68,0x65,\r
-  0x78,0x61,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,0x20,0x6c,0x61,0x62,0x65,0x6c,\r
-  0x20,0x6f,0x72,0x20,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,0x20,0x69,0x6e,0x20,\r
-  0x74,0x68,0x65,0x20,0x65,0x64,0x69,0x74,0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x61,\r
-  0x6e,0x64,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,\r
-  0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x47,0x6f,0x3c,0x2f,0x73,0x74,0x72,0x6f,\r
-  0x6e,0x67,0x3e,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x20,0x77,0x69,0x6c,0x6c,0x20,\r
-  0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x66,\r
-  0x72,0x6f,0x6d,0x20,0x74,0x68,0x61,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,\r
-  0x6e,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,\r
-  0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,\r
-  0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,\r
-  0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,\r
-  0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,\r
-  0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,\r
-  0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,\r
-  0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,\r
-  0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,\r
-  0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,\r
-  0x3c,0x68,0x33,0x3e,0x3c,0x65,0x6d,0x3e,0x4d,0x61,0x69,0x6e,0x20,0x77,0x69,0x6e,\r
-  0x64,0x6f,0x77,0x3c,0x2f,0x65,0x6d,0x3e,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,\r
-  0x70,0x3e,0x49,0x6e,0x20,0x74,0x68,0x65,0x20,0x64,0x65,0x62,0x75,0x67,0x67,0x65,\r
-  0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x74,0x68,0x65,0x20,0x6d,0x61,0x69,0x6e,\r
-  0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x64,0x6f,0x65,0x73,0x6e,0x27,0x74,0x20,\r
-  0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,0x6e,0x79,0x6d,0x6f,0x72,0x65,0x20,\r
-  0x74,0x68,0x65,0x20,0x76,0x69,0x64,0x65,0x6f,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,\r
-  0x3b,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x72,0x65,0x70,0x6c,0x61,0x63,0x65,0x64,\r
-  0x20,0x62,0x79,0x20,0x61,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,\r
-  0x65,0x20,0x66,0x69,0x6c,0x65,0x73,0x20,0x76,0x69,0x65,0x77,0x65,0x72,0x20,0x61,\r
-  0x6e,0x64,0x20,0x61,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,\r
-  0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x6d,0x61,0x64,0x65,0x20,0x6f,0x66,0x20,\r
-  0x74,0x61,0x62,0x73,0x20,0x74,0x6f,0x20,0x61,0x6c,0x6c,0x6f,0x77,0x20,0x74,0x72,\r
-  0x61,0x63,0x69,0x6e,0x67,0x20,0x2f,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,\r
-  0x6f,0x66,0x20,0x63,0x6f,0x64,0x65,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,\r
-  0x3e,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x53,0x6f,0x75,0x72,0x63,0x65,0x20,\r
-  0x63,0x6f,0x64,0x65,0x20,0x66,0x69,0x6c,0x65,0x73,0x3c,0x2f,0x73,0x74,0x72,0x6f,\r
-  0x6e,0x67,0x3e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x49,0x74,0x20,0x69,\r
-  0x73,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,\r
-  0x63,0x6f,0x6e,0x76,0x65,0x6e,0x69,0x65,0x6e,0x63,0x65,0x20,0x72,0x65,0x61,0x73,\r
-  0x6f,0x6e,0x3b,0x20,0x69,0x74,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x61,\r
-  0x6c,0x6c,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x73,\r
-  0x20,0x66,0x6f,0x75,0x6e,0x64,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x44,0x57,\r
-  0x41,0x52,0x46,0x20,0x69,0x6e,0x66,0x6f,0x72,0x6d,0x61,0x74,0x69,0x6f,0x6e,0x2e,\r
-  0x20,0x49,0x74,0x20,0x69,0x73,0x20,0x74,0x75,0x72,0x6e,0x65,0x64,0x20,0x6f,0x66,\r
-  0x66,0x20,0x62,0x79,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x62,0x75,0x74,\r
-  0x20,0x75,0x73,0x65,0x72,0x20,0x63,0x61,0x6e,0x20,0x74,0x75,0x72,0x6e,0x20,0x69,\r
-  0x74,0x20,0x6f,0x6e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,0x73,\r
-  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,\r
-  0x79,0x20,0x74,0x61,0x62,0x73,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x3c,\r
-  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x65,0x72,0x65,0x20,0x61,0x72,\r
-  0x65,0x20,0x33,0x20,0x74,0x61,0x62,0x73,0x2c,0x20,0x65,0x61,0x63,0x68,0x20,0x6f,\r
-  0x66,0x20,0x74,0x68,0x65,0x6d,0x20,0x69,0x73,0x20,0x64,0x65,0x64,0x69,0x63,0x61,\r
-  0x74,0x65,0x64,0x20,0x74,0x6f,0x20,0x61,0x20,0x73,0x70,0x65,0x63,0x69,0x66,0x69,\r
-  0x63,0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,0x28,0x4d,0x36,0x38,\r
-  0x30,0x30,0x30,0x2c,0x20,0x47,0x50,0x55,0x2c,0x20,0x61,0x6e,0x64,0x20,0x44,0x53,\r
-  0x50,0x29,0x2e,0x20,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x6c,0x79,0x2c,0x20,0x6f,\r
-  0x6e,0x6c,0x79,0x20,0x74,0x68,0x65,0x20,0x4d,0x36,0x38,0x30,0x30,0x30,0x20,0x69,\r
-  0x73,0x20,0x74,0x72,0x61,0x63,0x61,0x62,0x6c,0x65,0x2c,0x20,0x6f,0x74,0x68,0x65,\r
-  0x72,0x73,0x20,0x32,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x6f,0x6e,0x6c,\r
-  0x79,0x20,0x74,0x68,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x70,0x6f,0x69,0x6e,0x74,\r
-  0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x72,0x65,0x73,0x70,\r
-  0x65,0x63,0x74,0x69,0x76,0x65,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x20,0x63,\r
-  0x6f,0x75,0x6e,0x74,0x65,0x72,0x20,0x28,0x50,0x43,0x29,0x2e,0x3c,0x2f,0x70,0x3e,\r
-  0xd,0xa,0x3c,0x70,0x3e,0x41,0x6c,0x73,0x6f,0x2c,0x20,0x77,0x68,0x65,0x6e,0x20,\r
-  0x69,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,\r
-  0x65,0x78,0x74,0x72,0x61,0x20,0x74,0x6f,0x6f,0x6c,0x62,0x61,0x72,0x20,0x62,0x75,\r
-  0x74,0x74,0x6f,0x6e,0x73,0x20,0x61,0x72,0x65,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,\r
-  0x64,0x20,0x28,0x61,0x6c,0x73,0x6f,0x20,0x66,0x6f,0x75,0x6e,0x64,0x20,0x75,0x6e,\r
-  0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x65,0x78,0x74,0x72,0x61,0x20,0x26,0x6c,\r
-  0x64,0x71,0x75,0x6f,0x3b,0x44,0x65,0x62,0x75,0x67,0x26,0x72,0x64,0x71,0x75,0x6f,\r
-  0x3b,0x20,0x6d,0x65,0x6e,0x75,0x29,0x3a,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x75,\r
-  0x6c,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x42,\r
-  0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,\r
-  0x3e,0x53,0x74,0x61,0x63,0x6b,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,\r
-  0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x43,0x50,0x55,0x20,0x42,0x72,0x6f,\r
-  0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x4f,\r
-  0x50,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,0x3e,0xd,0xa,\r
-  0x3c,0x6c,0x69,0x3e,0x4d,0x36,0x38,0x4b,0x20,0x44,0x69,0x73,0x61,0x73,0x73,0x65,\r
-  0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x6c,0x69,\r
-  0x3e,0xd,0xa,0x3c,0x6c,0x69,0x3e,0x52,0x49,0x53,0x43,0x20,0x44,0x69,0x73,0x61,\r
-  0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,\r
-  0x2f,0x6c,0x69,0x3e,0xd,0xa,0x3c,0x2f,0x75,0x6c,0x3e,0xd,0xa,0x3c,0x68,0x33,\r
-  0x3e,0x4d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,\r
+  0x78,0x61,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,0x20,0x69,0x6e,0x20,0x74,0x68,\r
+  0x65,0x20,0x65,0x64,0x69,0x74,0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x61,0x6e,0x64,\r
+  0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x47,0x6f,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
+  0x3e,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x64,0x69,\r
+  0x73,0x70,0x6c,0x61,0x79,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x66,0x72,0x6f,\r
+  0x6d,0x20,0x74,0x68,0x61,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2e,\r
+  0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,\r
+  0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,\r
+  0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,\r
+  0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,\r
+  0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,\r
+  0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
+  0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,\r
+  0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,\r
+  0x33,0x3e,0x53,0x74,0x61,0x63,0x6b,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,\r
   0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,\r
   0x6e,0x64,0x6f,0x77,0x20,0x6c,0x65,0x74,0x73,0x20,0x79,0x6f,0x75,0x20,0x69,0x6e,\r
   0x73,0x70,0x65,0x63,0x74,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,\r
   0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x26,0x72,0x73,\r
   0x71,0x75,0x6f,0x3b,0x73,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x65,0x64,0x20,0x6d,\r
-  0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,0x70,0x61,0x63,0x65,0x2e,0x20,0x54,0x68,0x65,\r
-  0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,0x44,0x6e,0x3c,0x2f,0x73,\r
-  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,0x6c,0x20,\r
-  0x61,0x64,0x76,0x61,0x6e,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,0x70,0x20,\r
-  0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,0x72,0x73,\r
-  0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,\r
-  0x61,0x74,0x69,0x6f,0x6e,0x20,0x62,0x79,0x20,0x34,0x38,0x30,0x20,0x62,0x79,0x74,\r
+  0x65,0x6d,0x6f,0x72,0x79,0x20,0x73,0x74,0x61,0x63,0x6b,0x20,0x28,0x53,0x50,0x29,\r
+  0x20,0x73,0x70,0x61,0x63,0x65,0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,\r
+  0x6f,0x6e,0x67,0x3e,0x50,0x67,0x44,0x6e,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
+  0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,0x6c,0x20,0x61,0x64,0x76,0x61,0x6e,\r
+  0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,0x70,0x20,0x6f,0x66,0x20,0x74,0x68,\r
+  0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,\r
+  0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,\r
+  0x20,0x62,0x79,0x20,0x34,0x38,0x30,0x20,0x62,0x79,0x74,0x65,0x73,0x2c,0x20,0x61,\r
+  0x6e,0x64,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,0x55,0x70,0x3c,\r
+  0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,0x6f,\r
+  0x20,0x62,0x61,0x63,0x6b,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6d,\r
+  0x65,0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x6c,0x75,0x73,0x20,0x28,0x2b,0x29,0x3c,0x2f,\r
+  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,0x6c,\r
+  0x20,0x61,0x64,0x76,0x61,0x6e,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,0x70,\r
+  0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,0x72,\r
+  0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,\r
+  0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x62,0x79,0x20,0x31,0x36,0x20,0x62,0x79,0x74,\r
   0x65,0x73,0x2c,0x20,0x61,0x6e,0x64,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,\r
-  0x50,0x67,0x55,0x70,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x77,0x69,\r
-  0x6c,0x6c,0x20,0x67,0x6f,0x20,0x62,0x61,0x63,0x6b,0x20,0x62,0x79,0x20,0x74,0x68,\r
-  0x65,0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x54,\r
-  0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x6c,0x75,0x73,0x20,\r
-  0x28,0x2b,0x29,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,\r
-  0x20,0x77,0x69,0x6c,0x6c,0x20,0x61,0x64,0x76,0x61,0x6e,0x63,0x65,0x20,0x74,0x68,\r
-  0x65,0x20,0x74,0x6f,0x70,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6e,\r
-  0x64,0x6f,0x77,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x65,0x6d,0x6f,\r
-  0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x62,0x79,0x20,0x31,\r
-  0x36,0x20,0x62,0x79,0x74,0x65,0x73,0x2c,0x20,0x61,0x6e,0x64,0x20,0x3c,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x4d,0x69,0x6e,0x75,0x73,0x20,0x28,0x2d,0x29,0x3c,0x2f,\r
-  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,0x6f,0x20,\r
-  0x62,0x61,0x63,0x6b,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6d,0x65,\r
-  0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x45,0x6e,0x74,0x65,0x72,0x69,0x6e,\r
-  0x67,0x20,0x61,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,\r
-  0x69,0x6f,0x6e,0x2c,0x20,0x69,0x6e,0x20,0x68,0x65,0x78,0x61,0x64,0x65,0x63,0x69,\r
-  0x6d,0x61,0x6c,0x2c,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x65,0x64,0x69,0x74,\r
-  0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x65,0x73,0x73,\r
-  0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,\r
-  0x47,0x6f,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x62,0x75,0x74,0x74,\r
-  0x6f,0x6e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,\r
-  0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x66,0x72,0x6f,0x6d,0x20,0x74,0x68,0x61,0x74,\r
-  0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,\r
+  0x4d,0x69,0x6e,0x75,0x73,0x20,0x28,0x2d,0x29,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
+  0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,0x6f,0x20,0x62,0x61,0x63,0x6b,0x20,\r
+  0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,\r
+  0x6e,0x74,0x2e,0x20,0x45,0x6e,0x74,0x65,0x72,0x69,0x6e,0x67,0x20,0x61,0x20,0x6d,\r
+  0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,\r
+  0x69,0x6e,0x20,0x68,0x65,0x78,0x61,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,0x20,\r
+  0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x65,0x64,0x69,0x74,0x20,0x66,0x69,0x65,0x6c,\r
+  0x64,0x20,0x61,0x6e,0x64,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,\r
+  0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x47,0x6f,0x3c,0x2f,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x20,0x77,0x69,\r
+  0x6c,0x6c,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x20,0x6d,0x65,0x6d,0x6f,0x72,\r
+  0x79,0x20,0x66,0x72,0x6f,0x6d,0x20,0x74,0x68,0x61,0x74,0x20,0x6c,0x6f,0x63,0x61,\r
+  0x74,0x69,0x6f,0x6e,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,\r
+  0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,\r
+  0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,\r
+  0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,\r
+  0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,\r
+  0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,\r
+  0x6f,0x72,0x20,0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,\r
+  0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,\r
+  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,\r
+  0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,\r
+  0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x43,0x50,0x55,0x20,0x42,0x72,0x6f,0x77,0x73,\r
+  0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,\r
+  0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x73,0x68,0x6f,0x77,0x73,0x20,0x74,0x68,\r
+  0x65,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x76,\r
+  0x61,0x72,0x69,0x6f,0x75,0x73,0x20,0x43,0x50,0x55,0x73,0x20,0x69,0x6e,0x20,0x74,\r
+  0x68,0x65,0x20,0x65,0x6d,0x75,0x6c,0x61,0x74,0x65,0x64,0x20,0x4a,0x61,0x67,0x75,\r
+  0x61,0x72,0x3b,0x20,0x61,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x62,0x72,0x65,\r
+  0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x20,0x28,0x72,0x65,0x61,0x64,0x20,0x26,0x41,\r
+  0x61,0x63,0x75,0x74,0x65,0x3b,0x20,0x77,0x72,0x69,0x74,0x65,0x29,0x20,0x63,0x61,\r
+  0x6e,0x20,0x61,0x6c,0x73,0x6f,0x20,0x62,0x65,0x20,0x73,0x65,0x74,0x20,0x76,0x69,\r
+  0x61,0x20,0x74,0x68,0x65,0x20,0x42,0x50,0x4d,0x20,0x73,0x65,0x74,0x74,0x69,0x6e,\r
+  0x67,0x2e,0x20,0x54,0x68,0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x63,0x61,\r
   0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,\r
   0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,\r
   0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,\r
@@ -74365,295 +74812,232 @@ static const unsigned char qt_resource_data[] = {
   0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,\r
   0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,\r
   0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,\r
-  0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x53,0x74,0x61,0x63,\r
-  0x6b,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,\r
-  0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x6c,\r
-  0x65,0x74,0x73,0x20,0x79,0x6f,0x75,0x20,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x20,\r
-  0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,\r
-  0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,\r
-  0x65,0x6d,0x75,0x6c,0x61,0x74,0x65,0x64,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,\r
-  0x73,0x74,0x61,0x63,0x6b,0x20,0x28,0x53,0x50,0x29,0x20,0x73,0x70,0x61,0x63,0x65,\r
-  0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,\r
-  0x44,0x6e,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,\r
-  0x77,0x69,0x6c,0x6c,0x20,0x61,0x64,0x76,0x61,0x6e,0x63,0x65,0x20,0x74,0x68,0x65,\r
-  0x20,0x74,0x6f,0x70,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6e,0x64,\r
-  0x6f,0x77,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x6d,0x65,0x6d,0x6f,0x72,\r
-  0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x62,0x79,0x20,0x34,0x38,\r
-  0x30,0x20,0x62,0x79,0x74,0x65,0x73,0x2c,0x20,0x61,0x6e,0x64,0x20,0x3c,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x50,0x67,0x55,0x70,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
-  0x67,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x67,0x6f,0x20,0x62,0x61,0x63,0x6b,0x20,\r
-  0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,\r
-  0x6e,0x74,0x2e,0x20,0x54,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,\r
-  0x50,0x6c,0x75,0x73,0x20,0x28,0x2b,0x29,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
-  0x3e,0x20,0x6b,0x65,0x79,0x20,0x77,0x69,0x6c,0x6c,0x20,0x61,0x64,0x76,0x61,0x6e,\r
-  0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x74,0x6f,0x70,0x20,0x6f,0x66,0x20,0x74,0x68,\r
-  0x65,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,\r
-  0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,\r
-  0x20,0x62,0x79,0x20,0x31,0x36,0x20,0x62,0x79,0x74,0x65,0x73,0x2c,0x20,0x61,0x6e,\r
-  0x64,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x4d,0x69,0x6e,0x75,0x73,0x20,\r
-  0x28,0x2d,0x29,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x77,0x69,0x6c,\r
-  0x6c,0x20,0x67,0x6f,0x20,0x62,0x61,0x63,0x6b,0x20,0x62,0x79,0x20,0x74,0x68,0x65,\r
-  0x20,0x73,0x61,0x6d,0x65,0x20,0x61,0x6d,0x6f,0x75,0x6e,0x74,0x2e,0x20,0x45,0x6e,\r
-  0x74,0x65,0x72,0x69,0x6e,0x67,0x20,0x61,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,\r
-  0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x69,0x6e,0x20,0x68,0x65,0x78,\r
-  0x61,0x64,0x65,0x63,0x69,0x6d,0x61,0x6c,0x2c,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,\r
-  0x20,0x65,0x64,0x69,0x74,0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x61,0x6e,0x64,0x20,\r
-  0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x47,0x6f,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,\r
-  0x20,0x62,0x75,0x74,0x74,0x6f,0x6e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x64,0x69,0x73,\r
-  0x70,0x6c,0x61,0x79,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x66,0x72,0x6f,0x6d,\r
-  0x20,0x74,0x68,0x61,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x20,\r
-  0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,\r
-  0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,\r
-  0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,\r
-  0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,0x70,\r
-  0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,0x68,\r
-  0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,0x20,\r
-  0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,\r
-  0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,\r
-  0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,\r
-  0x3e,0x43,0x50,0x55,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,\r
-  0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,\r
-  0x77,0x20,0x73,0x68,0x6f,0x77,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x61,0x74,\r
-  0x65,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x76,0x61,0x72,0x69,0x6f,0x75,0x73,\r
-  0x20,0x43,0x50,0x55,0x73,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x65,0x6d,0x75,\r
-  0x6c,0x61,0x74,0x65,0x64,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x2e,0x20,0x49,0x74,\r
-  0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,\r
-  0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,\r
-  0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,\r
-  0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,\r
-  0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,\r
-  0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,0x20,0x70,0x72,\r
-  0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,\r
-  0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,\r
-  0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,\r
-  0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4f,\r
-  0x50,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,\r
-  0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x73,\r
-  0x68,0x6f,0x77,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,\r
-  0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x6f,0x66,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,\r
-  0x20,0x6c,0x69,0x73,0x74,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x4f,\r
-  0x62,0x6a,0x65,0x63,0x74,0x20,0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,\r
-  0x69,0x73,0x20,0x70,0x6f,0x69,0x6e,0x74,0x69,0x6e,0x67,0x20,0x74,0x6f,0x2e,0x20,\r
-  0x4e,0x6f,0x74,0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x6d,0x6f,0x73,0x74,0x20,0x6f,\r
-  0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x69,0x6d,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,\r
-  0x20,0x77,0x69,0x6c,0x6c,0x20,0x6c,0x69,0x6b,0x65,0x6c,0x79,0x20,0x73,0x68,0x6f,\r
-  0x77,0x20,0x61,0x6e,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x20,0x6c,0x69,0x73,0x74,\r
-  0x20,0x74,0x68,0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x68,0x61,0x64,0x20,0x69,0x74,\r
-  0x73,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x73,0x20,0x70,0x72,0x6f,0x63,0x65,0x73,\r
-  0x73,0x65,0x64,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,\r
-  0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,\r
-  0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,\r
-  0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,\r
-  0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,\r
-  0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,\r
-  0x72,0x20,0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,\r
-  0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,\r
-  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,\r
-  0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,\r
-  0xd,0xa,0x3c,0x68,0x33,0x3e,0x4d,0x36,0x38,0x4b,0x20,0x44,0x69,0x73,0x61,0x73,\r
-  0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,\r
-  0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,\r
-  0x64,0x6f,0x77,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x73,0x20,0x61,0x20,0x64,\r
-  0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x6f,0x66,0x20,0x36,0x38,\r
-  0x30,0x30,0x30,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x73,0x2e,0x20,0x49,0x74,0x20,\r
-  0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,\r
-  0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,\r
-  0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,\r
-  0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,\r
-  0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x64,\r
-  0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,0x20,0x70,0x72,0x65,\r
-  0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,\r
-  0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,\r
-  0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,\r
-  0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x52,0x49,\r
-  0x53,0x43,0x20,0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,\r
+  0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x4f,0x50,0x20,0x42,\r
   0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
-  0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x70,0x72,0x6f,0x76,\r
-  0x69,0x64,0x65,0x73,0x20,0x61,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,\r
-  0x6c,0x79,0x20,0x6f,0x66,0x20,0x52,0x49,0x53,0x43,0x20,0x6f,0x70,0x63,0x6f,0x64,\r
-  0x65,0x73,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,\r
-  0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,\r
-  0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,\r
-  0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,\r
-  0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,\r
-  0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,\r
-  0x20,0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,\r
-  0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,\r
-  0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,\r
-  0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,\r
-  0xa,0x3c,0x70,0x3e,0x54,0x68,0x65,0x20,0x61,0x66,0x6f,0x72,0x65,0x6d,0x65,0x6e,\r
-  0x74,0x69,0x6f,0x6e,0x65,0x64,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73,0x20,0x77,\r
-  0x69,0x6c,0x6c,0x20,0x6f,0x6e,0x6c,0x79,0x20,0x77,0x6f,0x72,0x6b,0x20,0x77,0x68,\r
-  0x65,0x6e,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,\r
-  0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x72,0x75,\r
-  0x6e,0x20,0x69,0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6f,0x72,0x20,0x44,\r
-  0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x74,0x68,\r
-  0x61,0x74,0x20,0x69,0x73,0x2c,0x20,0x77,0x68,0x65,0x6e,0x20,0x74,0x68,0x65,0x20,\r
-  0x2d,0x2d,0x61,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6f,0x72,0x20,0x2d,0x2d,0x64,0x65,\r
-  0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x66,0x6c,0x61,0x67,0x20,0x69,0x73,0x20,0x70,\r
-  0x61,0x73,0x73,0x65,0x64,0x20,0x69,0x6e,0x2e,0x20,0x49,0x66,0x20,0x79,0x6f,0x75,\r
-  0x20,0x64,0x6f,0x20,0x6e,0x6f,0x74,0x20,0x70,0x61,0x73,0x73,0x20,0x73,0x75,0x63,\r
-  0x68,0x20,0x66,0x6c,0x61,0x67,0x2c,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,\r
-  0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,\r
-  0x77,0x69,0x6c,0x6c,0x20,0x72,0x75,0x6e,0x20,0x61,0x73,0x20,0x69,0x74,0x20,0x6e,\r
-  0x6f,0x72,0x6d,0x61,0x6c,0x6c,0x79,0x20,0x64,0x6f,0x65,0x73,0x2c,0x20,0x69,0x2e,\r
-  0x65,0x2e,0x2c,0x20,0x61,0x73,0x20,0x61,0x20,0x73,0x74,0x6f,0x63,0x6b,0x20,0x4a,\r
-  0x61,0x67,0x75,0x61,0x72,0x2c,0x20,0x61,0x6e,0x64,0x20,0x6e,0x6f,0x74,0x68,0x69,\r
-  0x6e,0x67,0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,\r
-  0x64,0x20,0x62,0x79,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x2e,0x3c,0x2f,0x70,\r
-  0x3e,0xd,0xa,0x3c,0x68,0x32,0x3e,0x46,0x6f,0x72,0x20,0x54,0x68,0x65,0x20,0x43,\r
-  0x75,0x72,0x69,0x6f,0x75,0x73,0x3c,0x2f,0x68,0x32,0x3e,0xd,0xa,0x3c,0x70,0x3e,\r
-  0x49,0x66,0x20,0x79,0x6f,0x75,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x72,0x65,0x20,\r
-  0x77,0x6f,0x6e,0x64,0x65,0x72,0x69,0x6e,0x67,0x20,0x77,0x68,0x79,0x20,0x73,0x6f,\r
-  0x6d,0x65,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x73,0x20,0x68,0x61,\r
-  0x76,0x65,0x20,0x6c,0x61,0x62,0x65,0x6c,0x73,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,\r
-  0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x49,0x6e,0x73,0x65,0x72,0x74,0x20,0x43,\r
-  0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x2e,0x2e,0x2e,0x26,0x72,0x64,0x71,0x75,\r
-  0x6f,0x3b,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x61,0x6e,0x64,0x20,\r
-  0x73,0x6f,0x6d,0x65,0x20,0x64,0x6f,0x6e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x74,\r
-  0x2c,0x20,0x72,0x65,0x61,0x64,0x20,0x6f,0x6e,0x2e,0x2e,0x2e,0x3c,0x2f,0x70,0x3e,\r
-  0xd,0xa,0x3c,0x70,0x3e,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,\r
-  0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x6c,0x6f,0x6f,\r
-  0x6b,0x73,0x20,0x61,0x74,0x20,0x79,0x6f,0x75,0x72,0x20,0x5a,0x49,0x50,0x20,0x66,\r
-  0x69,0x6c,0x65,0x20,0x61,0x73,0x20,0x61,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,\r
-  0x65,0x72,0x26,0x6d,0x64,0x61,0x73,0x68,0x3b,0x69,0x66,0x20,0x69,0x74,0x20,0x66,\r
-  0x69,0x6e,0x64,0x73,0x20,0x77,0x68,0x61,0x74,0x20,0x69,0x74,0x20,0x65,0x78,0x70,\r
-  0x65,0x63,0x74,0x73,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x5a,0x49,0x50,0x2c,\r
-  0x20,0x69,0x74,0x20,0x77,0x69,0x6c,0x6c,0x20,0x75,0x73,0x65,0x20,0x69,0x74,0x2e,\r
-  0x20,0x46,0x6f,0x72,0x20,0x65,0x78,0x61,0x6d,0x70,0x6c,0x65,0x2c,0x20,0x6c,0x61,\r
-  0x62,0x65,0x6c,0x20,0x69,0x6d,0x61,0x67,0x65,0x73,0x3a,0x20,0x49,0x66,0x20,0x79,\r
-  0x6f,0x75,0x20,0x70,0x75,0x74,0x20,0x61,0x6e,0x20,0x69,0x6d,0x61,0x67,0x65,0x20,\r
-  0x66,0x69,0x6c,0x65,0x20,0x6f,0x66,0x20,0x61,0x20,0x63,0x61,0x72,0x74,0x72,0x69,\r
-  0x64,0x67,0x65,0x20,0x6c,0x61,0x62,0x65,0x6c,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,\r
-  0x20,0x5a,0x49,0x50,0x20,0x66,0x69,0x6c,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x79,\r
-  0x6f,0x75,0x72,0x20,0x52,0x4f,0x4d,0x20,0x69,0x6d,0x61,0x67,0x65,0x2c,0x20,0x3c,\r
-  0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,\r
-  0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x75,0x73,0x65,0x20,\r
-  0x74,0x68,0x61,0x74,0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x69,0x6e,0x20,0x74,0x68,\r
-  0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x49,0x6e,0x73,0x65,0x72,0x74,0x20,\r
-  0x43,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x2e,0x2e,0x2e,0x26,0x72,0x64,0x71,\r
-  0x75,0x6f,0x3b,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x26,0x6d,0x64,\r
-  0x61,0x73,0x68,0x3b,0x20,0x61,0x73,0x73,0x75,0x6d,0x69,0x6e,0x67,0x20,0x69,0x74,\r
-  0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,0x61,0x20,0x76,0x61,0x6c,0x69,0x64,\r
-  0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x66,0x69,0x6c,0x65,0x2e,0x20,0x54,0x68,0x65,\r
-  0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x62,0x65,\r
-  0x20,0x33,0x36,0x35,0x20,0x78,0x20,0x31,0x36,0x38,0x20,0x66,0x6f,0x72,0x20,0x69,\r
-  0x74,0x20,0x74,0x6f,0x20,0x73,0x68,0x6f,0x77,0x20,0x75,0x70,0x20,0x6f,0x6e,0x20,\r
-  0x74,0x68,0x65,0x20,0x62,0x69,0x67,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,\r
-  0x65,0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0x20,\r
-  0x61,0x6e,0x79,0x20,0x73,0x63,0x61,0x6c,0x69,0x6e,0x67,0x3b,0x20,0x61,0x6e,0x79,\r
-  0x20,0x62,0x69,0x67,0x67,0x65,0x72,0x20,0x69,0x73,0x20,0x6a,0x75,0x73,0x74,0x20,\r
-  0x61,0x20,0x77,0x61,0x73,0x74,0x65,0x20,0x6f,0x66,0x20,0x73,0x70,0x61,0x63,0x65,\r
-  0x20,0x61,0x6e,0x64,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,\r
+  0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x73,0x68,0x6f,0x77,\r
+  0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x20,0x73,0x74,\r
+  0x61,0x74,0x65,0x20,0x6f,0x66,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x20,0x6c,0x69,\r
+  0x73,0x74,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x4f,0x62,0x6a,0x65,\r
+  0x63,0x74,0x20,0x50,0x72,0x6f,0x63,0x65,0x73,0x73,0x6f,0x72,0x20,0x69,0x73,0x20,\r
+  0x70,0x6f,0x69,0x6e,0x74,0x69,0x6e,0x67,0x20,0x74,0x6f,0x2e,0x20,0x4e,0x6f,0x74,\r
+  0x65,0x20,0x74,0x68,0x61,0x74,0x20,0x6d,0x6f,0x73,0x74,0x20,0x6f,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x74,0x69,0x6d,0x65,0x2c,0x20,0x74,0x68,0x69,0x73,0x20,0x77,0x69,\r
+  0x6c,0x6c,0x20,0x6c,0x69,0x6b,0x65,0x6c,0x79,0x20,0x73,0x68,0x6f,0x77,0x20,0x61,\r
+  0x6e,0x20,0x6f,0x62,0x6a,0x65,0x63,0x74,0x20,0x6c,0x69,0x73,0x74,0x20,0x74,0x68,\r
+  0x61,0x74,0x20,0x68,0x61,0x73,0x20,0x68,0x61,0x64,0x20,0x69,0x74,0x73,0x20,0x6f,\r
+  0x62,0x6a,0x65,0x63,0x74,0x73,0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x65,0x64,\r
+  0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,\r
+  0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,\r
+  0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,\r
+  0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,\r
+  0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,\r
+  0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,\r
+  0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,\r
+  0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,\r
+  0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,\r
+  0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
+  0x68,0x33,0x3e,0x4d,0x36,0x38,0x4b,0x20,0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,\r
+  0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,\r
+  0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,\r
+  0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,0x73,0x20,0x61,0x20,0x64,0x69,0x73,0x61,\r
+  0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x6f,0x66,0x20,0x36,0x38,0x30,0x30,0x30,\r
+  0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x73,0x2e,0x20,0x49,0x74,0x20,0x63,0x61,0x6e,\r
+  0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,0x73,0x73,0x65,0x64,0x20,0x62,0x79,\r
+  0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,\r
+  0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,\r
+  0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x63,0x6f,\r
+  0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x61,0x6c,\r
+  0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,0x20,0x70,0x72,0x65,0x73,0x73,0x69,\r
+  0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,\r
+  0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,\r
+  0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,\r
+  0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x68,0x33,0x3e,0x52,0x49,0x53,0x43,0x20,\r
+  0x44,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,0x42,0x72,0x6f,0x77,\r
+  0x73,0x65,0x72,0x3c,0x2f,0x68,0x33,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x68,0x69,\r
+  0x73,0x20,0x77,0x69,0x6e,0x64,0x6f,0x77,0x20,0x70,0x72,0x6f,0x76,0x69,0x64,0x65,\r
+  0x73,0x20,0x61,0x20,0x64,0x69,0x73,0x61,0x73,0x73,0x65,0x6d,0x62,0x6c,0x79,0x20,\r
+  0x6f,0x66,0x20,0x52,0x49,0x53,0x43,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x73,0x2e,\r
+  0x20,0x49,0x74,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x6d,0x69,\r
+  0x73,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x63,0x6c,0x69,0x63,0x6b,0x69,0x6e,0x67,\r
+  0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,0x58,\r
+  0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x75,\r
+  0x70,0x70,0x65,0x72,0x20,0x63,0x6f,0x72,0x6e,0x65,0x72,0x20,0x6f,0x66,0x20,0x74,\r
+  0x68,0x65,0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x2c,0x20,0x6f,0x72,0x20,0x62,0x79,\r
+  0x20,0x70,0x72,0x65,0x73,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x3c,0x73,\r
+  0x74,0x72,0x6f,0x6e,0x67,0x3e,0x45,0x73,0x63,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,\r
+  0x67,0x3e,0x20,0x6b,0x65,0x79,0x20,0x6f,0x6e,0x20,0x79,0x6f,0x75,0x72,0x20,0x6b,\r
+  0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,\r
+  0x3e,0x54,0x68,0x65,0x20,0x61,0x66,0x6f,0x72,0x65,0x6d,0x65,0x6e,0x74,0x69,0x6f,\r
+  0x6e,0x65,0x64,0x20,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x73,0x20,0x77,0x69,0x6c,0x6c,\r
+  0x20,0x6f,0x6e,0x6c,0x79,0x20,0x77,0x6f,0x72,0x6b,0x20,0x77,0x68,0x65,0x6e,0x20,\r
+  0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,\r
+  0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x72,0x75,0x6e,0x20,0x69,\r
+  0x6e,0x20,0x41,0x6c,0x70,0x69,0x6e,0x65,0x20,0x6f,0x72,0x20,0x44,0x65,0x62,0x75,\r
+  0x67,0x67,0x65,0x72,0x20,0x6d,0x6f,0x64,0x65,0x2c,0x20,0x74,0x68,0x61,0x74,0x20,\r
+  0x69,0x73,0x2c,0x20,0x77,0x68,0x65,0x6e,0x20,0x74,0x68,0x65,0x20,0x2d,0x2d,0x61,\r
+  0x6c,0x70,0x69,0x6e,0x65,0x20,0x6f,0x72,0x20,0x2d,0x2d,0x64,0x65,0x62,0x75,0x67,\r
+  0x67,0x65,0x72,0x20,0x66,0x6c,0x61,0x67,0x20,0x69,0x73,0x20,0x70,0x61,0x73,0x73,\r
+  0x65,0x64,0x20,0x69,0x6e,0x2e,0x20,0x49,0x66,0x20,0x79,0x6f,0x75,0x20,0x64,0x6f,\r
+  0x20,0x6e,0x6f,0x74,0x20,0x70,0x61,0x73,0x73,0x20,0x73,0x75,0x63,0x68,0x20,0x66,\r
+  0x6c,0x61,0x67,0x2c,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,\r
   0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x69,0x6c,\r
-  0x6c,0x20,0x73,0x63,0x61,0x6c,0x65,0x20,0x69,0x74,0x20,0x64,0x6f,0x77,0x6e,0x20,\r
-  0x74,0x6f,0x20,0x33,0x36,0x35,0x20,0x78,0x20,0x31,0x36,0x38,0x20,0x61,0x6e,0x79,\r
-  0x77,0x61,0x79,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x55,0x73,0x69,\r
-  0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x5a,0x49,0x50,0x20,0x66,0x69,0x6c,0x65,0x20,\r
-  0x61,0x73,0x20,0x61,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x20,0x74,\r
-  0x68,0x69,0x73,0x20,0x77,0x61,0x79,0x20,0x6f,0x70,0x65,0x6e,0x73,0x20,0x75,0x70,\r
-  0x20,0x73,0x6f,0x6d,0x65,0x20,0x65,0x78,0x63,0x69,0x74,0x69,0x6e,0x67,0x20,0x70,\r
-  0x6f,0x73,0x73,0x69,0x62,0x69,0x6c,0x69,0x74,0x69,0x65,0x73,0x3a,0x20,0x42,0x6f,\r
-  0x78,0x20,0x61,0x72,0x74,0x2c,0x20,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x73,0x20,\r
-  0x61,0x6e,0x64,0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,\r
-  0x6e,0x20,0x63,0x61,0x6e,0x20,0x62,0x65,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,\r
-  0x64,0x20,0x61,0x6e,0x64,0x20,0x66,0x75,0x74,0x75,0x72,0x65,0x20,0x76,0x65,0x72,\r
-  0x73,0x69,0x6f,0x6e,0x73,0x20,0x6f,0x66,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,\r
-  0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,\r
-  0x20,0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x61,0x62,0x6c,0x65,0x20,0x74,0x6f,\r
-  0x20,0x75,0x74,0x69,0x6c,0x69,0x7a,0x65,0x20,0x74,0x68,0x65,0x6d,0x2e,0x3c,0x2f,\r
-  0x70,0x3e,0xd,0xa,0x3c,0x68,0x32,0x3e,0x4c,0x65,0x67,0x61,0x6c,0x20,0x4e,0x69,\r
-  0x67,0x67,0x6c,0x69,0x6e,0x67,0x73,0x3c,0x2f,0x68,0x32,0x3e,0xd,0xa,0x3c,0x70,\r
-  0x3e,0x4f,0x72,0x2c,0x20,0x61,0x73,0x20,0x69,0x74,0x26,0x72,0x73,0x71,0x75,0x6f,\r
-  0x3b,0x73,0x20,0x6d,0x6f,0x72,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x6c,0x79,\r
-  0x20,0x6b,0x6e,0x6f,0x77,0x6e,0x2c,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x63,\r
-  0x6c,0x61,0x69,0x6d,0x65,0x72,0x3a,0x20,0x3c,0x65,0x6d,0x3e,0x26,0x6c,0x64,0x71,\r
-  0x75,0x6f,0x3b,0x4f,0x20,0x6c,0x69,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x2c,0x20,\r
-  0x49,0x20,0x64,0x6f,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x20,0x74,0x68,\r
-  0x65,0x65,0x21,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x3c,0x2f,0x65,0x6d,0x3e,0x3c,\r
-  0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x54,0x72,0x61,0x64,0x65,0x6d,0x61,0x72,\r
-  0x6b,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x69,0x6e,0x20,0x3c,0x65,0x6d,0x3e,0x56,\r
-  0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,\r
-  0x6d,0x3e,0x20,0x61,0x6e,0x64,0x2f,0x6f,0x72,0x20,0x74,0x68,0x69,0x73,0x20,0x64,\r
-  0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x72,0x65,\r
-  0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x20,0x6f,0x66,\r
-  0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x72,0x65,0x73,0x70,0x65,0x63,0x74,0x69,0x76,\r
-  0x65,0x20,0x6f,0x77,0x6e,0x65,0x72,0x73,0x2e,0x20,0x54,0x68,0x65,0x20,0x75,0x73,\r
-  0x65,0x72,0x28,0x73,0x29,0x20,0x6f,0x66,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,\r
-  0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,\r
-  0x20,0x61,0x73,0x73,0x75,0x6d,0x65,0x73,0x20,0x61,0x6c,0x6c,0x20,0x72,0x69,0x73,\r
-  0x6b,0x20,0x61,0x73,0x73,0x6f,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,\r
-  0x68,0x20,0x75,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x73,0x6f,0x66,0x74,\r
-  0x77,0x61,0x72,0x65,0x3b,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x74,0x68,0x6f,0x72,\r
-  0x73,0x20,0x61,0x72,0x65,0x20,0x6e,0x6f,0x74,0x20,0x72,0x65,0x73,0x70,0x6f,0x6e,\r
-  0x73,0x69,0x62,0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x74,0x68,0x69,\r
-  0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x75,0x73,0x65,0x72,0x28,0x73,0x29,0x20,0x64,\r
-  0x6f,0x65,0x73,0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x61,0x69,0x64,0x20,0x73,0x6f,\r
-  0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x6f,0x72,0x20,0x77,0x68,0x61,0x74,0x20,0x68,\r
-  0x61,0x70,0x70,0x65,0x6e,0x73,0x20,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x75,0x73,\r
-  0x65,0x72,0x28,0x73,0x29,0x20,0x61,0x73,0x20,0x61,0x20,0x72,0x65,0x73,0x75,0x6c,\r
-  0x74,0x20,0x6f,0x66,0x20,0x75,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x69,0x73,0x20,\r
-  0x73,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
+  0x6c,0x20,0x72,0x75,0x6e,0x20,0x61,0x73,0x20,0x69,0x74,0x20,0x6e,0x6f,0x72,0x6d,\r
+  0x61,0x6c,0x6c,0x79,0x20,0x64,0x6f,0x65,0x73,0x2c,0x20,0x69,0x2e,0x65,0x2e,0x2c,\r
+  0x20,0x61,0x73,0x20,0x61,0x20,0x73,0x74,0x6f,0x63,0x6b,0x20,0x4a,0x61,0x67,0x75,\r
+  0x61,0x72,0x2c,0x20,0x61,0x6e,0x64,0x20,0x6e,0x6f,0x74,0x68,0x69,0x6e,0x67,0x20,\r
+  0x77,0x69,0x6c,0x6c,0x20,0x62,0x65,0x20,0x6c,0x6f,0x61,0x64,0x65,0x64,0x20,0x62,\r
+  0x79,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,\r
+  0x3c,0x68,0x32,0x3e,0x46,0x6f,0x72,0x20,0x54,0x68,0x65,0x20,0x43,0x75,0x72,0x69,\r
+  0x6f,0x75,0x73,0x3c,0x2f,0x68,0x32,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x49,0x66,0x20,\r
+  0x79,0x6f,0x75,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x72,0x65,0x20,0x77,0x6f,0x6e,\r
+  0x64,0x65,0x72,0x69,0x6e,0x67,0x20,0x77,0x68,0x79,0x20,0x73,0x6f,0x6d,0x65,0x20,\r
+  0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x73,0x20,0x68,0x61,0x76,0x65,0x20,\r
+  0x6c,0x61,0x62,0x65,0x6c,0x73,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,0x6c,\r
+  0x64,0x71,0x75,0x6f,0x3b,0x49,0x6e,0x73,0x65,0x72,0x74,0x20,0x43,0x61,0x72,0x74,\r
+  0x72,0x69,0x64,0x67,0x65,0x2e,0x2e,0x2e,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x20,\r
+  0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x61,0x6e,0x64,0x20,0x73,0x6f,0x6d,\r
+  0x65,0x20,0x64,0x6f,0x6e,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x74,0x2c,0x20,0x72,\r
+  0x65,0x61,0x64,0x20,0x6f,0x6e,0x2e,0x2e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
   0x70,0x3e,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,\r
-  0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x46,0x72,0x65,\r
-  0x65,0x20,0x28,0x61,0x73,0x20,0x69,0x6e,0x20,0x4c,0x69,0x62,0x72,0x65,0x29,0x20,\r
-  0x73,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6e,0x64,0x20,0x69,0x73,0x20,\r
-  0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,\r
-  0x68,0x65,0x20,0x47,0x50,0x4c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,\r
-  0x2e,0x20,0x59,0x6f,0x75,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x68,0x61,0x76,\r
-  0x65,0x20,0x72,0x65,0x63,0x65,0x69,0x76,0x65,0x64,0x20,0x61,0x20,0x63,0x6f,0x70,\r
-  0x79,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,\r
-  0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x69,0x73,0x20,0x73,0x6f,0x66,0x74,0x77,\r
-  0x61,0x72,0x65,0x3b,0x20,0x69,0x66,0x20,0x79,0x6f,0x75,0x20,0x64,0x69,0x64,0x20,\r
-  0x6e,0x6f,0x74,0x2c,0x20,0x79,0x6f,0x75,0x20,0x6d,0x61,0x79,0x20,0x76,0x69,0x65,\r
-  0x77,0x20,0x61,0x20,0x63,0x6f,0x70,0x79,0x20,0x61,0x74,0x20,0x3c,0x61,0x20,0x68,\r
-  0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,\r
-  0x67,0x6e,0x75,0x2e,0x6f,0x72,0x67,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,\r
-  0x22,0x3e,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x67,0x6e,0x75,\r
-  0x2e,0x6f,0x72,0x67,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,0x3c,0x2f,0x61,\r
-  0x3e,0x2e,0x20,0x41,0x20,0x63,0x6f,0x70,0x79,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,\r
-  0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x69,0x73,0x20,\r
-  0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x61,0x74,0x20,0x3c,0x61,0x20,\r
-  0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x69,0x63,0x63,\r
-  0x75,0x6c,0x75,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x76,0x69,0x72,0x74,0x75,0x61,0x6c,\r
-  0x6a,0x61,0x67,0x75,0x61,0x72,0x22,0x3e,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x69,\r
-  0x63,0x63,0x75,0x6c,0x75,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x76,0x69,0x72,0x74,0x75,\r
-  0x61,0x6c,0x6a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x61,0x3e,0x2e,0x20,0x41,0x20,\r
-  0x63,0x6f,0x70,0x79,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x52,0x78,0x20,0x76,\r
-  0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,\r
-  0x64,0x65,0x20,0x69,0x73,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,\r
-  0x61,0x74,0x26,0x6e,0x62,0x73,0x70,0x3b,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,\r
-  0x22,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x67,0x69,0x74,0x68,0x75,0x62,0x2e,\r
-  0x63,0x6f,0x6d,0x2f,0x64,0x6a,0x69,0x70,0x69,0x2f,0x56,0x69,0x72,0x74,0x75,0x61,\r
-  0x6c,0x2d,0x4a,0x61,0x67,0x75,0x61,0x72,0x2d,0x52,0x78,0x22,0x3e,0x68,0x74,0x74,\r
-  0x70,0x73,0x3a,0x2f,0x2f,0x67,0x69,0x74,0x68,0x75,0x62,0x2e,0x63,0x6f,0x6d,0x2f,\r
-  0x64,0x6a,0x69,0x70,0x69,0x2f,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x2d,0x4a,0x61,\r
-  0x67,0x75,0x61,0x72,0x2d,0x52,0x78,0x3c,0x2f,0x61,0x3e,0x2e,0x3c,0x2f,0x70,0x3e,\r
-  0xd,0xa,0x3c,0x70,0x3e,0x3c,0x65,0x6d,0x3e,0x44,0x6f,0x77,0x6e,0x66,0x61,0x6c,\r
-  0x6c,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x26,0x63,0x6f,0x70,0x79,0x3b,\r
-  0x20,0x32,0x30,0x31,0x31,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x52,0x65,\r
-  0x62,0x6f,0x6f,0x74,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x2c,0x20,0x41,\r
-  0x6c,0x6c,0x20,0x52,0x69,0x67,0x68,0x74,0x73,0x20,0x52,0x65,0x73,0x65,0x72,0x76,\r
-  0x65,0x64,0x2e,0x20,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,\r
-  0x20,0x6f,0x66,0x20,0x3c,0x65,0x6d,0x3e,0x44,0x6f,0x77,0x6e,0x66,0x61,0x6c,0x6c,\r
-  0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x69,0x74,0x68,0x20,0x3c,0x65,0x6d,0x3e,0x56,\r
-  0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,\r
-  0x6d,0x3e,0x20,0x68,0x61,0x73,0x20,0x62,0x65,0x65,0x6e,0x20,0x67,0x72,0x61,0x63,\r
-  0x69,0x6f,0x75,0x73,0x6c,0x79,0x20,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,\r
-  0x64,0x20,0x62,0x79,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x52,0x65,0x62,\r
-  0x6f,0x6f,0x74,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x2c,0x20,0x61,0x6e,\r
-  0x64,0x20,0x6d,0x61,0x79,0x20,0x6e,0x6f,0x74,0x20,0x62,0x65,0x20,0x64,0x69,0x73,\r
-  0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x64,0x20,0x61,0x73,0x20,0x70,0x61,0x72,0x74,\r
-  0x20,0x6f,0x66,0x20,0x61,0x6e,0x79,0x20,0x6f,0x74,0x68,0x65,0x72,0x20,0x70,0x61,\r
-  0x63,0x6b,0x61,0x67,0x65,0x2e,0x20,0x41,0x73,0x20,0x70,0x72,0x65,0x76,0x69,0x6f,\r
-  0x75,0x73,0x6c,0x79,0x20,0x73,0x74,0x61,0x74,0x65,0x64,0x2c,0x20,0x74,0x68,0x65,\r
-  0x26,0x6e,0x62,0x73,0x70,0x3b,0x52,0x78,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,\r
-  0x20,0x64,0x6f,0x65,0x73,0x6e,0x27,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x74,0x68,\r
-  0x65,0x20,0x67,0x61,0x6d,0x65,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x64,0x2e,\r
-  0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0xd,0xa,0x3c,\r
-  0x2f,0x68,0x74,0x6d,0x6c,0x3e,0xd,0xa,\r
+  0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x6c,0x6f,0x6f,0x6b,0x73,0x20,\r
+  0x61,0x74,0x20,0x79,0x6f,0x75,0x72,0x20,0x5a,0x49,0x50,0x20,0x66,0x69,0x6c,0x65,\r
+  0x20,0x61,0x73,0x20,0x61,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x26,\r
+  0x6d,0x64,0x61,0x73,0x68,0x3b,0x69,0x66,0x20,0x69,0x74,0x20,0x66,0x69,0x6e,0x64,\r
+  0x73,0x20,0x77,0x68,0x61,0x74,0x20,0x69,0x74,0x20,0x65,0x78,0x70,0x65,0x63,0x74,\r
+  0x73,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x5a,0x49,0x50,0x2c,0x20,0x69,0x74,\r
+  0x20,0x77,0x69,0x6c,0x6c,0x20,0x75,0x73,0x65,0x20,0x69,0x74,0x2e,0x20,0x46,0x6f,\r
+  0x72,0x20,0x65,0x78,0x61,0x6d,0x70,0x6c,0x65,0x2c,0x20,0x6c,0x61,0x62,0x65,0x6c,\r
+  0x20,0x69,0x6d,0x61,0x67,0x65,0x73,0x3a,0x20,0x49,0x66,0x20,0x79,0x6f,0x75,0x20,\r
+  0x70,0x75,0x74,0x20,0x61,0x6e,0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x66,0x69,0x6c,\r
+  0x65,0x20,0x6f,0x66,0x20,0x61,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,\r
+  0x20,0x6c,0x61,0x62,0x65,0x6c,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x5a,0x49,\r
+  0x50,0x20,0x66,0x69,0x6c,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x79,0x6f,0x75,0x72,\r
+  0x20,0x52,0x4f,0x4d,0x20,0x69,0x6d,0x61,0x67,0x65,0x2c,0x20,0x3c,0x65,0x6d,0x3e,\r
+  0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,\r
+  0x65,0x6d,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x61,\r
+  0x74,0x20,0x69,0x6d,0x61,0x67,0x65,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x26,\r
+  0x6c,0x64,0x71,0x75,0x6f,0x3b,0x49,0x6e,0x73,0x65,0x72,0x74,0x20,0x43,0x61,0x72,\r
+  0x74,0x72,0x69,0x64,0x67,0x65,0x2e,0x2e,0x2e,0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,\r
+  0x20,0x64,0x69,0x61,0x6c,0x6f,0x67,0x75,0x65,0x20,0x26,0x6d,0x64,0x61,0x73,0x68,\r
+  0x3b,0x20,0x61,0x73,0x73,0x75,0x6d,0x69,0x6e,0x67,0x20,0x69,0x74,0x26,0x72,0x73,\r
+  0x71,0x75,0x6f,0x3b,0x73,0x20,0x61,0x20,0x76,0x61,0x6c,0x69,0x64,0x20,0x69,0x6d,\r
+  0x61,0x67,0x65,0x20,0x66,0x69,0x6c,0x65,0x2e,0x20,0x54,0x68,0x65,0x20,0x69,0x6d,\r
+  0x61,0x67,0x65,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x62,0x65,0x20,0x33,0x36,\r
+  0x35,0x20,0x78,0x20,0x31,0x36,0x38,0x20,0x66,0x6f,0x72,0x20,0x69,0x74,0x20,0x74,\r
+  0x6f,0x20,0x73,0x68,0x6f,0x77,0x20,0x75,0x70,0x20,0x6f,0x6e,0x20,0x74,0x68,0x65,\r
+  0x20,0x62,0x69,0x67,0x20,0x63,0x61,0x72,0x74,0x72,0x69,0x64,0x67,0x65,0x20,0x69,\r
+  0x6d,0x61,0x67,0x65,0x20,0x77,0x69,0x74,0x68,0x6f,0x75,0x74,0x20,0x61,0x6e,0x79,\r
+  0x20,0x73,0x63,0x61,0x6c,0x69,0x6e,0x67,0x3b,0x20,0x61,0x6e,0x79,0x20,0x62,0x69,\r
+  0x67,0x67,0x65,0x72,0x20,0x69,0x73,0x20,0x6a,0x75,0x73,0x74,0x20,0x61,0x20,0x77,\r
+  0x61,0x73,0x74,0x65,0x20,0x6f,0x66,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x61,0x6e,\r
+  0x64,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,\r
+  0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x69,0x6c,0x6c,0x20,0x73,\r
+  0x63,0x61,0x6c,0x65,0x20,0x69,0x74,0x20,0x64,0x6f,0x77,0x6e,0x20,0x74,0x6f,0x20,\r
+  0x33,0x36,0x35,0x20,0x78,0x20,0x31,0x36,0x38,0x20,0x61,0x6e,0x79,0x77,0x61,0x79,\r
+  0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x55,0x73,0x69,0x6e,0x67,0x20,\r
+  0x74,0x68,0x65,0x20,0x5a,0x49,0x50,0x20,0x66,0x69,0x6c,0x65,0x20,0x61,0x73,0x20,\r
+  0x61,0x20,0x63,0x6f,0x6e,0x74,0x61,0x69,0x6e,0x65,0x72,0x20,0x74,0x68,0x69,0x73,\r
+  0x20,0x77,0x61,0x79,0x20,0x6f,0x70,0x65,0x6e,0x73,0x20,0x75,0x70,0x20,0x73,0x6f,\r
+  0x6d,0x65,0x20,0x65,0x78,0x63,0x69,0x74,0x69,0x6e,0x67,0x20,0x70,0x6f,0x73,0x73,\r
+  0x69,0x62,0x69,0x6c,0x69,0x74,0x69,0x65,0x73,0x3a,0x20,0x42,0x6f,0x78,0x20,0x61,\r
+  0x72,0x74,0x2c,0x20,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x73,0x20,0x61,0x6e,0x64,\r
+  0x20,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x63,\r
+  0x61,0x6e,0x20,0x62,0x65,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x64,0x20,0x61,\r
+  0x6e,0x64,0x20,0x66,0x75,0x74,0x75,0x72,0x65,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,\r
+  0x6e,0x73,0x20,0x6f,0x66,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,\r
+  0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x77,0x69,\r
+  0x6c,0x6c,0x20,0x62,0x65,0x20,0x61,0x62,0x6c,0x65,0x20,0x74,0x6f,0x20,0x75,0x74,\r
+  0x69,0x6c,0x69,0x7a,0x65,0x20,0x74,0x68,0x65,0x6d,0x2e,0x3c,0x2f,0x70,0x3e,0xd,\r
+  0xa,0x3c,0x68,0x32,0x3e,0x4c,0x65,0x67,0x61,0x6c,0x20,0x4e,0x69,0x67,0x67,0x6c,\r
+  0x69,0x6e,0x67,0x73,0x3c,0x2f,0x68,0x32,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x4f,0x72,\r
+  0x2c,0x20,0x61,0x73,0x20,0x69,0x74,0x26,0x72,0x73,0x71,0x75,0x6f,0x3b,0x73,0x20,\r
+  0x6d,0x6f,0x72,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x6c,0x79,0x20,0x6b,0x6e,\r
+  0x6f,0x77,0x6e,0x2c,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,\r
+  0x6d,0x65,0x72,0x3a,0x20,0x3c,0x65,0x6d,0x3e,0x26,0x6c,0x64,0x71,0x75,0x6f,0x3b,\r
+  0x4f,0x20,0x6c,0x69,0x61,0x62,0x69,0x6c,0x69,0x74,0x79,0x2c,0x20,0x49,0x20,0x64,\r
+  0x6f,0x20,0x64,0x69,0x73,0x63,0x6c,0x61,0x69,0x6d,0x20,0x74,0x68,0x65,0x65,0x21,\r
+  0x26,0x72,0x64,0x71,0x75,0x6f,0x3b,0x3c,0x2f,0x65,0x6d,0x3e,0x3c,0x2f,0x70,0x3e,\r
+  0xd,0xa,0x3c,0x70,0x3e,0x54,0x72,0x61,0x64,0x65,0x6d,0x61,0x72,0x6b,0x73,0x20,\r
+  0x75,0x73,0x65,0x64,0x20,0x69,0x6e,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,\r
+  0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,\r
+  0x61,0x6e,0x64,0x2f,0x6f,0x72,0x20,0x74,0x68,0x69,0x73,0x20,0x64,0x6f,0x63,0x75,\r
+  0x6d,0x65,0x6e,0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x61,0x72,0x65,0x20,0x74,0x68,\r
+  0x65,0x20,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x20,0x6f,0x66,0x20,0x74,0x68,\r
+  0x65,0x69,0x72,0x20,0x72,0x65,0x73,0x70,0x65,0x63,0x74,0x69,0x76,0x65,0x20,0x6f,\r
+  0x77,0x6e,0x65,0x72,0x73,0x2e,0x20,0x54,0x68,0x65,0x20,0x75,0x73,0x65,0x72,0x28,\r
+  0x73,0x29,0x20,0x6f,0x66,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,\r
+  0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x61,0x73,\r
+  0x73,0x75,0x6d,0x65,0x73,0x20,0x61,0x6c,0x6c,0x20,0x72,0x69,0x73,0x6b,0x20,0x61,\r
+  0x73,0x73,0x6f,0x63,0x69,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x75,\r
+  0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x65,0x20,0x73,0x6f,0x66,0x74,0x77,0x61,0x72,\r
+  0x65,0x3b,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x74,0x68,0x6f,0x72,0x73,0x20,0x61,\r
+  0x72,0x65,0x20,0x6e,0x6f,0x74,0x20,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x69,0x62,\r
+  0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x74,0x68,0x69,0x6e,0x67,0x20,\r
+  0x74,0x68,0x65,0x20,0x75,0x73,0x65,0x72,0x28,0x73,0x29,0x20,0x64,0x6f,0x65,0x73,\r
+  0x20,0x77,0x69,0x74,0x68,0x20,0x73,0x61,0x69,0x64,0x20,0x73,0x6f,0x66,0x74,0x77,\r
+  0x61,0x72,0x65,0x20,0x6f,0x72,0x20,0x77,0x68,0x61,0x74,0x20,0x68,0x61,0x70,0x70,\r
+  0x65,0x6e,0x73,0x20,0x74,0x6f,0x20,0x74,0x68,0x65,0x20,0x75,0x73,0x65,0x72,0x28,\r
+  0x73,0x29,0x20,0x61,0x73,0x20,0x61,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x20,0x6f,\r
+  0x66,0x20,0x75,0x73,0x69,0x6e,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x73,0x6f,0x66,\r
+  0x74,0x77,0x61,0x72,0x65,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,0x70,0x3e,0x3c,\r
+  0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,\r
+  0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x46,0x72,0x65,0x65,0x20,0x28,\r
+  0x61,0x73,0x20,0x69,0x6e,0x20,0x4c,0x69,0x62,0x72,0x65,0x29,0x20,0x73,0x6f,0x66,\r
+  0x74,0x77,0x61,0x72,0x65,0x20,0x61,0x6e,0x64,0x20,0x69,0x73,0x20,0x6c,0x69,0x63,\r
+  0x65,0x6e,0x73,0x65,0x64,0x20,0x75,0x6e,0x64,0x65,0x72,0x20,0x74,0x68,0x65,0x20,\r
+  0x47,0x50,0x4c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x33,0x2e,0x20,0x59,\r
+  0x6f,0x75,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x68,0x61,0x76,0x65,0x20,0x72,\r
+  0x65,0x63,0x65,0x69,0x76,0x65,0x64,0x20,0x61,0x20,0x63,0x6f,0x70,0x79,0x20,0x6f,\r
+  0x66,0x20,0x74,0x68,0x65,0x20,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x20,0x77,0x69,\r
+  0x74,0x68,0x20,0x74,0x68,0x69,0x73,0x20,0x73,0x6f,0x66,0x74,0x77,0x61,0x72,0x65,\r
+  0x3b,0x20,0x69,0x66,0x20,0x79,0x6f,0x75,0x20,0x64,0x69,0x64,0x20,0x6e,0x6f,0x74,\r
+  0x2c,0x20,0x79,0x6f,0x75,0x20,0x6d,0x61,0x79,0x20,0x76,0x69,0x65,0x77,0x20,0x61,\r
+  0x20,0x63,0x6f,0x70,0x79,0x20,0x61,0x74,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,\r
+  0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x67,0x6e,0x75,\r
+  0x2e,0x6f,0x72,0x67,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,0x22,0x3e,0x68,\r
+  0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x67,0x6e,0x75,0x2e,0x6f,0x72,\r
+  0x67,0x2f,0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x73,0x3c,0x2f,0x61,0x3e,0x2e,0x20,\r
+  0x41,0x20,0x63,0x6f,0x70,0x79,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x6f,\r
+  0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,0x69,0x73,0x20,0x61,0x76,0x61,\r
+  0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x61,0x74,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,\r
+  0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x69,0x63,0x63,0x75,0x6c,0x75,\r
+  0x73,0x2e,0x6f,0x72,0x67,0x2f,0x76,0x69,0x72,0x74,0x75,0x61,0x6c,0x6a,0x61,0x67,\r
+  0x75,0x61,0x72,0x22,0x3e,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x69,0x63,0x63,0x75,\r
+  0x6c,0x75,0x73,0x2e,0x6f,0x72,0x67,0x2f,0x76,0x69,0x72,0x74,0x75,0x61,0x6c,0x6a,\r
+  0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x61,0x3e,0x2e,0x20,0x41,0x20,0x63,0x6f,0x70,\r
+  0x79,0x20,0x6f,0x66,0x20,0x74,0x68,0x65,0x20,0x52,0x78,0x20,0x76,0x65,0x72,0x73,\r
+  0x69,0x6f,0x6e,0x20,0x73,0x6f,0x75,0x72,0x63,0x65,0x20,0x63,0x6f,0x64,0x65,0x20,\r
+  0x69,0x73,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x20,0x61,0x74,0x26,\r
+  0x6e,0x62,0x73,0x70,0x3b,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,\r
+  0x74,0x70,0x73,0x3a,0x2f,0x2f,0x67,0x69,0x74,0x68,0x75,0x62,0x2e,0x63,0x6f,0x6d,\r
+  0x2f,0x64,0x6a,0x69,0x70,0x69,0x2f,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x2d,0x4a,\r
+  0x61,0x67,0x75,0x61,0x72,0x2d,0x52,0x78,0x22,0x3e,0x68,0x74,0x74,0x70,0x73,0x3a,\r
+  0x2f,0x2f,0x67,0x69,0x74,0x68,0x75,0x62,0x2e,0x63,0x6f,0x6d,0x2f,0x64,0x6a,0x69,\r
+  0x70,0x69,0x2f,0x56,0x69,0x72,0x74,0x75,0x61,0x6c,0x2d,0x4a,0x61,0x67,0x75,0x61,\r
+  0x72,0x2d,0x52,0x78,0x3c,0x2f,0x61,0x3e,0x2e,0x3c,0x2f,0x70,0x3e,0xd,0xa,0x3c,\r
+  0x70,0x3e,0x3c,0x65,0x6d,0x3e,0x44,0x6f,0x77,0x6e,0x66,0x61,0x6c,0x6c,0x3c,0x2f,\r
+  0x65,0x6d,0x3e,0x20,0x69,0x73,0x20,0x26,0x63,0x6f,0x70,0x79,0x3b,0x20,0x32,0x30,\r
+  0x31,0x31,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x52,0x65,0x62,0x6f,0x6f,\r
+  0x74,0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x2c,0x20,0x41,0x6c,0x6c,0x20,\r
+  0x52,0x69,0x67,0x68,0x74,0x73,0x20,0x52,0x65,0x73,0x65,0x72,0x76,0x65,0x64,0x2e,\r
+  0x20,0x44,0x69,0x73,0x74,0x72,0x69,0x62,0x75,0x74,0x69,0x6f,0x6e,0x20,0x6f,0x66,\r
+  0x20,0x3c,0x65,0x6d,0x3e,0x44,0x6f,0x77,0x6e,0x66,0x61,0x6c,0x6c,0x3c,0x2f,0x65,\r
+  0x6d,0x3e,0x20,0x77,0x69,0x74,0x68,0x20,0x3c,0x65,0x6d,0x3e,0x56,0x69,0x72,0x74,\r
+  0x75,0x61,0x6c,0x20,0x4a,0x61,0x67,0x75,0x61,0x72,0x3c,0x2f,0x65,0x6d,0x3e,0x20,\r
+  0x68,0x61,0x73,0x20,0x62,0x65,0x65,0x6e,0x20,0x67,0x72,0x61,0x63,0x69,0x6f,0x75,\r
+  0x73,0x6c,0x79,0x20,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x7a,0x65,0x64,0x20,0x62,\r
+  0x79,0x20,0x3c,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x52,0x65,0x62,0x6f,0x6f,0x74,\r
+  0x3c,0x2f,0x73,0x74,0x72,0x6f,0x6e,0x67,0x3e,0x2c,0x20,0x61,0x6e,0x64,0x20,0x6d,\r
+  0x61,0x79,0x20,0x6e,0x6f,0x74,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x74,0x72,0x69,\r
+  0x62,0x75,0x74,0x65,0x64,0x20,0x61,0x73,0x20,0x70,0x61,0x72,0x74,0x20,0x6f,0x66,\r
+  0x20,0x61,0x6e,0x79,0x20,0x6f,0x74,0x68,0x65,0x72,0x20,0x70,0x61,0x63,0x6b,0x61,\r
+  0x67,0x65,0x2e,0x20,0x41,0x73,0x20,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x6c,\r
+  0x79,0x20,0x73,0x74,0x61,0x74,0x65,0x64,0x2c,0x20,0x74,0x68,0x65,0x26,0x6e,0x62,\r
+  0x73,0x70,0x3b,0x52,0x78,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20,0x64,0x6f,\r
+  0x65,0x73,0x6e,0x27,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x74,0x68,0x65,0x20,0x67,\r
+  0x61,0x6d,0x65,0x20,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x64,0x2e,0x3c,0x2f,0x70,\r
+  0x3e,0xd,0xa,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0xd,0xa,0x3c,0x2f,0x68,0x74,\r
+  0x6d,0x6c,0x3e,0xd,0xa,\r
     // C:/Projects/Emulators/Virtual-Jaguar-Rx/res/debug-callstack.png\r
   0x0,0x0,0x4,0x80,\r
   0x89,\r
@@ -74823,6 +75207,12 @@ static const unsigned char qt_resource_name[] = {
   0x5,0x1c,0xe9,0x27,\r
   0x0,0x74,\r
   0x0,0x6f,0x0,0x6f,0x0,0x6c,0x0,0x2d,0x0,0x63,0x0,0x70,0x0,0x75,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
+    // debug-breakpoints.png\r
+  0x0,0x15,\r
+  0x5,0xdd,0xf,0x27,\r
+  0x0,0x64,\r
+  0x0,0x65,0x0,0x62,0x0,0x75,0x0,0x67,0x0,0x2d,0x0,0x62,0x0,0x72,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x70,0x0,0x6f,0x0,0x69,0x0,0x6e,0x0,0x74,0x0,0x73,\r
+  0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
     // screenshot.png\r
   0x0,0xe,\r
   0xa,0x70,0xc2,0x7,\r
@@ -74978,11 +75368,23 @@ static const unsigned char qt_resource_name[] = {
   0x4,0x94,0x86,0xc7,\r
   0x0,0x77,\r
   0x0,0x72,0x0,0x65,0x0,0x6e,0x0,0x63,0x0,0x68,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
+    // debug-disableallbreakpoints.png\r
+  0x0,0x1f,\r
+  0xd,0xee,0x7d,0xc7,\r
+  0x0,0x64,\r
+  0x0,0x65,0x0,0x62,0x0,0x75,0x0,0x67,0x0,0x2d,0x0,0x64,0x0,0x69,0x0,0x73,0x0,0x61,0x0,0x62,0x0,0x6c,0x0,0x65,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x62,\r
+  0x0,0x72,0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x70,0x0,0x6f,0x0,0x69,0x0,0x6e,0x0,0x74,0x0,0x73,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
     // upper-left.png\r
   0x0,0xe,\r
   0x5,0xf,0xe8,0x7,\r
   0x0,0x75,\r
   0x0,0x70,0x0,0x70,0x0,0x65,0x0,0x72,0x0,0x2d,0x0,0x6c,0x0,0x65,0x0,0x66,0x0,0x74,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
+    // debug-deleteallbreakpoints.png\r
+  0x0,0x1e,\r
+  0x9,0xc6,0xc5,0xc7,\r
+  0x0,0x64,\r
+  0x0,0x65,0x0,0x62,0x0,0x75,0x0,0x67,0x0,0x2d,0x0,0x64,0x0,0x65,0x0,0x6c,0x0,0x65,0x0,0x74,0x0,0x65,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x62,0x0,0x72,\r
+  0x0,0x65,0x0,0x61,0x0,0x6b,0x0,0x70,0x0,0x6f,0x0,0x69,0x0,0x6e,0x0,0x74,0x0,0x73,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,\r
     // tool-op.png\r
   0x0,0xb,\r
   0x4,0x95,0x9c,0xa7,\r
@@ -75007,19 +75409,19 @@ static const unsigned char qt_resource_struct[] = {
   0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,\r
 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,\r
   // :/res\r
-  0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x2,\r
+  0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x35,0x0,0x0,0x0,0x2,\r
 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,\r
   // :/res/power-on-red.png\r
-  0x0,0x0,0x4,0x54,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0x9c,0x96,\r
+  0x0,0x0,0x4,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xa2,0xb2,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
   // :/res/upper-right.png\r
   0x0,0x0,0x1,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x46,0x8b,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa3,\r
   // :/res/vj_title_small.png\r
-  0x0,0x0,0x5,0x92,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x8b,0xde,\r
+  0x0,0x0,0x5,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x91,0xfa,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa5,\r
   // :/res/debug-memory.png\r
-  0x0,0x0,0x2,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x6f,0x9e,\r
+  0x0,0x0,0x2,0xf2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x75,0xba,\r
 0x0,0x0,0x1,0x65,0x8e,0x90,0xe0,0x82,\r
   // :/res/test-pattern.jpg\r
   0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2,0xe4,0x84,\r
@@ -75028,118 +75430,127 @@ static const unsigned char qt_resource_struct[] = {
   0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9b,\r
   // :/res/help.html\r
-  0x0,0x0,0x6,0x5e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xb5,0x97,\r
-0x0,0x0,0x1,0x66,0x31,0x6,0xe3,0x3b,\r
+  0x0,0x0,0x7,0x14,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xc8,0xc8,\r
+0x0,0x0,0x1,0x6c,0x8d,0xcf,0x1a,0xbf,\r
   // :/res/test-pattern-pal.jpg\r
-  0x0,0x0,0x4,0x96,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xc5,0x91,\r
+  0x0,0x0,0x4,0xc6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xcb,0xad,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa1,\r
   // :/res/tool-risc-dis.png\r
   0x0,0x0,0x1,0xb8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x86,0xbf,\r
 0x0,0x0,0x1,0x65,0x70,0x5a,0xc7,0x8e,\r
   // :/res/fullscreen.png\r
-  0x0,0x0,0x3,0xbe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x9f,0x26,\r
+  0x0,0x0,0x3,0xee,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0xa5,0x42,\r
 0x0,0x0,0x1,0x65,0x70,0x5,0x8a,0x8c,\r
   // :/res/zoom200.png\r
-  0x0,0x0,0x3,0xa2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x72,0xd,\r
+  0x0,0x0,0x3,0xd2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x78,0x29,\r
 0x0,0x0,0x1,0x65,0x6e,0x11,0x2,0x62,\r
   // :/res/wrench.png\r
-  0x0,0x0,0x6,0x6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x92,0xa8,\r
+  0x0,0x0,0x6,0x36,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x98,0xc4,\r
 0x0,0x0,0x1,0x65,0x6e,0x8d,0x95,0xe8,\r
   // :/res/tool-op.png\r
-  0x0,0x0,0x6,0x42,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x9d,0x9f,\r
+  0x0,0x0,0x6,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xb0,0xd0,\r
 0x0,0x0,0x1,0x65,0x70,0x5a,0x83,0x71,\r
   // :/res/blur-on.png\r
-  0x0,0x0,0x4,0x7a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xab,0x7b,\r
+  0x0,0x0,0x4,0xaa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xf,0xb1,0x97,\r
 0x0,0x0,0x1,0x65,0x6f,0xcd,0x68,0xeb,\r
   // :/res/tool-68k-dis.png\r
   0x0,0x0,0x1,0x92,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x64,0x74,\r
 0x0,0x0,0x1,0x65,0x70,0x59,0x79,0xa6,\r
   // :/res/upper-left.png\r
-  0x0,0x0,0x6,0x20,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x9b,0xaa,\r
+  0x0,0x0,0x6,0x94,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xa7,0xec,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa2,\r
   // :/res/tool-cpu.png\r
   0x0,0x0,0x2,0x1e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xb0,0xc2,\r
 0x0,0x0,0x1,0x65,0x70,0x59,0xd6,0x94,\r
   // :/res/zoom100.png\r
-  0x0,0x0,0x3,0x6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0xfa,0x4e,\r
+  0x0,0x0,0x3,0x36,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x0,0x6a,\r
 0x0,0x0,0x1,0x65,0x6e,0x10,0xa4,0xe6,\r
   // :/res/frame-advance.png\r
   0x0,0x0,0x1,0x14,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x3e,0x4f,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9d,\r
+  // :/res/debug-breakpoints.png\r
+  0x0,0x0,0x2,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xca,0x1c,\r
+0x0,0x0,0x1,0x66,0x6a,0xa5,0x70,0xc0,\r
   // :/res/debug-stepinto.png\r
   0x0,0x0,0x0,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0x13,0xbb,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
   // :/res/power-on-green.png\r
-  0x0,0x0,0x5,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x6f,0x8e,\r
+  0x0,0x0,0x5,0x70,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x75,0xaa,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
   // :/res/pal.png\r
-  0x0,0x0,0x3,0x8e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x40,0x3,\r
+  0x0,0x0,0x3,0xbe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x46,0x1f,\r
 0x0,0x0,0x1,0x65,0x70,0x1b,0x2f,0x31,\r
   // :/res/unknown-file.png\r
-  0x0,0x0,0x5,0xbc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0xc1,0xdd,\r
+  0x0,0x0,0x5,0xec,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0xc7,0xf9,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa2,\r
   // :/res/zoom300.png\r
   0x0,0x0,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xf,0xa7,\r
 0x0,0x0,0x1,0x65,0x6e,0x11,0x9f,0xb,\r
   // :/res/software.png\r
-  0x0,0x0,0x4,0xc4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x23,0xa,\r
+  0x0,0x0,0x4,0xf4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x29,0x26,\r
 0x0,0x0,0x1,0x65,0x6f,0xba,0x25,0x7b,\r
   // :/res/generic.png\r
-  0x0,0x0,0x2,0xa6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x69,0xa1,\r
+  0x0,0x0,0x2,0xd6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x6f,0xbd,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9c,\r
   // :/res/pause-off.png\r
   0x0,0x0,0x1,0xfe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xab,0x7b,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9f,\r
   // :/res/blur-off.png\r
-  0x0,0x0,0x3,0x70,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x2d,0x3d,\r
+  0x0,0x0,0x3,0xa0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x33,0x59,\r
 0x0,0x0,0x1,0x65,0x6f,0xcc,0x2d,0x33,\r
   // :/res/label-blank.png\r
-  0x0,0x0,0x5,0xe2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x2a,0xc,\r
+  0x0,0x0,0x6,0x12,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0x30,0x28,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9e,\r
   // :/res/cart-blank.png\r
-  0x0,0x0,0x4,0x32,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xb,0xfa,0xc,\r
+  0x0,0x0,0x4,0x62,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xc,0x0,0x28,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9c,\r
   // :/res/ELF-file.png\r
-  0x0,0x0,0x2,0xe8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x75,0x87,\r
+  0x0,0x0,0x3,0x18,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x7b,0xa3,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9d,\r
+  // :/res/debug-deleteallbreakpoints.png\r
+  0x0,0x0,0x6,0xb6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xa9,0xe1,\r
+0x0,0x0,0x1,0x66,0x6c,0x28,0x7,0x5,\r
   // :/res/debug-watch.png\r
   0x0,0x0,0x0,0xac,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x5,0xb8,0xe,\r
 0x0,0x0,0x1,0x65,0x70,0x2b,0x45,0x73,\r
   // :/res/debug-local.png\r
-  0x0,0x0,0x3,0x22,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x1f,0x8f,\r
+  0x0,0x0,0x3,0x52,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x25,0xab,\r
 0x0,0x0,0x1,0x65,0x78,0x43,0x3b,0x64,\r
   // :/res/screenshot.png\r
-  0x0,0x0,0x2,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xca,0x1c,\r
+  0x0,0x0,0x2,0x6c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xd0,0x38,\r
 0x0,0x0,0x1,0x65,0xe2,0x30,0xaa,0x81,\r
   // :/res/vj-icon.png\r
   0x0,0x0,0x1,0x60,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x48,0x9b,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa3,\r
   // :/res/power-off.png\r
-  0x0,0x0,0x4,0xe2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x29,0x32,\r
+  0x0,0x0,0x5,0x12,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x2f,0x4e,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9f,\r
   // :/res/tool-stack.png\r
-  0x0,0x0,0x2,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x59,0xdb,\r
+  0x0,0x0,0x2,0xb4,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x8,0x5f,0xf7,\r
 0x0,0x0,0x1,0x65,0x79,0x79,0x1d,0xe5,\r
   // :/res/ntsc.png\r
-  0x0,0x0,0x4,0x1c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xb,0xc7,0xbd,\r
+  0x0,0x0,0x4,0x4c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xb,0xcd,0xd9,\r
 0x0,0x0,0x1,0x65,0x70,0x17,0x5e,0xb2,\r
   // :/res/status.png\r
-  0x0,0x0,0x5,0x26,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x54,0x6c,\r
+  0x0,0x0,0x5,0x56,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x5a,0x88,\r
 0x0,0x0,0x1,0x65,0x70,0x52,0xab,0x5c,\r
   // :/res/compact-disc.png\r
-  0x0,0x0,0x2,0x5e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xe5,0x6b,\r
+  0x0,0x0,0x2,0x8e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0xeb,0x87,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9c,\r
   // :/res/insert.png\r
-  0x0,0x0,0x3,0xe0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0xc8,0xc4,\r
+  0x0,0x0,0x4,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0xce,0xe0,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9e,\r
   // :/res/tool-memory.png\r
-  0x0,0x0,0x5,0x2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x38,0x4e,\r
+  0x0,0x0,0x5,0x32,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x3e,0x6a,\r
 0x0,0x0,0x1,0x65,0x70,0x5a,0x34,0xc0,\r
   // :/res/debug-restart.png\r
-  0x0,0x0,0x5,0x6a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x7e,0xb4,\r
+  0x0,0x0,0x5,0x9a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x84,0xd0,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
+  // :/res/debug-disableallbreakpoints.png\r
+  0x0,0x0,0x6,0x50,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x11,0xa1,0xc6,\r
+0x0,0x0,0x1,0x66,0x6c,0x39,0x5a,0xf0,\r
   // :/res/controller.png\r
-  0x0,0x0,0x3,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0xd3,0x89,\r
+  0x0,0x0,0x4,0x2a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0xd9,0xa5,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0x9c,\r
   // :/res/homebrew-file.png\r
   0x0,0x0,0x0,0xd0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x5,0xbd,0x29,\r
@@ -75151,13 +75562,13 @@ static const unsigned char qt_resource_struct[] = {
   0x0,0x0,0x1,0x7c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x60,0xf0,\r
 0x0,0x0,0x1,0x65,0x70,0x1e,0xc4,0xa5,\r
   // :/res/debug-stepover.png\r
-  0x0,0x0,0x3,0x46,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x25,0x37,\r
+  0x0,0x0,0x3,0x76,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x2b,0x53,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
   // :/res/skunkboard-file.png\r
   0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x3,0x1a,0x27,\r
 0x0,0x0,0x1,0x5f,0xa7,0xb3,0xed,0xa0,\r
   // :/res/debug-callstack.png\r
-  0x0,0x0,0x6,0x76,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x12,0x2f,0x54,\r
+  0x0,0x0,0x7,0x2c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x12,0x46,0xb2,\r
 0x0,0x0,0x1,0x65,0x8e,0x7f,0x88,0xdf,\r
 \r
 };\r
index 3ee9d8b..52a6b6d 100644 (file)
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
     <ClCompile>\r
-      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;C:\SDK\OpenGL\include;C:\SDK\SDL\SDL-1.2.15\include;C:\SDK\DWARF\libdwarf-VS2015\include;C:\SDK\Elf\libelf-0.8.13\include;C:\SDK\zlib\zlib-1.2.11\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;C:\SDK\OpenGL\include;C:\SDK\SDL\SDL-1.2.15\include;C:\SDK\DWARF\libdwarf-VS2015\include;C:\SDK\Elf\libelf-0.8.13\include;C:\SDK\zlib\zlib-1.2.11\include;.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <AdditionalOptions>-Zc:strictStrings -Zc:throwingNew -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>\r
       <AssemblerListingLocation>$(IntDir)asm\</AssemblerListingLocation>\r
       <BrowseInformation>false</BrowseInformation>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <ClCompile>\r
-      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <AdditionalOptions>-Zc:strictStrings -Zc:throwingNew `$(CROSS)sdl-config --cflags` -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>\r
       <AssemblerListingLocation>obj\</AssemblerListingLocation>\r
       <BrowseInformation>false</BrowseInformation>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
     <ClCompile>\r
-      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;C:\SDK\SDL\SDL-1.2.15\include;C:\SDK\DWARF\libdwarf-VS2015\include;C:\SDK\Elf\libelf-0.8.13\include;C:\SDK\zlib\zlib-1.2.8\include;.\GeneratedFiles\$(ConfigurationName);C:\SDK\OpenGL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;C:\SDK\SDL\SDL-1.2.15\include;C:\SDK\DWARF\libdwarf-VS2015\include;C:\SDK\Elf\libelf-0.8.13\include;C:\SDK\zlib\zlib-1.2.8\include;.\GeneratedFiles\$(ConfigurationName);C:\SDK\OpenGL\include;.\GeneratedFiles;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <AdditionalOptions>-Zc:strictStrings -Zc:throwingNew -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>\r
       <AssemblerListingLocation>$(IntDir)asm\</AssemblerListingLocation>\r
       <BrowseInformation>false</BrowseInformation>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
-      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015;C:\SDK\SDL-1.2.15\include;C:\SDK\mesa-11.2.0-rc4\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>.;.\..\src;.\..\src\gui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore;.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015;C:\SDK\SDL-1.2.15\include;C:\SDK\mesa-11.2.0-rc4\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtOpenGL;.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <AdditionalOptions>-Zc:strictStrings -Zc:throwingNew -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>\r
       <AssemblerListingLocation>obj\</AssemblerListingLocation>\r
       <BrowseInformation>false</BrowseInformation>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <ClCompile Include="..\src\crc32.cpp" />\r
-    <ClCompile Include="..\src\debugger\brkWin.cpp" />\r
+    <ClCompile Include="..\src\debugger\BreakpointsWin.cpp" />\r
     <ClCompile Include="..\src\debugger\callstackbrowser.cpp" />\r
+    <ClCompile Include="..\src\debugger\CartFilesListWin.cpp" />\r
     <ClCompile Include="..\src\debugger\exceptionvectortablebrowser.cpp" />\r
     <ClCompile Include="..\src\debugger\FilesrcListWin.cpp" />\r
     <ClCompile Include="..\src\debugger\localbrowser.cpp" />\r
+    <ClCompile Include="..\src\debugger\NewFnctBreakpointWin.cpp" />\r
+    <ClCompile Include="..\src\debugger\SaveDumpAsWin.cpp" />\r
     <ClCompile Include="..\src\debugger\VideoWin.cpp" />\r
     <ClCompile Include="..\src\file.cpp" />\r
     <ClCompile Include="..\src\gui\keybindingstab.cpp" />\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\Debug\moc_brkWin.cpp">\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_BreakpointsWin.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_CartFilesListWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_configdialog.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_NewFnctBreakpointWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_opbrowser.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_SaveDumpAsWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_stackbrowser.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\qrc_virtualjaguar.cpp">\r
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
-      </PrecompiledHeader>\r
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
-      </PrecompiledHeader>\r
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
-      </PrecompiledHeader>\r
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
-      </PrecompiledHeader>\r
-    </ClCompile>\r
     <ClCompile Include="..\src\debugger\DasmWin.cpp" />\r
     <ClCompile Include="..\src\debugger\DBGManager.cpp" />\r
     <ClCompile Include="..\src\debugger\debuggertab.cpp" />\r
     <ClCompile Include="..\src\gui\debug\opbrowser.cpp" />\r
     <ClCompile Include="..\src\gui\profile.cpp" />\r
     <ClCompile Include="..\src\gui\debug\riscdasmbrowser.cpp" />\r
+    <ClCompile Include="GeneratedFiles\qrc_virtualjaguar.cpp">\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+      </PrecompiledHeader>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+      </PrecompiledHeader>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+      </PrecompiledHeader>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+      </PrecompiledHeader>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_allwatchbrowser.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\Release\moc_brkWin.cpp">\r
+    <ClCompile Include="GeneratedFiles\Release\moc_BreakpointsWin.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_CartFilesListWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_configdialog.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\Release\moc_debuggertab.cpp">\r
-         <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
-    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_debuggertab.cpp" />\r
     <ClCompile Include="GeneratedFiles\Release\moc_DSPDasmWin.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_NewFnctBreakpointWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_opbrowser.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_SaveDumpAsWin.cpp">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_stackbrowser.cpp">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
     </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <CustomBuild Include="..\src\debugger\brkWin.h">\r
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing brkWin.h...</Message>\r
+    <CustomBuild Include="..\src\debugger\BreakpointsWin.h">\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing brkWin.h...</Message>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing brkWin.h...</Message>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing brkWin.h...</Message>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\debugger\exceptionvectortablebrowser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing exceptionvectortablebrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing exceptionvectortablebrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing exceptionvectortablebrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing exceptionvectortablebrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\localbrowser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing localbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing localbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing localbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing localbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\debugger\FilesrcListWin.h">\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\NewFnctBreakpointWin.h">\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\CartFilesListWin.h">\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\SaveDumpAsWin.h">\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -D%(PreprocessorDefinitions) "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -D%(PreprocessorDefinitions) "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D%(PreprocessorDefinitions) "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\GeneratedFiles"</Command>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\file.h" />\r
     <CustomBuild Include="..\src\gui\keybindingstab.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing keybindingstab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing keybindingstab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing keybindingstab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing keybindingstab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\LEB128.h" />\r
     <ClInclude Include="..\src\log.h" />\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing debuggertab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing debuggertab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing debuggertab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing VideoWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing VideoWin.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing VideoWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing DasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing DasmWin.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing DasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing m68kDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing m68kDasmWin.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing m68kDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\DSPDasmWin.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing DSPDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing DSPDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing DSPDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing DSPDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\GPUDasmWin.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing GPUDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing GPUDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing GPUDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing GPUDasmWin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\heapallocatorbrowser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing heapallocatorbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing heapallocatorbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing heapallocatorbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing heapallocatorbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\memory1browser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing memory1browser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing memory1browser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing memory1browser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing memory1browser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\gui\debug\stackbrowser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing stackbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing stackbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing stackbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing stackbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\alpinetab.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing alpinetab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing alpinetab.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing alpinetab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing alpinetab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\gui\app.h" />\r
     <CustomBuild Include="..\src\gui\configdialog.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing configdialog.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing configdialog.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing configdialog.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing configdialog.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\controllertab.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing controllertab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing controllertab.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing controllertab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing controllertab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\controllerwidget.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing controllerwidget.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing controllerwidget.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing controllerwidget.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing controllerwidget.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\debug\cpubrowser.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing cpubrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing cpubrowser.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing cpubrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing cpubrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     <CustomBuild Include="..\src\gui\emustatus.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing emustatus.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing emustatus.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing emustatus.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing emustatus.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     <CustomBuild Include="..\src\debugger\allwatchbrowser.h">\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing allwatchbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing allwatchbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing allwatchbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing allwatchbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\gui\filelistmodel.h" />\r
     <CustomBuild Include="..\src\gui\filepicker.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing filepicker.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing filepicker.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing filepicker.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing filepicker.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\filethread.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing filethread.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing filethread.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing filethread.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing filethread.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\gui\gamepad.h" />\r
     <CustomBuild Include="..\src\gui\generaltab.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing generaltab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing generaltab.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing generaltab.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing generaltab.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\glwidget.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing glwidget.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing glwidget.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing glwidget.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing glwidget.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     <ClInclude Include="..\src\gui\help.h" />\r
     <ClInclude Include="..\src\gui\imagedelegate.h" />\r
     <CustomBuild Include="..\src\gui\keygrabber.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing keygrabber.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing keygrabber.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing keygrabber.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing keygrabber.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\debug\m68kdasmbrowser.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing m68kdasmbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing m68kdasmbrowser.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing m68kdasmbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing m68kdasmbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\mainwin.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing mainwin.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing mainwin.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing mainwin.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing mainwin.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\debug\memorybrowser.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing memorybrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing memorybrowser.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing memorybrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing memorybrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
       <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\gui\debug\opbrowser.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing opbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing opbrowser.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing opbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing opbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     </CustomBuild>\r
     <ClInclude Include="..\src\gui\profile.h" />\r
     <CustomBuild Include="..\src\gui\debug\riscdasmbrowser.h">\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_LIB -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\OpenGL\include" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.11\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_NO_DEBUG -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing riscdasmbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing riscdasmbrowser.h...</Message>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include"</Command>\r
-      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -D_UNICODE  "-I." "-I.\..\src" "-I.\..\src\gui" "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-IC:\SDK\SDL\SDL-1.2.15\include" "-IC:\SDK\DWARF\libdwarf-VS2015\include" "-IC:\SDK\Elf\libelf-0.8.13\include" "-IC:\SDK\zlib\zlib-1.2.8\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-IC:\SDK\OpenGL\include" "-I.\GeneratedFiles"</Command>\r
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"  -D_WINDOWS -DUNICODE -DWIN32 -DWIN64 -D__GCCWIN32__ -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB  "-I." "-I.\..\src" "-I.\..\src\gui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtOpenGL" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtWidgets" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtGui" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtANGLE" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\include\QtCore" "-I.\..\..\..\Qt\Qt5.5.1\msvc2015_64\mkspecs\win32-msvc2015" "-IC:\SDK\SDL-1.2.15\include" "-IC:\SDK\mesa-11.2.0-rc4\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtOpenGL" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\GeneratedFiles"</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing riscdasmbrowser.h...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing riscdasmbrowser.h...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>\r
     <None Include="..\docs\virtualjaguar.1" />\r
     <None Include="..\docs\WHATSNEW" />\r
     <None Include="..\res\alpine-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\blur-off.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\blur-on.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\cart-blank.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\compact-disc.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\controller.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\frame-advance.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\fullscreen.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\generic.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\help.html">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\homebrew-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\insert.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\label-blank.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\ntsc.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pal.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-off.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-on.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-off.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-green.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-red.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\skunkboard-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\software.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern-pal.jpg">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern.jpg">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-68k-dis.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-cpu.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-memory.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-op.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-risc-dis.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\unknown-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-left.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-right.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <CustomBuild Include="..\src\gui\virtualjaguar.qrc">\r
       <FileType>Document</FileType>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);.\res\vj-icon.png;.\res\power-off.png;.\res\power-on-red.png;.\res\power-on-green.png;.\res\pause-off.png;.\res\pause-on.png;.\res\frame-advance.png;.\res\zoom100.png;.\res\zoom200.png;.\res\zoom300.png;.\res\blur-off.png;.\res\blur-on.png;.\res\fullscreen.png;.\res\tool-memory.png;.\res\tool-cpu.png;.\res\tool-op.png;.\res\tool-68k-dis.png;.\res\tool-risc-dis.png;.\res\generic.png;.\res\cart-blank.png;.\res\label-blank.png;.\res\vj_title_small.png;.\res\controller.png;.\res\insert.png;.\res\software.png;.\res\ntsc.png;.\res\pal.png;.\res\compact-disc.png;.\res\wrench.png;.\res\upper-left.png;.\res\upper-right.png;.\res\alpine-file.png;.\res\skunkboard-file.png;.\res\homebrew-file.png;.\res\unknown-file.png;.\res\test-pattern.jpg;.\res\test-pattern-pal.jpg;.\res\help.html;%(AdditionalInputs)</AdditionalInputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(FullPath);.\res\vj-icon.png;.\res\power-off.png;.\res\power-on-red.png;.\res\power-on-green.png;.\res\pause-off.png;.\res\pause-on.png;.\res\frame-advance.png;.\res\zoom100.png;.\res\zoom200.png;.\res\zoom300.png;.\res\blur-off.png;.\res\blur-on.png;.\res\fullscreen.png;.\res\tool-memory.png;.\res\tool-cpu.png;.\res\tool-op.png;.\res\tool-68k-dis.png;.\res\tool-risc-dis.png;.\res\generic.png;.\res\cart-blank.png;.\res\label-blank.png;.\res\vj_title_small.png;.\res\controller.png;.\res\insert.png;.\res\software.png;.\res\ntsc.png;.\res\pal.png;.\res\compact-disc.png;.\res\wrench.png;.\res\upper-left.png;.\res\upper-right.png;.\res\alpine-file.png;.\res\skunkboard-file.png;.\res\homebrew-file.png;.\res\unknown-file.png;.\res\test-pattern.jpg;.\res\test-pattern-pal.jpg;.\res\help.html;%(AdditionalInputs)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);..\res\vj-icon.png;..\res\power-off.png;..\res\power-on-red.png;..\res\power-on-green.png;..\res\pause-off.png;..\res\pause-on.png;..\res\frame-advance.png;..\res\debug-stepover.png;..\res\debug-stepinto.png;..\res\debug-restart.png;..\res\zoom100.png;..\res\zoom200.png;..\res\zoom300.png;..\res\blur-off.png;..\res\blur-on.png;..\res\fullscreen.png;..\res\debug-watch.png;..\res\debug-local.png;..\res\tool-memory.png;..\res\tool-stack.png;..\res\tool-cpu.png;..\res\tool-op.png;..\res\tool-68k-dis.png;..\res\tool-risc-dis.png;..\res\generic.png;..\res\cart-blank.png;..\res\label-blank.png;..\res\vj_title_small.png;..\res\controller.png;..\res\insert.png;..\res\software.png;..\res\ntsc.png;..\res\pal.png;..\res\compact-disc.png;..\res\wrench.png;..\res\upper-left.png;..\res\upper-right.png;..\res\alpine-file.png;..\res\skunkboard-file.png;..\res\homebrew-file.png;..\res\unknown-file.png;..\res\ELF-file.png;..\res\test-pattern.jpg;..\res\test-pattern-pal.jpg;..\res\help.html;..\res\exit.png;..\res\status.png;..\res\debug-callstack.png;..\res\debug-memory.png;..\res\screenshot.png;..\res\debug-breakpoints.png;..\res\debug-deleteallbreakpoints.png;..\res\debug-disableallbreakpoints.png;%(AdditionalInputs)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(FullPath);..\res\vj-icon.png;..\res\power-off.png;..\res\power-on-red.png;..\res\power-on-green.png;..\res\pause-off.png;..\res\pause-on.png;..\res\frame-advance.png;..\res\debug-stepover.png;..\res\debug-stepinto.png;..\res\debug-restart.png;..\res\zoom100.png;..\res\zoom200.png;..\res\zoom300.png;..\res\blur-off.png;..\res\blur-on.png;..\res\fullscreen.png;..\res\debug-watch.png;..\res\debug-local.png;..\res\tool-memory.png;..\res\tool-stack.png;..\res\tool-cpu.png;..\res\tool-op.png;..\res\tool-68k-dis.png;..\res\tool-risc-dis.png;..\res\generic.png;..\res\cart-blank.png;..\res\label-blank.png;..\res\vj_title_small.png;..\res\controller.png;..\res\insert.png;..\res\software.png;..\res\ntsc.png;..\res\pal.png;..\res\compact-disc.png;..\res\wrench.png;..\res\upper-left.png;..\res\upper-right.png;..\res\alpine-file.png;..\res\skunkboard-file.png;..\res\homebrew-file.png;..\res\unknown-file.png;..\res\ELF-file.png;..\res\test-pattern.jpg;..\res\test-pattern-pal.jpg;..\res\help.html;..\res\exit.png;..\res\status.png;..\res\debug-callstack.png;..\res\debug-memory.png;..\res\screenshot.png;..\res\debug-breakpoints.png;..\res\debug-deleteallbreakpoints.png;..\res\debug-disableallbreakpoints.png;%(AdditionalInputs)</AdditionalInputs>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Rcc%27ing %(Identity)...</Message>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Rcc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);.\res\vj-icon.png;.\res\power-off.png;.\res\power-on-red.png;.\res\power-on-green.png;.\res\pause-off.png;.\res\pause-on.png;.\res\frame-advance.png;.\res\zoom100.png;.\res\zoom200.png;.\res\zoom300.png;.\res\blur-off.png;.\res\blur-on.png;.\res\fullscreen.png;.\res\tool-memory.png;.\res\tool-cpu.png;.\res\tool-op.png;.\res\tool-68k-dis.png;.\res\tool-risc-dis.png;.\res\generic.png;.\res\cart-blank.png;.\res\label-blank.png;.\res\vj_title_small.png;.\res\controller.png;.\res\insert.png;.\res\software.png;.\res\ntsc.png;.\res\pal.png;.\res\compact-disc.png;.\res\wrench.png;.\res\upper-left.png;.\res\upper-right.png;.\res\alpine-file.png;.\res\skunkboard-file.png;.\res\homebrew-file.png;.\res\unknown-file.png;.\res\test-pattern.jpg;.\res\test-pattern-pal.jpg;.\res\help.html;%(AdditionalInputs)</AdditionalInputs>\r
-      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(FullPath);.\res\vj-icon.png;.\res\power-off.png;.\res\power-on-red.png;.\res\power-on-green.png;.\res\pause-off.png;.\res\pause-on.png;.\res\frame-advance.png;.\res\zoom100.png;.\res\zoom200.png;.\res\zoom300.png;.\res\blur-off.png;.\res\blur-on.png;.\res\fullscreen.png;.\res\tool-memory.png;.\res\tool-cpu.png;.\res\tool-op.png;.\res\tool-68k-dis.png;.\res\tool-risc-dis.png;.\res\generic.png;.\res\cart-blank.png;.\res\label-blank.png;.\res\vj_title_small.png;.\res\controller.png;.\res\insert.png;.\res\software.png;.\res\ntsc.png;.\res\pal.png;.\res\compact-disc.png;.\res\wrench.png;.\res\upper-left.png;.\res\upper-right.png;.\res\alpine-file.png;.\res\skunkboard-file.png;.\res\homebrew-file.png;.\res\unknown-file.png;.\res\test-pattern.jpg;.\res\test-pattern-pal.jpg;.\res\help.html;%(AdditionalInputs)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);..\res\vj-icon.png;..\res\power-off.png;..\res\power-on-red.png;..\res\power-on-green.png;..\res\pause-off.png;..\res\pause-on.png;..\res\frame-advance.png;..\res\debug-stepover.png;..\res\debug-stepinto.png;..\res\debug-restart.png;..\res\zoom100.png;..\res\zoom200.png;..\res\zoom300.png;..\res\blur-off.png;..\res\blur-on.png;..\res\fullscreen.png;..\res\debug-watch.png;..\res\debug-local.png;..\res\tool-memory.png;..\res\tool-stack.png;..\res\tool-cpu.png;..\res\tool-op.png;..\res\tool-68k-dis.png;..\res\tool-risc-dis.png;..\res\generic.png;..\res\cart-blank.png;..\res\label-blank.png;..\res\vj_title_small.png;..\res\controller.png;..\res\insert.png;..\res\software.png;..\res\ntsc.png;..\res\pal.png;..\res\compact-disc.png;..\res\wrench.png;..\res\upper-left.png;..\res\upper-right.png;..\res\alpine-file.png;..\res\skunkboard-file.png;..\res\homebrew-file.png;..\res\unknown-file.png;..\res\ELF-file.png;..\res\test-pattern.jpg;..\res\test-pattern-pal.jpg;..\res\help.html;..\res\exit.png;..\res\status.png;..\res\debug-callstack.png;..\res\debug-memory.png;..\res\screenshot.png;..\res\debug-breakpoints.png;..\res\debug-deleteallbreakpoints.png;..\res\debug-disableallbreakpoints.png;%(AdditionalInputs)</AdditionalInputs>\r
+      <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(FullPath);..\res\vj-icon.png;..\res\power-off.png;..\res\power-on-red.png;..\res\power-on-green.png;..\res\pause-off.png;..\res\pause-on.png;..\res\frame-advance.png;..\res\debug-stepover.png;..\res\debug-stepinto.png;..\res\debug-restart.png;..\res\zoom100.png;..\res\zoom200.png;..\res\zoom300.png;..\res\blur-off.png;..\res\blur-on.png;..\res\fullscreen.png;..\res\debug-watch.png;..\res\debug-local.png;..\res\tool-memory.png;..\res\tool-stack.png;..\res\tool-cpu.png;..\res\tool-op.png;..\res\tool-68k-dis.png;..\res\tool-risc-dis.png;..\res\generic.png;..\res\cart-blank.png;..\res\label-blank.png;..\res\vj_title_small.png;..\res\controller.png;..\res\insert.png;..\res\software.png;..\res\ntsc.png;..\res\pal.png;..\res\compact-disc.png;..\res\wrench.png;..\res\upper-left.png;..\res\upper-right.png;..\res\alpine-file.png;..\res\skunkboard-file.png;..\res\homebrew-file.png;..\res\unknown-file.png;..\res\ELF-file.png;..\res\test-pattern.jpg;..\res\test-pattern-pal.jpg;..\res\help.html;..\res\exit.png;..\res\status.png;..\res\debug-callstack.png;..\res\debug-memory.png;..\res\screenshot.png;..\res\debug-breakpoints.png;..\res\debug-deleteallbreakpoints.png;..\res\debug-disableallbreakpoints.png;%(AdditionalInputs)</AdditionalInputs>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>\r
       <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>\r
       <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Rcc%27ing %(Identity)...</Message>\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>\r
     </CustomBuild>\r
     <None Include="..\res\vj-icon.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\vj_title_small.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\wrench.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom100.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom200.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom300.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\ELF-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\debug-stepover.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\debug-stepInto.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\tool-stack.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <None Include="..\docs\vj_ReleaseNotes.txt">\r
+    <None Include="..\docs\vj_HistoryNotes.txt">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
       <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</DeploymentContent>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\debug-restart.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\debug-watch.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\debug-local.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <Image Include="..\res\debug-callstack.png" />\r
+    <Image Include="..\res\debug-breakpoints.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
+    <Image Include="..\res\debug-callstack.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
+    <Image Include="..\res\debug-deleteallbreakpoints.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
+    <Image Include="..\res\debug-disableallbreakpoints.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
     <Image Include="..\res\debug-memory.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
+    <Image Include="..\res\Exit.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+    </Image>\r
+    <Image Include="..\res\screenshot.png">\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </Image>\r
-    <Image Include="..\res\Exit.png" />\r
-    <Image Include="..\res\screenshot.png" />\r
     <Image Include="..\res\status.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
     </Image>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets" />\r
   <ProjectExtensions>\r
     <VisualStudio>\r
-      <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" Qt5Version_x0020_x64="QT 5.9.1" />\r
+      <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" Qt5Version_x0020_x64="$(DefaultQtVersion)" />\r
     </VisualStudio>\r
   </ProjectExtensions>\r
 </Project>
\ No newline at end of file
index 909a45c..530696e 100644 (file)
     <Filter Include="Source Files\gui\tab">\r
       <UniqueIdentifier>{3764368c-2eb6-49e9-a11a-a49b210d6297}</UniqueIdentifier>\r
     </Filter>\r
+    <Filter Include="Header Files\debugger\View">\r
+      <UniqueIdentifier>{e33caa2f-f4da-4d11-a399-c61abae9129c}</UniqueIdentifier>\r
+    </Filter>\r
+    <Filter Include="Source Files\debugger\View">\r
+      <UniqueIdentifier>{6a9b2983-c30d-47db-8c30-73c1ec7d029d}</UniqueIdentifier>\r
+    </Filter>\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <ClCompile Include="GeneratedFiles\qrc_virtualjaguar.cpp">\r
-      <Filter>Generated Files</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="..\src\debugger\DasmWin.cpp">\r
       <Filter>Source Files\debugger</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\src\debugger\DBGManager.cpp">\r
       <Filter>Source Files\debugger</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\src\debugger\brkWin.cpp">\r
-      <Filter>Source Files\debugger</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="..\src\debugger\exceptionvectortablebrowser.cpp">\r
       <Filter>Source Files\debugger</Filter>\r
     </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Release\moc_configdialog.cpp">\r
       <Filter>Generated Files</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\Debug\moc_brkWin.cpp">\r
-      <Filter>Generated Files</Filter>\r
-    </ClCompile>\r
-    <ClCompile Include="GeneratedFiles\Release\moc_brkWin.cpp">\r
-      <Filter>Generated Files</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="GeneratedFiles\Debug\moc_alpinetab.cpp">\r
       <Filter>Generated Files</Filter>\r
     </ClCompile>\r
     <ClCompile Include="..\src\debugger\FilesrcListWin.cpp">\r
       <Filter>Source Files\debugger</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="..\src\debugger\BreakpointsWin.cpp">\r
+      <Filter>Source Files\debugger</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_BreakpointsWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_BreakpointsWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_NewFnctBreakpointWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_NewFnctBreakpointWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="..\src\debugger\NewFnctBreakpointWin.cpp">\r
+      <Filter>Source Files\debugger</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_CartFilesListWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_CartFilesListWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="..\src\debugger\CartFilesListWin.cpp">\r
+      <Filter>Source Files\debugger\View</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\qrc_virtualjaguar.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Debug\moc_SaveDumpAsWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="GeneratedFiles\Release\moc_SaveDumpAsWin.cpp">\r
+      <Filter>Generated Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="..\src\debugger\SaveDumpAsWin.cpp">\r
+      <Filter>Source Files\debugger</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\src\debugger\DWARFManager.h">\r
     <None Include="..\docs\INSTALL">\r
       <Filter>Docs</Filter>\r
     </None>\r
-    <None Include="..\docs\vj_ReleaseNotes.txt">\r
-      <Filter>Docs</Filter>\r
-    </None>\r
     <None Include="..\docs\LICENSE">\r
       <Filter>Docs</Filter>\r
     </None>\r
     <None Include="..\res\debug-local.png">\r
       <Filter>Resource Files</Filter>\r
     </None>\r
+    <None Include="..\docs\vj_HistoryNotes.txt">\r
+      <Filter>Docs</Filter>\r
+    </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <CustomBuild Include="..\src\debugger\VideoWin.h">\r
     <CustomBuild Include="..\src\debugger\memory1browser.h">\r
       <Filter>Header Files\debugger</Filter>\r
     </CustomBuild>\r
-    <CustomBuild Include="..\src\debugger\brkWin.h">\r
-      <Filter>Header Files\debugger</Filter>\r
-    </CustomBuild>\r
     <CustomBuild Include="..\src\debugger\exceptionvectortablebrowser.h">\r
       <Filter>Header Files\debugger</Filter>\r
     </CustomBuild>\r
     <CustomBuild Include="..\src\debugger\FilesrcListWin.h">\r
       <Filter>Header Files\debugger</Filter>\r
     </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\BreakpointsWin.h">\r
+      <Filter>Header Files\debugger</Filter>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\NewFnctBreakpointWin.h">\r
+      <Filter>Header Files\debugger</Filter>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\CartFilesListWin.h">\r
+      <Filter>Header Files\debugger\View</Filter>\r
+    </CustomBuild>\r
+    <CustomBuild Include="..\src\debugger\SaveDumpAsWin.h">\r
+      <Filter>Header Files\debugger</Filter>\r
+    </CustomBuild>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ResourceCompile Include="..\res\vj.rc">\r
     <Image Include="..\res\screenshot.png">\r
       <Filter>Resource Files</Filter>\r
     </Image>\r
+    <Image Include="..\res\debug-breakpoints.png">\r
+      <Filter>Resource Files</Filter>\r
+    </Image>\r
+    <Image Include="..\res\debug-deleteallbreakpoints.png">\r
+      <Filter>Resource Files</Filter>\r
+    </Image>\r
+    <Image Include="..\res\debug-disableallbreakpoints.png">\r
+      <Filter>Resource Files</Filter>\r
+    </Image>\r
   </ItemGroup>\r
 </Project>
\ No newline at end of file
index 9bd01c4..b95c96b 100644 (file)
@@ -82,10 +82,10 @@ cp -r ~/location-where-you-built-qt/src/gui/mac/qt_menu.nib virtualjaguar.app/Co
 Have fun!
 
 
-NOTES FOR COMPILING UNDER VISUAL STUDIO 2015 / 2017:
-----------------------------------------------------
+NOTES FOR COMPILING UNDER VISUAL STUDIO 2017:
+---------------------------------------------
 
-Win-VS2015 & Win-VS2017 sub-directories contain the projects and solution files
+Win-VS2017 sub-directory contains the project and solution file.
 You may have to adapt such files to handle your own development environement,
 usualy to put the right include and library paths will be enough assuming you have all the requirements properly set.
 
index 56ad6f1..8b6491e 100644 (file)
@@ -1,3 +1,24 @@
+Virtual Jaguar v2.1.3 R4 GCC/Qt
+-------------------------------
+
+* Fixed a crash legacy issue when emulator launches in Alpine mode without a valid rom
+* Stability improvements for the DWARF information decoding, the all watch, and the debugger memory windows
+* Improvements and fixes for the Heap allocation, the Alpine tab, the emulator status, Local & all Watch variables windows
+* Debugger mode improvements, better source code file reading and ELF/DWARF structures decoding
+* Breakpoint / alert box may now occur in case of writing at unknown memory location or in case of ROM writing
+* UI modifications mostly for the debugger mode, key bindings, and icons
+* Added screenshot & call stack window features, Jaguar model & BIOS configurations, and a source code files list viewer
+* Added multiple breakpoints feature but only for M68K functions
+* Added a Save Dump As... feature to save a memory zone to a file
+* Added a cartdridge view menu to display cartdridge directory system and his files list
+* Added some log information for the emulator initialisations
+* Added search paths in case of missing DWARF directories information
+* Added ELF sections check so a potential unknown section will stop, or not stop, the ELF structure decoding
+* Minor misspellings fixes and text help update
+* The -d command line option, dedicated to the debugger, has been renamed with -D
+* Updates for the setup registries
+
+
 Virtual Jaguar v2.1.3 R3 GCC/Qt
 -------------------------------
 
index a9ddf02..9c85eb2 100644 (file)
@@ -24,7 +24,7 @@ Boot using Jaguar BIOS
 .B \-\-no\-bios
 Do not use Jaguar BIOS
 .TP
-.B \-d, \-\-debugger
+.B \-D, \-\-debugger
 Run in Debugger emulation mode
 .TP
 .B , \-\-dram-max
similarity index 83%
rename from docs/vj_ReleaseNotes.txt
rename to docs/vj_HistoryNotes.txt
index 6fa36f0..06040bb 100644 (file)
-Release 4 (TBD)\r
----------------\r
-Git commit: TBD\r
--\r
-0) The zoom value setting has been fixed in the registry\r
-1) Debugger mode now shares the same alpine rom path setting\r
-2) Local variables window displays register name now\r
-3) Switch to Zlib 1.2.11 static library 64bits for VS 2017\r
-4) Switch to SDL 1.2.15 static library 64bits for VS 2017\r
-5) Local variables window displays values from function's parameters\r
-6) Fixed the typedef's name display in Local and Watch variables window\r
-7) Breakpoint may now occur in case of a ROM cartridge writing\r
--- ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check\r
--- Alert box will display a message with possibility to pass or not the breakpoint only if this is related to a 8 or 16 bits ROM access\r
-8) Local variables window detects now if a variable is used or not by the code\r
-9) The address provided in the debugger memory windows is now verified to prevent crash\r
--- Wrong address will be displayed in red\r
-10) UI changes \r
--- Added new icons for the exit and status features\r
--- Modified icons for the SP (Stack) browser\r
--- Unified icons sizes depend on their usage (drop down menu and main menu)\r
--- Underline the active M68K line in the disassembly window\r
--- Allow the up/down navigation on the SP (Stack) browser\r
--- Restart function cleans-up the SP (Stack) browser and the heap allocator system\r
--- Fixed the up navigation on the memory window\r
-11) Added some log information for the emulator initialisations\r
-12) Breakpoint will happen in case of writing at unknown memory location\r
--- Alert box will display a message and then the code will stop\r
-13) Added the DRAM size in the emulator status window\r
-14) Debugger sources code clean-up\r
-15) Added a call stack feature\r
-16) Follow platform requirement to prevent source file reading issue\r
-17) UI modifications\r
--- Modified icon for the memory window to make a distinction with the memory browser\r
--- The all watch, and Exception Vector Table windows, can be closed using keyboard\r
--- Renamed the debugger dedicated icons to make a distinction\r
--- Added the call stack window\r
-18) Fixed a crash in the all watch window after loading a new binary without ELF/DWARF information\r
--- Previously used ELF/DWARF information was still accessible\r
-19) Fixed slash/backslash issue, in the Alpine tab, to follow platform requirement\r
-20) Heap allocation window uses the DRAM size limit option and detect if heap allocation shares space with SP (Stack)\r
-21) Added a Jaguar model and BIOS configuration tab\r
-22) Jaguar model and BIOS configuration integration\r
-23) Added LEB128 decoding functions\r
--- It is used for the DWARF decoding information\r
-24) Debugger support improvement\r
--- DWARF support for the enum type (partial), structure and subroutine type\r
--- Debugger can report variable's unsigned char value\r
-25) UI modifications\r
--- Added a status bar, better status report & information display for the heap allocation window\r
--- Added a status bar, better status report & information display for the local variables window\r
--- Added better information display for the exception vectors table window, and added some missing vectors\r
--- Added a status bar, better status report & information display for the call stack window\r
--- Added a status bar, better status report & information display for the all watches window\r
-26) Added screenshot feature\r
--- Not accessible in debugger mode\r
--- Added screenshot editable path in the general tab, and a key binding\r
-27) Minor misspellings fixes\r
-28) DWARF source code directory path clean-up\r
-29) Added a source code files list viewer\r
--- List comes from the DWARF information\r
-30) Check potential variables missing/incomplete description found in the DWARF information\r
--- No crash involved but can help to reduce such as variables duplicate or the blank ones\r
-31) Added a sorting filter in the all watches window\r
-32) Improve source code file reading to avoid additional text/bytes reading\r
-33) Help & content texts updates\r
-\r
-Release 3 (13th November 2017)\r
-------------------------------\r
-Git commit: b1b673a3b0d19e3c2c45b6590b773b11e45bced7\r
--\r
-0) Fixed the windows respawning in the next emulator launch within --alpine or --debugger options\r
-1) Added an Exception Vector Table window\r
-2) Modified the About window to update the credits list in a more appropriate way\r
--- Updated the emulator application credits line\r
-3) Added 'Rx' word to the emulator name\r
-4) Fixed a crash when reading the DWARF information in the case of the DWARF2 format has not been used\r
-5) Added ui, alpine and debugger groups in the settings\r
-6) Added the possibility to erase settings\r
-7) Added the --es-all, --es-ui, --es-alpine and --es-debugger options to erase specific settings\r
-8) Added a key bindings tab and adapted the configuration dialog tabs\r
--- User can modify the key bindings where appropriate\r
--- Key bindings UI is displayed based on the option used (--debugger, -- alpine)\r
-9) Fixed a crash, in Release mode, when the HW labels setting is turn on\r
-10) Solved an interference between the HW labels setting and the one used by the debugger\r
--- The setting is now only the reference used\r
-11) Fixed the SP (Stack) browser UI potential missing data\r
-12) Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist\r
-13) Keep the scrollbar position in accordance of the M68K PC pointer\r
--- UI displays the source without the need to move down/up the scrollbar\r
-14) Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file\r
--- This may come from the linker vlink\r
-15) Improved the .heap section detection to avoid a detection error\r
--- Depend vlink version, .heap section may have an Alloc flag\r
-16) Fixed a crash when DWARF information does references to missing source code files\r
-17) Added a local variables window\r
-18) Project has switched to Visual Studio 2017 and QT 5.9.1 library\r
-\r
-Release 2 (3rd September 2017)\r
-------------------------------\r
-0) Added some error detections when reading the ELF executable file\r
-1) Added all hardware labels (based on the document scans from the Version 2.4 - June 7, 1995)\r
-2) "Step Over" code function for BSR/JSR functions\r
-3) Added the .debug_ranges detection to avoid a detection error\r
-4) DWARF support\r
--- TAG: Compilation Unit, Subprogram, Variables, Types\r
--- Line numbers, symbols, functions\r
-5) Added an All Watch window for non-local variables\r
-6) Added a heap allocator window based on my own memory allocation functions\r
-7) Added additional 4 memory windows with address input based on hexa, decimal or symbol name\r
-8) Windows refreshing executed only if windows is visible\r
-9) Added a restart function\r
--- Restart only the 68000 program counter to his original set\r
-10) Modified the icons color backgound for the "Step In" and "Step Over" functions\r
-11) Updated the About window to update the credits list\r
-12) 64 bits Release executable\r
-13) Fixed (hacking) the display of the SP (Stack) browser\r
-14) Set the emulator in Halt mode when launched in alpine debug mode without a loaded rom\r
--- Otherwise the 68000 program counter will have a 0 value and will execute the code at this address\r
-15) Added some information in the --help/-h/-? option\r
-16) --debugger option no longer force the log file\r
-17) Added a --dram-max option to extend the DRAM size to 8MB\r
-18) Added the "enter" key support when setting the BPM (Breapoint)\r
-19) Save the windows positions, size and visibilities (show or hide) status\r
--- Such windows will automatically respawn in the next emulator launch\r
-\r
-Release 1 (12th February 2017)\r
-------------------------------\r
-0) BPM (Breapoint) now stop at the designated address and no longer stop after executing the code\r
-1) Clean-up the tracing / no-tracing flags for better U.I understanding\r
-2) Added SP (Stack) browser\r
-3) User can change now the number of lines of disassembly displayed in the tracing window\r
-4) User can turn on/off the op-codes associated in the disassembly lines displayed in the M68K tracing window\r
-5) Added an emulator status window (GPU status, M68K debugger and tracking status)\r
-6) Added a GPU disassembly tracing window - Display the current PC pointer\r
-7) Added a DSP disassembly tracing window - Display the current PC pointer\r
-8) Added possibility to change refresh rate of browsers when emulation is launched\r
-9) Display partial hardware labels (Internal Memory and Graphics sub-system address space) in the disassembly lines displayed in the M68K tracing window\r
--- Display first the hardware labels (based from the Jag V8 dev. PDF) and then the ones possibly found in the ELF debug symbol\r
-10) Minor U.I cosmetic changes\r
-11) User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68K tracing window\r
--- It doesn't apply to the hardware labels possibly found in the ELF debug symbol\r
-\r
-Release 0 (5th January 2017)\r
-----------------------------\r
-0) New option --debugger\r
-1) ELF format support\r
-2) ELF debug symbol support\r
-3) "Step Into" code function\r
-4) Menus layout dedicated to the debugger\r
-5) Added a dedicated main window for tracing (M68K)\r
-6) Added a Debugger tab in the config tab\r
-7) Visual Studio 2015 project support\r
-8) libelf-0.8.13 library support\r
-9) 64 bits debug executable only\r
-\r
-\r
-Known issues\r
-============\r
-1) Video output is not displayed due to my OpenGL / QT5 5.5.1 integration with VS 2015 but solved when using the QT 5.9.1 package for VS 2017\r
-2) The BPM (Breapoint) remains stuck on his address when user wants to continue the code execution\r
--- Need to trace over the BPM or unset the BPM\r
--- The issue can be prevented if the code doesn't set IRQ, otherwise the IRQ will need to be traced to get back control\r
-3) To support DWARF 2 with GCC, the code must be compiled with the -gdwarf-2 option\r
-4) The Local and Watch variables window  may display not available type information or empty information\r
--- Such missing information may be included in future release\r
--- The 'const' type may not be reported correctly in the DWARF information \r
-5) The 2MB mirroring is no longer applied in case of --dram-max option usage\r
-6) Stack must reflect the --dram-max option usage otherwise the stack may be corrupted\r
--- The application needs to set the SP (Stack) in accordance\r
-7) The Exception Vector Table window displays only 65 vectors\r
--- Missing vectors may be added in future release\r
-8) User needs to manualy check if the Atari Jaguar executable match his source code files\r
--- Otherwise, source code and assembly may not match or leads to instabilities\r
-9) The emulator needs to be restarted in case of the following actions occur\r
--- Key bindings changes\r
--- BIOS selection changes and without new executable load\r
-10) In the case of a ROM cartridge writing, and with occuring breakpoint, the PC pointer will point at the next instruction and not at the instruction causing the breakpoint\r
-11) Emulator will crash in case of wrong address value provided in the memory browser\r
-12) The RAM access log is limited to the 2MB\r
-13) In various occasions, global variables may be duplicated or without name in the DWARF information\r
--- It may come from the Vlink linker and/or GCC 7.1.0 or 8.2.0 compilation with -gdwarf-2 option\r
-\r
-Cosmetic / UX issues\r
-====================\r
-1) The SP (Stack) icon color backgound doesn't look similar with the other ones\r
-2) The SP (Stack) browser size always open at a forced size no matter if the size has been changed\r
-3) Not every features have associated key bindings\r
-\r
-Legacy issues/hints\r
-===================\r
-1) Emulator seems to have easter egg(s)\r
--- The option --yarrr displays a single message and end the application\r
--- Pressing F8, while in the main window, will create an extra message in the log file\r
-2) The --alpine option force the log file but it can be override if --no-log option is set after the --alpine option\r
-\r
-Project information\r
-===================\r
-1) Code based on the Shamus Hammons source code available via Gethub by the 12th September 2017 (2.1.3 Final)\r
-2) Visual Studio 2015/2017 project support for 64 bits\r
-3) libelf 0.8.13 library 64bits for VS 2015/2017\r
-4) libdwarf 1.41 library 64bits for VS 2015, cygwin64 and Msys2/MinGW64\r
-5) QT 5.5.1 library 64bits for VS 2015\r
-6) QT 5.9.1 library 64bits for VS 2017\r
-7) Zlib 1.2.8 library 64bits for VS 2015\r
-8) Zlib 1.2.11 library 64bits for VS 2017\r
-9) SDL 1.2.15 library 64bits for VS 2015/2017\r
-10) The original make files have been modified to follow the requirements and modifications\r
-11) The 'Rx' word has been added to the emulator name to make distinction with the official version\r
-12) The project is set at https://github.com/djipi/Virtual-Jaguar-Rx\r
-13) GPLv3 file document has been renamed as LICENSE, to fit better the GitHub requirements\r
--- Text / License terms are the same\r
-\r
-\r
-Download statistics\r
--------------------\r
-jaguar64eu : 15 downloads for the Release 0 on the 12th Feb, 2017\r
-jaguar64eu : 18 downloads for the Release 1 on the 21st May, 2017\r
-No downloads statistics available for the Release 2\r
-No downloads statistics available for the Release 3\r
+Release 4a (TBA)
+----------------
+Git commit: 
+-
+0) Fix specific breakpoint for ROM cartridge or unknown memory location writing
+
+Release 4 (10th August 2019)
+----------------------------
+Git commit: 9b25d85d1ea4a9476b83476bcec65e05464f68da
+-
+0) The zoom value setting has been fixed in the registry
+1) Debugger mode now shares the same alpine rom path setting
+2) Local variables window displays register name now
+3) Switch to Zlib 1.2.11 static library 64bits for VS 2017
+4) Switch to SDL 1.2.15 static library 64bits for VS 2017
+5) Local variables window displays values from function's parameters
+6) Fixed the typedef's name display in Local and Watch variables window
+7) Breakpoint may now occur in case of a ROM cartridge writing
+-- ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check
+-- Alert box will display a message with possibility to pass or not the breakpoint only if this is related to a 8 or 16 bits ROM access
+8) Local variables window detects now if a variable is used or not by the code
+9) The address provided in the debugger memory windows is now verified to prevent crash
+-- Wrong address will be displayed in red
+10) UI changes 
+-- Added new icons for the exit and status features
+-- Modified icons for the SP (Stack) browser
+-- Unified icons sizes depend on their usage (drop down menu and main menu)
+-- Underline the active M68K line in the disassembly window
+-- Allow the up/down navigation on the SP (Stack) browser
+-- Restart function cleans-up the SP (Stack) browser and the heap allocator system
+-- Fixed the up navigation on the memory window
+11) Added some log information for the emulator initialisations
+12) Breakpoint will happen in case of writing at unknown memory location
+-- Alert box will display a message and then the code will stop
+13) Added the DRAM size in the emulator status window
+14) Debugger sources code clean-up
+15) Added a call stack feature
+16) Follow platform requirement to prevent source file reading issue
+17) UI modifications
+-- Modified icon for the memory window to make a distinction with the memory browser
+-- The all watch, and Exception Vector Table windows, can be closed using keyboard
+-- Renamed the debugger dedicated icons to make a distinction
+-- Added the call stack window
+18) Fixed a crash in the all watch window after loading a new binary without ELF/DWARF information
+-- Previously used ELF/DWARF information was still accessible
+19) Fixed slash/backslash issue, in the Alpine tab, to follow platform requirement
+20) Heap allocation window uses the DRAM size limit option and detect if heap allocation shares space with SP (Stack)
+21) Added a Jaguar model and BIOS configuration tab
+22) Jaguar model and BIOS configuration integration
+23) Added LEB128 decoding functions
+-- It is used for the DWARF decoding information
+24) Debugger support improvement
+-- DWARF support for the enum type (partial), structure and subroutine type
+-- Debugger can report variable's unsigned char value
+25) UI modifications
+-- Added a status bar, better status report & information display for the heap allocation window
+-- Added a status bar, better status report & information display for the local variables window
+-- Added better information display for the exception vectors table window, and added some missing vectors
+-- Added a status bar, better status report & information display for the call stack window
+-- Added a status bar, better status report & information display for the all watches window
+26) Added screenshot feature
+-- Not accessible in debugger mode
+-- Added screenshot editable path in the general tab, and a key binding
+27) Minor misspellings fixes
+28) DWARF source code directory path clean-up
+29) Added a source code files list viewer
+-- List comes from the DWARF information
+30) Check potential variables missing/incomplete description found in the DWARF information
+-- No crash involved but can help to reduce such as variables duplicate or the blank ones
+31) Added a sorting filter in the all watches window
+32) Improve source code file reading to avoid additional text/bytes reading
+33) Help & content texts updates
+34) Fixed a crash legacy issue when emulator launches in Alpine mode without a valid rom
+35) Added the support for the used lines source's DWARF structure
+-- Mostly used to handle missing subprogram's lines information, and missing CU's low/high PC
+36) Added the Rx version's contact in the help text
+37) Added search paths in case of missing DWARF directories information
+-- Used to look for the file(s)
+38) Setup CU's low/high PC in case of the DWARF structures doesn't have it
+-- Used mostly to allow display the source assembled with vasm
+39) Added function name support from ELF structure
+40) Added the return address information in the call stack
+41) Added multiple breakpoints feature, and their key bindings, for functions only
+42) Added timer initialisation for the SDL setup
+43) Added a cartridge view menu
+-- Added a window to display my own directory and his files list
+44) Debugger sources code clean-up
+45) Fix a crash when emulator, in non-debugger mode, opens the breakpoint UIs at launch
+46) Fix crash with potential missing DWARF structure tag's type name
+47) Added ELF sections check so a potential unknown section will stop, or not stop, the decoding
+48) Project has switched to QT 5.12.0 library 64bits for VS 2017
+49) Added a Save Dump As... feature to save a memory zone to a file
+50) The -d command line option, dedicated to the debugger, has been renamed to avoid duplication with the dsp one
+-- -d has been renamed by -D because another -d was also used for the dsp command line option
+51) Removed the sorting filter in the all watches window
+52) Fix the support of the DRAM size limit option in the heap allocation window
+53) Set cartridge view menu for debugger mode only
+54) Prevent crash in case of call stack is out of range
+
+Release 3 (13th November 2017)
+------------------------------
+Git commit: b1b673a3b0d19e3c2c45b6590b773b11e45bced7
+-
+0) Fixed the windows respawning in the next emulator launch within --alpine or --debugger options
+1) Added an Exception Vector Table window
+2) Modified the About window to update the credits list in a more appropriate way
+-- Updated the emulator application credits line
+3) Added 'Rx' word to the emulator name
+4) Fixed a crash when reading the DWARF information in the case of the DWARF2 format has not been used
+5) Added ui, alpine and debugger groups in the settings
+6) Added the possibility to erase settings
+7) Added the --es-all, --es-ui, --es-alpine and --es-debugger options to erase specific settings
+8) Added a key bindings tab and adapted the configuration dialog tabs
+-- User can modify the key bindings where appropriate
+-- Key bindings UI is displayed based on the option used (--debugger, -- alpine)
+9) Fixed a crash, in Release mode, when the HW labels setting is turn on
+10) Solved an interference between the HW labels setting and the one used by the debugger
+-- The setting is now only the reference used
+11) Fixed the SP (Stack) browser UI potential missing data
+12) Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist
+13) Keep the scrollbar position in accordance of the M68K PC pointer
+-- UI displays the source without the need to move down/up the scrollbar
+14) Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file
+-- This may come from the linker vlink
+15) Improved the .heap section detection to avoid a detection error
+-- Depend vlink version, .heap section may have an Alloc flag
+16) Fixed a crash when DWARF information does references to missing source code files
+17) Added a local variables window
+18) Project has switched to Visual Studio 2017 and QT 5.9.1 library
+
+Release 2 (3rd September 2017)
+------------------------------
+0) Added some error detections when reading the ELF executable file
+1) Added all hardware labels (based on the document scans from the Version 2.4 - June 7, 1995)
+2) "Step Over" code function for BSR/JSR functions
+3) Added the .debug_ranges detection to avoid a detection error
+4) DWARF support
+-- TAG: Compilation Unit, Subprogram, Variables, Types
+-- Line numbers, symbols, functions
+5) Added an All Watch window for non-local variables
+6) Added a heap allocator window based on my own memory allocation functions
+7) Added additional 4 memory windows with address input based on hexa, decimal or symbol name
+8) Windows refreshing executed only if windows is visible
+9) Added a restart function
+-- Restart only the 68000 program counter to his original set
+10) Modified the icons color backgound for the "Step In" and "Step Over" functions
+11) Updated the About window to update the credits list
+12) 64 bits Release executable
+13) Fixed (hacking) the display of the SP (Stack) browser
+14) Set the emulator in Halt mode when launched in alpine debug mode without a loaded rom
+-- Otherwise the 68000 program counter will have a 0 value and will execute the code at this address
+15) Added some information in the --help/-h/-? option
+16) --debugger option no longer force the log file
+17) Added a --dram-max option to extend the DRAM size to 8MB
+18) Added the "enter" key support when setting the BPM (Breapoint)
+19) Save the windows positions, size and visibilities (show or hide) status
+-- Such windows will automatically respawn in the next emulator launch
+
+Release 1 (12th February 2017)
+------------------------------
+0) BPM (Breapoint) now stop at the designated address and no longer stop after executing the code
+1) Clean-up the tracing / no-tracing flags for better U.I understanding
+2) Added SP (Stack) browser
+3) User can change now the number of lines of disassembly displayed in the tracing window
+4) User can turn on/off the op-codes associated in the disassembly lines displayed in the M68K tracing window
+5) Added an emulator status window (GPU status, M68K debugger and tracking status)
+6) Added a GPU disassembly tracing window - Display the current PC pointer
+7) Added a DSP disassembly tracing window - Display the current PC pointer
+8) Added possibility to change refresh rate of browsers when emulation is launched
+9) Display partial hardware labels (Internal Memory and Graphics sub-system address space) in the disassembly lines displayed in the M68K tracing window
+-- Display first the hardware labels (based from the Jag V8 dev. PDF) and then the ones possibly found in the ELF debug symbol
+10) Minor U.I cosmetic changes
+11) User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68K tracing window
+-- It doesn't apply to the hardware labels possibly found in the ELF debug symbol
+
+Release 0 (5th January 2017)
+----------------------------
+0) New option --debugger
+1) ELF format support
+2) ELF debug symbol support
+3) "Step Into" code function
+4) Menus layout dedicated to the debugger
+5) Added a dedicated main window for tracing (M68K)
+6) Added a Debugger tab in the config tab
+7) Visual Studio 2015 project support
+8) libelf-0.8.13 library support
+9) 64 bits debug executable only
+
+
+Known issues
+============
+1) Video output is not displayed due to my OpenGL / QT5 5.5.1 integration with VS 2015 but solved when using the QT 5.9.1 package for VS 2017
+2) The BPM (Breapoint) remains stuck on his address when user wants to continue the code execution
+-- Need to trace over the BPM or unset the BPM
+-- The issue can be prevented if the code doesn't set IRQ, otherwise the IRQ will need to be traced to get back control
+3) DWARF 2 support
+-- With GCC: the code must be compiled with the -gdwarf-2 option
+4) The Local and Watch variables window  may display not available type information or empty information
+-- Such missing information may be included in future release
+-- The 'const' type may not be reported correctly in the DWARF information 
+5) The 2MB mirroring is no longer applied in case of --dram-max option usage
+6) Stack must reflect the --dram-max option usage otherwise the stack may be corrupted
+-- The application needs to set the SP (Stack) in accordance
+7) The Exception Vector Table window displays only 65 vectors
+-- Missing vectors may be added in future release
+8) User needs to manualy check if the Atari Jaguar executable match his source code files
+-- Otherwise, source code and assembly may not match or leads to instabilities
+9) The emulator needs to be restarted in case of the following actions occur
+-- Key bindings changes
+-- BIOS selection changes and without new executable load
+10) In the case of a ROM cartridge writing, and with occuring breakpoint, the PC pointer will point at the next instruction and not at the instruction causing the breakpoint
+11) Emulator will crash in case of wrong address value provided in the memory browser
+12) The RAM access log is limited to the 2MB
+13) In various occasions, global variables may be duplicated or without name in the DWARF information
+-- It may come from the Vlink linker and/or GCC 7.1.0 or 8.2.0 compilation with -gdwarf-2 option
+14) Source code disply only assembled code from vasm with option -dwarf
+15) After a new breakpoint set, the breakpoint list window is not refreshed
+-- User must perform an operation, such code tracing, to see the breakpoints list update
+16) Some ASCII characters may be not displayed correctly
+-- It depend how the text is displayed, this is related to the QT/HTML encoding done when reading DWARF file
+17) Potential legacy crash when leaving emulator in pause mode for a long period of time
+
+Cosmetic / UX issues
+====================
+1) The SP (Stack) icon color backgound doesn't look similar with the other ones
+2) The SP (Stack) browser size always open at a forced size no matter if the size has been changed
+3) Not every features have associated key bindings
+
+Legacy issues/hints
+===================
+1) Emulator seems to have easter egg(s)
+-- The option --yarrr displays a single message and end the application
+-- Pressing F8, while in the main window, will create an extra message in the log file
+2) The --alpine option force the log file but it can be override if --no-log option is set after the --alpine option
+
+Project information
+===================
+1) Code based on the Shamus Hammons source code available via Gethub by the 12th September 2017 (2.1.3 Final)
+2) Visual Studio 2015/2017 project support for 64 bits
+3) libelf 0.8.13 library 64bits for VS 2015/2017
+4) libdwarf 1.41 library 64bits for VS 2015, cygwin64 and Msys2/MinGW64
+5) QT 5.5.1 library 64bits for VS 2015
+6) QT 5.12.0 library 64bits for VS 2017
+7) Zlib 1.2.8 library 64bits for VS 2015
+8) Zlib 1.2.11 library 64bits for VS 2017
+9) SDL 1.2.15 library 64bits for VS 2015/2017
+10) The original make files have been modified to follow the requirements and modifications
+11) The 'Rx' word has been added to the emulator name to make distinction with the official version
+12) The project is set at https://github.com/djipi/Virtual-Jaguar-Rx
+13) GPLv3 file document has been renamed as LICENSE, to fit better the GitHub requirements
+-- Text / License terms are the same
+
+
+Download statistics
+-------------------
+jaguar64eu : 15 downloads for the Release 0 on the 12th Feb, 2017
+jaguar64eu : 18 downloads for the Release 1 on the 21st May, 2017
+No downloads statistics available for the Release 2
+No downloads statistics available for the Release 3
diff --git a/res/debug-breakpoints.png b/res/debug-breakpoints.png
new file mode 100644 (file)
index 0000000..768ab66
Binary files /dev/null and b/res/debug-breakpoints.png differ
diff --git a/res/debug-deleteallbreakpoints.png b/res/debug-deleteallbreakpoints.png
new file mode 100644 (file)
index 0000000..77589b9
Binary files /dev/null and b/res/debug-deleteallbreakpoints.png differ
diff --git a/res/debug-disableallbreakpoints.png b/res/debug-disableallbreakpoints.png
new file mode 100644 (file)
index 0000000..224bebc
Binary files /dev/null and b/res/debug-disableallbreakpoints.png differ
index 47a8c43..47649cf 100644 (file)
 <li>Display M68000 opcodes</li>
 <li>Display HW labels</li>
 <li>Display source filename</li>
+<li>ELF sections check</li>
 </ul>
 <p><strong>Disassembly lines</strong>&nbsp;represent the number of disassembly lines to display in the M68000 tracing window. This doesn't include the number of source lines displayed.</p>
 <p><strong>Display M68000 opcode</strong>&nbsp;allows or not the opcode display. Can be useful in case of user prefers to see the disassembly only.</p>
 <p><strong>Display HW labels</strong>&nbsp;allows or not the name of the Jaguar hardware registers as reported in the official documentation.</p>
 <p><strong>Display source filename</strong>&nbsp;allows or not the source code filename display depend the disassembly in the M68000 tracing window.</p>
+<p><strong>ELF sections check</strong>&nbsp;allows or not potential unknown ELF section, it will stop, or not stop, the sections decoding.</p>
 <p>When started in Alpine mode, or in Debugger mode, a specific tab is made available in the configuration dialogue which gives you the following options:</p>
 <ul>
 <li>ROM to load</li>
 <li>Restart</li>
 <li>Step Into</li>
 <li>Step Over</li>
+<li>Breakpoints</li>
+<li>New Function Breakpoint</li>
+<li>Delete All Breakpoints</li>
+<li>Disable All Breakpoints</li>
 <li>Exception Vector Table</li>
 <li>All Watch</li>
 <li>Locals</li>
 <li>Call Stack</li>
 <li>Heap Allocator</li>
 <li>Memory (1-4)</li>
+<li>Save Dump As...</li>
+<li>Cartridge directory and files list.</li>
 </ul>
 <h3>Restart</h3>
 <p>Restart M68000 code (PC) and the stack (SP) pointer to the original ones provided in the ROM.</p>
 <p>Trace into M68000 instruction, similar to a step by step tracing.</p>
 <h3>Step Over</h3>
 <p>Trace over M68000 instruction such as jsr/bsr, otherwise this feature functions like a Step Into.</p>
+<h3>Breakpoints</h3>
+<p>List the breakpoints and their status. The first breakpoint represents the breakpoint set via the CPU browser, also named as BPM.</p>
+<h3>New Function Breakpoint</h3>
+<p>Add breakpoint to a function.</p>
+<h3>Delete All Breakpoints</h3>
+<p>Delete all breakpoints, also reset the BPM.</p>
+<h3>Disable All Breakpoints</h3>
+<p>Disable all breakpoints, and also disable BPM.</p>
 <h3>Exception Vector Table</h3>
 <p>Display a partial table of the M68000 exception vectors as reported by Motorola.</p>
 <h3>All Watch</h3>
 <p>Display the status of all memory allocations. It uses a specific structure memory allocation, if such structure is not found then nothing will be displayed.</p>
 <h3>Memory (1-4)</h3>
 <p>This 4 independent windows lets you inspect <em>Virtual Jaguar</em>&rsquo;s emulated memory space. The <strong>PgDn</strong> key will advance the top of the window&rsquo;s memory location by 480 bytes, and <strong>PgUp</strong> will go back by the same amount. The <strong>Plus (+)</strong> key will advance the top of the window&rsquo;s memory location by 16 bytes, and <strong>Minus (-)</strong> will go back by the same amount. Entering a memory location, in hexadecimal, label or decimal, in the edit field and pressing the <strong>Go</strong> button will display memory from that location. It can be dismissed by clicking on the &ldquo;X&rdquo; in the upper corner of the dialog, or by pressing the <strong>Esc</strong> key on your keyboard.</p>
+<h3>Save Dump As...</h3>
+<p>Save a memory portion to a file.</p>
+<h3>Cartridge directory and files list</h3>
+<p>List the cartridge's directory and files; available only if specific structure is used.</p>
 <h3><em>Main window</em></h3>
 <p>In the debugger mode, the main window doesn't display anymore the video output; it is replaced by a source code files viewer and a disassembly window made of tabs to allow tracing / display of code.</p>
 <p><strong>Source code files</strong></p>
 <h3>Stack Browser</h3>
 <p>This window lets you inspect <em>Virtual Jaguar</em>&rsquo;s emulated memory stack (SP) space. The <strong>PgDn</strong> key will advance the top of the window&rsquo;s memory location by 480 bytes, and <strong>PgUp</strong> will go back by the same amount. The <strong>Plus (+)</strong> key will advance the top of the window&rsquo;s memory location by 16 bytes, and <strong>Minus (-)</strong> will go back by the same amount. Entering a memory location, in hexadecimal, in the edit field and pressing the <strong>Go</strong> button will display memory from that location. It can be dismissed by clicking on the &ldquo;X&rdquo; in the upper corner of the dialog, or by pressing the <strong>Esc</strong> key on your keyboard.</p>
 <h3>CPU Browser</h3>
-<p>This window shows the state of the various CPUs in the emulated Jaguar. It can be dismissed by clicking on the &ldquo;X&rdquo; in the upper corner of the dialog, or by pressing the <strong>Esc</strong> key on your keyboard.</p>
+<p>This window shows the state of the various CPUs in the emulated Jaguar; a memory breakpoint (read &Aacute; write) can also be set via the BPM setting. The window can be dismissed by clicking on the &ldquo;X&rdquo; in the upper corner of the dialog, or by pressing the <strong>Esc</strong> key on your keyboard.</p>
 <h3>OP Browser</h3>
 <p>This window shows the current state of object list that the Object Processor is pointing to. Note that most of the time, this will likely show an object list that has had its objects processed. It can be dismissed by clicking on the &ldquo;X&rdquo; in the upper corner of the dialog, or by pressing the <strong>Esc</strong> key on your keyboard.</p>
 <h3>M68K Disassembly Browser</h3>
diff --git a/src/debugger/BreakpointsWin.cpp b/src/debugger/BreakpointsWin.cpp
new file mode 100644 (file)
index 0000000..11b922e
--- /dev/null
@@ -0,0 +1,157 @@
+//
+// BreakpointsWin.cpp - Breakpoints
+//
+// by Jean-Paul Mari
+//
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
+//
+// Who  When        What
+// ---  ----------  -----------------------------------------------------------
+// JPM  30/08/2017  Created this file
+// JPM   Oct./2018  Added the breakpoints features
+//
+
+// STILL TO DO:
+//
+
+#include "debugger/BreakpointsWin.h"
+#include "jaguar.h"
+#include "debugger/DBGManager.h"
+
+
+//
+BreakpointsWindow::BreakpointsWindow(QWidget * parent/*= 0*/) : QWidget(parent, Qt::Dialog),
+TableView(new QTableView),
+model(new QStandardItemModel),
+#ifdef BRK_STATUSBAR
+statusbar(new QStatusBar),
+#endif
+#ifdef BRK_REFRESHBUTTON
+refresh(new QPushButton(tr("Refresh"))),
+#endif
+layout(new QVBoxLayout)
+{
+       setWindowTitle(tr("Breakpoints"));
+
+       // Refresh feature
+#ifdef BRK_REFRESH
+       QHBoxLayout *hbox1 = new QHBoxLayout;
+       hbox1->addWidget(refresh);
+#endif
+
+       // Set the font
+       QFont fixedFont("Lucida Console", 8, QFont::Normal);
+       fixedFont.setStyleHint(QFont::TypeWriter);
+
+       // Set the new layout with proper identation and readibility
+       model->setColumnCount(3);
+       model->setHeaderData(0, Qt::Horizontal, QObject::tr("Status"));
+       model->setHeaderData(1, Qt::Horizontal, QObject::tr("Name"));
+#ifdef BRK_HITCOUNTS
+       model->setHeaderData(2, Qt::Horizontal, QObject::tr("Hit Count"));
+#endif
+       // Information table
+       TableView->setModel(model);
+       TableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
+       TableView->setShowGrid(0);
+       TableView->setFont(fixedFont);
+       TableView->verticalHeader()->setDefaultSectionSize(TableView->verticalHeader()->minimumSectionSize());
+       TableView->verticalHeader()->setDefaultAlignment(Qt::AlignRight);
+       layout->addWidget(TableView);
+
+       // Status bar
+#ifdef BRK_STATUSBAR
+       layout->addWidget(statusbar);
+#endif
+       // Set layouts
+#ifdef BRK_REFRESHBUTTON
+       layout->addLayout(hbox1);
+#endif 
+       setLayout(layout);
+       // Event setup
+#ifdef BRK_REFRESHBUTTON
+       connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContents()));
+#endif
+}
+
+
+//
+BreakpointsWindow::~BreakpointsWindow(void)
+{
+}
+
+
+// 
+void BreakpointsWindow::UpdateInfos(void)
+{
+       char *FuncName;
+       bool ok;
+       char Addresse[100];
+
+       // Display the BPM as first breakpoint
+       model->setItem(0, 0, new QStandardItem(QString("%1").arg(bpmSaveActive ? "BPM On" : "BPM Off")));
+       if (bpmAddress1)
+       {
+               sprintf(Addresse, "0x%06X", bpmAddress1);
+       }
+       else
+       {
+               strcpy(Addresse, "(null)");
+       }
+       model->setItem(0, 1, new QStandardItem(QString("%1").arg((bpmAddress1 && (FuncName = DBGManager_GetSymbolNameFromAdr(bpmAddress1))) ? FuncName : Addresse)));
+#ifdef BRK_HITCOUNTS
+       model->setItem(0, 2, new QStandardItem(QString("%1").arg(bpmHitCounts)));
+#endif
+
+       // Display all user breakpoints
+       for (size_t i = 0; i < brkNbr; i++)
+       {
+               if (brkInfo[i].Used)
+               {
+                       model->setItem((i + 1), 0, new QStandardItem(QString("%1").arg(brkInfo[i].Active ? "On" : "Off")));
+                       sprintf(Addresse, "0x%06X", brkInfo[i].Adr);
+                       model->setItem((i + 1), 1, new QStandardItem(QString("%1").arg((FuncName = brkInfo[i].Name) ? FuncName : Addresse)));
+                       model->setItem((i + 1), 2, new QStandardItem(QString("%1").arg(brkInfo[i].HitCounts)));
+               }
+       }
+}
+
+
+// 
+void BreakpointsWindow::Reset(void)
+{
+       UpdateTable(true);
+}
+
+
+// 
+void BreakpointsWindow::UpdateTable(bool refresh)
+{
+       if (refresh)
+       {
+               model->setRowCount(0);
+               model->insertRow(brkNbr + 1);
+       }
+}
+
+
+//
+void BreakpointsWindow::RefreshContents(void)
+{
+       if (isVisible())
+       {
+               UpdateTable(true);
+               UpdateInfos();
+       }
+}
+
+
+//
+void BreakpointsWindow::keyPressEvent(QKeyEvent * e)
+{
+       if (e->key() == Qt::Key_Escape)
+       {
+               hide();
+       }
+}
+
diff --git a/src/debugger/BreakpointsWin.h b/src/debugger/BreakpointsWin.h
new file mode 100644 (file)
index 0000000..b7d23e8
--- /dev/null
@@ -0,0 +1,45 @@
+//
+// BreakpointsWin.h: Breakpoints
+//
+// by Jean-Paul Mari
+//
+
+#ifndef __BREAKPOINTSWIN_H__
+#define __BREAKPOINTSWIN_H__
+
+//#define BRK_STATUSBAR                                // Status bar usage
+//#define BRK_REFRESHBUTTON                            // Refresh button
+#define BRK_HITCOUNTS                          // Support the hit count
+
+#include <QtWidgets>
+#include <stdint.h>
+
+
+class BreakpointsWindow: public QWidget
+{
+       Q_OBJECT
+
+       public:
+               BreakpointsWindow(QWidget *parent = 0);
+               ~BreakpointsWindow(void);
+               void Reset(void);
+               void RefreshContents(void);
+
+       public slots:
+
+       protected:
+               void keyPressEvent(QKeyEvent *);
+               void UpdateInfos(void);
+               void UpdateTable(bool refresh);
+
+       private:
+               QVBoxLayout *layout;
+#ifdef BRK_STATUSBAR
+               QStatusBar *statusbar;
+#endif
+               QTableView *TableView;
+               QStandardItemModel *model;
+               QPushButton *refresh;
+};
+
+#endif // __BREAKPOINTSWIN_H__
diff --git a/src/debugger/CartFilesListWin.cpp b/src/debugger/CartFilesListWin.cpp
new file mode 100644 (file)
index 0000000..add639e
--- /dev/null
@@ -0,0 +1,369 @@
+//
+// CartFilesListWin.cpp - List files in the cartridge
+//
+// by Jean-Paul Mari
+//
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
+//
+// Who  When        What
+// ---  ----------  -----------------------------------------------------------
+// JPM   Oct./2018  Created this file, and changed position of the status bar
+// JPM   Aug./2019  Update texts descriptions
+//
+
+// TO DO:
+// To allow file opening / viewing
+// Remove/modify the 1st information, named '1', at the top
+// To add a filter
+//
+
+#include "debugger/CartFilesListWin.h"
+#include "memory.h"
+#include "settings.h"
+#include "debugger/DBGManager.h"
+
+
+//
+CartFilesListWindow::CartFilesListWindow(QWidget * parent/*= 0*/) : QWidget(parent, Qt::Dialog),
+TableView(new QTableView),
+model(new QStandardItemModel),
+TVlayout(new QVBoxLayout),
+Mlayout(new QVBoxLayout),
+layout(new QVBoxLayout),
+treeView(new QTreeView),
+standardModel(new QStandardItemModel),
+rootNode(new QStandardItem),
+CartDirectory(NULL),
+TVstatusbar(new QStatusBar),
+fileItems(NULL),
+nbItem(0),
+CartUsedBytes(0),
+CartDirType(CFL_NOTYPE)
+{
+       setWindowTitle(tr("cartridge directory & files"));
+
+       // Set the font
+       QFont fixedFont("Lucida Console", 8, QFont::Normal);
+       fixedFont.setStyleHint(QFont::TypeWriter);
+
+       // Set the new layout with proper identation and readibility
+#ifdef CFL_BUFFERTREAM
+       model->setColumnCount(5);
+#else
+       model->setColumnCount(4);
+#endif
+       model->setHeaderData(0, Qt::Horizontal, QObject::tr("File"));
+       model->setHeaderData(1, Qt::Horizontal, QObject::tr("Address"));
+       model->setHeaderData(2, Qt::Horizontal, QObject::tr("Size"));
+       model->setHeaderData(3, Qt::Horizontal, QObject::tr("Seek"));
+#ifdef CFL_BUFFERTREAM
+       model->setHeaderData(4, Qt::Horizontal, QObject::tr("Stream"));
+#endif
+       // Information table
+       TableView->setModel(model);
+       TableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
+       TableView->setShowGrid(0);
+       TableView->setFont(fixedFont);
+       TableView->verticalHeader()->setDefaultSectionSize(TableView->verticalHeader()->minimumSectionSize());
+       TableView->verticalHeader()->setDefaultAlignment(Qt::AlignRight);
+       TVlayout->addWidget(TableView);
+       TVlayout->addWidget(TVstatusbar);
+
+       // Setup root
+       rootNode = standardModel->invisibleRootItem();
+       //register the model
+       treeView->setModel(standardModel);
+       treeView->expandAll();
+       Mlayout->addWidget(treeView);
+
+       // Set layouts
+       layout->addLayout(TVlayout);
+       layout->addLayout(Mlayout);
+       setLayout(layout);
+}
+
+
+//
+CartFilesListWindow::~CartFilesListWindow(void)
+{
+}
+
+
+//
+void CartFilesListWindow::Reset(void)
+{
+       standardModel->setRowCount(0);
+       model->setRowCount(0);
+       free(CartDirectory);
+       free(fileItems);
+       fileItems = NULL;
+       CartDirectory = NULL;
+       CartUsedBytes = CartNbrFiles = CartDirType = nbItem = 0;
+}
+
+
+//
+void CartFilesListWindow::RefreshContents(void)
+{
+       size_t Error;
+       char msg[1024];
+
+       if (isVisible())
+       {
+               if (!CartDirectory)
+               {
+                       if (CartDirType = GetDirType())
+                       {
+                               if ((CartNbrFiles = GetNbrFiles()))
+                               {
+                                       if ((CartDirectory = (CARTDIRINFO *)CreateInfos()))
+                                       {
+                                               UpdateInfos();
+                                               sprintf(msg, "%u files | %u bytes in cartridge", (unsigned int)CartNbrFiles, (unsigned int)CartUsedBytes);
+                                               Error = CFL_NOERROR;
+                                       }
+                                       else
+                                       {
+                                               sprintf(msg, "Cannot use directory");
+                                               Error = CFL_NODIRUSE;
+                                       }
+                               }
+                               else
+                               {
+                                       sprintf(msg, "No files");
+                                       Error = CFL_NOFILESLIST;
+                               }
+                       }
+                       else
+                       {
+                               sprintf(msg, "No directory found");
+                               Error = CFL_NODIRECTORYLIST;
+                       }
+
+                       // Display status bar
+                       if (Error)
+                       {
+                               if ((Error & CFL_WARNING))
+                               {
+                                       TVstatusbar->setStyleSheet("background-color: lightyellow; font: bold");
+                               }
+                               else
+                               {
+                                       TVstatusbar->setStyleSheet("background-color: tomato; font: bold");
+                               }
+                       }
+                       else
+                       {
+                               TVstatusbar->setStyleSheet("background-color: lightgreen; font: bold");
+                       }
+                       TVstatusbar->showMessage(QString(msg));
+               }
+               else
+               {
+                       UpdateInfos();
+               }
+       }
+}
+
+
+// Get files number in the cartridge directory
+size_t CartFilesListWindow::GetNbrFiles(void)
+{
+       switch (CartDirType)
+       {
+       case CFL_OSJAGTYPE:
+               return ((DBGManager_GetAdrFromSymbolName((char *)"OSJAG_Directory_End") - DBGManager_GetAdrFromSymbolName((char *)"OSJAG_Directory_Deb"))) / sizeof(long);
+               break;
+
+       default:
+               return 0;
+               break;
+       }
+}
+
+
+// Get cartridge directory type
+size_t CartFilesListWindow::GetDirType(void)
+{
+       if (DBGManager_GetAdrFromSymbolName((char *)"OSJAG_Directory"))
+       {
+               return CFL_OSJAGTYPE;
+       }
+       else
+       {
+               return CFL_NOTYPE;
+       }
+}
+
+
+// Get filename from index (starting from 0)
+void CartFilesListWindow::GetFileInfos(CARTDIRINFO *Ptr, size_t index)
+{
+       OSJAGDir *Adr;
+       size_t Offset;
+
+       switch (CartDirType)
+       {
+       case CFL_OSJAGTYPE:
+               Offset = DBGManager_GetAdrFromSymbolName((char *)"OSJAG_Directory_Deb") + (index * sizeof(long));
+               Adr = (OSJAGDir *)&jagMemSpace[Offset = GET32(jagMemSpace, Offset)];
+               if (strlen(Adr->Filename))
+               {
+                       Ptr->PtrFilename = Adr->Filename;
+                       Ptr->valid = true;
+               }
+               else
+               {
+                       Ptr->PtrFilename = (char *)"(null)";
+               }
+               Ptr->PtrDataFile = GET32(jagMemSpace, Offset);
+               Ptr->SizeFile = GET32(jagMemSpace, (Offset + sizeof(long)));
+               break;
+
+       default:
+               break;
+       }
+}
+
+
+// Create information from the cartridge directory information
+void *CartFilesListWindow::CreateInfos(void)
+{
+       CARTDIRINFO *Ptr = (CARTDIRINFO *)calloc(CartNbrFiles, sizeof(CARTDIRINFO));
+       model->setRowCount(0);
+
+       for (int i = 0; i < CartNbrFiles; i++)
+       {
+               GetFileInfos(&Ptr[i], i);
+               AddFilename(Ptr[i].PtrFilename, rootNode, 0);
+               // Display row content
+               model->insertRow(i);
+               model->setItem(i, 0, new QStandardItem(QString("%1").arg(Ptr[i].PtrFilename)));
+               if (Ptr[i].SizeFile)
+               {
+                       model->setItem(i, 1, new QStandardItem(QString("0x%1").arg(Ptr[i].PtrDataFile, 6, 16, QChar('0'))));
+                       model->setItem(i, 2, new QStandardItem(QString("0x%1").arg(Ptr[i].SizeFile, 6, 16, QChar('0'))));
+               }
+               CartUsedBytes += Ptr[i].SizeFile;
+       }
+
+       return Ptr;
+}
+
+
+// Update the variables information (seek and stream buffer)
+void CartFilesListWindow::UpdateInfos(void)
+{
+       size_t Offset;
+
+       for (int i = 0; i < CartNbrFiles; i++)
+       {
+               // Check if file validity (exitence)
+               if (CartDirectory[i].valid)
+               {
+                       // Get the current seek and tentatively check validity (must be included in the ram zone)
+                       Offset = DBGManager_GetAdrFromSymbolName((char *)"OSJAG_SeekPosition") + (i * sizeof(long));
+                       if ((CartDirectory[i].CurrentSeek = GET32(jagMemSpace, Offset)) < vjs.DRAM_size)
+                       {
+                               model->setItem(i, 3, new QStandardItem(QString("0x%1").arg(CartDirectory[i].CurrentSeek, 6, 16, QChar('0'))));
+                       }
+
+                       // Get stream buffer address and check validity (must be included in the ram zone)
+                       Offset = DBGManager_GetAdrFromSymbolName((char *)"OSJAG_PtrBuffer") + (i * sizeof(long));
+                       if (((CartDirectory[i].PtrBufferStream = GET32(jagMemSpace, Offset)) < vjs.DRAM_size) && CartDirectory[i].PtrBufferStream)
+                       {
+#ifdef CFL_BUFFERTREAM
+                               model->setItem(i, 4, new QStandardItem(QString("0x%1").arg(CartDirectory[i].PtrBufferStream, 6, 16, QChar('0'))));
+#else
+                               if (!CartDirectory[i].SizeFile)
+                               {
+                                       model->setItem(i, 1, new QStandardItem(QString("0x%1").arg(CartDirectory[i].PtrBufferStream, 6, 16, QChar('0'))));
+                               }
+#endif
+                       }
+                       else
+                       {
+#ifdef CFL_BUFFERTREAM
+                               model->setItem(i, 4, new QStandardItem(QString("%1").arg("")));
+#else
+                               if (!CartDirectory[i].SizeFile)
+                               {
+                                       model->setItem(i, 1, new QStandardItem(QString("%1").arg("")));
+                               }
+#endif
+                       }
+               }
+       }
+}
+
+
+// Add source code filename in the list
+void CartFilesListWindow::AddFilename(char *FileName, QStandardItem *root, size_t ItemPos)
+{
+       char *Ptr = FileName;
+       Sfileitem *PtrNewFile;
+       char Buffer[255];
+       char a;
+
+       while ((a = *Ptr++) && ((a != '\\') && (a != '/')));
+
+       if (a)
+       {
+               strncpy(Buffer, FileName, (Ptr - FileName - 1));
+               Buffer[(Ptr - FileName - 1)] = 0;
+       }
+       else
+       {
+               strcpy(Buffer, FileName);
+       }
+       PtrNewFile = (Sfileitem *)AddItem(Buffer, ItemPos);
+       if (!PtrNewFile->PreviousItem)
+       {
+               PtrNewFile->PreviousItem = root;
+               root->appendRow(PtrNewFile->Item);
+               PtrNewFile->Item->setEditable(false);
+       }
+
+       if (a)
+       {
+               return (AddFilename(Ptr, PtrNewFile->Item, (ItemPos + 1)));
+       }
+}
+
+
+// Add item to the list
+// Return void * on new item or already existing one
+void *CartFilesListWindow::AddItem(char *ItemName, size_t ItemPos)
+{
+       Sfileitem *Ptr = fileItems;
+
+       // Look for already existing item
+       for (size_t i = 0; i < nbItem; i++)
+       {
+               if ((Ptr->column == ItemPos) && !strcmp(Ptr->Item->text().toLocal8Bit().constData(), ItemName))
+               {
+                       return Ptr;
+               }
+               else
+               {
+                       Ptr++;
+               }
+       }
+
+       // Add item in the list
+       fileItems = (Sfileitem *)realloc(fileItems, (sizeof(Sfileitem) * ++nbItem));
+       (fileItems + (nbItem - 1))->column = ItemPos;
+       (fileItems + (nbItem - 1))->PreviousItem = NULL;
+       (fileItems + (nbItem - 1))->Item = new QStandardItem(ItemName);
+       return (fileItems + (nbItem - 1));
+}
+
+
+// 
+void CartFilesListWindow::keyPressEvent(QKeyEvent * e)
+{
+       if (e->key() == Qt::Key_Escape)
+       {
+               hide();
+       }
+}
diff --git a/src/debugger/CartFilesListWin.h b/src/debugger/CartFilesListWin.h
new file mode 100644 (file)
index 0000000..bc601bf
--- /dev/null
@@ -0,0 +1,93 @@
+//
+// CartFilesListWin.h: List files from directory
+//
+// by Jean-Paul Mari
+//
+
+#ifndef __CARTFILESLISTWIN_H__
+#define __CARTFILESLISTWIN_H__
+
+#include <QtWidgets>
+#include <stdint.h>
+
+//
+//#define CFL_BUFFERTREAM                              // Display the buffer stream
+
+// Error code definitions
+#define        CFL_NOERROR                             0x00
+#define        CFL_ERROR                               0x80
+#define        CFL_WARNING                             0x40
+#define        CFL_NOFILESLIST                 (0x01 | CFL_WARNING)
+#define        CFL_NODIRECTORYLIST             (0x02 | CFL_WARNING)
+#define CFL_NODIRUSE                   (0x04 | CFL_WARNING)
+
+// Cart directory type
+#define CFL_NOTYPE             0x00
+#define CFL_OSJAGTYPE  0x01
+
+
+// 
+class CartFilesListWindow: public QWidget
+{
+       Q_OBJECT
+
+       typedef struct _fileitem
+       {
+               size_t column;
+               QStandardItem *PreviousItem;
+               QStandardItem *Item;
+       }Sfileitem;
+
+       typedef struct S_CARTDIRINFO
+       {
+               bool valid;
+               char *PtrFilename;
+               size_t SizeFile;
+               size_t PtrDataFile;
+               size_t CurrentSeek;
+               size_t PtrBufferStream;
+       }
+       CARTDIRINFO;
+
+       typedef struct S_OSJAGDir
+       {
+               long PtrDataFile;
+               long SizeFile;
+               char Filename[];
+       }
+       OSJAGDir;
+
+       public:
+               CartFilesListWindow(QWidget *parent = 0);
+               ~CartFilesListWindow(void);
+               void RefreshContents(void);
+               void Reset(void);
+
+       private:
+               void *AddItem(char *ItemName, size_t ItemPos);
+               void AddFilename(char *FileName, QStandardItem *root, size_t ItemPos);
+               void UpdateInfos(void);
+               void *CreateInfos(void);
+               size_t GetDirType(void);
+               size_t GetNbrFiles(void);
+               void GetFileInfos(CARTDIRINFO *Ptr, size_t index);
+
+       protected:
+               void keyPressEvent(QKeyEvent * e);
+
+       private:
+               size_t nbItem, CartDirType, CartNbrFiles, CartUsedBytes;
+               QVBoxLayout *layout;
+               QVBoxLayout *TVlayout;
+               QVBoxLayout *Mlayout;
+               QTreeView *treeView;
+               QStandardItemModel *standardModel;
+               QStandardItem *rootNode;
+               CARTDIRINFO *CartDirectory;
+               QStatusBar *TVstatusbar;
+               Sfileitem *fileItems;
+               QStandardItemModel *model;
+               QTableView *TableView;
+};
+
+#endif // __CARTFILESLISTWIN_H__
index e3d5956..3dcb138 100644 (file)
 // JPM              Various efforts to set the ELF format support\r
 // JPM              Various efforts to set the DWARF format support\r
 // JPM  09/15/2018  Support the unsigned char\r
-// JPM  10/06/2018  Cosmetic changes\r
+// JPM   Oct./2018  Cosmetic changes, added source file search paths, and ELF function name\r
 //\r
 \r
 // To Do\r
+// To think about unique format to handle variations from ELF, DWARF, etc.\r
 //\r
 \r
 \r
@@ -50,16 +51,109 @@ struct Value
 }S_Value;\r
 \r
 \r
+//\r
+void DBGManager_SourceFileSearchPathsInit(void);\r
+void DBGManager_SourceFileSearchPathsReset(void);\r
+void DBGManager_SourceFileSearchPathsClose(void);\r
+\r
+\r
 // Common debugger variables\r
 size_t DBGType;\r
 char value[1000];\r
+size_t NbSFSearchPaths;\r
+char **SourceFileSearchPaths;\r
+\r
+\r
+// Init the source file search paths\r
+void DBGManager_SourceFileSearchPathsInit(void)\r
+{\r
+       NbSFSearchPaths = 0;\r
+       SourceFileSearchPaths = NULL;\r
+}\r
+\r
+\r
+// Set the source file search paths\r
+// Create individual path for each one provided in the list (separate with ';')\r
+void DBGManager_SourceFileSearchPathsSet(char *ListPaths)\r
+{\r
+       // Check presence of a previous list\r
+       if (NbSFSearchPaths)\r
+       {\r
+               // Reset previous list\r
+               DBGManager_SourceFileSearchPathsReset();\r
+       }\r
+\r
+       // Check if there is a paths list\r
+       if (strlen(ListPaths))\r
+       {\r
+               // Get number of paths\r
+               char *Ptr = ListPaths;\r
+               while(*Ptr)\r
+               {\r
+                       while (*Ptr && (*Ptr++ != ';'));\r
+                       {\r
+                               NbSFSearchPaths++;\r
+                       }\r
+               }\r
+\r
+               // Isolate each search path\r
+               SourceFileSearchPaths = (char **)calloc(NbSFSearchPaths, sizeof(char *));\r
+               size_t i = 0;\r
+               Ptr = ListPaths;\r
+\r
+               while (*Ptr)\r
+               {\r
+                       // Search the path separator (';')\r
+                       char *Ptr1 = Ptr;\r
+                       while (*Ptr && (*Ptr++ != ';'));\r
+\r
+                       // Copy the inidividual search path\r
+                       SourceFileSearchPaths[i] = (char *)calloc(1, (Ptr - Ptr1) + 1);\r
+                       strncpy(SourceFileSearchPaths[i], Ptr1, (Ptr - Ptr1));\r
+                       if (SourceFileSearchPaths[i][strlen(SourceFileSearchPaths[i]) - 1] == ';')\r
+                       {\r
+                               SourceFileSearchPaths[i][strlen(SourceFileSearchPaths[i]) - 1] = 0;\r
+                       }\r
+                       i++;\r
+               }\r
+       }\r
+\r
+       DWARFManager_Set(NbSFSearchPaths, SourceFileSearchPaths);\r
+}\r
+\r
+\r
+// Reset the source file search paths\r
+void DBGManager_SourceFileSearchPathsReset(void)\r
+{\r
+       // Free each path\r
+       while (NbSFSearchPaths)\r
+       {\r
+               free(SourceFileSearchPaths[--NbSFSearchPaths]);\r
+       }\r
+\r
+       // Free the pointers list\r
+       free(SourceFileSearchPaths);\r
+       SourceFileSearchPaths = NULL;\r
+}\r
+\r
+\r
+// Close the source file search paths\r
+void DBGManager_SourceFileSearchPathsClose(void)\r
+{\r
+       DBGManager_SourceFileSearchPathsReset();\r
+}\r
 \r
 \r
 // Common debugger initialisation\r
 void DBGManager_Init(void)\r
 {\r
+       // DBG initialisations\r
        DBGType = DBG_NO_TYPE;\r
+       DBGManager_SourceFileSearchPathsInit();\r
+\r
+       // ELF initialisation \r
        ELFManager_Init();\r
+       // DWARF initialisation\r
        DWARFManager_Init();\r
 }\r
 \r
@@ -82,20 +176,6 @@ void DBGManager_Reset(void)
 }\r
 \r
 \r
-// Get debugger type\r
-size_t DBGManager_GetType(void)\r
-{\r
-       return DBGType;\r
-}\r
-\r
-\r
-// Common debugger set\r
-void DBGManager_SetType(size_t DBGTypeSet)\r
-{\r
-       DBGType |= DBGTypeSet;\r
-}\r
-\r
-\r
 // Common debugger close\r
 void DBGManager_Close(void)\r
 {\r
@@ -108,6 +188,23 @@ void DBGManager_Close(void)
        {\r
                ELFManager_Close();\r
        }\r
+\r
+       DBGManager_SourceFileSearchPathsClose();\r
+       DBGType = DBG_NO_TYPE;\r
+}\r
+\r
+\r
+// Common debugger set\r
+void DBGManager_SetType(size_t DBGTypeSet)\r
+{\r
+       DBGType |= DBGTypeSet;\r
+}\r
+\r
+\r
+// Get debugger type\r
+size_t DBGManager_GetType(void)\r
+{\r
+       return DBGType;\r
 }\r
 \r
 \r
@@ -531,14 +628,19 @@ char *DBGManager_GetGlobalVariableName(size_t Index)
 // Return NULL if no function name has been found\r
 char *DBGManager_GetFunctionName(size_t Adr)\r
 {\r
+       char *Symbolname = NULL;\r
+\r
        if ((DBGType & DBG_ELFDWARF))\r
        {\r
-               return DWARFManager_GetFunctionName(Adr);\r
+               Symbolname = DWARFManager_GetFunctionName(Adr);\r
        }\r
-       else\r
+\r
+       if ((DBGType & DBG_ELF) && (Symbolname == NULL))\r
        {\r
-               return  NULL;\r
+               Symbolname = ELFManager_GetFunctionName(Adr);\r
        }\r
+\r
+       return  Symbolname;\r
 }\r
 \r
 \r
index fd9a159..f034621 100644 (file)
@@ -226,6 +226,7 @@ extern void DBGManager_SetType(size_t DBGTypeSet);
 extern size_t DBGManager_GetType(void);\r
 extern void    DBGManager_Reset(void);\r
 extern void    DBGManager_Close(void);\r
+extern void DBGManager_SourceFileSearchPathsSet(char *ListPaths);\r
 \r
 // Source text lines manager\r
 extern size_t DBGManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
@@ -234,9 +235,11 @@ extern char *DBGManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);
 extern char *DBGManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
 \r
 // General manager\r
-extern char *DBGManager_GetFunctionName(size_t Adr);\r
 extern char *DBGManager_GetVariableValueFromAdr(size_t Adr, size_t TypeEncoding, size_t TypeByteSize);\r
 \r
+// Functions manager\r
+extern char *DBGManager_GetFunctionName(size_t Adr);\r
+\r
 // Symbols manager\r
 extern char    *DBGManager_GetSymbolNameFromAdr(size_t Adr);\r
 extern size_t DBGManager_GetAdrFromSymbolName(char *SymbolName);\r
index e522e4f..fed680a 100644 (file)
@@ -7,14 +7,14 @@
 //\r
 // WHO  WHEN        WHAT\r
 // ---  ----------  ------------------------------------------------------------\r
-// JPM  12/03/2016  Created this file\r
-// JPM  12/03/2016  DWARF format support\r
+// JPM   Dec./2016  Created this file, and added the DWARF format support\r
 // JPM  Sept./2018  Added LEB128 decoding features, and improve the DWARF parsing information\r
-// JPM  10/06/2018  Improve the DWARF parsing information, and the source file text reading\r
+// JPM   Oct./2018  Improve the DWARF parsing information, and the source file text reading; support the used source lines from DWARF structure, and the search paths for the files\r
 //\r
 \r
 // To Do\r
 // To use pointers instead of arrays usage\r
+// To keep sources text file intact wihtout QT/HTML transformation\r
 // \r
 \r
 \r
 #include "LEB128.h"\r
 \r
 \r
-// Debug definitions\r
-//#define DEBUG_NumCU                  0x9                                     // CU number to debug or undefine it\r
+// Definitions for debugging\r
+//#define DEBUG_NumCU                  0x4d                            // CU number to debug or undefine it\r
 //#define DEBUG_VariableName   "sound_death"                           // Variable name to look for or undefine it\r
 //#define DEBUG_TypeName               "Cbuf_Execute"                  // Type name to look for or undefine it\r
 //#define DEBUG_TypeDef                        DW_TAG_typedef          // Type def to look for or undefine it (not supported)\r
 //#define DEBUG_Filename               "net_jag.c"                     // Filename to look for or undefine it\r
 \r
+// Definitions for the variables's typetag\r
+#define        TypeTag_structure                       0x01                    // structure\r
+#define        TypeTag_pointer                         0x02                    // pointer\r
+#define        TypeTag_subrange                        0x04                    // (subrange_type?)\r
+#define        TypeTag_arraytype                       0x08                    // array type\r
+#define        TypeTag_consttype                       0x10                    // const type\r
+#define        TypeTag_typedef                         0x20                    // typedef\r
+#define TypeTag_enumeration_type       0x40                    // enumeration\r
+#define TypeTag_subroutine_type                0x80                    // subroutine\r
+\r
+\r
+// Source line CU structure\r
+typedef struct CUStruct_LineSrc\r
+{\r
+       size_t StartPC;\r
+       size_t NumLineSrc;\r
+       char *PtrLineSrc;\r
+}S_CUStruct_LineSrc;\r
 \r
 // Source line internal structure\r
 typedef struct DMIStruct_LineSrc\r
@@ -70,16 +88,6 @@ typedef struct BaseTypeStruct
 //     StructureMembersStruct *PtrStructureMembers;    // Type's structure members\r
 }S_BaseTypeStruct;\r
 \r
-// Definitions for the variables's typetag\r
-#define        TypeTag_structure                       0x01                    // structure\r
-#define        TypeTag_pointer                         0x02                    // pointer\r
-#define        TypeTag_subrange                        0x04                    // (subrange_type?)\r
-#define        TypeTag_arraytype                       0x08                    // array type\r
-#define        TypeTag_consttype                       0x10                    // const type\r
-#define        TypeTag_typedef                         0x20                    // typedef\r
-#define TypeTag_enumeration_type       0x40                    // enumeration\r
-#define TypeTag_subroutine_type                0x80                    // subroutine\r
-\r
 // Variables internal structure\r
 typedef struct VariablesStruct\r
 {\r
@@ -117,22 +125,24 @@ typedef struct SubProgStruct
 typedef struct CUStruct\r
 {\r
        size_t Tag;\r
-       size_t LowPC, HighPC;\r
+       size_t LowPC, HighPC;                                                   // Memory range for the code\r
        char *PtrProducer;                                                              // Pointer to the "Producer" text information (mostly compiler and compilation options used)\r
        char *PtrSourceFilename;                                                // Source file name\r
        char *PtrSourceFileDirectory;                                   // Directory of the source file\r
        char *PtrFullFilename;                                                  // Pointer to full namefile (directory & filename)\r
-       size_t SizeLoadSrc;                                                             // Source code size\r
-       char *PtrLoadSrc;                                                               // Pointer to loaded source code\r
-       size_t NbLinesLoadSrc;                                                  // Lines source number\r
+       size_t SizeLoadSrc;                                                             // Source code text size\r
+       char *PtrLoadSrc;                                                               // Pointer to the source code text\r
+       size_t NbLinesLoadSrc;                                                  // Total number of lines in the source code text\r
        char **PtrLinesLoadSrc;                                                 // Pointer lists to each source line put in QT html/text conformity\r
        size_t NbSubProgs;                                                              // Number of sub programs / routines\r
-       SubProgStruct *PtrSubProgs;                                             // Pointer to the sub programs / routines information structure\r
+       SubProgStruct *PtrSubProgs;                                             // Pointer to the sub programs / routines structure\r
        size_t NbTypes;                                                                 // Number of types\r
        BaseTypeStruct *PtrTypes;                                               // Pointer to types\r
        size_t NbVariables;                                                             // Variables number\r
-       VariablesStruct *PtrVariables;                                  // Pointer to the global variables list information structure\r
+       VariablesStruct *PtrVariables;                                  // Pointer to the global variables list structure\r
        size_t NbFrames;                                                                // Frames number\r
+       size_t NbLinesSrc;                                                              // Number of used source lines\r
+       CUStruct_LineSrc *PtrLinesSrc;                                  // Pointer to the used source lines list structure\r
 }S_CUStruct;\r
 \r
 \r
@@ -143,6 +153,8 @@ Dwarf_Ptr errarg;
 Dwarf_Error error;\r
 Dwarf_Debug dbg;\r
 CUStruct *PtrCU;\r
+char **ListSearchPaths;\r
+size_t NbSearchPaths;\r
 \r
 \r
 //\r
@@ -152,6 +164,9 @@ void DWARFManager_CloseDMI(void);
 bool DWARFManager_ElfClose(void);\r
 char *DWARFManager_GetLineSrcFromNumLine(char *PtrSrcFile, size_t NumLine);\r
 void DWARFManager_InitInfosVariable(VariablesStruct *PtrVariables);\r
+void DWARFManager_SourceFileSearchPathsInit(void);\r
+void DWARFManager_SourceFileSearchPathsReset(void);\r
+void DWARFManager_SourceFileSearchPathsClose(void);\r
 \r
 \r
 //\r
@@ -161,16 +176,50 @@ Dwarf_Handler DWARFManager_ErrorHandler(Dwarf_Ptr perrarg)
 }\r
 \r
 \r
+// Dwarf manager list search paths init\r
+void DWARFManager_SourceFileSearchPathsInit(void)\r
+{\r
+       ListSearchPaths = NULL;\r
+       NbSearchPaths = 0;\r
+}\r
+\r
+\r
+// Dwarf manager list search paths reset\r
+void DWARFManager_SourceFileSearchPathsReset(void)\r
+{\r
+       ListSearchPaths = NULL;\r
+       NbSearchPaths = 0;\r
+}\r
+\r
+\r
+// Dwarf manager list search paths close\r
+void DWARFManager_SourceFileSearchPathsClose(void)\r
+{\r
+       DWARFManager_SourceFileSearchPathsReset();\r
+}\r
+\r
+\r
 // Dwarf manager init\r
 void DWARFManager_Init(void)\r
 {\r
+       DWARFManager_SourceFileSearchPathsInit();\r
        LibDwarf = DW_DLV_NO_ENTRY;\r
 }\r
 \r
 \r
+// Dwarf manager settings\r
+void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths)\r
+{\r
+       // Search paths init\r
+       ListSearchPaths = PtrListPaths;\r
+       NbSearchPaths = NbPathsInList;\r
+}\r
+\r
+\r
 // Dwarf manager Reset\r
 bool DWARFManager_Reset(void)\r
 {\r
+       DWARFManager_SourceFileSearchPathsReset();\r
        return DWARFManager_ElfClose();\r
 }\r
 \r
@@ -178,6 +227,7 @@ bool DWARFManager_Reset(void)
 // Dwarf manager Close\r
 bool DWARFManager_Close(void)\r
 {\r
+       DWARFManager_SourceFileSearchPathsClose();\r
        return(DWARFManager_Reset());\r
 }\r
 \r
@@ -228,6 +278,7 @@ void DWARFManager_CloseDMI(void)
                free(PtrCU[NbCU].PtrProducer);\r
                free(PtrCU[NbCU].PtrSourceFilename);\r
                free(PtrCU[NbCU].PtrSourceFileDirectory);\r
+               free(PtrCU[NbCU].PtrLinesSrc);\r
 \r
                while (PtrCU[NbCU].NbLinesLoadSrc--)\r
                {\r
@@ -384,23 +435,46 @@ void DWARFManager_InitDMI(void)
                                                                dwarf_dealloc(dbg, atlist, DW_DLA_LIST);\r
                                                        }\r
 \r
-                                                       // Check filename validity\r
+                                                       // Check filename presence\r
                                                        if (!PtrCU[NbCU].PtrSourceFilename)\r
                                                        {\r
                                                                PtrCU[NbCU].PtrSourceFilename = (char *)calloc(1, 1);\r
                                                        }\r
 \r
-                                                       // Check directory validity\r
+                                                       // Check directory presence\r
                                                        if (!PtrCU[NbCU].PtrSourceFileDirectory)\r
                                                        {\r
-                                                               PtrCU[NbCU].PtrSourceFileDirectory = (char *)calloc(2, 1);\r
-                                                               PtrCU[NbCU].PtrSourceFileDirectory[0] = '.';\r
+                                                               // Check if file exists in the search paths\r
+                                                               for (size_t i = 0; i < NbSearchPaths; i++)\r
+                                                               {\r
+                                                                       PtrCU[NbCU].PtrFullFilename = (char *)realloc(PtrCU[NbCU].PtrFullFilename, strlen(PtrCU[NbCU].PtrSourceFilename) + strlen((const char *)ListSearchPaths[i]) + 2);\r
+#if defined(_WIN32)\r
+                                                                       sprintf(PtrCU[NbCU].PtrFullFilename, "%s\\%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
+#else\r
+                                                                       sprintf(PtrCU[NbCU].PtrFullFilename, "%s/%s", ListSearchPaths[i], PtrCU[NbCU].PtrSourceFilename);\r
+#endif\r
+                                                                       if (!fopen_s(&SrcFile, PtrCU[NbCU].PtrFullFilename, "rb"))\r
+                                                                       {\r
+                                                                               PtrCU[NbCU].PtrSourceFileDirectory = (char *)realloc(PtrCU[NbCU].PtrSourceFileDirectory, strlen(ListSearchPaths[i]) + 1);\r
+                                                                               strcpy(PtrCU[NbCU].PtrSourceFileDirectory, ListSearchPaths[i]);\r
+                                                                       }\r
+                                                               }\r
+\r
+                                                               // File directory doesn't exits\r
+                                                               if (!PtrCU[NbCU].PtrSourceFileDirectory)\r
+                                                               {\r
+                                                                       PtrCU[NbCU].PtrSourceFileDirectory = (char *)realloc(PtrCU[NbCU].PtrSourceFileDirectory, 2);\r
+                                                                       strcpy(PtrCU[NbCU].PtrSourceFileDirectory, ".");\r
+                                                               }\r
                                                        }\r
 \r
                                                        // Create full filename\r
                                                        Ptr = PtrCU[NbCU].PtrFullFilename = (char *)realloc(PtrCU[NbCU].PtrFullFilename, strlen(PtrCU[NbCU].PtrSourceFilename) + strlen(PtrCU[NbCU].PtrSourceFileDirectory) + 2);\r
+#if defined(_WIN32)\r
                                                        sprintf(PtrCU[NbCU].PtrFullFilename, "%s\\%s", PtrCU[NbCU].PtrSourceFileDirectory, PtrCU[NbCU].PtrSourceFilename);\r
-\r
+#else\r
+                                                       sprintf(PtrCU[NbCU].PtrFullFilename, "%s/%s", PtrCU[NbCU].PtrSourceFileDirectory, PtrCU[NbCU].PtrSourceFilename);\r
+#endif\r
                                                        // Conform slashes and backslashes\r
                                                        while (*Ptr)\r
                                                        {\r
@@ -503,6 +577,22 @@ void DWARFManager_InitDMI(void)
                                        // Get the source lines table located in the CU\r
                                        if (dwarf_srclines(return_sib, &linebuf, &cnt, &error) == DW_DLV_OK)\r
                                        {\r
+                                               if (cnt)\r
+                                               {\r
+                                                       PtrCU[NbCU].NbLinesSrc = cnt;\r
+                                                       PtrCU[NbCU].PtrLinesSrc = (CUStruct_LineSrc *)calloc(cnt, sizeof(CUStruct_LineSrc));\r
+                                                       for (Dwarf_Signed i = 0; i < cnt; i++)\r
+                                                       {\r
+                                                               if (dwarf_lineaddr(linebuf[i], &return_lineaddr, &error) == DW_DLV_OK)\r
+                                                               {\r
+                                                                       if (dwarf_lineno(linebuf[i], &return_uvalue, &error) == DW_DLV_OK)\r
+                                                                       {\r
+                                                                               PtrCU[NbCU].PtrLinesSrc[i].StartPC = return_lineaddr;\r
+                                                                               PtrCU[NbCU].PtrLinesSrc[i].NumLineSrc = return_uvalue;\r
+                                                                       }\r
+                                                               }\r
+                                                       }\r
+                                               }\r
                                        }\r
 \r
                                        // Check if the CU has child\r
@@ -988,7 +1078,7 @@ void DWARFManager_InitDMI(void)
                                                        }\r
                                                }\r
 \r
-                                               // Init lines source information based on each source code line numbers\r
+                                               // Init lines source information for each source code line numbers and for each subprogs\r
                                                for (size_t j = 0; j < PtrCU[NbCU].NbSubProgs; j++)\r
                                                {\r
                                                        // Check if the subprog / function's line exists in the source code\r
@@ -1027,6 +1117,27 @@ void DWARFManager_InitDMI(void)
                                        }\r
                                }\r
 \r
+                               // Set information based on used line numbers\r
+                               if (PtrCU[NbCU].PtrLinesSrc)\r
+                               {\r
+                                       // Set the line source pointer for each used line numbers\r
+                                       if (PtrCU[NbCU].PtrLinesLoadSrc)\r
+                                       {\r
+                                               for (size_t i = 0; i < PtrCU[NbCU].NbLinesSrc; i++)\r
+                                               {\r
+                                                       PtrCU[NbCU].PtrLinesSrc[i].PtrLineSrc = PtrCU[NbCU].PtrLinesLoadSrc[PtrCU[NbCU].PtrLinesSrc[i].NumLineSrc - 1];\r
+                                               }\r
+\r
+                                               // Setup memory range for the code if CU doesn't have already this information\r
+                                               // It is taken from the used lines structure\r
+                                               if (!PtrCU[NbCU].LowPC && (!PtrCU[NbCU].HighPC || (PtrCU[NbCU].HighPC == ~0)))\r
+                                               {\r
+                                                       PtrCU[NbCU].LowPC = PtrCU[NbCU].PtrLinesSrc[0].StartPC;\r
+                                                       PtrCU[NbCU].HighPC = PtrCU[NbCU].PtrLinesSrc[PtrCU[NbCU].NbLinesSrc - 1].StartPC;\r
+                                               }\r
+                                       }\r
+                               }\r
+\r
                                // Init global variables information based on types information\r
                                for (size_t i = 0; i < PtrCU[NbCU].NbVariables; i++)\r
                                {\r
@@ -1077,7 +1188,10 @@ void DWARFManager_InitInfosVariable(VariablesStruct *PtrVariables)
                                        PtrVariables->TypeTag |= TypeTag_structure;\r
                                        if (!(PtrVariables->TypeTag & TypeTag_typedef))\r
                                        {\r
-                                               strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+                                               if (PtrCU[NbCU].PtrTypes[j].PtrName)\r
+                                               {\r
+                                                       strcat(PtrVariables->PtrTypeName, PtrCU[NbCU].PtrTypes[j].PtrName);\r
+                                               }\r
                                        }\r
                                        if ((TypeOffset = PtrCU[NbCU].PtrTypes[j].TypeOffset))\r
                                        {\r
@@ -1196,13 +1310,11 @@ void DWARFManager_InitInfosVariable(VariablesStruct *PtrVariables)
 // Return NULL if no symbol name exists\r
 char *DWARFManager_GetSymbolnameFromAdr(size_t Adr)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; (j < PtrCU[i].NbSubProgs); j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((PtrCU[i].PtrSubProgs[j].StartPC == Adr))\r
                                {\r
@@ -1221,9 +1333,7 @@ char *DWARFManager_GetSymbolnameFromAdr(size_t Adr)
 // Return the existence status (true or false) in Error\r
 char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
@@ -1236,7 +1346,7 @@ char *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error)
 }\r
 \r
 \r
-// Get text line source based on line number (starting by 1)\r
+// Get text line source based on line number (starting from 1)\r
 // Return NULL if no text line exists or if line number is 0\r
 char *DWARFManager_GetLineSrcFromNumLine(char *PtrSrcFile, size_t NumLine)\r
 {\r
@@ -1260,13 +1370,11 @@ char *DWARFManager_GetLineSrcFromNumLine(char *PtrSrcFile, size_t NumLine)
 // Get number of variables referenced by the function range address\r
 size_t DWARFManager_GetNbLocalVariables(size_t Adr)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1280,18 +1388,16 @@ size_t DWARFManager_GetNbLocalVariables(size_t Adr)
 }\r
 \r
 \r
-// Get local variable name based on his index (starting by 1)\r
+// Get local variable name based on his index (starting from 1)\r
 // Return name's pointer text found\r
 // Return NULL if not found\r
 char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1305,17 +1411,15 @@ char *DWARFManager_GetLocalVariableName(size_t Adr, size_t Index)
 }\r
 \r
 \r
-// Get local variable's type tag based on his index (starting by 1)\r
+// Get local variable's type tag based on his index (starting from 1)\r
 // Return 0 if not found\r
 size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1329,16 +1433,15 @@ size_t DWARFManager_GetLocalVariableTypeTag(size_t Adr, size_t Index)
 }\r
 \r
 \r
-//\r
+// Get the local variable's offset based on a index (starting from 1)\r
+// Return 0 if no offset has been found\r
 int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1352,18 +1455,16 @@ int DWARFManager_GetLocalVariableOffset(size_t Adr, size_t Index)
 }\r
 \r
 \r
-// Get local variable Type Byte Size based on his address and index (starting by 1)\r
+// Get local variable Type Byte Size based on his address and index (starting from 1)\r
 // Return 0 if not found\r
 // May return 0 if there is no Type Byte Size linked to the variable's address and index\r
 size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1377,18 +1478,16 @@ size_t DWARFManager_GetLocalVariableTypeByteSize(size_t Adr, size_t Index)
 }\r
 \r
 \r
-// Get local variable Type Encoding based on his address and index (starting by 1)\r
+// Get local variable Type Encoding based on his address and index (starting from 1)\r
 // Return 0 if not found\r
 // May return 0 if there is no Type Encoding linked to the variable's address and index\r
 size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1402,18 +1501,15 @@ size_t DWARFManager_GetLocalVariableTypeEncoding(size_t Adr, size_t Index)
 }\r
 \r
 \r
-// Get local variable Op based on his address and index (starting by 1)\r
-// Return 0 if not found\r
-// May return 0 if there isn't Op linked to the variable's index\r
+// Get local variable Op based on his address and index (starting from 1)\r
+// Return 0 if not found, may return 0 if there isn't Op linked to the variable's index\r
 size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1427,18 +1523,15 @@ size_t DWARFManager_GetLocalVariableOp(size_t Adr, size_t Index)
 }\r
 \r
 \r
-// Get local variable type name based on his index (starting by 1)\r
-// Return NULL if not found\r
-// May return NULL if there is not type linked to the variable's index\r
+// Get local variable type name based on his index (starting from 1) and an address\r
+// Return NULL if not found, may also return NULL if there is no type linked to the variable's index\r
 char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1453,12 +1546,12 @@ char *DWARFManager_GetLocalVariableTypeName(size_t Adr, size_t Index)
 \r
 \r
 // Get Compilation Unit / global variables numbers\r
-// Return variables number\r
+// Return number of variables\r
 size_t DWARFManager_GetNbGlobalVariables(void)\r
 {\r
-       size_t NbVariables = 0, i;\r
+       size_t NbVariables = 0;\r
 \r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                NbVariables += PtrCU[i].NbVariables;\r
        }\r
@@ -1467,14 +1560,12 @@ size_t DWARFManager_GetNbGlobalVariables(void)
 }\r
 \r
 \r
-// Get global variable type name based on his index (starting by 1)\r
+// Get global variable type name based on his index (starting from 1)\r
 // Return NULL if not found\r
 // May return NULL if there is not type linked to the variable's index\r
 char *DWARFManager_GetGlobalVariableTypeName(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1493,13 +1584,11 @@ char *DWARFManager_GetGlobalVariableTypeName(size_t Index)
 }\r
 \r
 \r
-// Get global variable's type tag based on his index (starting by 1)\r
+// Get global variable's type tag based on his index (starting from 1)\r
 // Return 0 if not found\r
 size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1518,13 +1607,11 @@ size_t DWARFManager_GetGlobalVariableTypeTag(size_t Index)
 }\r
 \r
 \r
-// Get global variable byte size based on his index (starting by 1)\r
+// Get global variable byte size based on his index (starting from 1)\r
 // Return 0 if not found\r
 size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1543,13 +1630,11 @@ size_t DWARFManager_GetGlobalVariableTypeByteSize(size_t Index)
 }\r
 \r
 \r
-// Get global variable encoding based on his index (starting by 1)\r
+// Get global variable encoding based on his index (starting from 1)\r
 // Return 0 if not found\r
 size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1568,13 +1653,11 @@ size_t DWARFManager_GetGlobalVariableTypeEncoding(size_t Index)
 }\r
 \r
 \r
-// Get global variable address based on his index (starting by 1)\r
+// Get global variable memory address based on his index (starting from 1)\r
 // Return 0 if not found\r
 size_t DWARFManager_GetGlobalVariableAdr(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1594,17 +1677,14 @@ size_t DWARFManager_GetGlobalVariableAdr(size_t Index)
 \r
 \r
 // Get global variable memory address based on his name\r
-// Return 0 if not found\r
-// Note: Return the first occurence found\r
+// Return 0 if not found, or will return the first occurence found\r
 size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbVariables; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbVariables; j++)\r
                        {\r
                                if (!strcmp(PtrCU[i].PtrVariables[j].PtrName,VariableName))\r
                                {\r
@@ -1618,14 +1698,11 @@ size_t DWARFManager_GetGlobalVariableAdrFromName(char *VariableName)
 }\r
 \r
 \r
-// Get global variable name based on his index (starting by 1)\r
-// Return name's pointer text found\r
-// Return NULL if not found\r
+// Get global variable name based on his index (starting from 1)\r
+// Return name's pointer text found, or will return NULL if no variable can be found\r
 char *DWARFManager_GetGlobalVariableName(size_t Index)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if (PtrCU[i].NbVariables)\r
                {\r
@@ -1645,16 +1722,16 @@ char *DWARFManager_GetGlobalVariableName(size_t Index)
 \r
 \r
 // Get text line from source based on address and his tag\r
+// A tag can be either 0 or a DW_TAG_subprogram\r
+// DW_TAG_subprogram will look for the line pointing to the function\r
 // Return NULL if no text line has been found\r
 char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag)\r
 {\r
-       size_t i, j, k;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1664,7 +1741,7 @@ char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag)
                                        }\r
                                        else\r
                                        {\r
-                                               for (k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
+                                               for (size_t k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
                                                {\r
                                                        if (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC <= Adr)\r
                                                        {\r
@@ -1688,17 +1765,17 @@ char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag)
 }\r
 \r
 \r
-// Get line number based on the address and the tag\r
+// Get line number based on the address and a tag\r
+// A tag can be either 0 or a DW_TAG_subprogram\r
+// DW_TAG_subprogram will look for the line pointing to the function name as described in the source code\r
 // Return 0 if no line number has been found\r
 size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag)\r
 {\r
-       size_t i, j, k;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; (j < PtrCU[i].NbSubProgs); j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1708,7 +1785,7 @@ size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag)
                                        }\r
                                        else\r
                                        {\r
-                                               for (k = 0; (k < PtrCU[i].PtrSubProgs[j].NbLinesSrc); k++)\r
+                                               for (size_t k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
                                                {\r
                                                        if ((PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].StartPC == Adr) && (!Tag || (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].Tag == Tag)))\r
                                                        {\r
@@ -1724,6 +1801,15 @@ size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag)
 #endif\r
                                }\r
                        }\r
+\r
+                       // Check if a used line is found with the address\r
+                       for (size_t j = 0; j < PtrCU[i].NbLinesSrc; j++)\r
+                       {\r
+                               if (PtrCU[i].PtrLinesSrc[j].StartPC == Adr)\r
+                               {\r
+                                       return PtrCU[i].PtrLinesSrc[j].NumLineSrc;\r
+                               }\r
+                       }\r
                }\r
        }\r
 \r
@@ -1731,17 +1817,15 @@ size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag)
 }\r
 \r
 \r
-// Get function name based on address and his range\r
-// Return NULL if no function name has been found\r
+// Get function name based on an address\r
+// Return NULL if no function name has been found, otherwise will return the function name in the range of the provided address\r
 char *DWARFManager_GetFunctionName(size_t Adr)\r
 {\r
-       size_t i, j;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1755,17 +1839,15 @@ char *DWARFManager_GetFunctionName(size_t Adr)
 }\r
 \r
 \r
-// Get text line from source based on address and num line (starting by 1)\r
+// Get text line from source based on address and num line (starting from 1)\r
 // Return NULL if no text line has been found\r
 char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine)\r
 {\r
-       size_t i, j, k;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
-                       for (j = 0; j < PtrCU[i].NbSubProgs; j++)\r
+                       for (size_t j = 0; j < PtrCU[i].NbSubProgs; j++)\r
                        {\r
                                if ((Adr >= PtrCU[i].PtrSubProgs[j].LowPC) && (Adr < PtrCU[i].PtrSubProgs[j].HighPC))\r
                                {\r
@@ -1775,7 +1857,7 @@ char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine)
                                        }\r
                                        else\r
                                        {\r
-                                               for (k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
+                                               for (size_t k = 0; k < PtrCU[i].PtrSubProgs[j].NbLinesSrc; k++)\r
                                                {\r
                                                        if (PtrCU[i].PtrSubProgs[j].PtrLinesSrc[k].NumLineSrc == NumLine)\r
                                                        {\r
@@ -1792,13 +1874,11 @@ char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine)
 }\r
 \r
 \r
-// Get text line pointer from source, based on address and line number (starting by 1)\r
+// Get text line pointer from source, based on address and line number (starting from 1)\r
 // Return NULL if no text line has been found, or if requested number line is above the source total number of lines\r
 char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine)\r
 {\r
-       size_t i;\r
-\r
-       for (i = 0; i < NbCU; i++)\r
+       for (size_t i = 0; i < NbCU; i++)\r
        {\r
                if ((Adr >= PtrCU[i].LowPC) && (Adr < PtrCU[i].HighPC))\r
                {\r
@@ -1824,7 +1904,7 @@ size_t DWARFManager_GetNbFullSourceFilename(void)
 }\r
 \r
 \r
-// Get source code filename based on index\r
+// Get source code filename based on index (starting from 0)\r
 char *DWARFManager_GetNumFullSourceFilename(size_t Index)\r
 {\r
        return (PtrCU[Index].PtrFullFilename);\r
index 7b66a74..d05e4ee 100644 (file)
@@ -4,22 +4,29 @@
 #define __DWARFMANAGER_H__\r
 \r
 \r
-// \r
+// Internal manager\r
 extern bool    DWARFManager_Reset(void);\r
 extern bool    DWARFManager_Close(void);\r
 extern void    DWARFManager_Init(void);\r
 extern int DWARFManager_ElfInit(Elf *ElfPtr);\r
+extern void DWARFManager_Set(size_t NbPathsInList, char **PtrListPaths);\r
 \r
-// \r
+// General manager\r
+extern char *DWARFManager_GetFunctionName(size_t Adr);\r
+\r
+// Source text files manager\r
 extern char    *DWARFManager_GetFullSourceFilenameFromAdr(size_t Adr, bool *Error);\r
-extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
+extern size_t DWARFManager_GetNbFullSourceFilename(void);\r
+extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r
+\r
+// Symbols manager\r
 extern char    *DWARFManager_GetSymbolnameFromAdr(size_t Adr);\r
+\r
+// Source text lines manager\r
+extern size_t DWARFManager_GetNumLineFromAdr(size_t Adr, size_t Tag);\r
 extern char *DWARFManager_GetLineSrcFromAdr(size_t Adr, size_t Tag);\r
 extern char *DWARFManager_GetLineSrcFromAdrNumLine(size_t Adr, size_t NumLine);\r
 extern char *DWARFManager_GetLineSrcFromNumLineBaseAdr(size_t Adr, size_t NumLine);\r
-extern char *DWARFManager_GetFunctionName(size_t Adr);\r
-extern size_t DWARFManager_GetNbFullSourceFilename(void);\r
-extern char *DWARFManager_GetNumFullSourceFilename(size_t Index);\r
 \r
 // Global variables manager\r
 extern size_t DWARFManager_GetNbGlobalVariables(void);\r
index 6931df0..3624653 100644 (file)
@@ -7,9 +7,9 @@
 //
 // WHO  WHEN        WHAT
 // ---  ----------  ------------------------------------------------------------
-// JPM  12/01/2016  Created this file
-// JPM  12/01/2016  ELF format support
-// JPM  13/07/2017  ELF DWARF format support
+// JPM   Jan./2016  Created this file and added ELF format support
+// JPM  07/13/2017  ELF DWARF format support improvement
+// JPM  10/20/2018  Added function name support from ELF structure
 //
 
 #include <stdlib.h>
@@ -22,6 +22,9 @@
 #include "DwarfManager.h"
 
 
+//#define LOG_SUPPORT                                  // Support log
+
+
 typedef struct {
        const char *SectionName;
        size_t SectionType;
@@ -241,6 +244,39 @@ size_t ELFManager_GetAdrFromSymbolName(char *SymbolName)
 }
 
 
+// Get function name from his address
+// Return NULL if function name is not found
+char *ELFManager_GetFunctionName(size_t Adr)
+{
+       char *SymbolName = NULL;
+       GElf_Sym *PtrST, ST;
+
+       if (ELFtab != NULL)
+       {
+               for (size_t i = 0; i < NbELFtabStruct; i++)
+               {
+                       if ((ELFtab[i]->Type == ELF_symtab_TYPE) && ((ELFtab[i]->PtrDataTab) != NULL))
+                       {
+                               int j = 0;
+
+                               while ((PtrST = gelf_getsym(ELFtab[i]->PtrDataTab, j++, &ST)) != NULL)
+                               {
+                                       if (PtrST->st_value == Adr)
+                                       {
+                                               if (ELF32_ST_TYPE(PtrST->st_info) == STT_FUNC)
+                                               {
+                                                       SymbolName = ELFManager_GetSymbolnameFromSymbolindex(PtrST->st_name);
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+
+       return SymbolName;
+}
+
+
 // Get Symbol name from his address
 // Return NULL if Symbol name is not found
 char *ELFManager_GetSymbolnameFromAdr(size_t Adr)
@@ -260,7 +296,9 @@ char *ELFManager_GetSymbolnameFromAdr(size_t Adr)
                                {
                                        if (PtrST->st_value == Adr)
                                        {
+#ifdef LOG_SUPPORT
                                                WriteLog("ELF: .symtab: DATA: st_info=%0x, st_name=%0x, st_other=%0x, st_shndx=%0x, st_size=%0x, st_value=%0x\n", PtrST->st_info, PtrST->st_name, PtrST->st_other, PtrST->st_shndx, PtrST->st_size, PtrST->st_value);
+#endif
                                                SymbolName = ELFManager_GetSymbolnameFromSymbolindex(PtrST->st_name);
                                        }
                                }
index aef8a54..7b03bfc 100644 (file)
@@ -28,6 +28,7 @@ typedef enum {
 }ELFSECTIONTYPE;
 
 
+// Internal manager
 extern void    ELFManager_Init(void);
 extern bool    ELFManager_DwarfInit(Elf *PtrElfMem);
 extern Elf *ELFManager_MemOpen(char *PtrELFExe, size_t Size);
@@ -35,10 +36,17 @@ extern int  ELFManager_MemEnd(void);
 extern void    ELFManager_Reset(void);
 extern void    ELFManager_Close(void);
 extern bool ELFManager_AddTab(void *Ptr, size_t type);
-extern char *ELFManager_GetSymbolnameFromAdr(size_t Adr);
 extern void    *ELFManager_ExeCopy(void *src, size_t size);
+
+// Sections manager
 extern size_t ELFManager_GetSectionType(char *SectionName);
+
+// Symbols manager
 extern size_t ELFManager_GetAdrFromSymbolName(char *SymbolName);
+extern char *ELFManager_GetSymbolnameFromAdr(size_t Adr);
+
+// Functions manager
+extern char *ELFManager_GetFunctionName(size_t Adr);
 
 
 #endif // __ELFMANAGER_H__
diff --git a/src/debugger/NewFnctBreakpointWin.cpp b/src/debugger/NewFnctBreakpointWin.cpp
new file mode 100644 (file)
index 0000000..a962ded
--- /dev/null
@@ -0,0 +1,125 @@
+//
+// NewFnctBreakpointsWin.cpp - New function breakpoint
+//
+// by Jean-Paul Mari
+//
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
+//
+// Who  When        What
+// ---  ----------  -----------------------------------------------------------
+// JPM  10/19/2018  Created this file
+//
+
+// STILL TO DO:
+// Set information (name, etc.) for the asm function
+// Find a way to refresh the breakpoints list window
+//
+
+#include "debugger/NewFnctBreakpointWin.h"
+#include "jaguar.h"
+#include "debugger/DBGManager.h"
+#include "m68000/m68kinterface.h"
+#include "settings.h"
+
+
+//
+NewFnctBreakpointWindow::NewFnctBreakpointWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog),
+layout(new QVBoxLayout),
+address(new QLineEdit),
+add(new QPushButton(tr("Add")))
+{
+       setWindowTitle(tr("New function breakpoint"));
+
+       address->setPlaceholderText("0x<value>, decimal value or symbol name");
+
+       QHBoxLayout * hbox1 = new QHBoxLayout;
+       hbox1->addWidget(address);
+       hbox1->addWidget(add);
+
+       layout->addLayout(hbox1);
+       setLayout(layout);
+
+       connect(add, SIGNAL(clicked()), this, SLOT(AddBreakpointAddress()));
+}
+
+
+//
+void NewFnctBreakpointWindow::keyPressEvent(QKeyEvent * e)
+{
+       if (e->key() == Qt::Key_Escape)
+       {
+               hide();
+       }
+       else
+       {
+               if (e->key() == Qt::Key_Return)
+               {
+                       AddBreakpointAddress();
+               }
+       }
+}
+
+
+// Add a breakpoint to the address
+// Address can be an hexa, decimal or a symbol name
+void NewFnctBreakpointWindow::AddBreakpointAddress(void)
+{
+       bool ok;
+       size_t len;
+       QString newAddress;
+       size_t adr;
+       S_BrkInfo Brk;
+
+       memset(&Brk, 0, sizeof(Brk));
+       QPalette p = address->palette();
+       newAddress = address->text();
+
+       if ((len = newAddress.size()))
+       {
+               if ((len > 1) && (newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
+               {
+                       adr = newAddress.toUInt(&ok, 16);
+               }
+               else
+               {
+                       if (!(adr = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+                       {
+                               adr = newAddress.toUInt(&ok, 10);
+                       }
+                       else
+                       {
+                               ok = true;
+                       }
+               }
+
+               // Check validity address
+               if (ok && (adr < 0xffffff))
+               {
+                       // Set information based on address
+                       Brk.Name = DBGManager_GetSymbolNameFromAdr(adr);
+                       Brk.Filename = DBGManager_GetFullSourceFilenameFromAdr(adr, &ok);
+                       Brk.NumLine = DBGManager_GetNumLineFromAdr(adr, DBG_TAG_subprogram);
+                       Brk.LineSrc = DBGManager_GetLineSrcFromAdrNumLine(adr, Brk.NumLine);
+
+                       // In all cases, consider address as valid
+                       Brk.Adr = adr;
+
+                       // Add the breakpoint
+                       if (m68k_brk_add(&Brk))
+                       {
+                               p.setColor(QPalette::Text, Qt::black);
+                       }
+                       else
+                       {
+                               p.setColor(QPalette::Text, Qt::darkYellow);
+                       }
+               }
+               else
+               {
+                       // Address is not valid
+                       p.setColor(QPalette::Text, Qt::red);
+               }
+
+               address->setPalette(p);
+       }
+}
diff --git a/src/debugger/NewFnctBreakpointWin.h b/src/debugger/NewFnctBreakpointWin.h
new file mode 100644 (file)
index 0000000..eb6d3cc
--- /dev/null
@@ -0,0 +1,34 @@
+//
+// NewFnctBreakpointWin.h: New function breakpoint
+//
+// by Jean-Paul Mari
+//
+
+#ifndef __NEWFNCTBREAKPOINTWIN_H__
+#define __NEWFNCTBREAKPOINTWIN_H__
+
+#include <QtWidgets>
+#include <stdint.h>
+
+class NewFnctBreakpointWindow: public QWidget
+{
+       Q_OBJECT
+
+       public:
+               NewFnctBreakpointWindow(QWidget * parent = 0);
+
+       public slots:
+
+       protected:
+               void keyPressEvent(QKeyEvent *);
+
+       protected slots:
+               void AddBreakpointAddress(void);
+
+       private:
+               QVBoxLayout *layout;
+               QLineEdit *address;
+               QPushButton *add;
+};
+
+#endif // __NEWFNCTBREAKPOINTWIN_H__
diff --git a/src/debugger/SaveDumpAsWin.cpp b/src/debugger/SaveDumpAsWin.cpp
new file mode 100644 (file)
index 0000000..abf7cbd
--- /dev/null
@@ -0,0 +1,190 @@
+//
+// SaveDumpAsWin.cpp - Save Dump function
+//
+// by Jean-Paul Mari
+//
+// JPM = Jean-Paul Mari <djipi.mari@gmail.com>
+//
+// Who  When        What
+// ---  ----------  -----------------------------------------------------------
+// JPM  04/10/2019  Created this file
+//
+
+// STILL TO DO:
+//
+
+#include "debugger/SaveDumpAsWin.h"
+#include "jaguar.h"
+#include "debugger/DBGManager.h"
+#include "m68000/m68kinterface.h"
+#include "settings.h"
+
+
+//
+SaveDumpAsWindow::SaveDumpAsWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog),
+layout(new QVBoxLayout),
+maddress(new QLineEdit),
+msize(new QLineEdit),
+savedump(new SaveDumpAsInfo),
+save(new QPushButton(tr("Save")))
+{
+       setWindowTitle(tr("Save Dump As..."));
+
+       maddress->setPlaceholderText("0x<value>, decimal value or symbol name");
+       msize->setPlaceholderText("0x<value>, or decimal value");
+
+       QHBoxLayout * hbox1 = new QHBoxLayout;
+       hbox1->addWidget(maddress);
+       hbox1->addWidget(msize);
+       hbox1->addWidget(save);
+
+       layout->addLayout(hbox1);
+       setLayout(layout);
+
+       connect(save, SIGNAL(clicked()), this, SLOT(SaveDumpAs()));
+}
+
+
+//
+SaveDumpAsWindow::~SaveDumpAsWindow(void)
+{
+}
+
+
+//
+void SaveDumpAsWindow::keyPressEvent(QKeyEvent * e)
+{
+       if (e->key() == Qt::Key_Escape)
+       {
+               hide();
+       }
+       else
+       {
+               if (e->key() == Qt::Key_Return)
+               {
+                       SaveDumpAs();
+               }
+       }
+}
+
+
+// Save Dump
+void SaveDumpAsWindow::SaveDumpAs(void)
+{
+       if (SelectAddress() && SelectSize())
+       {
+               QString fileName = QFileDialog::getSaveFileName(this, tr("Save dump"), "", tr("Save dump files (*.bin)"));
+
+               if (fileName.size())
+               {
+                       if (FILE *File = fopen((char *)fileName.toUtf8().data(), "wb"))
+                       {
+                               if (fwrite((void *)&jagMemSpace[savedump->Adr], savedump->Size, 1, File) == 1)
+                               {
+                                       fclose(File);
+                               }
+                       }
+               }
+       }
+}
+
+
+// Select size
+bool SaveDumpAsWindow::SelectSize(void)
+{
+       bool ok = false;
+       size_t len;
+       QString newSize;
+       size_t s;
+
+       QPalette p = msize->palette();
+       newSize = msize->text();
+
+       if ((len = newSize.size()))
+       {
+               if ((len > 1) && (newSize.at(0) == QChar('0')) && (newSize.at(1) == QChar('x')))
+               {
+                       s = newSize.toUInt(&ok, 16);
+               }
+               else
+               {
+                       s = newSize.toUInt(&ok, 10);
+               }
+
+               // Check validity size
+               if (ok && s && (s < 0xffffff))
+               {
+                       // In all cases, consider size as valid
+                       savedump->Size = s;
+                       p.setColor(QPalette::Text, Qt::darkYellow);
+               }
+               else
+               {
+                       // Size is not valid
+                       ok = false;
+                       p.setColor(QPalette::Text, Qt::red);
+               }
+       }
+       else
+       {
+               // Size has not be set
+               p.setColor(QPalette::Text, Qt::darkRed);
+       }
+
+       msize->setPalette(p);
+       return ok ? true : false;
+}
+
+
+// Select address
+// Address can be an hexa, decimal or a symbol name
+bool SaveDumpAsWindow::SelectAddress(void)
+{
+       bool ok = false;
+       size_t len;
+       QString newAddress;
+       size_t adr;
+
+       QPalette p = maddress->palette();
+       newAddress = maddress->text();
+
+       if ((len = newAddress.size()))
+       {
+               if ((len > 1) && (newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
+               {
+                       adr = newAddress.toUInt(&ok, 16);
+               }
+               else
+               {
+                       if (!(adr = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+                       {
+                               adr = newAddress.toUInt(&ok, 10);
+                       }
+                       else
+                       {
+                               ok = true;
+                       }
+               }
+
+               // Check validity address
+               if (ok && (adr < 0xffffff))
+               {
+                       // In all cases, consider address as valid
+                       savedump->Adr = adr;
+                       p.setColor(QPalette::Text, Qt::darkYellow);
+               }
+               else
+               {
+                       // Address is not valid
+                       p.setColor(QPalette::Text, Qt::red);
+               }
+       }
+       else
+       {
+               // Address has not be set
+               p.setColor(QPalette::Text, Qt::darkRed);
+       }
+
+       maddress->setPalette(p);
+       return ok ? true : false;
+}
diff --git a/src/debugger/SaveDumpAsWin.h b/src/debugger/SaveDumpAsWin.h
new file mode 100644 (file)
index 0000000..3a755ed
--- /dev/null
@@ -0,0 +1,46 @@
+//
+// SaveDumpAsWin.h: Save Dump function
+//
+// by Jean-Paul Mari
+//
+
+#ifndef __SAVEDUMPASWIN_H__
+#define __SAVEDUMPASWIN_H__
+
+#include <QtWidgets>
+#include <stdint.h>
+
+class SaveDumpAsWindow : public QWidget
+{
+       Q_OBJECT
+
+       typedef struct SaveDumpAsInfo
+       {
+               size_t Size;
+               size_t Adr;
+       }
+       S_SaveDumpAsInfo;
+
+       public:
+               SaveDumpAsWindow(QWidget * parent = 0);
+               ~SaveDumpAsWindow(void);
+
+       protected:
+               void keyPressEvent(QKeyEvent *);
+
+       protected slots:
+               void SaveDumpAs(void);
+
+       private:
+               bool SelectAddress(void);
+               bool SelectSize(void);
+
+       private:
+               QVBoxLayout *layout;
+               QLineEdit *maddress;
+               QLineEdit *msize;
+               QPushButton *save;
+               SaveDumpAsInfo *savedump;
+};
+
+#endif // __SAVEDUMPASWIN_H__
index 54a8126..f17b3f4 100644 (file)
@@ -9,16 +9,18 @@
 // ---  ----------  -----------------------------------------------------------\r
 // JPM  12/07/2017  Created this file\r
 // JPM  09/14/2018  Added a status bar, better status report and set information values in a tab\r
-// JPM  10/05/2018  Added a sorting filter \r
+// JPM  April/2019  Added a sorting filter, tableview unique rows creation\r
 //\r
 \r
 // STILL TO DO:\r
 // Better presentation\r
 // To set the information display at the right\r
+// To understand/fix the problem with the sorting filter\r
 // Display arrays information\r
 // Display structures information\r
 //\r
 \r
+//#define AW_SORTINGFILTER                                                                     // Authorise the sorting filtes\r
 //#define AW_DEBUGNUMVARIABLE          4415                                            // Set the global variable number to debug\r
 #ifndef AW_DEBUGNUMVARIABLE\r
 #define AW_STARTNUMVARIABLE            0                                                       // Must be kept to 0 in case of no debug is required\r
@@ -112,7 +114,12 @@ void AllWatchBrowserWindow::RefreshContents(void)
                        if (NbWatch = DBGManager_GetNbGlobalVariables())\r
                        {\r
                                PtrWatchInfo = (WatchInfo *)calloc(NbWatch, sizeof(WatchInfo));\r
-\r
+#ifndef AW_LAYOUTTEXTS\r
+#ifdef AW_SORTINGFILTER\r
+                               TableView->setSortingEnabled(false);\r
+#endif\r
+                               model->setRowCount(0);\r
+#endif\r
                                for (uint32_t i = AW_STARTNUMVARIABLE; i < NbWatch; i++)\r
                                {\r
                                        PtrWatchInfo[i].PtrVariableName = DBGManager_GetGlobalVariableName(i + 1);\r
@@ -125,14 +132,12 @@ void AllWatchBrowserWindow::RefreshContents(void)
                                        }\r
 #else\r
                                        PtrWatchInfo[i].PtrVariableBaseTypeName = DBGManager_GetGlobalVariableTypeName(i + 1);\r
+                                       model->insertRow(i);\r
 #endif\r
                                }\r
                        }\r
                }\r
-#ifndef AW_LAYOUTTEXTS\r
-               TableView->setSortingEnabled(false);\r
-               model->setRowCount(0);\r
-#endif\r
+\r
                if (NbWatch)\r
                {\r
                        for (uint32_t i = AW_STARTNUMVARIABLE; i < NbWatch; i++)\r
@@ -158,7 +163,6 @@ void AllWatchBrowserWindow::RefreshContents(void)
                                sprintf(string, "%i : %s | %s | 0x%06X | %s", (i + 1), PtrWatchInfo[i].PtrVariableBaseTypeName, PtrWatchInfo[i].PtrVariableName, (unsigned int)PtrWatchInfo[i].addr, PtrValue ? PtrValue : (char *)"<font color='#ff0000'>N/A</font>");\r
                                WatchAll += QString(string);\r
 #else\r
-                               model->insertRow(i);\r
                                model->setItem(i, 0, new QStandardItem(QString("%1").arg(PtrWatchInfo[i].PtrVariableName)));\r
                                model->setItem(i, 1, new QStandardItem(QString("%1").arg(PtrValue)));\r
                                model->setItem(i, 2, new QStandardItem(QString("%1").arg(PtrWatchInfo[i].PtrVariableBaseTypeName)));\r
@@ -168,7 +172,9 @@ void AllWatchBrowserWindow::RefreshContents(void)
                        text->clear();\r
                        text->setText(WatchAll);\r
 #else\r
+#ifdef AW_SORTINGFILTER\r
                        TableView->setSortingEnabled(true);\r
+#endif\r
 #endif\r
                        sprintf(msg, "Ready");\r
                }\r
diff --git a/src/debugger/brkWin.cpp b/src/debugger/brkWin.cpp
deleted file mode 100644 (file)
index 8ad3cc8..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-//\r
-// brkWin.cpp - Breakpoints\r
-//\r
-// by Jean-Paul Mari\r
-//\r
-// JPM = Jean-Paul Mari <djipi.mari@gmail.com>\r
-//\r
-// Who  When        What\r
-// ---  ----------  -----------------------------------------------------------\r
-// JPM  30/08/2017  Created this file\r
-//\r
-\r
-// STILL TO DO:\r
-//\r
-\r
-#include "debugger/brkWin.h"\r
-//#include "memory.h"\r
-#include "debugger/DBGManager.h"\r
-\r
-\r
-//\r
-BrkWindow::BrkWindow(QWidget * parent/*= 0*/) : QWidget(parent, Qt::Dialog),\r
-       layout(new QVBoxLayout), text(new QTextBrowser),\r
-//     layout(new QVBoxLayout), text(new QLabel),\r
-//     refresh(new QPushButton(tr("Refresh"))),\r
-       address(new QLineEdit)\r
-//     go(new QPushButton(tr("Go"))),\r
-//     memBase(0),\r
-//     NbWatch(0),\r
-//     PtrWatchInfo(NULL)\r
-{\r
-       setWindowTitle(tr("Breakpoints window"));\r
-\r
-#if 0\r
-//     address->setInputMask("hhhhhh");\r
-//     QHBoxLayout * hbox1 = new QHBoxLayout;\r
-//     hbox1->addWidget(refresh);\r
-//     hbox1->addWidget(address);\r
-//     hbox1->addWidget(go);\r
-\r
-       // Need to set the size as well...\r
-//     resize(560, 480);\r
-\r
-       QFont fixedFont("Lucida Console", 8, QFont::Normal);\r
-//     QFont fixedFont("", 8, QFont::Normal);\r
-       fixedFont.setStyleHint(QFont::TypeWriter);\r
-       text->setFont(fixedFont);\r
-////   layout->setSizeConstraint(QLayout::SetFixedSize);\r
-       setLayout(layout);\r
-\r
-       layout->addWidget(text);\r
-//     layout->addWidget(refresh);\r
-//     layout->addLayout(hbox1);\r
-\r
-//     connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContents()));\r
-//     connect(go, SIGNAL(clicked()), this, SLOT(GoToAddress()));\r
-#endif\r
-}\r
-\r
-\r
-//\r
-BrkWindow::~BrkWindow(void)\r
-{\r
-#if 0\r
-       NbWatch = 0;\r
-       free(PtrWatchInfo);\r
-#endif\r
-}\r
-\r
-\r
-//\r
-void BrkWindow::RefreshContents(void)\r
-{\r
-#if 0\r
-       char string[1024];\r
-//     char buf[64];\r
-       QString WatchAll;\r
-\r
-       if (isVisible())\r
-       {\r
-               if (!NbWatch)\r
-               {\r
-                       if (NbWatch = DBGManager_GetNbGlobalVariables())\r
-                       {\r
-                               PtrWatchInfo = (WatchInfo *)calloc(NbWatch, sizeof(WatchInfo));\r
-#ifdef _MSC_VER\r
-#pragma message("Warning: !!! Need to check the memory desalocation for PtrWatchInfo !!!")\r
-#else\r
-                               #warning "!!! Need to do the memory desalocation for PtrWatchInfo !!!"\r
-#endif // _MSC_VER\r
-                                       \r
-                               for (uint32_t i = 0; i < NbWatch; i++)\r
-                               {\r
-                                       PtrWatchInfo[i].PtrVariableName = DBGManager_GetGlobalVariableName(i + 1);\r
-                                       PtrWatchInfo[i].addr = DBGManager_GetExternalVariableAdr(i + 1);\r
-                                       PtrWatchInfo[i].TypeTag = DBGManager_GetExternalVariableTypeTag(i + 1);\r
-                                       if (!strlen(PtrWatchInfo[i].PtrVariableBaseTypeName = DBGManager_GetGlobalVariableTypeName(i + 1)))\r
-                                       {\r
-                                               PtrWatchInfo[i].PtrVariableBaseTypeName = (char *)"<font color='#ff0000'>N/A</font>";\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-\r
-               for (uint32_t i = 0; i < NbWatch; i++)\r
-               {\r
-                       if (PtrWatchInfo[i].PtrVariableName && PtrWatchInfo[i].PtrVariableBaseTypeName)\r
-                       {\r
-                               sprintf(string, "%i : %s | %s | 0x%06X | %s", (i + 1), PtrWatchInfo[i].PtrVariableBaseTypeName, PtrWatchInfo[i].PtrVariableName, PtrWatchInfo[i].addr, (PtrWatchInfo[i].TypeTag & 0x8) ? "" : DBGManager_GetExternalVariableValue(i + 1));\r
-                               WatchAll += QString(string);\r
-                               sprintf(string, "<br>");\r
-                               WatchAll += QString(string);\r
-                       }\r
-               }\r
-\r
-               text->clear();\r
-               text->setText(WatchAll);\r
-       }\r
-#endif\r
-}\r
-\r
-\r
-//\r
-void BrkWindow::keyPressEvent(QKeyEvent * e)\r
-{\r
-       if (e->key() == Qt::Key_Escape)\r
-       {\r
-               hide();\r
-       }\r
-       else\r
-       {\r
-               if (e->key() == Qt::Key_PageUp)\r
-               {\r
-#if 0\r
-                       memBase -= 480;\r
-\r
-                       if (memBase < 0)\r
-                               memBase = 0;\r
-\r
-                       RefreshContents();\r
-#endif\r
-               }\r
-               else\r
-               {\r
-                       if (e->key() == Qt::Key_PageDown)\r
-                       {\r
-#if 0\r
-                               memBase += 480;\r
-\r
-                               if (memBase > (0x200000 - 480))\r
-                                       memBase = 0x200000 - 480;\r
-\r
-                               RefreshContents();\r
-#endif\r
-                       }\r
-                       else\r
-                       {\r
-                               if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)\r
-                               {\r
-#if 0\r
-                                       memBase -= 16;\r
-\r
-                                       if (memBase < 0)\r
-                                               memBase = 0;\r
-\r
-                                       RefreshContents();\r
-#endif\r
-                               }\r
-                               else\r
-                               {\r
-                                       if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)\r
-                                       {\r
-#if 0\r
-                                               memBase += 16;\r
-\r
-                                               if (memBase > (0x200000 - 480))\r
-                                                       memBase = 0x200000 - 480;\r
-\r
-                                               RefreshContents();\r
-#endif\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               if (e->key() == Qt::Key_Return)\r
-                                               {\r
-                                                       GoToAddress();\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-\r
-//\r
-void BrkWindow::RefreshBrkList(size_t Address)\r
-{\r
-}\r
-\r
-\r
-// Go to the requested address\r
-// Address can be an hexa, decimal or a symbol name\r
-void BrkWindow::GoToAddress(void)\r
-{\r
-       size_t Address;\r
-       bool ok;\r
-       QString newAddress;\r
-\r
-       newAddress = address->text();\r
-\r
-       if ((newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))\r
-       {\r
-               Address = newAddress.toUInt(&ok, 16);\r
-       }\r
-       else\r
-       {\r
-               if (!(Address = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))\r
-               {\r
-                       Address = newAddress.toUInt(&ok, 10);\r
-               }\r
-       }\r
-\r
-       RefreshBrkList(Address);\r
-}\r
-\r
diff --git a/src/debugger/brkWin.h b/src/debugger/brkWin.h
deleted file mode 100644 (file)
index dd3b085..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// brkWin.h: Breakpoints
-//
-// by Jean-Paul Mari
-//
-
-#ifndef __BRKWIN_H__
-#define __BRKWIN_H__
-
-#include <QtWidgets>
-#include <stdint.h>
-
-
-class BrkWindow: public QWidget
-{
-       Q_OBJECT
-
-       //
-       struct BrkInfo
-       {
-               size_t Adr;
-               bool IsActive;
-               bool IsReached;
-               size_t NbrHit;
-       }S_BrkInfo;
-
-       public:
-               BrkWindow(QWidget *parent = 0);
-               ~BrkWindow(void);
-
-       public slots:
-//             void DefineAllKeys(void);
-               void RefreshContents(void);
-               void RefreshBrkList(size_t Adress);
-               void GoToAddress(void);
-
-       protected:
-               void keyPressEvent(QKeyEvent *);
-
-       private:
-               QVBoxLayout *layout;
-//             QTextBrowser * text;
-//             QLabel *text;
-               QTextBrowser *text;
-//             QPushButton *refresh;
-               QLineEdit *address;
-//             QPushButton *go;
-//             BrkInfo *PtrBrkInfo;
-//             int32_t memBase;
-//             size_t NbBrk;
-};
-
-#endif // __BRKWIN_H__
index c2d349e..0d30213 100644 (file)
@@ -9,17 +9,20 @@
 // ---  ----------  -----------------------------------------------------------
 // JPM  08/31/2018  Created this file
 // JPM  09/12/2018  Added a status bar and better status report
-//
+// JPM  10/20/2018  Added the return address information in the call stack
+// JPM  08/09/2019  Prevent crash in case of call stack is out of range
 
 // STILL TO DO:
 // To set the information display at the right
-// To use DWARF frame information
+// To use DWARF frame information?
+// To check if call stack pointer is used (DWARF information?)
 //
 
 #include "debugger/callstackbrowser.h"
 #include "memory.h"
 #include "debugger/DBGManager.h"
 #include "m68000/m68kinterface.h"
+#include "settings.h"
 
 
 // 
@@ -45,9 +48,10 @@ layout(new QVBoxLayout)
        layout->addWidget(text);
 #else
        // Set the new layout with proper identation and readibility
-       model->setColumnCount(2);
+       model->setColumnCount(3);
        model->setHeaderData(0, Qt::Horizontal, QObject::tr("Name"));
        model->setHeaderData(1, Qt::Horizontal, QObject::tr("Line"));
+       model->setHeaderData(2, Qt::Horizontal, QObject::tr("Return address"));
        // Information table
        TableView->setModel(model);
        TableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
@@ -81,7 +85,8 @@ void CallStackBrowserWindow::RefreshContents(void)
        QString CallStack;
        char string[1024];
 #else
-       size_t NbRaw = 0;
+       int NbRaw = 0;
+       size_t NumError = 0;
        QString FunctionName;
 #endif
 
@@ -92,31 +97,55 @@ void CallStackBrowserWindow::RefreshContents(void)
 #endif
                if ((a6 = m68k_get_reg(NULL, M68K_REG_A6)) && DBGManager_GetType())
                {
-                       while ((Sa6 = a6))
+                       while ((Sa6 = a6) && !NumError)
                        {
-                               a6 = GET32(jaguarMainRAM, Sa6);
-                               ret = GET32(jaguarMainRAM, Sa6 + 4);
+                               if ((Sa6 >= (m68k_get_reg(NULL, M68K_REG_SP) - 4)) && (Sa6 < vjs.DRAM_size))
+                               {
+                                       a6 = GET32(jaguarMainRAM, Sa6);
+                                       ret = GET32(jaguarMainRAM, Sa6 + 4);
 #ifdef CS_LAYOUTTEXTS
-                               sprintf(string, "0x%06X | Ret: 0x%06X | From: %s - 0x%06X | Line: %s", Sa6, ret, (FuncName = DBGManager_GetFunctionName(ret)), (unsigned int)DBGManager_GetAdrFromSymbolName(FuncName), DBGManager_GetLineSrcFromAdr(ret, DBG_NO_TAG));
-                               CallStack += QString(string);
-                               if (a6)
+                                       sprintf(string, "0x%06X | Ret: 0x%06X | From: %s - 0x%06X | Line: %s", Sa6, ret, (FuncName = DBGManager_GetFunctionName(ret)), (unsigned int)DBGManager_GetAdrFromSymbolName(FuncName), DBGManager_GetLineSrcFromAdr(ret, DBG_NO_TAG));
+                                       CallStack += QString(string);
+                                       if (a6)
+                                       {
+                                               CallStack += QString("<br>");
+                                       }
+#else
+                                       model->insertRow(NbRaw);
+                                       model->setItem(NbRaw, 0, new QStandardItem(QString("%1").arg((FuncName = DBGManager_GetFunctionName(ret)) ? FuncName : "(N/A)")));
+                                       FunctionName = QString(FuncName = DBGManager_GetLineSrcFromAdr(ret, DBG_NO_TAG));
+                                       FunctionName.replace("&nbsp;", " ");
+                                       model->setItem(NbRaw, 1, new QStandardItem(QString("%1").arg(FuncName ? FunctionName : "(N/A)")));
+                                       sprintf(msg, "0x%06X", ret);
+                                       model->setItem(NbRaw++, 2, new QStandardItem(QString("%1").arg(msg)));
+                               }
+                               else
                                {
-                                       CallStack += QString("<br>");
+                                       NumError = 0x1;
                                }
-#else
-                               model->insertRow(NbRaw);
-                               model->setItem(NbRaw, 0, new QStandardItem(QString("%1").arg((FuncName = DBGManager_GetFunctionName(ret)) ? FuncName : "(null)")));
-                               FunctionName = QString(FuncName = DBGManager_GetLineSrcFromAdr(ret, DBG_NO_TAG));
-                               FunctionName.replace("&nbsp;", " ");
-                               model->setItem(NbRaw++, 1, new QStandardItem(QString("%1").arg(FuncName ? FunctionName : "(null)")));
 #endif
                        }
 #ifdef CS_LAYOUTTEXTS
                        text->clear();
                        text->setText(CallStack);
 #endif
-                       sprintf(msg, "Ready");
-                       Error = CS_NOERROR;
+                       switch (NumError)
+                       {
+                       case 0:
+                               sprintf(msg, "Ready");
+                               Error = CS_NOERROR;
+                               break;
+
+                       case 0x1:
+                               sprintf(msg, "Call Stack out of range");
+                               Error = CS_ERROR;
+                               break;
+
+                       default:
+                               sprintf(msg, "Call Stack in limbo");
+                               Error = CS_WARNING;
+                               break;
+                       }
                }
                else
                {
index 07a6629..0b4bd46 100644 (file)
@@ -7,48 +7,68 @@
 //\r
 // WHO  WHEN        WHAT\r
 // ---  ----------  ------------------------------------------------------------\r
-// JPM  06/19/2016  Created this file\r
-// JPM  06/19/2016  Soft debugger support\r
+// JPM  Sept./2016  Created this file, and added Soft debugger support\r
+// JPM  10/09/2018  Added source file search paths\r
+// JPM  04/06/2019  Added ELF sections check\r
 //\r
 \r
 #include "debuggertab.h"\r
 #include "settings.h"\r
 \r
 \r
+// \r
 DebuggerTab::DebuggerTab(QWidget * parent/*= 0*/): QWidget(parent)\r
 {\r
-       QLabel * label3 = new QLabel("Disassembly lines:");\r
-       edit3 = new QLineEdit("");\r
-       edit3->setPlaceholderText("Number of disassembly lines");\r
-       QVBoxLayout * layout1 = new QVBoxLayout;\r
+       // Number of disassembly lines\r
+       QLabel *label3 = new QLabel("Disassembly lines:");\r
+       QVBoxLayout *layout1 = new QVBoxLayout;\r
        layout1->addWidget(label3);\r
-\r
-       QVBoxLayout * layout2 = new QVBoxLayout;\r
-       layout2->addWidget(edit3);\r
-\r
-       QHBoxLayout * layout3 = new QHBoxLayout;\r
+       QVBoxLayout *layout2 = new QVBoxLayout;\r
+       nbrdisasmlines = new QLineEdit("");\r
+       nbrdisasmlines->setPlaceholderText("Number of disassembly lines");\r
+       layout2->addWidget(nbrdisasmlines);\r
+\r
+       // Sources code paths\r
+       QLabel *label4 = new QLabel("Source file search paths:");\r
+       QVBoxLayout *layout5 = new QVBoxLayout;\r
+       layout5->addWidget(label4);\r
+       QVBoxLayout *layout6 = new QVBoxLayout;\r
+       sourcefilesearchpaths = new QLineEdit("");\r
+       sourcefilesearchpaths->setMaxLength(sizeof(vjs.sourcefilesearchPaths));\r
+       sourcefilesearchpaths->setPlaceholderText("Each path must be separate by a ';', search is recursive and based on each path");\r
+       layout6->addWidget(sourcefilesearchpaths);\r
+\r
+       QHBoxLayout *layout3 = new QHBoxLayout;\r
        layout3->addLayout(layout1);\r
        layout3->addLayout(layout2);\r
+       QHBoxLayout *layout7 = new QHBoxLayout;\r
+       layout7->addLayout(layout5);\r
+       layout7->addLayout(layout6);\r
 \r
-       QVBoxLayout * layout4 = new QVBoxLayout;\r
+       QVBoxLayout *layout4 = new QVBoxLayout;\r
        layout4->addLayout(layout3);\r
+       layout4->addLayout(layout7);\r
 \r
-       // Checkboxes...\r
+       // Checkboxes\r
        displayHWlabels = new QCheckBox(tr("Display HW labels"));\r
        disasmopcodes   = new QCheckBox(tr("Display M68000 opcodes"));\r
        displayFullSourceFilename = new QCheckBox(tr("Display source filename"));\r
+       ELFSectionsCheck = new QCheckBox(tr("ELF sections check"));\r
        disasmopcodes->setDisabled(false);\r
        displayHWlabels->setDisabled(false);\r
        displayFullSourceFilename->setDisabled(false);\r
+       ELFSectionsCheck->setDisabled(false);\r
 \r
        layout4->addWidget(disasmopcodes);\r
        layout4->addWidget(displayHWlabels);\r
        layout4->addWidget(displayFullSourceFilename);\r
+       layout4->addWidget(ELFSectionsCheck);\r
 \r
        setLayout(layout4);\r
 }\r
 \r
 \r
+// \r
 DebuggerTab::~DebuggerTab()\r
 {\r
 }\r
@@ -59,14 +79,13 @@ void DebuggerTab::SetSettings(void)
 {\r
        bool ok;\r
 \r
-       //strcpy(vjs.debuggerROMPath, debuggerTab->edit1->text().toUtf8().data());\r
        strcpy(vjs.debuggerROMPath, vjs.alpineROMPath);\r
-       //strcpy(vjs.absROMPath, debuggerTab->edit2->text().toUtf8().data());\r
-       vjs.nbrdisasmlines = edit3->text().toUInt(&ok, 10);\r
-       //vjs.allowWritesToROM = debuggerTab->writeROM->isChecked();\r
+       strcpy(vjs.sourcefilesearchPaths, CheckForTrailingSlash(sourcefilesearchpaths->text()).toUtf8().data());\r
+       vjs.nbrdisasmlines = nbrdisasmlines->text().toUInt(&ok, 10);\r
        vjs.displayHWlabels = displayHWlabels->isChecked();\r
        vjs.disasmopcodes = disasmopcodes->isChecked();\r
        vjs.displayFullSourceFilename = displayFullSourceFilename->isChecked();\r
+       vjs.ELFSectionsCheck = ELFSectionsCheck->isChecked();\r
 }\r
 \r
 \r
@@ -74,12 +93,29 @@ void DebuggerTab::SetSettings(void)
 void DebuggerTab::GetSettings(void)\r
 {\r
        QVariant v(vjs.nbrdisasmlines);\r
-       //debuggerTab->edit1->setText(vjs.debuggerROMPath);\r
-       //debuggerTab->edit2->setText(vjs.absROMPath);\r
-       edit3->setText(v.toString());\r
-       //debuggerTab->writeROM->setChecked(vjs.allowWritesToROM\r
+       nbrdisasmlines->setText(v.toString());\r
+       sourcefilesearchpaths->setText(vjs.sourcefilesearchPaths);\r
        displayHWlabels->setChecked(vjs.displayHWlabels);\r
        disasmopcodes->setChecked(vjs.disasmopcodes);\r
        displayFullSourceFilename->setChecked(vjs.displayFullSourceFilename);\r
+       ELFSectionsCheck->setChecked(vjs.ELFSectionsCheck);\r
 }\r
 \r
+\r
+// Remove the last character if slash or backslash at the end of each string\r
+// Depend the platform transform slashes or backslashes\r
+QString DebuggerTab::CheckForTrailingSlash(QString s)\r
+{\r
+       if (s.endsWith('/') || s.endsWith('\\'))\r
+       {\r
+               s.remove(s.length() - 1, 1);\r
+       }\r
+#ifdef _WIN32\r
+       s.replace(QString("/"), QString("\\"));\r
+       s.replace(QString("\\;"), QString(";"));\r
+#else\r
+       s.replace(QString("\\"), QString("/"));\r
+       s.replace(QString("/;"), QString(";"));\r
+#endif\r
+       return s;\r
+}\r
index fecee84..583dd30 100644 (file)
@@ -3,8 +3,9 @@
 //\r
 // Who  When        What\r
 // ---  ----------  ------------------------------------------------------------\r
-// JPM  06/19/2016  Created this file\r
-// JPM  06/19/2016  Soft debugger support\r
+// JPM  Sept./2016  Created this file, and added Soft debugger support\r
+// JPM  10/09/2018  Added the source file search paths\r
+// JPM  04/06/2019  Added ELF sections check\r
 //\r
 \r
 #ifndef __DEBUGGERTAB_H__\r
@@ -22,12 +23,16 @@ class DebuggerTab: public QWidget
                void SetSettings(void);\r
                void GetSettings(void);\r
 \r
-       public:\r
-               QLineEdit *edit3;\r
+       private:\r
+               QString CheckForTrailingSlash(QString s);\r
 \r
+       public:\r
+               QLineEdit *nbrdisasmlines;\r
+               QLineEdit *sourcefilesearchpaths;\r
                QCheckBox *displayHWlabels;\r
                QCheckBox *disasmopcodes;\r
                QCheckBox *displayFullSourceFilename;\r
+               QCheckBox *ELFSectionsCheck;\r
 };\r
 \r
 #endif // __DEBUGGERTAB_H__\r
index 024a9cf..1431fd9 100644 (file)
@@ -5,14 +5,11 @@
 //\r
 // JPM = Jean-Paul Mari <djipi.mari@gmail.com>\r
 //\r
-// Who  When        What\r
-// ---  ----------  -----------------------------------------------------------\r
-// JPM  01/08/2017  Created this file\r
-// JPM  09/05/2018  Support of the DRAM size limit option\r
-// JPM  09/05/2018  Use definitions for error instead of hard values\r
-// JPM  09/05/2018  Detect if heap allocation shares space with SP (Stack)\r
-// JPM  09/06/2018  Added a status bar and better status report\r
-// JPM  09/07/2018  Set information values in a tab\r
+// Who  When (MM/DD/YY)       What\r
+// ---  ---------------       -----------------------------------------------------------\r
+// JPM  01/08/2017            Created this file\r
+// JPM  Sept./2018            Support of the DRAM size limit option, use definitions for error instead of hard values, detect if heap allocation shares space with SP (Stack), added a status bar and better status report, and set information values in a tab\r
+// JPM  07/04/2019            Fix the support of the DRAM size limit option\r
 //\r
 \r
 // STILL TO DO:\r
@@ -189,7 +186,7 @@ void HeapAllocatorBrowserWindow::RefreshContents(void)
                        {\r
                                if (Adr68K = DBGManager_GetGlobalVariableAdrFromName((char *)"alloc"))\r
                                {\r
-                                       if (!(Adr68K = (jaguarMainRAM[Adr68K] << 24) + (jaguarMainRAM[Adr68K + 1] << 16) + (jaguarMainRAM[Adr68K + 2] << 8) + (jaguarMainRAM[Adr68K + 3])) || ((Adr68K < 0x4000) || (Adr68K >= 0x200000)))\r
+                                       if (!(Adr68K = (jaguarMainRAM[Adr68K] << 24) + (jaguarMainRAM[Adr68K + 1] << 16) + (jaguarMainRAM[Adr68K + 2] << 8) + (jaguarMainRAM[Adr68K + 3])) || ((Adr68K < 0x4000) || (Adr68K >= vjs.DRAM_size)))\r
                                        {\r
                                                sprintf(msg, "Memory allocator not yet initialised");\r
                                                Error = HA_MEMORYALLOCATORNOTINITIALIZED;\r
index 9c59b43..b00bd70 100644 (file)
@@ -8,14 +8,15 @@
 // Who  When        What\r
 // ---  ----------  -----------------------------------------------------------\r
 // JPM  11/03/2017  Created this file\r
-// JPM  09/08/2018  Added a status bar and better status report\r
-// JPM  09/08/2018  Set information values in a tab\r
+// JPM  Sept./2018  Added a status bar and better status report, and set information values in a tab\r
 //\r
 \r
 // STILL TO DO:\r
 // Feature to list the pointer(s) in the code using the allocation\r
 // To set the information display at the right\r
 // To support the array\r
+// To support the static variables\r
+// To add a filter\r
 //\r
 \r
 \r
index c1cf88a..a296bd0 100644 (file)
 // Who  When        What\r
 // ---  ----------  ------------------------------------------------------------\r
 // JLH  01/16/2010  Created this log ;-)\r
-// JLH  02/28/2010  Added functions to look inside .ZIP files and handle\r
-//                  contents\r
+// JLH  02/28/2010  Added functions to look inside .ZIP files and handle contents\r
 // JLH  06/01/2012  Added function to check ZIP file CRCs against file DB\r
-// JPM  06/06/2016  Visual Studio support\r
-// JPM  06/15/2016  ELF format support\r
-// JPM  06/19/2016  Soft debugger support\r
+// JPM   June/2016  Visual Studio support, ELF format support and Soft debugger support\r
 // JPM  07/15/2016  DWARF format support\r
+// JPM  04/06/2019  Added ELF sections check\r
 //\r
 \r
 #include "file.h"\r
@@ -40,6 +38,7 @@
 #include "libdwarf.h"\r
 #include "debugger/ELFManager.h"\r
 #include "debugger/DBGManager.h"\r
+#include "settings.h"\r
 \r
 \r
 // Private function prototypes\r
@@ -222,11 +221,11 @@ WriteLog("FILE: Cartridge run address is reported as $%X...\n", jaguarRunAddress
                                                        else\r
                                                        {\r
                                                                NameSection = elf_strptr(ElfMem, PtrGElfEhdr->e_shstrndx, (size_t)PtrGElfShdr->sh_name);\r
-                                                               WriteLog("FILE: ELF Section name: %s\n", NameSection);\r
+                                                               WriteLog("FILE: ELF Section %s found\n", NameSection);\r
 \r
-                                                               if ((ElfSectionNameType = ELFManager_GetSectionType(NameSection)) == ELF_NO_TYPE)\r
+                                                               if (((ElfSectionNameType = ELFManager_GetSectionType(NameSection)) == ELF_NO_TYPE) && vjs.ELFSectionsCheck)\r
                                                                {\r
-                                                                       WriteLog("FILE: ELF Section not listed\n");\r
+                                                                       WriteLog("FILE: ELF Section %s not recognized\n", NameSection);\r
                                                                        error = true;\r
                                                                }\r
                                                                else\r
index 6eb8493..9392692 100644 (file)
 // JLH  01/21/2011  Added SDL initialization\r
 // JLH  06/26/2011  Added fix to keep SDL from hijacking main() on win32\r
 // JLH  05/24/2012  Added option switches\r
-// JLH  03/05/2013  Fixed console redireciton on win32 platform  :-P\r
-// JPM  06/06/2016  Visual Studio support\r
-// JPM  06/19/2016  Soft debugger support (--debugger)\r
+// JLH  03/05/2013  Fixed console redirection on win32 platform  :-P\r
+// JPM  Sept./2016  Visual Studio support, and Soft debugger support (--debugger)\r
 // JPM  09/  /2017  Added option (--dram-max) to support 8MB ram (which doesn't exist)\r
-// JPM  09/06/2017  Added the 'Rx' word to the emulator name and updated the credits line\r
-// JPM  09/08/2017  Added option (--es-all, --es-ui, --es-alpine & --es-debugger) to support the erase settings\r
+// JPM  Sept./2017  Added the 'Rx' word to the emulator name, updated the credits line, added option (--es-all, --es-ui, --es-alpine & --es-debugger) to support the erase settings\r
+// JPM   Oct./2018  Added the Rx version's contact in the help text, added timer initialisation in the SDL_Init\r
+// JPM   Apr./2019  Fixed a command line option duplication\r
 //\r
 \r
 #include "app.h"\r
@@ -107,7 +107,7 @@ int main(int argc, char * argv[])
        }\r
 \r
        // Set up SDL library\r
-       if (SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_AUDIO) < 0)\r
+       if (SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER) < 0)\r
        {\r
                WriteLog("VJ: Could not initialize the SDL library: %s\n", SDL_GetError());\r
        }\r
@@ -179,6 +179,7 @@ bool ParseCommandLine(int argc, char * argv[])
                                "Based upon the work by James Hammons (Linux/WIN32), Niels Wagenaar (Linux/WIN32),\n"\r
                                "Carwin Jones (BeOS), and Adam Green (MacOS)\n"\r
                                "Contact: http://sdlemu.ngemu.com/ | sdlemu@ngemu.com\n"\r
+                               "Contact: https://github.com/djipi/Virtual-Jaguar-Rx | djipi.mari@gmail.com\n"\r
                                "\n"\r
                                "Usage:\n"\r
                                "   virtualjaguar [<filename>] [switches]\n"\r
@@ -187,7 +188,7 @@ bool ParseCommandLine(int argc, char * argv[])
                                "   ----------------  -----------------------------------\n"\r
                                "   <filename>        Name of file to autoload\n"\r
                                "   --alpine      -a  Put Virtual Jaguar into Alpine mode\n"\r
-                               "   --debugger    -d  Put Virtual Jaguar into Debugger mode\n"\r
+                               "   --debugger    -D  Put Virtual Jaguar into Debugger mode\n"\r
                                "   --pal         -p  PAL mode\n"\r
                                "   --ntsc        -n  NTSC mode\n"\r
                                "   --dram-max        Set DRAM size to 8MB\n"\r
@@ -252,7 +253,7 @@ bool ParseCommandLine(int argc, char * argv[])
                }\r
 \r
                // Debugger mode\r
-               if ((strcmp(argv[i], "--debugger") == 0) || (strcmp(argv[i], "-d") == 0))\r
+               if ((strcmp(argv[i], "--debugger") == 0) || (strcmp(argv[i], "-D") == 0))\r
                {\r
                        printf("Debugger mode enabled.\n");\r
                        vjs.softTypeDebugger = true;\r
index 864e4f0..a2c9c8e 100644 (file)
@@ -11,6 +11,7 @@
 // ---  ----------  -----------------------------------------------------------
 // JLH  08/14/2012  Created this file
 // JPM  08/09/2017  Added windows display detection in order to avoid the refresh
+// JPM  10/13/2018  Added BPM hit counts
 //
 
 // STILL TO DO:
@@ -268,10 +269,32 @@ void CPUBrowserWindow::UnholdBPM(void)
 }
 
 
+// Disable BPM
+void CPUBrowserWindow::DisableBPM(void)
+{
+       // Uncheck the BPM checkbox and handle BPM
+       if (bpm->checkState())
+       {
+               bpm->setCheckState(Qt::Unchecked);
+       }
+       HandleBPM(false);
+}
+
+
+// BPM reset
+// Disable checkbox and breakpoint address
+void CPUBrowserWindow::ResetBPM(void)
+{
+       DisableBPM();
+       bpmAddress->setText("");
+}
+
+
 // Toggle breakpoint set
 void CPUBrowserWindow::HandleBPM(bool state)
 {
        bpmSaveActive = bpmActive = state;
+       bpmHitCounts = 0;
 
        if (bpmActive)
        {
@@ -284,7 +307,7 @@ void CPUBrowserWindow::HandleBPM(bool state)
 }
 
 
-// Breakpoint address set
+// Breakpoint address set and reset the hit counts
 void CPUBrowserWindow::HandleBPMAddress(const QString & newText)
 {
        bool ok;
index fb8342f..f8c95da 100644 (file)
@@ -17,16 +17,19 @@ class CPUBrowserWindow: public QWidget
 
        public:
                CPUBrowserWindow(QWidget * parent = 0);
-
+               void DisableBPM(void);
+               void ResetBPM(void);
+               void HoldBPM(void);
+               void UnholdBPM(void);
 
        public slots:
-//             void DefineAllKeys(void);
                void RefreshContents(void);
+               void HandleBPMContinue(void);
+
+       private slots:
+//             void DefineAllKeys(void);
                void HandleBPM(bool);
                void HandleBPMAddress(const QString &);
-               void HandleBPMContinue(void);
-               void HoldBPM(void);
-               void UnholdBPM(void);
 
        protected:
                void keyPressEvent(QKeyEvent *);
index 2757bc9..6ec0cba 100644 (file)
@@ -9,6 +9,7 @@
 // ---  ----------  ------------------------------------------------------------\r
 // JPM  09/10/2017  Created this file\r
 // JPM  Sept./2018  Added screenshot key bindings\r
+// JPM  10/13/2018  Added breakpoints features\r
 //\r
 \r
 \r
@@ -28,7 +29,10 @@ KeyBindings KeyBindingsTable[KB_END] =       {
                                                                                        { KB_TYPEGENERAL, "KB_Screenshot", "Screenshot", "Screenshot key binding", "F8", NULL, NULL     },\r
                                                                                        { KB_TYPEDEBUGGER, "KB_Restart", "Restart", "Restart key binding", "Ctrl+Shift+F5", NULL, NULL  },\r
                                                                                        { KB_TYPEDEBUGGER, "KB_StepInto", "Step Into", "Step into key binding", "F11", NULL, NULL       },\r
-                                                                                       { KB_TYPEDEBUGGER, "KB_StepOver", "Step Over", "Step over key binding", "F10", NULL, NULL       }\r
+                                                                                       { KB_TYPEDEBUGGER, "KB_StepOver", "Step Over", "Step over key binding", "F10", NULL, NULL       },\r
+                                                                                       { KB_TYPEDEBUGGER, "KB_FunctionBreakpoint", "Function Breakpoint", "Function breakpoint binding", "Ctrl+B", NULL, NULL  },\r
+                                                                                       { KB_TYPEDEBUGGER, "KB_Breakpoints", "Breakpoints", "Breakpoints binding", "Ctrl+Alt+B", NULL, NULL     },\r
+                                                                                       { KB_TYPEDEBUGGER, "KB_DeleteAllBreakpoints", "Delete All Breakpoints", "Delete all breakpoints binding", "Ctrl+Shift+F9", NULL, NULL   }\r
                                                                                };\r
 \r
 \r
index 58fa3d4..1578075 100644 (file)
@@ -35,11 +35,14 @@ enum
        KBEMUSTATUS,\r
        KBPAUSE,\r
        KBFRAMEADVANCE,\r
+       KBFULLSCREEN,\r
+       KBSCREENSHOT,\r
        KBRESTART,\r
        KBSTEPINTO,\r
        KBSTEPOVER,\r
-       KBFULLSCREEN,\r
-       KBSCREENSHOT,\r
+       KBFUNCTIONBREAKPOINT,\r
+       KBBREAKPOINTS,\r
+       KBDELETEALLBREAKPOINTS,\r
        KB_END\r
 };\r
 \r
index 7b14d7e..a25fad1 100644 (file)
 // JPM  11/04/2017  Added the local window\r
 // JPM  08/31/2018  Added the call stack window\r
 // JPM  Sept./2018  Added the new Models and BIOS handler, a screenshot feature and source code files browsing\r
+// JPM   Oct./2018  Added search paths in the settings, breakpoints feature, cartridge view menu\r
+// JPM  11/18/2018  Fix crash with non-debugger mode\r
+// JPM  April/2019  Added ELF sections check, added a save memory dump\r
+// JPM   Aug./2019  Update texts descriptions, set cartridge view menu for debugger mode only\r
 //\r
 \r
 // FIXED:\r
 #include "joystick.h"\r
 #include "m68000/m68kinterface.h"\r
 \r
+#include "debugger/DBGManager.h"\r
 //#include "debugger/VideoWin.h"\r
 //#include "debugger/DasmWin.h"\r
 #include "debugger/m68KDasmWin.h"\r
 #include "debugger/GPUDasmWin.h"\r
 #include "debugger/DSPDasmWin.h"\r
 #include "debugger/memory1browser.h"\r
-//#include "debugger/brkWin.h"\r
+#include "debugger/BreakpointsWin.h"\r
+#include "debugger/NewFnctBreakpointWin.h"\r
 #include "debugger/FilesrcListWin.h"\r
 #include "debugger/exceptionvectortablebrowser.h"\r
 #include "debugger/allwatchbrowser.h"\r
 #include "debugger/localbrowser.h"\r
 #include "debugger/heapallocatorbrowser.h"\r
 #include "debugger/callstackbrowser.h"\r
+#include "debugger/CartFilesListWin.h"\r
+#include "debugger/SaveDumpAsWin.h"\r
 \r
 \r
 // According to SebRmv, this header isn't seen on Arch Linux either... :-/\r
@@ -173,16 +181,21 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
 \r
        setWindowTitle(title);\r
 \r
+       // Windows common features\r
        aboutWin = new AboutWindow(this);\r
        helpWin = new HelpWindow(this);\r
        filePickWin = new FilePickerWindow(this);\r
+       emuStatusWin = new EmuStatusWindow(this);\r
+       \r
+       // Windows alpine mode features\r
        memBrowseWin = new MemoryBrowserWindow(this);\r
        stackBrowseWin = new StackBrowserWindow(this);\r
-       emuStatusWin = new EmuStatusWindow(this);\r
        cpuBrowseWin = new CPUBrowserWindow(this);\r
        opBrowseWin = new OPBrowserWindow(this);\r
        m68kDasmBrowseWin = new M68KDasmBrowserWindow(this);\r
        riscDasmBrowseWin = new RISCDasmBrowserWindow(this);\r
+\r
+       // Windows debugger mode features\r
        if (vjs.softTypeDebugger)\r
        {\r
                //VideoOutputWin = new VideoOutputWindow(this);\r
@@ -192,9 +205,12 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                allWatchBrowseWin = new AllWatchBrowserWindow(this);\r
                LocalBrowseWin = new LocalBrowserWindow(this);\r
                heapallocatorBrowseWin = new HeapAllocatorBrowserWindow(this);\r
-               //brkWin = new BrkWindow(this);\r
+               BreakpointsWin = new BreakpointsWindow(this);\r
+               NewFunctionBreakpointWin = new NewFnctBreakpointWindow(this);\r
+               SaveDumpAsWin = new SaveDumpAsWindow(this);\r
                exceptionvectortableBrowseWin = new ExceptionVectorTableBrowserWindow(this);\r
                CallStackBrowseWin = new CallStackBrowserWindow(this);\r
+               CartFilesListWin = new CartFilesListWindow(this);\r
 \r
                mem1BrowseWin = (Memory1BrowserWindow **)calloc(vjs.nbrmemory1browserwindow, sizeof(Memory1BrowserWindow));\r
 #ifdef _MSC_VER\r
@@ -389,7 +405,7 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                traceStepOverAct->setDisabled(true);\r
                connect(traceStepOverAct, SIGNAL(triggered()), this, SLOT(DebuggerTraceStepOver()));\r
 \r
-               // Trace into trace\r
+               // Trace into tracing\r
                traceStepIntoAct = new QAction(QIcon(":/res/debug-stepinto.png"), tr("&Step Into"), this);\r
                traceStepIntoAct->setShortcut(QKeySequence(tr(vjs.KBContent[KBSTEPINTO].KBSettingValue)));\r
                traceStepIntoAct->setShortcutContext(Qt::ApplicationShortcut);\r
@@ -397,9 +413,24 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                traceStepIntoAct->setDisabled(true);\r
                connect(traceStepIntoAct, SIGNAL(triggered()), this, SLOT(DebuggerTraceStepInto()));\r
 \r
-               //newBreakpointFunctionAct = new QAction(QIcon(""), tr("&Function Breakpoint"), this);\r
-               //newBreakpointFunctionAct->setShortcut(QKeySequence(tr("Ctrl+B")));\r
-               //connect(newBreakpointFunctionAct, SIGNAL(triggered()), this, SLOT(NewBreakpointFunction()));\r
+               // Function breakpoint\r
+               newFunctionBreakpointAct = new QAction(QIcon(""), tr("&Function Breakpoint"), this);\r
+               newFunctionBreakpointAct->setShortcut(QKeySequence(tr(vjs.KBContent[KBFUNCTIONBREAKPOINT].KBSettingValue)));\r
+               connect(newFunctionBreakpointAct, SIGNAL(triggered()), this, SLOT(ShowNewFunctionBreakpointWin()));\r
+               BreakpointsAct = new QAction(QIcon(":/res/debug-breakpoints.png"), tr("&Breakpoints"), this);\r
+               BreakpointsAct->setShortcut(QKeySequence(tr(vjs.KBContent[KBBREAKPOINTS].KBSettingValue)));\r
+               connect(BreakpointsAct, SIGNAL(triggered()), this, SLOT(ShowBreakpointsWin()));\r
+               deleteAllBreakpointsAct = new QAction(QIcon(":/res/debug-deleteallbreakpoints.png"), tr("&Delete All Breakpoints"), this);\r
+               deleteAllBreakpointsAct->setShortcut(QKeySequence(tr(vjs.KBContent[KBDELETEALLBREAKPOINTS].KBSettingValue)));\r
+               connect(deleteAllBreakpointsAct, SIGNAL(triggered()), this, SLOT(DeleteAllBreakpoints()));\r
+               disableAllBreakpointsAct = new QAction(QIcon(":/res/debug-disableallbreakpoints.png"), tr("&Disable All Breakpoints"), this);\r
+               connect(disableAllBreakpointsAct, SIGNAL(triggered()), this, SLOT(DisableAllBreakpoints()));\r
+\r
+               // Save dump\r
+               saveDumpAsAct = new QAction(tr("&Save Dump As..."), this);\r
+               saveDumpAsAct->setCheckable(false);\r
+               saveDumpAsAct->setDisabled(false);\r
+               connect(saveDumpAsAct, SIGNAL(triggered()), this, SLOT(ShowSaveDumpAsWin()));\r
 \r
                //VideoOutputAct = new QAction(tr("Output Video"), this);\r
                //VideoOutputAct->setStatusTip(tr("Shows the output video window"));\r
@@ -434,6 +465,11 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                CallStackBrowseAct->setStatusTip(tr("Shows Call Stack browser window"));\r
                connect(CallStackBrowseAct, SIGNAL(triggered()), this, SLOT(ShowCallStackBrowserWin()));\r
 \r
+               // Cart files list\r
+               CartFilesListAct = new QAction(QIcon(""), tr("Directory and files"), this);\r
+               CartFilesListAct->setStatusTip(tr("List of the files in the cartridge's directory structure"));\r
+               connect(CartFilesListAct, SIGNAL(triggered()), this, SLOT(ShowCartFilesListWin()));\r
+\r
                // Memory windows\r
                mem1BrowseAct = (QAction **)calloc(vjs.nbrmemory1browserwindow, sizeof(QAction));\r
                QSignalMapper *signalMapper = new QSignalMapper(this);\r
@@ -504,12 +540,29 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
        fileMenu->addSeparator();\r
        fileMenu->addAction(quitAppAct);\r
 \r
+       // Alpine and debugger menus\r
        if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
        {\r
+               // Create debug menu\r
                debugMenu = menuBar()->addMenu(tr("&Debug"));\r
+\r
+               // Create debugger menu\r
                if (vjs.softTypeDebugger)\r
                {\r
+                       // Create view menu\r
+                       viewMenu = menuBar()->addMenu(tr("&View"));\r
+\r
+                       // Cart menu\r
+                       viewCartMenu = viewMenu->addMenu(tr("&Cartridge"));\r
+                       viewCartMenu->addAction(CartFilesListAct);\r
+#if 0\r
+                       viewCartMenu->addSeparator();\r
+                       viewCartMenu->addAction(CartStreamsAct);\r
+#endif\r
+\r
+                       // Windows menu\r
                        debugWindowsMenu = debugMenu->addMenu(tr("&Windows"));\r
+                       debugWindowsMenu->addAction(BreakpointsAct);\r
                        debugWindowExceptionMenu = debugWindowsMenu->addMenu(tr("&Exception"));\r
                        debugWindowExceptionMenu->addAction(exceptionVectorTableBrowseAct);\r
                        debugWindowsMenu->addSeparator();\r
@@ -546,16 +599,21 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                        debugMenu->addSeparator();\r
                        debugMenu->addAction(traceStepIntoAct);\r
                        debugMenu->addAction(traceStepOverAct);\r
-#if 0\r
                        debugMenu->addSeparator();\r
                        debugNewBreakpointMenu = debugMenu->addMenu(tr("&New Breakpoint"));\r
-                       debugNewBreakpointMenu->addAction(newBreakpointFunctionAct);\r
+                       debugNewBreakpointMenu->addAction(newFunctionBreakpointAct);\r
+                       debugMenu->addAction(deleteAllBreakpointsAct);\r
+                       debugMenu->addAction(disableAllBreakpointsAct);\r
+                       debugMenu->addSeparator();\r
+                       debugMenu->addAction(saveDumpAsAct);\r
+#if 0\r
+                       debugMenu->addSeparator();\r
+                       debugMenu->addAction(DasmAct);\r
 #endif\r
-                       //debugMenu->addSeparator();\r
-                       //debugMenu->addAction(DasmAct);\r
                }\r
                else\r
                {\r
+                       // Create alpine menu\r
                        debugMenu->addAction(memBrowseAct);\r
                        debugMenu->addAction(stackBrowseAct);\r
                        debugMenu->addAction(cpuBrowseAct);\r
@@ -605,6 +663,8 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                debuggerbar->addSeparator();\r
                debuggerbar->addAction(traceStepIntoAct);\r
                debuggerbar->addAction(traceStepOverAct);\r
+               debuggerbar->addSeparator();\r
+               debuggerbar->addAction(BreakpointsAct);\r
        }\r
 \r
        if (vjs.hardwareTypeAlpine)\r
@@ -1029,7 +1089,7 @@ void MainWin::Configure(void)
        // Just in case we crash before a clean exit...\r
        WriteSettings();\r
 \r
-       DebuggerRefreshWindows();\r
+       RefreshWindows();\r
 }\r
 \r
 \r
@@ -1075,22 +1135,25 @@ static uint32_t ntscTickCount;
                // Otherwise, run the Jaguar simulation\r
                HandleGamepads();\r
                JaguarExecuteNew();\r
-               if (!vjs.softTypeDebugger)\r
+               //if (!vjs.softTypeDebugger)\r
                        videoWidget->HandleMouseHiding();\r
 \r
 static uint32_t refresh = 0;\r
                // Do autorefresh on debug windows\r
                // Have to be careful, too much causes the emulator to slow way down!\r
+               if (refresh == vjs.refresh)\r
+               {\r
                if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
                {\r
-                       if (refresh == vjs.refresh)\r
-                       {\r
                                AlpineRefreshWindows();\r
                                //memBrowseWin->RefreshContents();\r
                                //cpuBrowseWin->RefreshContents();\r
+                       }\r
+                       CommonRefreshWindows();\r
                                refresh = 0;\r
                        }\r
                        else\r
+               {\r
                                refresh++;\r
                }\r
        }\r
@@ -1140,7 +1203,7 @@ void MainWin::TogglePowerState(void)
        if (!powerButtonOn)\r
        {\r
                // Restore the mouse pointer, if hidden:\r
-               if (!vjs.softTypeDebugger)\r
+               //if (!vjs.softTypeDebugger)\r
                {\r
                        videoWidget->CheckAndRestoreMouseCursor();\r
                }\r
@@ -1194,7 +1257,10 @@ void MainWin::TogglePowerState(void)
 \r
                WriteLog("GUI: Resetting Jaguar...\n");\r
                JaguarReset();\r
+               DebuggerReset();\r
+               CommonReset();\r
                DebuggerResetWindows();\r
+               CommonResetWindows();\r
                DACPauseAudioThread(false);\r
        }\r
 }\r
@@ -1240,7 +1306,7 @@ void MainWin::ToggleRunState(void)
 \r
                        cpuBrowseWin->HoldBPM();\r
                        cpuBrowseWin->HandleBPMContinue();\r
-                       DebuggerRefreshWindows();\r
+                       RefreshWindows();\r
                }\r
        }\r
        else\r
@@ -1253,6 +1319,7 @@ void MainWin::ToggleRunState(void)
                        traceStepIntoAct->setDisabled(true);\r
                        traceStepOverAct->setDisabled(true);\r
                        restartAct->setDisabled(true);\r
+                       BreakpointsWin->RefreshContents();\r
                }\r
 \r
                cpuBrowseWin->UnholdBPM();\r
@@ -1410,13 +1477,14 @@ void MainWin::LoadSoftware(QString file)
        }\r
        else\r
        {\r
-               // Prevent the Alpine mode to crash in case of software without a start address\r
-               if (vjs.hardwareTypeAlpine && !jaguarRunAddress)\r
+               // Prevent the launch in case of software without a start address and without BIOS presence\r
+               if (!vjs.useJaguarBIOS && !jaguarRunAddress)\r
                {\r
                        ToggleRunState();\r
                }\r
        }\r
 \r
+       // Display the Atari Jaguar software which is running\r
        if ((!vjs.hardwareTypeAlpine || !vjs.softTypeDebugger) && !loadAndGo && jaguarRunAddress)\r
        {\r
                QString newTitle = QString("Virtual Jaguar " VJ_RELEASE_VERSION " Rx - Now playing: %1").arg(filePickWin->GetSelectedPrettyName());\r
@@ -1437,11 +1505,52 @@ void MainWin::ToggleCDUsage(void)
 }\r
 \r
 \r
-//\r
-void MainWin::NewBreakpointFunction(void)\r
+// Open, or display, the breakpoints list window\r
+void MainWin::ShowBreakpointsWin(void)\r
 {\r
-       //brkWin->show();\r
-       //brkWin->RefreshContents();\r
+       BreakpointsWin->show();\r
+       BreakpointsWin->RefreshContents();\r
+}\r
+\r
+\r
+// Delete all breakpoints\r
+void MainWin::DeleteAllBreakpoints(void)\r
+{\r
+       cpuBrowseWin->ResetBPM();\r
+       m68k_brk_reset();\r
+       ShowBreakpointsWin();\r
+}\r
+\r
+\r
+// Disable all breakpoints\r
+void MainWin::DisableAllBreakpoints(void)\r
+{\r
+       cpuBrowseWin->DisableBPM();\r
+       m68k_brk_disable();\r
+       ShowBreakpointsWin();\r
+}\r
+\r
+\r
+// Open, or display, the new breakpoint function window\r
+void MainWin::ShowNewFunctionBreakpointWin(void)\r
+{\r
+       NewFunctionBreakpointWin->show();\r
+       ShowBreakpointsWin();\r
+}\r
+\r
+\r
+// Display list of files found in cartridge\r
+void MainWin::ShowCartFilesListWin(void)\r
+{\r
+       CartFilesListWin->show();\r
+       CartFilesListWin->RefreshContents();\r
+}\r
+\r
+\r
+// Display the save dump pickup file\r
+void MainWin::ShowSaveDumpAsWin(void)\r
+{\r
+       SaveDumpAsWin->show();\r
 }\r
 \r
 \r
@@ -1450,7 +1559,7 @@ void MainWin::DebuggerTraceStepInto(void)
 {\r
        JaguarStepInto();\r
        videoWidget->updateGL();\r
-       DebuggerRefreshWindows();\r
+       RefreshWindows();\r
 #ifdef _MSC_VER\r
 #pragma message("Warning: !!! Need to verify the Step Into function !!!")\r
 #else\r
@@ -1459,7 +1568,7 @@ void MainWin::DebuggerTraceStepInto(void)
 }\r
 \r
 \r
-// Restart\r
+// Restart the Jaguar executable\r
 void MainWin::DebuggerRestart(void)\r
 {\r
 #if 1\r
@@ -1469,9 +1578,11 @@ void MainWin::DebuggerRestart(void)
        m68k_set_reg(M68K_REG_SP, vjs.DRAM_size);\r
 #endif\r
        m68k_set_reg(M68K_REG_A6, 0);\r
-\r
+       m68k_brk_hitcounts_reset();\r
+       bpmHitCounts = 0;\r
        DebuggerResetWindows();\r
-       DebuggerRefreshWindows();\r
+       CommonResetWindows();\r
+       RefreshWindows();\r
 #ifdef _MSC_VER\r
 #pragma message("Warning: !!! Need to verify the Restart function !!!")\r
 #else\r
@@ -1485,7 +1596,7 @@ void MainWin::DebuggerTraceStepOver(void)
 {\r
        JaguarStepOver(0);\r
        videoWidget->updateGL();\r
-       DebuggerRefreshWindows();\r
+       RefreshWindows();\r
 #ifdef _MSC_VER\r
 #pragma message("Warning: !!! Need to verify the Step Over function !!!")\r
 #else\r
@@ -1763,10 +1874,12 @@ void MainWin::ReadSettings(void)
        // Read settings from the Debugger mode\r
        settings.beginGroup("debugger");\r
        strcpy(vjs.debuggerROMPath, settings.value("DefaultROM", "").toString().toUtf8().data());\r
+       strcpy(vjs.sourcefilesearchPaths, settings.value("SourceFileSearchPaths", "").toString().toUtf8().data());\r
        vjs.nbrdisasmlines = settings.value("NbrDisasmLines", 32).toUInt();\r
        vjs.disasmopcodes = settings.value("DisasmOpcodes", true).toBool();\r
        vjs.displayHWlabels = settings.value("DisplayHWLabels", true).toBool();\r
        vjs.displayFullSourceFilename = settings.value("displayFullSourceFilename", true).toBool();\r
+       vjs.ELFSectionsCheck = settings.value("ELFSectionsCheck", false).toBool();\r
        vjs.nbrmemory1browserwindow = settings.value("NbrMemory1BrowserWindow", MaxMemory1BrowserWindow).toUInt();\r
        settings.endGroup();\r
 \r
@@ -1788,13 +1901,15 @@ void MainWin::ReadSettings(void)
 \r
        // Write important settings to the log file\r
        WriteLog("MainWin: Paths\n");\r
-       WriteLog("     EEPROMPath = \"%s\"\n", vjs.EEPROMPath);\r
-       WriteLog("        ROMPath = \"%s\"\n", vjs.ROMPath);\r
-       WriteLog("  AlpineROMPath = \"%s\"\n", vjs.alpineROMPath);\r
-       WriteLog("DebuggerROMPath = \"%s\"\n", vjs.debuggerROMPath);\r
-       WriteLog("     absROMPath = \"%s\"\n", vjs.absROMPath);\r
-       WriteLog("ScreenshotsPath = \"%s\"\n", vjs.screenshotPath);\r
-       WriteLog("  Pipelined DSP = %s\n", (vjs.usePipelinedDSP ? "ON" : "off"));\r
+       WriteLog("           EEPROMPath = \"%s\"\n", vjs.EEPROMPath);\r
+       WriteLog("              ROMPath = \"%s\"\n", vjs.ROMPath);\r
+       WriteLog("        AlpineROMPath = \"%s\"\n", vjs.alpineROMPath);\r
+       WriteLog("      DebuggerROMPath = \"%s\"\n", vjs.debuggerROMPath);\r
+       WriteLog("           absROMPath = \"%s\"\n", vjs.absROMPath);\r
+       WriteLog("      ScreenshotsPath = \"%s\"\n", vjs.screenshotPath);\r
+       WriteLog("SourceFileSearchPaths = \"%s\"\n", vjs.sourcefilesearchPaths);\r
+       WriteLog("MainWin: Misc.\n");\r
+       WriteLog("   Pipelined DSP = %s\n", (vjs.usePipelinedDSP ? "ON" : "off"));\r
 \r
 #if 0\r
        // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, *\r
@@ -1846,6 +1961,7 @@ void MainWin::ReadSettings(void)
        WriteLog("Read setting = Done\n");\r
 \r
        ReadProfiles(&settings);\r
+       DBGManager_SourceFileSearchPathsSet(vjs.sourcefilesearchPaths);\r
 }\r
 \r
 \r
@@ -1879,6 +1995,11 @@ void MainWin::ReadUISettings(void)
        // Video output information\r
        zoomLevel = settings.value("zoom", 2).toInt();\r
 \r
+// Emulator status UI information\r
+       pos = settings.value("emuStatusWinPos", QPoint(200, 200)).toPoint();\r
+       emuStatusWin->move(pos);\r
+       settings.value("emuStatusWinIsVisible", false).toBool() ? ShowEmuStatusWin() : void();\r
+       \r
        // Alpine debug UI information (also needed by the Debugger)\r
        if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
        {\r
@@ -1899,11 +2020,6 @@ void MainWin::ReadUISettings(void)
                size = settings.value("stackBrowseWinSize", QSize(400, 400)).toSize();\r
                stackBrowseWin->resize(size);\r
 \r
-               // Emulator status UI information\r
-               pos = settings.value("emuStatusWinPos", QPoint(200, 200)).toPoint();\r
-               emuStatusWin->move(pos);\r
-               settings.value("emuStatusWinIsVisible", false).toBool() ? ShowEmuStatusWin() : void();\r
-\r
                // OP (Object Processor) UI information\r
                pos = settings.value("opBrowseWinPos", QPoint(200, 200)).toPoint();\r
                opBrowseWin->move(pos);\r
@@ -1974,6 +2090,33 @@ void MainWin::ReadUISettings(void)
                size = settings.value("CallStackBrowseWinSize", QSize(400, 400)).toSize();\r
                CallStackBrowseWin->resize(size);\r
 \r
+               // cartridge directory and files UI information\r
+               pos = settings.value("CartFilesListWinPos", QPoint(200, 200)).toPoint();\r
+               CartFilesListWin->move(pos);\r
+               settings.value("CartFilesListWinIsVisible", false).toBool() ? ShowCartFilesListWin() : void();\r
+               size = settings.value("CartFilesListWinSize", QSize(400, 400)).toSize();\r
+               CartFilesListWin->resize(size);\r
+\r
+               // Save dump UI information\r
+               pos = settings.value("SaveDumpAsWinPos", QPoint(200, 200)).toPoint();\r
+               SaveDumpAsWin->move(pos);\r
+               settings.value("SaveDumpAsWinIsVisible", false).toBool() ? ShowSaveDumpAsWin() : void();\r
+               size = settings.value("SaveDumpAsWinSize", QSize(400, 400)).toSize();\r
+               SaveDumpAsWin->resize(size);\r
+\r
+               // Breakpoints UI information\r
+               pos = settings.value("BreakpointsWinPos", QPoint(200, 200)).toPoint();\r
+               BreakpointsWin->move(pos);\r
+               settings.value("BreakpointsWinIsVisible", false).toBool() ? ShowBreakpointsWin() : void();\r
+               size = settings.value("BreakpointsWinSize", QSize(400, 400)).toSize();\r
+               BreakpointsWin->resize(size);\r
+               // New function breakpoint UI information\r
+               pos = settings.value("NewFunctionBreakpointWinPos", QPoint(200, 200)).toPoint();\r
+               NewFunctionBreakpointWin->move(pos);\r
+               settings.value("NewFunctionBreakpointWinIsVisible", false).toBool() ? ShowNewFunctionBreakpointWin() : void();\r
+               size = settings.value("NewFunctionBreakpointWinSize", QSize(400, 400)).toSize();\r
+               NewFunctionBreakpointWin->resize(size);\r
+\r
                // Memories browser UI information\r
                for (i = 0; i < vjs.nbrmemory1browserwindow; i++)\r
                {\r
@@ -2047,8 +2190,10 @@ void MainWin::WriteSettings(void)
        settings.setValue("NbrDisasmLines", vjs.nbrdisasmlines);\r
        settings.setValue("DisasmOpcodes", vjs.disasmopcodes);\r
        settings.setValue("displayFullSourceFilename", vjs.displayFullSourceFilename);\r
+       settings.setValue("ELFSectionsCheck", vjs.ELFSectionsCheck);\r
        settings.setValue("NbrMemory1BrowserWindow", (unsigned int)vjs.nbrmemory1browserwindow);\r
        settings.setValue("DefaultROM", vjs.debuggerROMPath);\r
+       settings.setValue("SourceFileSearchPaths", vjs.sourcefilesearchPaths);\r
        settings.endGroup();\r
 \r
        // Write settings from the Keybindings\r
@@ -2106,6 +2251,7 @@ void MainWin::WriteSettings(void)
 #endif\r
 \r
        WriteProfiles(&settings);\r
+       DBGManager_SourceFileSearchPathsSet(vjs.sourcefilesearchPaths);\r
 }\r
 \r
 \r
@@ -2127,6 +2273,10 @@ void MainWin::WriteUISettings(void)
        // Video output information\r
        settings.setValue("zoom", zoomLevel);\r
 \r
+       // Common UI information\r
+       settings.setValue("emuStatusWinPos", emuStatusWin->pos());\r
+       settings.setValue("emuStatusWinIsVisible", emuStatusWin->isVisible());\r
+       \r
        // Alpine debug UI information (also needed by the Debugger)\r
        if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
        {\r
@@ -2137,8 +2287,6 @@ void MainWin::WriteUISettings(void)
                settings.setValue("stackBrowseWinPos", stackBrowseWin->pos());\r
                settings.setValue("stackBrowseWinIsVisible", stackBrowseWin->isVisible());\r
                settings.setValue("stackBrowseWinSize", stackBrowseWin->size());\r
-               settings.setValue("emuStatusWinPos", emuStatusWin->pos());\r
-               settings.setValue("emuStatusWinIsVisible", emuStatusWin->isVisible());\r
                settings.setValue("opBrowseWinPos", opBrowseWin->pos());\r
                settings.setValue("opBrowseWinIsVisible", opBrowseWin->isVisible());\r
                settings.setValue("opBrowseWinSize", opBrowseWin->size());\r
@@ -2172,6 +2320,19 @@ void MainWin::WriteUISettings(void)
                settings.setValue("CallStackBrowseWinPos", CallStackBrowseWin->pos());\r
                settings.setValue("CallStackBrowseWinIsVisible", CallStackBrowseWin->isVisible());\r
                settings.setValue("CallStackBrowseWinSize", CallStackBrowseWin->size());\r
+               settings.setValue("BreakpointsWinPos", BreakpointsWin->pos());\r
+               settings.setValue("BreakpointsWinIsVisible", BreakpointsWin->isVisible());\r
+               settings.setValue("BreakpointsWinSize", BreakpointsWin->size());\r
+               settings.setValue("NewFunctionBreakpointWinPos", NewFunctionBreakpointWin->pos());\r
+               settings.setValue("NewFunctionBreakpointWinIsVisible", NewFunctionBreakpointWin->isVisible());\r
+               settings.setValue("NewFunctionBreakpointWinSize", NewFunctionBreakpointWin->size());\r
+               settings.setValue("CartFilesListWinPos", CartFilesListWin->pos());\r
+               settings.setValue("CartFilesListWinIsVisible", CartFilesListWin->isVisible());\r
+               settings.setValue("CartFilesListWinSize", CartFilesListWin->size());\r
+               settings.setValue("SaveDumpAsWinPos", SaveDumpAsWin->pos());\r
+               settings.setValue("SaveDumpAsWinIsVisible", SaveDumpAsWin->isVisible());\r
+               settings.setValue("SaveDumpAsWinSize", SaveDumpAsWin->size());\r
+\r
                for (i = 0; i < vjs.nbrmemory1browserwindow; i++)\r
                {\r
                        sprintf(mem1Name, "mem1BrowseWinPos[%i]", (unsigned int)i);\r
@@ -2193,13 +2354,34 @@ void MainWin::AlpineRefreshWindows(void)
        cpuBrowseWin->RefreshContents();\r
        memBrowseWin->RefreshContents();\r
        stackBrowseWin->RefreshContents();\r
-       emuStatusWin->RefreshContents();\r
        opBrowseWin->RefreshContents();\r
        riscDasmBrowseWin->RefreshContents();\r
        m68kDasmBrowseWin->RefreshContents();\r
 }\r
 \r
 \r
+// \r
+void MainWin::CommonResetWindows(void)\r
+{\r
+}\r
+\r
+\r
+// Reset common\r
+void MainWin::CommonReset(void)\r
+{\r
+}\r
+\r
+\r
+// Reset soft debugger\r
+void MainWin::DebuggerReset(void)\r
+{\r
+       if (vjs.softTypeDebugger)\r
+       {\r
+               DeleteAllBreakpoints();\r
+       }\r
+}\r
+\r
+\r
 // Reset soft debugger windows\r
 void MainWin::DebuggerResetWindows(void)\r
 {\r
@@ -2208,17 +2390,38 @@ void MainWin::DebuggerResetWindows(void)
                FilesrcListWin->Reset();\r
                allWatchBrowseWin->Reset();\r
                heapallocatorBrowseWin->Reset();\r
-\r
+               BreakpointsWin->Reset();\r
+               CartFilesListWin->Reset();\r
                //ResetAlpineWindows();\r
        }\r
 }\r
 \r
 \r
+// Refresh common windows\r
+void MainWin::CommonRefreshWindows(void)\r
+{\r
+       emuStatusWin->RefreshContents();\r
+}\r
+\r
+\r
+// Refresh view windows\r
+void MainWin::ViewRefreshWindows(void)\r
+{\r
+       CartFilesListWin->RefreshContents();\r
+}\r
+\r
+\r
+// \r
+void MainWin::RefreshWindows(void)\r
+{\r
+       DebuggerRefreshWindows();\r
+       CommonRefreshWindows();\r
+}\r
+\r
+\r
 // Refresh soft debugger & alpine debug windows\r
 void MainWin::DebuggerRefreshWindows(void)\r
 {\r
-       size_t i;\r
-\r
        if (vjs.softTypeDebugger)\r
        {\r
                FilesrcListWin->RefreshContents();\r
@@ -2229,12 +2432,14 @@ void MainWin::DebuggerRefreshWindows(void)
                LocalBrowseWin->RefreshContents();\r
                CallStackBrowseWin->RefreshContents();\r
                heapallocatorBrowseWin->RefreshContents();\r
-               for (i = 0; i < vjs.nbrmemory1browserwindow; i++)\r
+               BreakpointsWin->RefreshContents();\r
+               for (size_t i = 0; i < vjs.nbrmemory1browserwindow; i++)\r
                {\r
                        mem1BrowseWin[i]->RefreshContents(i);\r
                }\r
 \r
                AlpineRefreshWindows();\r
+               ViewRefreshWindows();\r
        }\r
 }\r
 \r
index 2e41579..e76f4ff 100644 (file)
@@ -24,9 +24,6 @@ class HelpWindow;
 class FilePickerWindow;\r
 //class VideoOutputWindow;\r
 //class DasmWindow;\r
-class m68KDasmWindow;\r
-class GPUDasmWindow;\r
-class DSPDasmWindow;\r
 class EmuStatusWindow;\r
 \r
 // Alpine\r
@@ -38,14 +35,20 @@ class M68KDasmBrowserWindow;
 class RISCDasmBrowserWindow;\r
 \r
 // Debugger\r
+class m68KDasmWindow;\r
+class GPUDasmWindow;\r
+class DSPDasmWindow;\r
 class AllWatchBrowserWindow;\r
 class LocalBrowserWindow;\r
 class CallStackBrowserWindow;\r
 class HeapAllocatorBrowserWindow;\r
 class Memory1BrowserWindow;\r
-//class BrkWindow;\r
+class BreakpointsWindow;\r
+class NewFnctBreakpointWindow;\r
 class ExceptionVectorTableBrowserWindow;\r
 class FilesrcListWindow;\r
+class CartFilesListWindow;\r
+class SaveDumpAsWindow;\r
 \r
 \r
 // \r
@@ -60,8 +63,14 @@ class MainWin: public QMainWindow
                void LoadFile(QString);\r
                void SyncUI(void);\r
                void DebuggerRefreshWindows(void);\r
-               void DebuggerResetWindows(void);\r
+               void ViewRefreshWindows(void);\r
+               void RefreshWindows(void);\r
+               void CommonRefreshWindows(void);\r
                void AlpineRefreshWindows(void);\r
+               void DebuggerResetWindows(void);\r
+               void CommonResetWindows(void);\r
+               void CommonReset(void);\r
+               void DebuggerReset(void);\r
 \r
        protected:\r
                void closeEvent(QCloseEvent *);\r
@@ -100,9 +109,16 @@ class MainWin: public QMainWindow
                void ShowHeapAllocatorBrowserWin(void);\r
                void ShowMemory1BrowserWin(int NumWin);\r
                void ShowExceptionVectorTableBrowserWin(void);\r
-               void NewBreakpointFunction(void);\r
-               //void ShowVideoOutputWin(void);\r
-               //void ShowDasmWin(void);\r
+               void ShowNewFunctionBreakpointWin(void);\r
+               void ShowBreakpointsWin(void);\r
+               void DeleteAllBreakpoints(void);\r
+               void DisableAllBreakpoints(void);\r
+               void ShowSaveDumpAsWin(void);\r
+#if 0\r
+               void ShowVideoOutputWin(void);\r
+               void ShowDasmWin(void);\r
+#endif\r
+               void ShowCartFilesListWin(void);\r
                // Alpine\r
                void ShowMemoryBrowserWin(void);\r
                void ShowStackBrowserWin(void);\r
@@ -149,7 +165,10 @@ class MainWin: public QMainWindow
                GPUDasmWindow *GPUDasmWin;\r
                DSPDasmWindow *DSPDasmWin;\r
                FilesrcListWindow *FilesrcListWin;\r
-               //BrkWindow *brkWin;\r
+               BreakpointsWindow *BreakpointsWin;\r
+               NewFnctBreakpointWindow *NewFunctionBreakpointWin;\r
+               CartFilesListWindow *CartFilesListWin;\r
+               SaveDumpAsWindow *SaveDumpAsWin;\r
                QTimer *timer;\r
                bool running;\r
                int zoomLevel;\r
@@ -182,6 +201,7 @@ class MainWin: public QMainWindow
                QMenu *fileMenu;\r
                QMenu *helpMenu;\r
                QMenu *debugMenu, *debugWindowsMenu, *debugWindowsBrowsesMenu, *debugWindowsWatchMenu, *debugWindowOutputMenu, *debugWindowExceptionMenu, *debugWindowsMemoryMenu, *debugNewBreakpointMenu;\r
+               QMenu *viewMenu, *viewCartMenu;\r
                QToolBar * toolbar;\r
                QToolBar * debugbar;\r
                QToolBar * debuggerbar;\r
@@ -205,9 +225,6 @@ class MainWin: public QMainWindow
                QAction *emustatusAct;\r
                QAction *useCDAct;\r
                QAction *frameAdvanceAct;\r
-               QAction *traceStepOverAct;\r
-               QAction *traceStepIntoAct;\r
-               QAction *restartAct;\r
                QAction *fullScreenAct;\r
                //QAction *DasmAct;\r
                QAction *screenshotAct;\r
@@ -221,14 +238,22 @@ class MainWin: public QMainWindow
                QAction *riscDasmBrowseAct;\r
 \r
                // Debugger\r
+               QAction *traceStepOverAct;\r
+               QAction *traceStepIntoAct;\r
+               QAction *restartAct;\r
                //QAction *VideoOutputAct;\r
                QAction *heapallocatorBrowseAct;\r
                QAction *allWatchBrowseAct;\r
                QAction *LocalBrowseAct;\r
                QAction *CallStackBrowseAct;\r
                QAction **mem1BrowseAct;\r
-               //QAction *newBreakpointFunctionAct;\r
+               QAction *newFunctionBreakpointAct;\r
+               QAction *BreakpointsAct;\r
+               QAction *deleteAllBreakpointsAct;\r
+               QAction *disableAllBreakpointsAct;\r
+               QAction *saveDumpAsAct;\r
                QAction *exceptionVectorTableBrowseAct;\r
+               QAction *CartFilesListAct;\r
 \r
                QIcon powerGreen;\r
                QIcon powerRed;\r
index 5f6fbd3..ddedc8f 100644 (file)
@@ -50,5 +50,8 @@
        <file>../../res/debug-callstack.png</file>      \r
        <file>../../res/debug-memory.png</file>\r
        <file>../../res/screenshot.png</file>\r
+       <file>../../res/debug-breakpoints.png</file>\r
+       <file>../../res/debug-deleteallbreakpoints.png</file>\r
+       <file>../../res/debug-disableallbreakpoints.png</file>\r
 </qresource>\r
 </RCC>\r
index 90c35c9..638cfe3 100644 (file)
@@ -14,6 +14,7 @@
 // ---  ----------  -----------------------------------------------------------
 // JLH  11/25/2009  Major rewrite of memory subsystem and handlers
 // JPM  09/04/2018  Added the new Models and BIOS handler
+// JPM  10/13/2018  Added breakpoints features
 //
 
 
@@ -43,7 +44,7 @@
 #include "mmu.h"
 #include "settings.h"
 #include "tom.h"
-//#include "debugger/brkWin.h"
+//#include "debugger/BreakpointsWin.h"
 #ifdef NEWMODELSBIOSHANDLER
 #include "modelsBIOS.h"
 #endif
@@ -119,8 +120,10 @@ bool startM68KTracing = false;
 // Breakpoint on memory access vars (exported)
 bool bpmActive = false;
 bool bpmSaveActive = false;
+size_t bpmHitCounts;
 uint32_t bpmAddress1;
-//BrkInfo bpm;
+S_BrkInfo *brkInfo;
+size_t brkNbr;
 
 
 //
@@ -1048,12 +1051,139 @@ void   M68K_Debughalt(void)
 #endif
 
 
-// 
+// M68000 breakpoints initialisations
+void m68k_brk_init(void)
+{
+       brkNbr = 0;
+       brkInfo = NULL;
+}
+
+
+// Reset the M68000 breakpoints structures
+void m68k_brk_reset(void)
+{
+       // Reset the breakpoints
+       free(brkInfo);
+       brkInfo = NULL;
+       brkNbr = 0;
+}
+
+
+// Delete a M68000 breakpoint (starting from 1)
+void m68k_brk_del(unsigned int NumBrk)
+{
+       // Remove the breakpoint
+       memset((void *)(brkInfo + (NumBrk - 1)), 0, sizeof(S_BrkInfo));
+}
+
+
+// Add a M68000 breakpoint
+// return true if breakpoint has been added, and false if breakpoint already exists
+unsigned int m68k_brk_add(void *PtrInfo)
+{
+       S_BrkInfo *Ptr = NULL;
+
+       // Check if breakpoint already exists
+       for (size_t i = 0; i < brkNbr; i++)
+       {
+               if (brkInfo[i].Used)
+               {
+                       if (brkInfo[i].Adr == ((S_BrkInfo *)PtrInfo)->Adr)
+                       {
+                               return false;
+                       }
+               }
+       }
+
+       // Look for an available breakpoint
+       for (size_t i = 0; i < brkNbr, Ptr; i++)
+       {
+               if (!brkInfo[i].Used)
+               {
+                       Ptr = &brkInfo[i];
+               }
+       }
+
+       // Add a breakpoint
+       if (!Ptr)
+       {
+               brkInfo = (S_BrkInfo *)realloc(brkInfo, (++brkNbr * sizeof(S_BrkInfo)));
+               Ptr = &brkInfo[brkNbr - 1];
+       }
+
+       // Transfert the breakpoint information and init the activities
+       memcpy((void *)Ptr, PtrInfo, sizeof(S_BrkInfo));
+       Ptr->HitCounts = 0;
+       return (Ptr->Active = Ptr->Used = true);
+}
+
+
+// Check if breakpoint has been reached
+unsigned int m68k_brk_check(unsigned int adr)
+{
+       // Check if BPM has been reached
+       if ((adr == bpmAddress1) && bpmActive)
+       {
+               bpmHitCounts++;
+               return true;
+       }
+       else
+       {
+               // Check user breakpoints
+               for (size_t i = 0; i < brkNbr; i++)
+               {
+                       if (brkInfo[i].Used && brkInfo[i].Active)
+                       {
+                               if (brkInfo[i].Adr == adr)
+                               {
+                                       brkInfo[i].HitCounts++;
+                                       return true;
+                               }
+                       }
+               }
+       }
+
+       // No breakpoint found
+       return false;
+}
+
+
+// Disable the M68000 breakpoints
+void m68k_brk_disable(void)
+{
+       // reset active for the breakpoints
+       for (size_t i = 0; i < brkNbr; i++)
+       {
+               brkInfo[i].Active = 0;
+       }
+}
+
+
+// Reset the M68000 breakpoints
+void m68k_brk_hitcounts_reset(void)
+{
+       // reset hit counts for the breakpoints
+       for (size_t i = 0; i < brkNbr; i++)
+       {
+               brkInfo[i].HitCounts = 0;
+       }
+}
+
+
+// Close the M68000 breakpoints structures
+void m68k_brk_close(void)
+{
+       free(brkInfo);
+}
+
+
+// Read 1 byte from address
+// Check if address reaches a breakpoint
 unsigned int m68k_read_memory_8(unsigned int address)
 {
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && address == bpmAddress1)
+       if (!startM68KTracing && m68k_brk_check(address))
        {
                M68KDebugHalt();
        }
@@ -1145,7 +1275,7 @@ unsigned int m68k_read_memory_16(unsigned int address)
 {
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && (address == bpmAddress1))
+       if (!startM68KTracing && m68k_brk_check(address))
        {
                M68KDebugHalt();
        }
@@ -1292,7 +1422,7 @@ unsigned int m68k_read_memory_32(unsigned int address)
 {
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && address == bpmAddress1)
+       if (!startM68KTracing && m68k_brk_check(address))
        {
                M68KDebugHalt();
        }
@@ -1330,7 +1460,7 @@ unsigned int m68k_read_memory_32(unsigned int address)
 }
 
 
-//
+// Alert message in case of writing to unknown memory location
 bool m68k_write_unknown_alert(unsigned int address, char *bits, unsigned int value)
 {
        QString msg;
@@ -1338,58 +1468,55 @@ bool m68k_write_unknown_alert(unsigned int address, char *bits, unsigned int val
 
        msg.sprintf("$%06x: Writing at this unknown memory location $%06x with a (%s bits) value of $%0x", pcQueue[pcQPtr ? (pcQPtr - 1) : 0x3FF], address, bits, value);
        msgBox.setText(msg);
-       msgBox.setStandardButtons(QMessageBox::Cancel);
-       msgBox.setDefaultButton(QMessageBox::Cancel);
+       msgBox.setStandardButtons(QMessageBox::Abort);
+       msgBox.setDefaultButton(QMessageBox::Abort);
        msgBox.exec();
        return M68KDebugHalt();
 }
 
 
-// 
+// Alert message in case of writing to cartridge/ROM memory location
 bool m68k_write_cartridge_alert(unsigned int address, char *bits, unsigned int value)
 {
-       QString msg;
-       QMessageBox msgBox;
+       if (!M68KDebugHaltStatus())
+       {
+               QString msg;
+               QMessageBox msgBox;
 
-       msg.sprintf("$%06x: Writing at this ROM cartridge location $%06x with a (%s bits) value of $%0x", pcQueue[pcQPtr ? (pcQPtr - 1) : 0x3FF], address, bits, value);
-#if 1
-       msgBox.setText(msg);
+               msg.sprintf("$%06x: Writing at this ROM cartridge location $%06x with a (%s bits) value of $%0x", pcQueue[pcQPtr ? (pcQPtr - 1) : 0x3FF], address, bits, value);
+               msgBox.setText(msg);
 
-       if (!M68KDebugHaltStatus() && !strstr(bits, "32"))
-       {
                msgBox.setInformativeText("Do you want to continue?");
-               msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
-               msgBox.setDefaultButton(QMessageBox::Cancel);
-       }
-       else
-       {
-               msgBox.setStandardButtons(QMessageBox::Cancel);
-               msgBox.setDefaultButton(QMessageBox::Cancel);
-       }
+               msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+               msgBox.setDefaultButton(QMessageBox::No);
 
-       int retVal = msgBox.exec();
-#endif
-#if 0
-       QMessageBox::StandardButton retVal = QMessageBox::question(this, tr("Remove Mapping"), msg, QMessageBox::No | QMessageBox::Yes, QMessageBox::No);
-#endif
+               int retVal = msgBox.exec();
 
-       if (retVal == QMessageBox::Ok)
-       {
-               return false;
+               if (retVal == QMessageBox::Yes)
+               {
+                       return false;
+               }
+               else
+               {
+                       return M68KDebugHalt();
+               }
        }
        else
        {
-               return M68KDebugHalt();
+               return 1;
        }
 }
 
 
-// 
+// Check memory write location
+// BPM & cartridge/ROM detections
 bool m68k_write_memory_check(unsigned int address, char *bits, unsigned int value)
 {
+       unsigned int address1;
+
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && (address == bpmAddress1))
+       if (!M68KDebugHaltStatus() && bpmActive && (address == bpmAddress1))
        {
                return M68KDebugHalt();
        }
@@ -1397,223 +1524,203 @@ bool m68k_write_memory_check(unsigned int address, char *bits, unsigned int valu
 #endif
        {
                // Rom writing authorisation detection
-               if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xDFFF00)))
+               if (!vjs.allowWritesToROM)
                {
-                       return m68k_write_cartridge_alert(address, bits, value);
-               }
-               else
-               {
-                       //if ((address & 0xFF000000))
-                       //{
-                       //      return m68k_write_unknown_alert(address, bits, value);
-                       //}
-                       //else
-                       //{
-                               return false;
-                       //}
+                       // Calcul the end address
+                       if (strstr(bits, "32"))
+                       {
+                               address1 = address + 3;
+                       }
+                       else
+                       {
+                               if (strstr(bits, "16"))
+                               {
+                                       address1 = address + 1;
+                               }
+                               else
+                               {
+                                       address1 = address;
+                               }
+                       }
+
+                       // Rom writing detection
+                       if ((address >= 0x800000) && (address1 < 0xDFFF00))
+                       {
+                               return m68k_write_cartridge_alert(address, bits, value);
+                       }
                }
+
+               return false;
        }
 }
 
 
-// 
+// Memory write location on 8 bits
 void m68k_write_memory_8(unsigned int address, unsigned int value)
 {
-#if 1
-       m68k_write_memory_check(address, "8", value);
-#else
-#ifdef ALPINE_FUNCTIONS
-       // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && (address == bpmAddress1))
+       // Check memory write location on 8 bits
+       if (!m68k_write_memory_check(address, "8", value))
        {
-               M68KDebugHalt();
-       }
-       else
-#endif
-       {
-               // Rom writing authorisation detection
-               if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
-               {
-                       m68k_write_cartridge_alert(address, "8", value);
-               }
-       }
-#endif
-
-       // Musashi does this automagically for you, UAE core does not :-P
-       //address &= 0x00FFFFFF;
+               // Musashi does this automagically for you, UAE core does not :-P
+               //address &= 0x00FFFFFF;
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
-       if ((address >= 0x000000) && (address <= 0x1FFFFF))
-       {
-               if (startMemLog)
+               if ((address >= 0x000000) && (address <= 0x1FFFFF))
                {
-                       if (value > writeMemMax[address])
-                               writeMemMax[address] = value;
-                       if (value < writeMemMin[address])
-                               writeMemMin[address] = value;
+                       if (startMemLog)
+                       {
+                               if (value > writeMemMax[address])
+                                       writeMemMax[address] = value;
+                               if (value < writeMemMin[address])
+                                       writeMemMin[address] = value;
+                       }
                }
-       }
 #endif
-/*if (address == 0x4E00)
-       WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//if ((address >= 0x1FF020 && address <= 0x1FF03F) || (address >= 0x1FF820 && address <= 0x1FF83F))
-//     WriteLog("M68K: Writing %02X at %08X\n", value, address);
-//WriteLog("[WM8  PC=%08X] Addr: %08X, val: %02X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);
-/*if (effect_start)
-       if (address >= 0x18FA70 && address < (0x18FA70 + 8000))
-               WriteLog("M68K: Byte %02X written at %08X by 68K\n", value, address);//*/
-//$53D0
-/*if (address >= 0x53D0 && address <= 0x53FF)
-       printf("M68K: Writing byte $%02X at $%08X, PC=$%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//Testing AvP on UAE core...
-//000075A0: FFFFF80E B6320220 (BITMAP)
-/*if (address == 0x75A0 && value == 0xFF)
-       printf("M68K: (8) Tripwire hit...\n");//*/
+               /*if (address == 0x4E00)
+                       WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
+                       //if ((address >= 0x1FF020 && address <= 0x1FF03F) || (address >= 0x1FF820 && address <= 0x1FF83F))
+                       //      WriteLog("M68K: Writing %02X at %08X\n", value, address);
+                       //WriteLog("[WM8  PC=%08X] Addr: %08X, val: %02X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);
+                       /*if (effect_start)
+                               if (address >= 0x18FA70 && address < (0x18FA70 + 8000))
+                                       WriteLog("M68K: Byte %02X written at %08X by 68K\n", value, address);//*/
+                                       //$53D0
+                                       /*if (address >= 0x53D0 && address <= 0x53FF)
+                                               printf("M68K: Writing byte $%02X at $%08X, PC=$%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
+                                               //Testing AvP on UAE core...
+                                               //000075A0: FFFFF80E B6320220 (BITMAP)
+                                               /*if (address == 0x75A0 && value == 0xFF)
+                                                       printf("M68K: (8) Tripwire hit...\n");//*/
 
 #ifndef USE_NEW_MMU
-       // Note that the Jaguar only has 2M of RAM, not 4!
-       if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
-       {
-               jaguarMainRAM[address] = value;
-       }
-       else
-       {
-               if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
+                                                       // Note that the Jaguar only has 2M of RAM, not 4!
+               if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
                {
-                       CDROMWriteByte(address, value, M68K);
+                       jaguarMainRAM[address] = value;
                }
                else
                {
-                       if ((address >= 0xF00000) && (address <= 0xF0FFFF))
+                       if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
                        {
-                               TOMWriteByte(address, value, M68K);
+                               CDROMWriteByte(address, value, M68K);
                        }
                        else
                        {
-                               if ((address >= 0xF10000) && (address <= 0xF1FFFF))
+                               if ((address >= 0xF00000) && (address <= 0xF0FFFF))
                                {
-                                       JERRYWriteByte(address, value, M68K);
+                                       TOMWriteByte(address, value, M68K);
                                }
                                else
                                {
-                                       jaguar_unknown_writebyte(address, value, M68K);
+                                       if ((address >= 0xF10000) && (address <= 0xF1FFFF))
+                                       {
+                                               JERRYWriteByte(address, value, M68K);
+                                       }
+                                       else
+                                       {
+                                               if ((address >= 0x800000) && (address <= 0xDFFEFF))
+                                               {
+                                                       jagMemSpace[address] = (uint8_t)value;
+                                               }
+                                               else
+                                               {
+                                                       jaguar_unknown_writebyte(address, value, M68K);
+                                               }
+                                       }
                                }
                        }
                }
-       }
 #else
-       MMUWrite8(address, value, M68K);
+               MMUWrite8(address, value, M68K);
 #endif
+       }
 }
 
 
-// 
+// Memory write location on 16 bits
 void m68k_write_memory_16(unsigned int address, unsigned int value)
 {
-#if 1
-       if (!M68KDebugHaltStatus())
-       {
-               m68k_write_memory_check(address, "16", value);
-       }
-#else
-#ifdef ALPINE_FUNCTIONS
-       // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && address == bpmAddress1)
-       {
-               M68KDebugHalt();
-       }
-       else
-#endif
+       // Check memory write location on 16 bits
+       if (!m68k_write_memory_check(address, "16", value))
        {
-               // Rom writing authorisation detection
-               if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
-               {
-                       if (!M68KDebugHaltStatus())
-                       {
-                               m68k_write_cartridge_alert(address, "16", value);
-                       }
-               }
-       }
-#endif
-
-       // Musashi does this automagically for you, UAE core does not :-P
-       //address &= 0x00FFFFFF;
+               // Musashi does this automagically for you, UAE core does not :-P
+               //address &= 0x00FFFFFF;
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
-       if ((address >= 0x000000) && (address <= 0x1FFFFE))
-       {
-               if (startMemLog)
+               if ((address >= 0x000000) && (address <= 0x1FFFFE))
                {
-                       uint8_t hi = value >> 8, lo = value & 0xFF;
+                       if (startMemLog)
+                       {
+                               uint8_t hi = value >> 8, lo = value & 0xFF;
 
-                       if (hi > writeMemMax[address])
-                               writeMemMax[address] = hi;
-                       if (hi < writeMemMin[address])
-                               writeMemMin[address] = hi;
+                               if (hi > writeMemMax[address])
+                                       writeMemMax[address] = hi;
+                               if (hi < writeMemMin[address])
+                                       writeMemMin[address] = hi;
 
-                       if (lo > writeMemMax[address+1])
-                               writeMemMax[address+1] = lo;
-                       if (lo < writeMemMin[address+1])
-                               writeMemMin[address+1] = lo;
+                               if (lo > writeMemMax[address + 1])
+                                       writeMemMax[address + 1] = lo;
+                               if (lo < writeMemMin[address + 1])
+                                       writeMemMin[address + 1] = lo;
+                       }
                }
-       }
 #endif
-/*if (address == 0x4E00)
-       WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//if ((address >= 0x1FF020 && address <= 0x1FF03F) || (address >= 0x1FF820 && address <= 0x1FF83F))
-//     WriteLog("M68K: Writing %04X at %08X\n", value, address);
-//WriteLog("[WM16 PC=%08X] Addr: %08X, val: %04X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);
-//if (address >= 0xF02200 && address <= 0xF0229F)
-//     WriteLog("M68K: Writing to blitter --> %04X at %08X\n", value, address);
-//if (address >= 0x0E75D0 && address <= 0x0E75E7)
-//     WriteLog("M68K: Writing %04X at %08X, M68K PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));
-/*extern uint32_t totalFrames;
-if (address == 0xF02114)
-       WriteLog("M68K: Writing to GPU_CTRL (frame:%u)... [M68K PC:%08X]\n", totalFrames, m68k_get_reg(NULL, M68K_REG_PC));
-if (address == 0xF02110)
-       WriteLog("M68K: Writing to GPU_PC (frame:%u)... [M68K PC:%08X]\n", totalFrames, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//if (address >= 0xF03B00 && address <= 0xF03DFF)
-//     WriteLog("M68K: Writing %04X to %08X...\n", value, address);
-
-/*if (address == 0x0100)//64*4)
-       WriteLog("M68K: Wrote word to VI vector value %04X...\n", value);//*/
-/*if (effect_start)
-       if (address >= 0x18FA70 && address < (0x18FA70 + 8000))
-               WriteLog("M68K: Word %04X written at %08X by 68K\n", value, address);//*/
-/*     if (address == 0x51136 || address == 0x51138 || address == 0xFB074 || address == 0xFB076
-               || address == 0x1AF05E)
-               WriteLog("[WM16  PC=%08X] Addr: %08X, val: %04X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);//*/
-//$53D0
-/*if (address >= 0x53D0 && address <= 0x53FF)
-       printf("M68K: Writing word $%04X at $%08X, PC=$%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//Testing AvP on UAE core...
-//000075A0: FFFFF80E B6320220 (BITMAP)
-/*if (address == 0x75A0 && value == 0xFFFF)
-{
-       printf("\nM68K: (16) Tripwire hit...\n");
-       ShowM68KContext();
-}//*/
+               /*if (address == 0x4E00)
+                       WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
+                       //if ((address >= 0x1FF020 && address <= 0x1FF03F) || (address >= 0x1FF820 && address <= 0x1FF83F))
+                       //      WriteLog("M68K: Writing %04X at %08X\n", value, address);
+                       //WriteLog("[WM16 PC=%08X] Addr: %08X, val: %04X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);
+                       //if (address >= 0xF02200 && address <= 0xF0229F)
+                       //      WriteLog("M68K: Writing to blitter --> %04X at %08X\n", value, address);
+                       //if (address >= 0x0E75D0 && address <= 0x0E75E7)
+                       //      WriteLog("M68K: Writing %04X at %08X, M68K PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));
+                       /*extern uint32_t totalFrames;
+                       if (address == 0xF02114)
+                               WriteLog("M68K: Writing to GPU_CTRL (frame:%u)... [M68K PC:%08X]\n", totalFrames, m68k_get_reg(NULL, M68K_REG_PC));
+                       if (address == 0xF02110)
+                               WriteLog("M68K: Writing to GPU_PC (frame:%u)... [M68K PC:%08X]\n", totalFrames, m68k_get_reg(NULL, M68K_REG_PC));//*/
+                               //if (address >= 0xF03B00 && address <= 0xF03DFF)
+                               //      WriteLog("M68K: Writing %04X to %08X...\n", value, address);
+
+                               /*if (address == 0x0100)//64*4)
+                                       WriteLog("M68K: Wrote word to VI vector value %04X...\n", value);//*/
+                                       /*if (effect_start)
+                                               if (address >= 0x18FA70 && address < (0x18FA70 + 8000))
+                                                       WriteLog("M68K: Word %04X written at %08X by 68K\n", value, address);//*/
+                                                       /*      if (address == 0x51136 || address == 0x51138 || address == 0xFB074 || address == 0xFB076
+                                                                       || address == 0x1AF05E)
+                                                                       WriteLog("[WM16  PC=%08X] Addr: %08X, val: %04X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);//*/
+                                                                       //$53D0
+                                                                       /*if (address >= 0x53D0 && address <= 0x53FF)
+                                                                               printf("M68K: Writing word $%04X at $%08X, PC=$%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
+                                                                               //Testing AvP on UAE core...
+                                                                               //000075A0: FFFFF80E B6320220 (BITMAP)
+                                                                               /*if (address == 0x75A0 && value == 0xFFFF)
+                                                                               {
+                                                                                       printf("\nM68K: (16) Tripwire hit...\n");
+                                                                                       ShowM68KContext();
+                                                                               }//*/
 
 #ifndef USE_NEW_MMU
-       // Note that the Jaguar only has 2M of RAM, not 4!
-       if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 2)))
-       {
-/*             jaguar_mainRam[address] = value >> 8;
-               jaguar_mainRam[address + 1] = value & 0xFF;*/
-               SET16(jaguarMainRAM, address, value);
-       }
-       // Memory Track device writes....
-       else
-       {
-               if ((address >= 0x800000) && (address <= 0x87FFFE))
+                                                                               // Note that the Jaguar only has 2M of RAM, not 4!
+               if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 2)))
                {
-                       if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
-                       {
-                               MTWriteWord(address, value);
-                       }
+                       /*              jaguar_mainRam[address] = value >> 8;
+                                       jaguar_mainRam[address + 1] = value & 0xFF;*/
+                       SET16(jaguarMainRAM, address, value);
                }
                else
                {
+                       // Memory Track device writes....
+                       if ((address >= 0x800000) && (address <= 0x87FFFE))
+                       {
+                               if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
+                               {
+                                       MTWriteWord(address, value);
+                                       return;
+                               }
+                       }
+
                        if ((address >= 0xDFFF00) && (address <= 0xDFFFFE))
                        {
                                CDROMWriteWord(address, value, M68K);
@@ -1632,76 +1739,65 @@ if (address == 0xF02110)
                                        }
                                        else
                                        {
-                                               jaguar_unknown_writeword(address, value, M68K);
+                                               if ((address >= 0x800000) && (address <= 0xDFFEFE))
+                                               {
+                                                       SET16(jagMemSpace, address, value);
+                                               }
+                                               else
+                                               {
+                                                       jaguar_unknown_writeword(address, value, M68K);
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
-                                               WriteLog("\tA0=%08X, A1=%08X, D0=%08X, D1=%08X\n",
-                                                       m68k_get_reg(NULL, M68K_REG_A0), m68k_get_reg(NULL, M68K_REG_A1),
-                                                       m68k_get_reg(NULL, M68K_REG_D0), m68k_get_reg(NULL, M68K_REG_D1));
+                                                       WriteLog("\tA0=%08X, A1=%08X, D0=%08X, D1=%08X\n", m68k_get_reg(NULL, M68K_REG_A0), m68k_get_reg(NULL, M68K_REG_A1), m68k_get_reg(NULL, M68K_REG_D0), m68k_get_reg(NULL, M68K_REG_D1));
 #endif
+                                               }
                                        }
                                }
                        }
                }
-       }
 #else
-       MMUWrite16(address, value, M68K);
+               MMUWrite16(address, value, M68K);
 #endif
+       }
 }
 
 
-// 
+// Memory write location on 32 bits
 void m68k_write_memory_32(unsigned int address, unsigned int value)
 {
-#if 1
-       m68k_write_memory_check(address, "32", value);
-#else
-#ifdef ALPINE_FUNCTIONS
-       // Check if breakpoint on memory is active, and deal with it
-       if (bpmActive && address == bpmAddress1)
-       {
-               M68KDebugHalt();
-       }
-       else
-#endif
-       {
-               // Rom writing authorisation detection
-               if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
-               {
-                       m68k_write_cartridge_alert(address, "32", value);
-               }
-       }
-#endif
-
-       // Musashi does this automagically for you, UAE core does not :-P
-       //address &= 0x00FFFFFF;
-/*if (address == 0x4E00)
-       WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
-//WriteLog("--> [WM32]\n");
-/*if (address == 0x0100)//64*4)
-       WriteLog("M68K: Wrote dword to VI vector value %08X...\n", value);//*/
-/*if (address >= 0xF03214 && address < 0xF0321F)
-       WriteLog("M68K: Writing DWORD (%08X) to GPU RAM (%08X)...\n", value, address);//*/
-//M68K: Writing DWORD (88E30047) to GPU RAM (00F03214)...
-/*extern bool doGPUDis;
-if (address == 0xF03214 && value == 0x88E30047)
-//     start = true;
-       doGPUDis = true;//*/
-/*     if (address == 0x51136 || address == 0xFB074)
-               WriteLog("[WM32  PC=%08X] Addr: %08X, val: %02X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);//*/
-//Testing AvP on UAE core...
-//000075A0: FFFFF80E B6320220 (BITMAP)
-/*if (address == 0x75A0 && (value & 0xFFFF0000) == 0xFFFF0000)
-{
-       printf("\nM68K: (32) Tripwire hit...\n");
-       ShowM68KContext();
-}//*/
+       // Check memory write location on 32 bits
+       if (!m68k_write_memory_check(address, "32", value))
+       {
+               // Musashi does this automagically for you, UAE core does not :-P
+               //address &= 0x00FFFFFF;
+       /*if (address == 0x4E00)
+               WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
+               //WriteLog("--> [WM32]\n");
+               /*if (address == 0x0100)//64*4)
+                       WriteLog("M68K: Wrote dword to VI vector value %08X...\n", value);//*/
+                       /*if (address >= 0xF03214 && address < 0xF0321F)
+                               WriteLog("M68K: Writing DWORD (%08X) to GPU RAM (%08X)...\n", value, address);//*/
+                               //M68K: Writing DWORD (88E30047) to GPU RAM (00F03214)...
+                               /*extern bool doGPUDis;
+                               if (address == 0xF03214 && value == 0x88E30047)
+                               //      start = true;
+                                       doGPUDis = true;//*/
+                                       /*      if (address == 0x51136 || address == 0xFB074)
+                                                       WriteLog("[WM32  PC=%08X] Addr: %08X, val: %02X\n", m68k_get_reg(NULL, M68K_REG_PC), address, value);//*/
+                                                       //Testing AvP on UAE core...
+                                                       //000075A0: FFFFF80E B6320220 (BITMAP)
+                                                       /*if (address == 0x75A0 && (value & 0xFFFF0000) == 0xFFFF0000)
+                                                       {
+                                                               printf("\nM68K: (32) Tripwire hit...\n");
+                                                               ShowM68KContext();
+                                                       }//*/
 
 #ifndef USE_NEW_MMU
-       m68k_write_memory_16(address, value >> 16);
-       m68k_write_memory_16(address + 2, value & 0xFFFF);
+               m68k_write_memory_16(address, value >> 16);
+               m68k_write_memory_16(address + 2, value & 0xFFFF);
 #else
-       MMUWrite32(address, value, M68K);
+               MMUWrite32(address, value, M68K);
 #endif
+       }
 }
 
 
@@ -2213,6 +2309,7 @@ memset(jaguarMainRAM + 0x804, 0xFF, 4);
        TOMInit();
        JERRYInit();
        CDROMInit();
+       m68k_brk_init();
 }
 
 
@@ -2258,7 +2355,6 @@ void JaguarReset(void)
        CDROMReset();
     m68k_pulse_reset();                                                                // Reset the 68000
        WriteLog("Jaguar: 68K reset. PC=%06X SP=%08X\n", m68k_get_reg(NULL, M68K_REG_PC), m68k_get_reg(NULL, M68K_REG_A7));
-
        lowerField = false;                                                             // Reset the lower field flag
 //     SetCallbackTime(ScanlineCallback, 63.5555);
 //     SetCallbackTime(ScanlineCallback, 31.77775);
@@ -2368,6 +2464,7 @@ void JaguarDone(void)
        DSPDone();
        TOMDone();
        JERRYDone();
+       m68k_brk_close();
 
        // temp, until debugger is in place
 //00802016: jsr     $836F1A.l
index d074dea..76f47db 100644 (file)
@@ -4,12 +4,26 @@
 #include <stdint.h>
 #include "memory.h"                                                    // For "UNKNOWN" enum
 
+// Breakpoint struture
+typedef struct BrkInfo
+{
+       bool Used;                                      // Allocated breakpoint
+       bool Active;                            // Active breakpoint
+       char *Name;                                     // Functions's name
+       char *Filename;                         // Source filename
+       char *LineSrc;                          // Source code line
+       size_t NumLine;                         // Line number
+       size_t Adr;                                     // Breakpoint address
+       size_t HitCounts;                       // Hit counts
+}S_BrkInfo;
+
 void JaguarSetScreenBuffer(uint32_t * buffer);
 void JaguarSetScreenPitch(uint32_t pitch);
-void JaguarInit(void);
-void JaguarReset(void);
-void JaguarDone(void);
+extern void JaguarInit(void);
+extern void JaguarReset(void);
+extern void JaguarDone(void);
 
+// Memory functions
 uint8_t JaguarReadByte(uint32_t offset, uint32_t who = UNKNOWN);
 uint16_t JaguarReadWord(uint32_t offset, uint32_t who = UNKNOWN);
 uint32_t JaguarReadLong(uint32_t offset, uint32_t who = UNKNOWN);
@@ -31,8 +45,11 @@ extern uint32_t jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
 extern char * jaguarEepromsPath;
 extern bool jaguarCartInserted;
 extern bool bpmActive, bpmSaveActive;
+extern size_t bpmHitCounts;
 extern uint32_t bpmAddress1;
 extern bool startM68KTracing;
+extern S_BrkInfo *brkInfo;
+extern size_t brkNbr;
 
 // Various clock rates
 
index 3a9c869..95977ea 100644 (file)
@@ -135,6 +135,16 @@ int m68k_cycles_remaining(void);        // Number of cycles left
 void m68k_modify_timeslice(int cycles); // Modify cycles left
 void m68k_end_timeslice(void);          // End timeslice now
 
+// Breakpoints functions
+extern void m68k_brk_init(void);
+extern void m68k_brk_hitcounts_reset(void);
+extern unsigned int m68k_brk_add(void *PtrInfo);
+extern void m68k_brk_del(unsigned int NumBrk);
+extern void m68k_brk_disable(void);
+extern void m68k_brk_reset(void);
+extern void m68k_brk_close(void);
+extern unsigned int m68k_brk_check(unsigned int adr);
+
 #ifdef __cplusplus
 }
 #endif
index 56615bc..8b7ca16 100644 (file)
@@ -6,7 +6,9 @@
 // Who  When        What\r
 // ---  ----------  ------------------------------------------------------------\r
 // JPM  06/19/2016  Soft debugger support\r
-// JPM  Sept. / 2018  Added the new Models and BIOS handler, and a screenshot settings\r
+// JPM  Sept./2018  Added the new Models and BIOS handler, and a screenshot settings\r
+// JPM  10/10/2018  Added search paths in settings\r
+// JPM  04/06/2019  Added ELF sections check\r
 //\r
 \r
 #ifndef __SETTINGS_H__\r
@@ -82,6 +84,7 @@ struct VJSettings
        bool displayHWlabels;\r
        bool useFastBlitter;\r
        bool displayFullSourceFilename;\r
+       bool ELFSectionsCheck;\r
        size_t nbrmemory1browserwindow;                                                         // Number of memory browser windows\r
        size_t DRAM_size;                                                                                       // DRAM size\r
 \r
@@ -101,6 +104,7 @@ struct VJSettings
        char debuggerROMPath[MAX_PATH];\r
        char absROMPath[MAX_PATH];\r
        char screenshotPath[MAX_PATH];\r
+       char sourcefilesearchPaths[4096];\r
 };\r
 \r
 // Render types\r
index e66a3b0..19bd96a 100644 (file)
@@ -120,11 +120,14 @@ HEADERS = \
        src/debugger/DWARFManager.h \\r
        src/debugger/memory1browser.h \\r
        src/debugger/heapallocatorbrowser.h \\r
-       src/debugger/brkWin.h \\r
+       src/debugger/BreakpointsWin.h \\r
        src/debugger/VideoWin.h \r
        src/debugger/FilesrcListWin.h \\r
        src/debugger/callstackbrowser.h \\r
        src/debugger/exceptionvectortablebrowser.h \\r
+       src/debugger/NewFnctBreakpointWin.h \\r
+       src/debugger/CartFilesListWin.h \\r
+       src/debugger/SaveDumpAsWin.h \\r
        src/log.h \\r
        src/unzip.h \\r
        src/crc32.h \\r
@@ -172,11 +175,14 @@ SOURCES = \
        src/debugger/DWARFManager.cpp \\r
        src/debugger/memory1browser.cpp \\r
        src/debugger/heapallocatorbrowser.cpp \\r
-       src/debugger/brkWin.cpp \\r
+       src/debugger/BreakpointsWin.cpp \\r
        src/debugger/VideoWin.cpp \\r
        src/debugger/FilesrcListWin.cpp \\r
        src/debugger/exceptionvectortablebrowser.cpp \\r
        src/debugger/callstackbrowser.cpp \\r
+       src/debugger/NewFnctBreakpointWin.cpp \\r
+       src/debugger/CartFilesListWin.cpp \\r
+       src/debugger/SaveDumpAsWin.cpp \\r
        src/log.cpp \\r
        src/unzip.cpp \\r
        src/crc32.cpp \\r