Browse Source

Refactor: remove Delphi support

Herman Schoenfeld 7 years ago
parent
commit
f482739591
70 changed files with 181 additions and 6412 deletions
  1. 4 1
      .gitignore
  2. 1 1
      PascalCoinMiner.lpi
  3. 7 4
      PascalCoinMiner.pp
  4. 23 41
      PascalCoinWallet.dpr
  5. 0 0
      PascalCoinWallet.ico
  6. 55 5
      PascalCoinWallet.lpi
  7. BIN
      PascalCoinWallet.res
  8. 0 36
      PascalCoinWalletLazarus.dpr
  9. 0 366
      PascalCoinWalletLazarus.lpi.bak
  10. BIN
      Resources/WalletImages/PascalCoin.ico
  11. 0 302
      Units/Forms/UFRMAbout.dfm
  12. 3 28
      Units/Forms/UFRMAbout.pas
  13. 1 1
      Units/Forms/UFRMAccountInfo.lfm
  14. 1 1
      Units/Forms/UFRMAccountInfo.pas
  15. 0 262
      Units/Forms/UFRMAccountSelect.dfm
  16. 1 11
      Units/Forms/UFRMAccountSelect.pas
  17. 1 4
      Units/Forms/UFRMLogs.pas
  18. 0 66
      Units/Forms/UFRMMemoText.dfm
  19. 2 9
      Units/Forms/UFRMMemoText.pas
  20. 1 5
      Units/Forms/UFRMMessages.pas
  21. 0 86
      Units/Forms/UFRMNewPrivateKeyType.dfm
  22. 2 12
      Units/Forms/UFRMNewPrivateKeyType.pas
  23. 1 5
      Units/Forms/UFRMNodes.pas
  24. 0 86
      Units/Forms/UFRMNodesIp.dfm
  25. 3 12
      Units/Forms/UFRMNodesIp.pas
  26. 0 1068
      Units/Forms/UFRMOperation.dfm
  27. 2 12
      Units/Forms/UFRMOperation.pas
  28. 0 4
      Units/Forms/UFRMOperationExplorer.pas
  29. 0 381
      Units/Forms/UFRMPascalCoinWalletConfig.dfm
  30. 2 17
      Units/Forms/UFRMPascalCoinWalletConfig.pas
  31. 0 426
      Units/Forms/UFRMPayloadDecoder.dfm
  32. 2 12
      Units/Forms/UFRMPayloadDecoder.pas
  33. 0 220
      Units/Forms/UFRMSaleAccounts.dfm
  34. 2 0
      Units/Forms/UFRMSaleAccounts.pas
  35. 4 1
      Units/Forms/UFRMSyncronizationDialog.pas
  36. 0 1723
      Units/Forms/UFRMWallet.dfm
  37. 2 2
      Units/Forms/UFRMWallet.lfm
  38. 5 16
      Units/Forms/UFRMWallet.pas
  39. 0 800
      Units/Forms/UFRMWalletKeys.dfm
  40. 4 15
      Units/Forms/UFRMWalletKeys.pas
  41. 1 12
      Units/PascalCoin/UAES.pas
  42. 2 15
      Units/PascalCoin/UAccounts.pas
  43. 1 5
      Units/PascalCoin/UBaseTypes.pas
  44. 1 3
      Units/PascalCoin/UBlockChain.pas
  45. 2 5
      Units/PascalCoin/UChunk.pas
  46. 1 5
      Units/PascalCoin/UConst.pas
  47. 1 3
      Units/PascalCoin/UCrypto.pas
  48. 1 23
      Units/PascalCoin/UECIES.pas
  49. 1 3
      Units/PascalCoin/UFileStorage.pas
  50. 1 3
      Units/PascalCoin/ULog.pas
  51. 2 9
      Units/PascalCoin/UNetProtocol.pas
  52. 1 3
      Units/PascalCoin/UNode.pas
  53. 1 3
      Units/PascalCoin/UOpTransaction.pas
  54. 7 17
      Units/PascalCoin/UOpenSSL.pas
  55. 1 3
      Units/PascalCoin/UOpenSSLdef.pas
  56. 1 8
      Units/PascalCoin/UPoolMining.pas
  57. 2 5
      Units/PascalCoin/URPC.pas
  58. 1 3
      Units/PascalCoin/UServerApp.pas
  59. 1 11
      Units/PascalCoin/UTCPIP.pas
  60. 1 7
      Units/PascalCoin/UThread.pas
  61. 1 43
      Units/PascalCoin/UTime.pas
  62. 1 3
      Units/PascalCoin/UWalletKeys.pas
  63. 9 32
      Units/PascalCoin/config.inc
  64. 1 3
      Units/Utils/UAppParams.pas
  65. 2 4
      Units/Utils/UCommon.pas
  66. 1 3
      Units/Utils/UCommonUI.pas
  67. 1 34
      Units/Utils/UFolderHelper.pas
  68. 4 23
      Units/Utils/UGridUtils.pas
  69. 1 77
      Units/Utils/UJSONFunctions.pas
  70. 1 3
      Units/Utils/UWizard.pas

+ 4 - 1
.gitignore

@@ -16,10 +16,13 @@ libeay64.dll
 *.dproj.local
 *.lps
 *.dcu
-backup/
 lib/
 PascalCoinWallet_Icon.ico
 
+#Lazarus backup files
+*.bak
+backup/
+
 ## Development miner batch file
 Run*.bat
 

+ 1 - 1
PascalCoinMiner.lpi

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
   <ProjectOptions>
-    <Version Value="9"/>
+    <Version Value="10"/>
     <PathDelim Value="\"/>
     <General>
       <Flags>

+ 7 - 4
PascalCoinMiner.pp

@@ -177,7 +177,10 @@ begin
   FLock.Acquire;
   try
     msg := formatdatetime('hh:nn:ss',now)+' '+CT_LogType[logtype]+' '+logtext;
-    FLastLogs.AddObject(msg,TObject(PtrInt(logtype)));
+    // TODO - test logtype is properly casted/stored/retrieved/accessed.
+    // Confirm casting doesn't lose bits in 32/64 bit archs
+    // OLD: FLastLogs.AddObject(msg,TObject(PtrInt(logtype)));
+    FLastLogs.AddObject(msg,TObject(Int(QWord(logtype))));
     i := FLastLogs.Count-CT_MaxLogs;
     if (i<0) then i:=0;
     nline := CT_Line_Logs+FDeviceThreads.Count;
@@ -273,7 +276,7 @@ var
     devt : TCustomMinerDeviceThread;
     s : String;
   Begin
-    tc := GetTickCount;
+    tc := GetTickCount64;
     repeat
       If FPoolMinerThread.PoolMinerClient.Connected then begin
         for i:=0 to FDeviceThreads.Count-1 do begin
@@ -283,8 +286,8 @@ var
       while (Not Terminated) do begin
         sleep(100);
         //devt := TCustomMinerDeviceThread(FDeviceThreads[0]);
-        If (tc + 1000)<GetTickCount then begin
-          tc := GetTickCount;
+        If (tc + 1000)<GetTickCount64 then begin
+          tc := GetTickCount64;
           //ms := devt.DeviceStats;
           For i:=0 to FDeviceThreads.Count-1 do begin
             devt := TCustomMinerDeviceThread(FDeviceThreads[i]);

+ 23 - 41
PascalCoinWallet.dpr

@@ -1,51 +1,33 @@
 program PascalCoinWallet;
 
+{$mode delphi}
+
 uses
+  {$IFDEF LINUX}cthreads,{$ENDIF}
+  Interfaces,
+  sysutils,
+  UOpenSSL,
+  UCrypto,
   Forms,
-  UBlockChain in 'Units\PascalCoin\UBlockChain.pas',
-  UCrypto in 'Units\PascalCoin\UCrypto.pas',
-  UTime in 'Units\PascalCoin\UTime.pas',
-  UWalletKeys in 'Units\PascalCoin\UWalletKeys.pas',
-  UOpTransaction in 'Units\PascalCoin\UOpTransaction.pas',
-  UNetProtocol in 'Units\PascalCoin\UNetProtocol.pas',
-  UAccounts in 'Units\PascalCoin\UAccounts.pas',
-  UConst in 'Units\PascalCoin\UConst.pas',
-  UThread in 'Units\PascalCoin\UThread.pas',
-  ULog in 'Units\PascalCoin\ULog.pas',
-  UNode in 'Units\PascalCoin\UNode.pas',
-  UECIES in 'Units\PascalCoin\UECIES.pas',
-  UFRMWallet in 'Units\Forms\UFRMWallet.pas' {FRMWallet},
-  UFolderHelper in 'Units\Utils\UFolderHelper.pas',
-  UAppParams in 'Units\Utils\UAppParams.pas',
-  UGridUtils in 'Units\Utils\UGridUtils.pas',
-  UFRMPascalCoinWalletConfig in 'Units\Forms\UFRMPascalCoinWalletConfig.pas' {FRMPascalCoinWalletConfig},
-  UFRMAbout in 'Units\Forms\UFRMAbout.pas' {FRMAbout},
-  UFRMOperation in 'Units\Forms\UFRMOperation.pas' {FRMOperation},
-  UFRMWalletKeys in 'Units\Forms\UFRMWalletKeys.pas' {FRMWalletKeys},
-  UFRMNewPrivateKeyType in 'Units\Forms\UFRMNewPrivateKeyType.pas' {FRMNewPrivateKeyType},
-  UFRMPayloadDecoder in 'Units\Forms\UFRMPayloadDecoder.pas' {FRMPayloadDecoder},
-  UFRMNodesIp in 'Units\Forms\UFRMNodesIp.pas' {FRMNodesIp},
-  UTCPIP in 'Units\PascalCoin\UTCPIP.pas',
-  UJSONFunctions in 'Units\Utils\UJSONFunctions.pas',
-  URPC in 'Units\PascalCoin\URPC.pas',
-  UPoolMining in 'Units\PascalCoin\UPoolMining.pas',
-  UFileStorage in 'Units\PascalCoin\UFileStorage.pas',
-  UOpenSSL in 'Units\PascalCoin\UOpenSSL.pas',
-  UOpenSSLdef in 'Units\PascalCoin\UOpenSSLdef.pas',
-  UAES in 'Units\PascalCoin\UAES.pas',
-  UFRMAccountSelect in 'Units\Forms\UFRMAccountSelect.pas' {FRMAccountSelect},
-  UFRMAccountInfo in 'Units\Forms\UFRMAccountInfo.pas' {FRMAccountInfo},
-  UFRMMemoText in 'Units\Forms\UFRMMemoText.pas' {FRMMemoText},
-  UChunk in 'Units\PascalCoin\UChunk.pas',
-  UBaseTypes in 'Units\PascalCoin\UBaseTypes.pas',
-  UCommon in 'Units\Utils\UCommon.pas';
-
-{$R *.res}
+  UFRMWallet,
+  UUserInterface;
 
+//{$R *.res}
+var
+   mainForm : TFRMWallet;
 begin
+  // Start OpenSSL dll
+  if Not LoadSSLCrypt then
+    raise Exception.Create('Cannot load '+SSL_C_LIB+#10+'To use this software make sure this file is available on you system or reinstall the application');
+  TCrypto.InitCrypto;
+
   Application.Initialize;
-  Application.MainFormOnTaskbar := True;
+  {$IFDEF WINDOWS}{$Warnings OFF}
+  Application.MainFormOnTaskBar := True;
+  {$Warnings ON}{$ENDIF}
   Application.Title := 'Pascal Coin Wallet, Miner & Explorer';
-  Application.CreateForm(TFRMWallet, FRMWallet);
+  Application.CreateForm(TFRMWallet, mainForm);
+  TUserInterface.Start(mainForm);
   Application.Run;
 end.
+

+ 0 - 0
PascalCoinWalletLazarus.ico → PascalCoinWallet.ico


+ 55 - 5
PascalCoinWalletLazarus.lpi → PascalCoinWallet.lpi

@@ -11,7 +11,7 @@
       </Flags>
       <SessionStorage Value="InProjectDir"/>
       <MainUnit Value="0"/>
-      <Title Value="PascalCoinWalletLazarus"/>
+      <Title Value="PascalCoin Wallet"/>
       <UseAppBundle Value="False"/>
       <ResourceType Value="res"/>
       <Icon Value="0"/>
@@ -38,9 +38,9 @@
         <PackageName Value="LCL"/>
       </Item1>
     </RequiredPackages>
-    <Units Count="54">
+    <Units Count="66">
       <Unit0>
-        <Filename Value="PascalCoinWalletLazarus.dpr"/>
+        <Filename Value="PascalCoinWallet.dpr"/>
         <IsPartOfProject Value="True"/>
       </Unit0>
       <Unit1>
@@ -315,16 +315,66 @@
         <Filename Value="Units\Utils\UCommon.pas"/>
         <IsPartOfProject Value="True"/>
       </Unit53>
+      <Unit54>
+        <Filename Value="Units\PascalCoin\UGPUMining.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit54>
+      <Unit55>
+        <Filename Value="Units\PascalCoin\upcdaemon.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit55>
+      <Unit56>
+        <Filename Value="Units\PascalCoin\UPoolMinerThreads.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit56>
+      <Unit57>
+        <Filename Value="Units\PascalCoin\UServerApp.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit57>
+      <Unit58>
+        <Filename Value="Units\PascalCoin\USha256.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit58>
+      <Unit59>
+        <Filename Value="Units\Utils\generics.dictionaries.inc"/>
+        <IsPartOfProject Value="True"/>
+      </Unit59>
+      <Unit60>
+        <Filename Value="Units\Utils\generics.dictionariesh.inc"/>
+        <IsPartOfProject Value="True"/>
+      </Unit60>
+      <Unit61>
+        <Filename Value="Units\Utils\UWizard.lfm"/>
+        <IsPartOfProject Value="True"/>
+      </Unit61>
+      <Unit62>
+        <Filename Value="Units\Forms\UFRMAccountInfo.pas"/>
+        <IsPartOfProject Value="True"/>
+        <HasResources Value="True"/>
+      </Unit62>
+      <Unit63>
+        <Filename Value="Units\Forms\UFRMMemoText.pas"/>
+        <IsPartOfProject Value="True"/>
+        <HasResources Value="True"/>
+      </Unit63>
+      <Unit64>
+        <Filename Value="Units\Forms\UFRMSaleAccounts.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit64>
+      <Unit65>
+        <Filename Value="Units\Forms\UFRMWalletKeys2.pas"/>
+        <IsPartOfProject Value="True"/>
+      </Unit65>
     </Units>
   </ProjectOptions>
   <CompilerOptions>
     <Version Value="11"/>
     <PathDelim Value="\"/>
     <Target>
-      <Filename Value="PascalCoinWalletLazarus"/>
+      <Filename Value="PascalCoinWallet"/>
     </Target>
     <SearchPaths>
-      <IncludeFiles Value="$(ProjOutDir)"/>
+      <IncludeFiles Value="$(ProjOutDir);Units\PascalCoin;Units\Utils"/>
       <OtherUnitFiles Value="Synapse\lib;Units\Forms;Units\PascalCoin;Units\Utils;Units\SQLite3"/>
       <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
     </SearchPaths>

BIN
PascalCoinWallet.res


+ 0 - 36
PascalCoinWalletLazarus.dpr

@@ -1,36 +0,0 @@
-program PascalCoinWalletLazarus;
-
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
-
-uses
-{$IFDEF FPC}
-  {$IFDEF LINUX}cthreads,{$ENDIF}
-  Interfaces,
-{$ENDIF}
-  sysutils,
-  UOpenSSL,
-  UCrypto,
-  Forms,
-  UFRMWallet,
-  UUserInterface;
-
-//{$R *.res}
-var
-   mainForm : TFRMWallet;
-begin
-  // Start OpenSSL dll
-  if Not LoadSSLCrypt then
-    raise Exception.Create('Cannot load '+SSL_C_LIB+#10+'To use this software make sure this file is available on you system or reinstall the application');
-  TCrypto.InitCrypto;
-
-  Application.Initialize;
-  {$IFDEF WINDOWS}{$Warnings OFF}
-  Application.MainFormOnTaskBar := True;
-  {$Warnings ON}{$ENDIF}
-  Application.Title := 'Pascal Coin Wallet, Miner & Explorer';
-  Application.CreateForm(TFRMWallet, mainForm);
-  TUserInterface.Start(mainForm);
-  Application.Run;
-end.

+ 0 - 366
PascalCoinWalletLazarus.lpi.bak

@@ -1,366 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<CONFIG>
-  <ProjectOptions>
-    <Version Value="10"/>
-    <PathDelim Value="\"/>
-    <General>
-      <Flags>
-        <MainUnitHasUsesSectionForAllUnits Value="False"/>
-        <MainUnitHasCreateFormStatements Value="False"/>
-        <MainUnitHasTitleStatement Value="False"/>
-      </Flags>
-      <SessionStorage Value="InProjectDir"/>
-      <MainUnit Value="0"/>
-      <Title Value="PascalCoinWalletLazarus"/>
-      <UseAppBundle Value="False"/>
-      <ResourceType Value="res"/>
-      <Icon Value="0"/>
-    </General>
-    <i18n>
-      <EnableI18N LFM="False"/>
-    </i18n>
-    <VersionInfo>
-      <StringTable ProductVersion=""/>
-    </VersionInfo>
-    <BuildModes Count="1">
-      <Item1 Name="Default" Default="True"/>
-    </BuildModes>
-    <PublishOptions>
-      <Version Value="2"/>
-    </PublishOptions>
-    <RunParams>
-      <local>
-        <FormatVersion Value="1"/>
-      </local>
-    </RunParams>
-    <RequiredPackages Count="1">
-      <Item1>
-        <PackageName Value="LCL"/>
-      </Item1>
-    </RequiredPackages>
-    <Units Count="52">
-      <Unit0>
-        <Filename Value="PascalCoinWalletLazarus.dpr"/>
-        <IsPartOfProject Value="True"/>
-      </Unit0>
-      <Unit1>
-        <Filename Value="Units\PascalCoin\UBlockChain.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit1>
-      <Unit2>
-        <Filename Value="Units\PascalCoin\UCrypto.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit2>
-      <Unit3>
-        <Filename Value="Units\PascalCoin\UTime.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit3>
-      <Unit4>
-        <Filename Value="Units\PascalCoin\UWalletKeys.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit4>
-      <Unit5>
-        <Filename Value="Units\PascalCoin\UOpTransaction.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit5>
-      <Unit6>
-        <Filename Value="Units\PascalCoin\UNetProtocol.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit6>
-      <Unit7>
-        <Filename Value="Units\PascalCoin\UAccounts.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit7>
-      <Unit8>
-        <Filename Value="Units\PascalCoin\UConst.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit8>
-      <Unit9>
-        <Filename Value="Units\PascalCoin\UThread.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit9>
-      <Unit10>
-        <Filename Value="Units\PascalCoin\ULog.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit10>
-      <Unit11>
-        <Filename Value="Units\PascalCoin\UNode.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit11>
-      <Unit12>
-        <Filename Value="Units\PascalCoin\UECIES.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit12>
-      <Unit13>
-        <Filename Value="Units\Forms\UFRMWallet.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMWallet"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit13>
-      <Unit14>
-        <Filename Value="Units\Utils\UFolderHelper.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit14>
-      <Unit15>
-        <Filename Value="Units\Utils\UAppParams.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit15>
-      <Unit16>
-        <Filename Value="Units\Utils\UGridUtils.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit16>
-      <Unit17>
-        <Filename Value="Units\Forms\UFRMPascalCoinWalletConfig.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPascalCoinWalletConfig"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit17>
-      <Unit18>
-        <Filename Value="Units\Forms\UFRMAbout.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAbout"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit18>
-      <Unit19>
-        <Filename Value="Units\Forms\UFRMOperation.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMOperation"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit19>
-      <Unit20>
-        <Filename Value="Units\Forms\UFRMWalletKeys.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMWalletKeys"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit20>
-      <Unit21>
-        <Filename Value="Units\Forms\UFRMNewPrivateKeyType.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNewPrivateKeyType"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit21>
-      <Unit22>
-        <Filename Value="Units\Forms\UFRMPayloadDecoder.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPayloadDecoder"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit22>
-      <Unit23>
-        <Filename Value="Units\Forms\UFRMNodesIp.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNodesIp"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit23>
-      <Unit24>
-        <Filename Value="Units\PascalCoin\UTCPIP.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit24>
-      <Unit25>
-        <Filename Value="Units\Utils\UJSONFunctions.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit25>
-      <Unit26>
-        <Filename Value="Units\PascalCoin\URPC.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit26>
-      <Unit27>
-        <Filename Value="Units\PascalCoin\UPoolMining.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit27>
-      <Unit28>
-        <Filename Value="Units\PascalCoin\UOpenSSL.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit28>
-      <Unit29>
-        <Filename Value="Units\PascalCoin\UOpenSSLdef.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit29>
-      <Unit30>
-        <Filename Value="Units\PascalCoin\UFileStorage.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit30>
-      <Unit31>
-        <Filename Value="Units\PascalCoin\config.inc"/>
-        <IsPartOfProject Value="True"/>
-      </Unit31>
-      <Unit32>
-        <Filename Value="Units\PascalCoin\UAES.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit32>
-      <Unit33>
-        <Filename Value="Units\PascalCoin\UChunk.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit33>
-      <Unit34>
-        <Filename Value="Units\Forms\UFRMAccountSelect.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAccountSelect"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit34>
-      <Unit35>
-        <Filename Value="Units\PascalCoin\UBaseTypes.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit35>
-      <Unit36>
-        <Filename Value="Units\Utils\UCommon.pas"/>
-        <IsPartOfProject Value="True"/>
-      </Unit36>
-      <Unit37>
-        <Filename Value="Units\Utils\UWizard.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="WizardHostForm"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit37>
-      <Unit38>
-        <Filename Value="Units\Utils\generics.collections.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Collections"/>
-      </Unit38>
-      <Unit39>
-        <Filename Value="Units\Utils\generics.defaults.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Defaults"/>
-      </Unit39>
-      <Unit40>
-        <Filename Value="Units\Utils\generics.hashes.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Hashes"/>
-      </Unit40>
-      <Unit41>
-        <Filename Value="Units\Utils\generics.helpers.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Helpers"/>
-      </Unit41>
-      <Unit42>
-        <Filename Value="Units\Utils\generics.memoryexpanders.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.MemoryExpanders"/>
-      </Unit42>
-      <Unit43>
-        <Filename Value="Units\Utils\generics.strings.pas"/>
-        <IsPartOfProject Value="True"/>
-        <UnitName Value="Generics.Strings"/>
-      </Unit43>
-      <Unit44>
-        <Filename Value="Units\Forms\UFRMMessages.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMMessages"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit44>
-      <Unit45>
-        <Filename Value="Units\Forms\UFRMNodes.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMNodes"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit45>
-      <Unit46>
-        <Filename Value="Units\Forms\UFRMLogs.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMLogs"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit46>
-      <Unit47>
-        <Filename Value="Units\Forms\UFRMOperationExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMOperationExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit47>
-      <Unit48>
-        <Filename Value="Units\Forms\UFRMBlockExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMBlockExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit48>
-      <Unit49>
-        <Filename Value="Units\Forms\UFRMPendingOperations.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMPendingOperations"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit49>
-      <Unit50>
-        <Filename Value="Units\Forms\UFRMAccountExplorer.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMAccountExplorer"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit50>
-      <Unit51>
-        <Filename Value="Units\Forms\UFRMSyncronizationDialog.pas"/>
-        <IsPartOfProject Value="True"/>
-        <ComponentName Value="FRMSyncronizationDialog"/>
-        <HasResources Value="True"/>
-        <ResourceBaseClass Value="Form"/>
-      </Unit51>
-    </Units>
-  </ProjectOptions>
-  <CompilerOptions>
-    <Version Value="11"/>
-    <PathDelim Value="\"/>
-    <Target>
-      <Filename Value="PascalCoinWalletLazarus"/>
-    </Target>
-    <SearchPaths>
-      <IncludeFiles Value="$(ProjOutDir)"/>
-      <OtherUnitFiles Value="Synapse\lib;Units\Forms;Units\PascalCoin;Units\Utils;Units\SQLite3"/>
-      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
-    </SearchPaths>
-    <Parsing>
-      <SyntaxOptions>
-        <SyntaxMode Value="Delphi"/>
-      </SyntaxOptions>
-    </Parsing>
-    <CodeGeneration>
-      <Optimizations>
-        <OptimizationLevel Value="0"/>
-      </Optimizations>
-    </CodeGeneration>
-    <Linking>
-      <Options>
-        <Win32>
-          <GraphicApplication Value="True"/>
-        </Win32>
-      </Options>
-    </Linking>
-    <Other>
-      <Verbosity>
-        <ShowHintsForUnusedUnitsInMainSrc Value="True"/>
-        <ShowHintsForSenderNotUsed Value="True"/>
-      </Verbosity>
-      <CustomOptions Value="-vd
--dBorland
--dVer150
--dDelphi7
--dCompiler6_Up
--dPUREPASCAL"/>
-    </Other>
-  </CompilerOptions>
-  <Debugging>
-    <Exceptions Count="3">
-      <Item1>
-        <Name Value="EAbort"/>
-      </Item1>
-      <Item2>
-        <Name Value="ECodetoolError"/>
-      </Item2>
-      <Item3>
-        <Name Value="EFOpenError"/>
-      </Item3>
-    </Exceptions>
-  </Debugging>
-</CONFIG>

BIN
PascalCoinWalletLazarus.res → Resources/WalletImages/PascalCoin.ico


+ 0 - 302
Units/Forms/UFRMAbout.dfm

@@ -1,302 +0,0 @@
-object FRMAbout: TFRMAbout
-  Left = 0
-  Top = 0
-  ActiveControl = bbClose
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsDialog
-  Caption = 'About...'
-  ClientHeight = 415
-  ClientWidth = 522
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Image1: TImage
-    Left = 15
-    Top = 15
-    Width = 62
-    Height = 62
-    AutoSize = True
-    Picture.Data = {
-      0954506E67496D61676589504E470D0A1A0A0000000D494844520000003E0000
-      003E080600000073C1A8440000000473424954080808087C0864880000000970
-      48597300000B1200000B1201D2DD7EFC0000001C74455874536F667477617265
-      0041646F62652046697265776F726B7320435336E8BCB28C0000001674455874
-      4372656174696F6E2054696D650030362F30372F313610A27E9700000EDA4944
-      415478DACD9B095813D716804F4280A860E1A9A0A295A556AD0B88F6A9CF85A4
-      6E6D5DC08A05956A5050BFAA155EAD56AB125CD0BA22D65A5C58DCAAA012A5D5
-      F75C4AA2A2A8AD605D9E5A41A08A80A2AC822CC93B77320943329384B53DDF77
-      BE994C6692FBDF73EFB9E79E7B87A752A9A0B984C7E3F5C3C367A843511D506D
-      512D51F9B4AA68AD462D43CD45CD404D413D8165BBDF6C656B6A7084F5C2C322
-      54F7364241CEE01EF679A2BE9DCC5C9DDA594FF8673757AEE78ACA2A8B2FDE7D
-      F6F876E6CB925F7ECFA9C173C7AA6A652BFCEA1AEA0E2CE7B9BF1D38C2BE8B87
-      25A8939CECAD1FCE1ADDA37AE1F83EFDDE6A63D1B631BF9B915BFCF4C8C5F4C7
-      61F1A9EDCA2AAA49251C42DD8D65CEFE4BC111B8271E969BF179C3BD873A6786
-      CD78BFBB73C7B60E8DAE498E4AF05E7F3E2335E3C5DBF8F1206A2496FDCF1605
-      4760D257BF429DE733DCE556E4FCE1EE8DB56E032AC0053F8662F977B7083842
-      937E7AB47D5BE1EB6B5BBCEC9ACBC2C6E4DA83FC8713D7FCB72CBFA8FC117E9C
-      8F1CCF9B0D1CA1A760B35E279D36206F858FFBB0A68649CB2880C2B237E0686F
-      0D8E76D6D4B5CCFC12C8CC2B019B3696E0E6DC4EEF199F6FCFCBE32E6774C1D3
-      79C872A149C11158888725D6ADCCA79C5B33CE62500FBB778D3C411E621C19A2
-      52A26A46B1BA225A96088A3BCF2064EA00C0CAA5AE490FFF06A13FFE061E7D3A
-      817CFD04D67F4BBC9E756BD2BAB376354AD56AE4F9A129C137E1D034EE698C9F
-      03675F26803C335AC9399F055CA586D6C0AB6AE87325F5AD8D6F0C19D620E19B
-      31E035D891B332D88434FD512B7EAE29ADA88A3005DE203802932164AB95D07C
-      C49398E95D58A109209FC00AF0C8A7C1F9B4D2566705A75559435540614919D8
-      FA445377A56E9FAC6DD68EB30F43567E294407894032D2704323B14057FF43D9
-      25E555C7F16318B25536147C395ADA8FD3D27C735401AD66740530C0752DAE69
-      E25AF01A2DB83C3513C44B8FAB6F4B9C535B86096AA79D14361E447D3B1B3324
-      05DF4572E8095A7E23B2C5D61B9C38B2B6AD2D9665474D73D183A6AC8CD06602
-      063C0DCD8097AC8B87CCDC57750C5E7BA2A23FABCF9F3C2F86F49C42B06A650E
-      035C3A50D70AB1D9DF7A5C403D419A3A11D212886A9C1F9B90663F74C94901F6
-      F9395C0E8F151CA1BBA3F73E9BBCD1B352CF911168330B54731D8BD3AAB13836
-      7BDEE060A3166AA860080C419E7D399B3F717838DC91DA7145C652A3E0084DAC
-      7B7EC1F8DEAF77CC1DEAC10ECD04D785575B5C7EF31188E76D6B36708D74B3B3
-      02D937630D0D7585783A0D39CB8D814BEDDE6A3531EFE067FD75BE4058CB5A68
-      72A49A3B0B3C82C7245E01FF907DCD0EAE112E1F60EF772015839CEF90338A13
-      9C9E469E4DDFE35BAD179151C0960C8B6B2A80CDF26620DD9500A1BB8EB71838
-      FA21488B98ACD7F7497F1FBC5846203D90358F0B3C0E63EF0E47968C14D5799A
-      C0106801073C5F73ACB5B8482205C58DBB2D064EC4739023C8568CD1BBEEBEE8
-      C4258CED15C8BA520F1CA19DD1A15D2C383CD3BAAE17C7262EB0A4C12D6B2D2F
-      A0C1F9CC0AD0787933B01938158A4ACAD8AD63DD06DC7A3A82665C7F925700E9
-      7FE683556B4B18D0A32B5E57E2B542F4F22FEB0DFF78DF543DAB93898D4BE011
-      2C1CE5E8F274C1F7A1B59D59AD4D010B6BC105421DAB5BD4E9F38525E560EB3E
-      99B3701E83FA81FCE006E4AB06A8A982A0B0BDB0FDE019F014B9816C63205E7B
-      833EE22AF887C543D70E6D21E27331849FB8018ADB3946C1174DEC03E181FF62
-      B3FA65B4FA05E495EA821763DF2ED6EBDB4C68CD3905AFDB0A6AC1E5D7EF82D8
-      771167E142822420FDC28F06AF0491DFD7D82DEE41C83C2F90067C44814B2313
-      2134EA1C78B87603F9661F80EA0A08DA9504DB4FDD3608CE15D3D356E7236F67
-      2D38427FEA646F1D9CB177EAE03A7793E14BA08116D2A04206B04EF3A79B7C78
-      D409080E0DE72C5CF4D69520998C7D51594581DBF4FF04BBC56B48080F06AF11
-      7D2870D19C2DA0484D87108908A47E43287072DDD17F3F15C272097172854724
-      ACDF594D89FA5F5945F56C64BEAA01BFB2C66F608DDE54935890095EC7FA5C15
-      6001927FAF85D8B89F380B97747C3788B0B993665EF8AA006CDDBCA8EBA9F11B
-      C0AD7B478444C0F1CB202BF725447FFD094846F7C27B2BA8EBD20357A9D99A21
-      6186BC4C597BF4E6E595077FCD42663F124863C40125584B557AA1A906888216
-      D6B5BA80A302105CE43D1714577EE52E58FE1DCAD204449E7C5DDB2D5477E3B5
-      96E5B907A82B697B008ECF9DA86BE43BD9E5FB8053D00681D3CD9D4CBC3A10F0
-      81381139501A3FABA7DE9D4C6026AC990EB80E3CAF236732155CFBF48234B98C
-      067903E1BB0F60B78800D79E4E90766233755D9E9206E2C08D6A884B61D47D54
-      85A0122717BCE70AE7EF1B9AB713B198B437BBAA5AF90101DF32D2D561C0F9B5
-      E374C2535E2DA0B990012BD46F058C9690F9EC05380D18CBF9C79EE3C682ECC0
-      F76A186CBE412BBE85EDFB8E82E7A82120DBB184828B49B800FEABF642B78EB6
-      90796CA9169AA864D31988BDF080F3F76762EC1E8353582EC139BBE2C2ADA767
-      08F8953D0B47F003C6F41C54179CE9D85AB1589B5D65679361D2CC059C7F1CB2
-      EC4B902E594083A0139BE40F8A945408412F2FFDDC9BBA2EFDEE0884FE20038F
-      FEEF807C4780F65E72B499BC934A567089B1793BDDCF9F13F0CC532BC716EA25
-      FBB5E02CCDDCBC556D5F679EA34AB7EE85D04D3B39FF38E1C768F0FA48ACB5A0
-      4DF761E8D14B2161D72AF012BBAB2B636608287EBB0F21011F825442EE2D5777
-      8BF82B101CA90043C216C030859EB59911F0227406EC99953A0E8CADC9EBB708
-      AF598BE1E4995FB80B76E71A383AD851D0852F9F836D8F11D4F5D4C49DE8D11D
-      A8EB8EA3E743D6B302885E390D2463FB51D7D21E6441FFB9D106A1B94256A690
-      44858D6F4C05017F83E016FAB7F0580085463DBCDBE8E970EB2E771F54156523
-      4825D5BFE517AF80D85BED81557F9CD636675EDFA9D4B5A49DF341D4AF0BC814
-      6920592FC342BF3108656A96863761773101AF41703EEB1D7A7D9A0BBE7658E3
-      7519C4F9871E4307833CF1907A2843EF1DFE432C044BB7816B2F67483B194141
-      CBAFA68278F63AEAFEE8155321E6A71450A43D360A638AB519E095045C89E03C
-      D63B3471791DEBB2043334BCFCFA3D10FB2C30E9CF9B524832222DC21B6CDA58
-      98743F82D71806D74C5074C1758035814B8C2C09FC176F68516812A2CAC326B0
-      66608C815721B880FD0E1E7B88AA999D69A1D5E0D4301471E06F0D4D835711F0
-      72041772DE556726A681B7A803AC51D1CC55A0B87EDBF412344248B291F46943
-      439701F022029E8771BA907B85C48CB559D7998ED253529B21FED42CAB398558
-      3968625F83AB2A26803F25E0773080A936B45BA16EB3B6D09B869263615915D8
-      0E9BDB6CC0C4814946F6A052CAA63A3136A103186A7DE7F4BACFDEB75EFE697F
-      EED54F6D5AD992C5D202EA28BF9901E2391BB90BDEB9833A70A117121E653F83
-      A7F9AFA0BD8D15F4762663AF12725F14C383EC7C105A0860502F07ECBBEDB129
-      5B81A8B71DB839D9364905EE3B77FF5A40C4452A645D8593940FF42629BA4203
-      EAA79BD479B6F0B84B10BCF518E7E3D16BE78164E270EDF29168761886A50F20
-      24701C4803C6527373E9DE33101A755E9D75D9E24B073A95EA844513093D49F9
-      9980BB9B0BF8272A1302BA197D4A9B5165E6D6D5E0927571107BFA06E7A3497B
-      968068400FCAB2A054828D28088A4ACB21E1DB59E035AC179586122D8CC46025
-      1342660C05E9F44174A05369B458F511EB29D1F74A2BAABC0838F1E839E97B7C
-      5F9BB4BBA14E3A5993571780E88B282C7406E763AA1BDF6B170D0B8BCBC076D4
-      52EA7A6AF4227073B1A3ACEAE8B30DB2F28A20FACB31EA19564D15B0ADA33754
-      E838FD8D4AA5B2D3A49E4EAEF11BF80F937739305750CCD4B9749E780DE7EDAE
-      DD3B43DAFEC55A70F9CD3F40BC20525D218AD5EAA4232A6F6418752D698317F6
-      6BFB2685261216977AF99B0337F29179B206FCE33642C1E6D2F859BD4CFE15ED
-      AA8939643E2F0527BF48CE5B3D87BD07B2F57E5AF0F0B86408FEEE0CB8BAD843
-      DAEED9D452B11CE371F15771EACAE0481D35565C028FA464E416AF41E6D31A70
-      12B991E65E59AFCD3CF4A600594A164C5ACD9D5C0C99E981F36A0FD02C20643E
-      7B0599B985382C99ABA32EA57A6340DAA33CB5E3336186555FA1F36DA4EFF446
-      E6D7CCBCFAB2FECEED3FBEB9FD937A6FEA91FE7813420F73271713A493C06B68
-      77F507ED36107A6380767380B2C96199E2BBF182FCE8A5F464E45D41F132C049
-      EC978D562FABEF162EAFB567E1E4B54CCEEF1FC748C0D19E0E0C995B4140B311
-      A8798538B576D362F36B94AA919A5D91BA8B869BD0EA83EB6B75B72F8E6B772E
-      B0892A914474CD0FC825B4B5159AE5233670B262A748D9EC55657C4B57AD68F6
-      A9B089B1746F730BDDB7C98EE9BEC89ACB0A4EC3CFB07BAB5590DEC6000E91DF
-      CE01F1726EC7662CDDDBDC426F0CD8AEBB11880DBC351E623F1DE6DCFEE8D251
-      464B1C73E121F887CB39BFDF1630849A58FC15428FDBA5C8F891EE775C9B7FC8
-      8C80CCDA9E1B9CB541EDCE432E313501D8D44276420C5B7AAAB4BA463915191F
-      9A044EC30F31E3F36293377AAA0CF577CDCE432E797544D2A869644384B1D76D
-      19F29D62E533B2C1CFDB4A68BEFA49CC74CEAD9C9A6D986C6268C9B639A1BBFA
-      1FCA2A29AFDA8F1FB7215F4DBDC169F8D508EFCD064F36E0D9223897B4B44767
-      6CE9DC696C3FABA99B78E7B56D6D31F7ECEA8F5B339B3D014FCB78C1F91C73FB
-      754B4063F37E8ACD3B8E395E370A9C860FE4F37861B215639E1A73782D2DC491
-      8D0D395D82F0648D698FA1CDBB0D0127AB2D235137FB0C7779A9B749E82F9285
-      91C98A5DA7EFBD83E16820B29C31F5B986BC9AE18C879DD8EFDF3EBF769CA03E
-      115E530A89C8862C3E998FC109D9BEE5871C05F579BEC16F21D1EF97EDC2D8FE
-      D1B165A39C5AEADD14D297E7EEBC7413636F27FC48B29B0791A1B8DEE56FE4EB
-      5724D0218B658BB002EE61053837E7EB57CBF7DFF8E358728623366B92D58C68
-      F1D7AF582A80E48966A0CEC62EA05C36C5ADC077844BA35B01B1EE8E9FEEFC1E
-      75EE81E0715E0999D0EFA1819F35E6779B0C5CA712C812C77C54B185805F35BC
-      77A79CF7DEB685D16E0E36237A7772E20A84745FB14C799067575651DD11BF22
-      A9DBCD7FCB572C0D540249597F08EA976A891324413B19D8490C4BD25DE4CFC9
-      D04356FCC9AE3DE2A8D2519350FF839A83E56B96D4CCFF0184B915F49D084B6C
-      0000000049454E44AE426082}
-  end
-  object Label1: TLabel
-    Left = 90
-    Top = 15
-    Width = 382
-    Height = 25
-    Caption = 'Pascal Coin Wallet, Miner && Explorer'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -21
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblBuild: TLabel
-    Left = 15
-    Top = 356
-    Width = 30
-    Height = 13
-    Caption = 'Build:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblProtocolVersion: TLabel
-    Left = 15
-    Top = 375
-    Width = 50
-    Height = 13
-    Caption = 'Protocol:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label2: TLabel
-    Left = 90
-    Top = 320
-    Width = 65
-    Height = 13
-    Caption = 'Source Code:'
-  end
-  object Label3: TLabel
-    Left = 90
-    Top = 339
-    Width = 135
-    Height = 13
-    Caption = 'Check For New Versions:'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label4: TLabel
-    Left = 170
-    Top = 320
-    Width = 240
-    Height = 13
-    Cursor = crHandPoint
-    Caption = 'https://github.com/PascalCoin/PascalCoin'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlue
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    OnClick = Label4Click
-  end
-  object Label5: TLabel
-    Left = 237
-    Top = 339
-    Width = 253
-    Height = 13
-    Cursor = crHandPoint
-    Caption = 'https://sourceforge.net/projects/pascalcoin'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlue
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    OnClick = Label5Click
-  end
-  object Memo1: TMemo
-    Left = 90
-    Top = 46
-    Width = 401
-    Height = 275
-    BevelInner = bvNone
-    BevelOuter = bvNone
-    BorderStyle = bsNone
-    Ctl3D = False
-    Lines.Strings = (
-      'Copyright (c) 2016 Albert Molina'
-      ''
-      
-        'This software is a Node of the Pascal Coin P2P Cryptocurrency. A' +
-        ' Crypto currency '
-      
-        'without need of historical operations. It can be used to Mine an' +
-        'd Explore blocks '
-      'and operations.'
-      ''
-      
-        'Distributed under the MIT software license, see the accompanying' +
-        ' file LICENSE  or '
-      'visit http://www.opensource.org/licenses/mit-license.php.'
-      ''
-      
-        'THIS IS EXPERIMENTAL SOFTWARE. Use it for educational purposes o' +
-        'nly.'
-      ''
-      
-        'This product includes software developed by the OpenSSL Project ' +
-        'and Denis '
-      
-        'Grinyuk (https://github.com/Arvur/OpenSSL-Delphi), and some cryp' +
-        'tographic '
-      
-        'functions inspirated in code written by Ladar Levison and Marco ' +
-        'Ferrante. Original '
-      'source code is written in Pascal Language and is available at '
-      'https://github.com/PascalCoin/PascalCoin'
-      ''
-      'If you like it, consider a donation using BitCoin:'
-      '16K3HCZRhFUtM8GdWRcfKeaa6KsuyxZaYk')
-    ParentColor = True
-    ParentCtl3D = False
-    ReadOnly = True
-    TabOrder = 0
-  end
-  object bbClose: TBitBtn
-    Left = 380
-    Top = 358
-    Width = 111
-    Height = 31
-    Caption = 'Close'
-    DoubleBuffered = True
-    Kind = bkOK
-    ParentDoubleBuffered = False
-    TabOrder = 1
-  end
-end

+ 3 - 28
Units/Forms/UFRMAbout.pas

@@ -1,8 +1,6 @@
 unit UFRMAbout;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UFRMAbout;
 interface
 
 uses
-{$IFnDEF FPC}
-  pngimage, Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, StdCtrls, Buttons;
 
@@ -56,29 +50,14 @@ type
 implementation
 
 uses
-{$IFnDEF FPC}
-  ShellApi,
-{$ELSE}
-{$ENDIF}
   UFolderHelper, UConst, UNode;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 procedure TFRMAbout.FormCreate(Sender: TObject);
-{$IFnDEF FPC}
-Var fvi : TFileVersionInfo;
-{$ENDIF}
 begin
-  {$IFDEF FPC}
   lblBuild.Caption :=  'Build: '+CT_ClientAppVersion;
-  {$ELSE}
-  fvi := TFolderHelper.GetTFileVersionInfo(Application.ExeName);
-  lblBuild.Caption :=  'Build: '+fvi.FileVersion;
-  {$ENDIF}
   lblProtocolVersion.Caption := Format('BlockChain Protocol: %d (%d)  -  Net Protocol: %d (%d)',[TNode.Node.Bank.SafeBox.CurrentProtocol,CT_BlockChain_Protocol_Available,
     CT_NetProtocol_Version, CT_NetProtocol_Available]);
 end;
@@ -96,11 +75,7 @@ end;
 
 procedure TFRMAbout.OpenURL(Url: String);
 begin
-  {$IFDEF FPC}
   OpenDocument(pchar(URL))
-  {$ELSE}
-  shellexecute(0, 'open', pchar(URL), nil, nil, SW_SHOW)
-  {$ENDIF}
 end;
 
 end.

+ 1 - 1
Units/Forms/UFRMAccountInfo.dfm → Units/Forms/UFRMAccountInfo.lfm

@@ -98,4 +98,4 @@ object FRMAccountInfo: TFRMAccountInfo
     TabOrder = 0
     Text = 'ebPublicKey'
   end
-end
+end

+ 1 - 1
Units/Forms/UFRMAccountInfo.pas

@@ -24,6 +24,6 @@ type
 
 implementation
 
-{$R *.dfm}
+{$R *.lfm}
 
 end.

+ 0 - 262
Units/Forms/UFRMAccountSelect.dfm

@@ -1,262 +0,0 @@
-object FRMAccountSelect: TFRMAccountSelect
-  Left = 332
-  Top = 227
-  BorderIcons = [biSystemMenu, biMaximize]
-  Caption = 'Accounts'
-  ClientHeight = 322
-  ClientWidth = 657
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = True
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlAccountsTop: TPanel
-    Left = 451
-    Top = 0
-    Width = 206
-    Height = 282
-    Align = alRight
-    BevelOuter = bvNone
-    TabOrder = 0
-    ExplicitLeft = 331
-    object cbOnlyForSale: TCheckBox
-      Left = 10
-      Top = 65
-      Width = 81
-      Height = 19
-      Caption = 'Only for sale'
-      TabOrder = 2
-    end
-    object bbSearch: TBitBtn
-      Left = 50
-      Top = 236
-      Width = 91
-      Height = 36
-      Caption = 'Search'
-      DoubleBuffered = True
-      Glyph.Data = {
-        F6060000424DF606000000000000360000002800000018000000180000000100
-        180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFABA7A68C8888C09596FF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFACA8A786868A2A669A4B7BA0C09494FF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF9B9D9D5492C22E99FF1B7C
-        CB557A97C19595FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF3DADFF
-        57C1FF4DB1FF3196FA197CC9537997C19495FF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FF41ABFF5DBFFE4DAFFF3196FA197BC85A7A97C29594FF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF42ABFE5CC0FE4DAFFF3096FA19
-        7AC8587A96C19494FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF42AC
-        FE5CC0FE4DAFFF2E94FA187AC75F7C97BB9396FF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FF44ADFE5CBFFE4DB0FF2D94F81979C6437397FF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF46AEFE5CBFFE4CB0FF3F97ED
-        577B94FF00FFFF00FFFF00FFAE837EAE837EAE837EAE837EAE837EFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF46
-        AFFE66C5FFA3CCF1BEB3AB867170A9807AAE837EE5D8BDFFFFE2FFFFE2FFFFE0
-        EEDFC6AE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFDCBFB8C69E8ED8BDA3FFFFDDFFFFDDFF
-        FFDBFFFFDAFFFFDBFFFFDDFFFFE9DEC9B7AE837EFF00FFFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE857FDEC0A5FFF3
-        C1FCF1C8FFFFDAFFFFD9FFFFDAFFFFE0FFFFE4FFFFEFFFFFFFDDCAC8AE837EFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        AE837EFFEFB9F5D4A5FBF0C6FFFFDBFFFFDAFFFFDDFFFFEBFFFFF5FFFFFBFFFF
-        FDFFFFFEAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFAE837EECD5B4F8D6A2F2C997FCEDC4FFFFDBFFFFDAFFFFE0FFFFF0
-        FFFFFEFFFFFDFFFFF5FFFFEBE1D3B8AE837EFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFAE837EFFF3BFF4CB95F0C18EF9E5BAFEFDD7FF
-        FFDCFFFFDFFFFFECFFFFF8FFFFF8FFFFECFFFFE0FFFFE3AE837EFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EFFF4C0F3C994EEB8
-        84F5D5A5FDF3CBFFFFDCFFFFDDFFFFE2FFFFE8FFFFE9FFFFE2FFFFDDFFFFE3AE
-        837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837E
-        FFF5C3F6D19CEEB27DF1C593F7E0B3FDF7D0FFFFDCFFFFDDFFFFDDFFFFDDFFFF
-        DBFFFFDAFFFFE1AE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFAE837EECD5B4FDE6B2F3C996F2C792F3D09CF8E3B5FCF5CDFFFFDA
-        FFFFDCFFFFDBFFFFDBFFFFDCE2D3B8AE837EFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EFFFED0FCF0D6F8E0BEF4CF9DF3
-        CD9AF6D8AAFBEABFFDF4CBFCF7CFFEF8D1FFFFDEAE837EFF00FFFF00FFFF00FF
-        FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EE0CAB2FFFF
-        FFFEF9F2F8E1BEF1C48DEEBA85F1C491F4D1A1F8DEB0FFF7C6DDC7AEAE837EFF
-        00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-        FF00FFAE837ED9C6C0FFFFFFFFF7D7F8DAA6F4CB95F5CD99F9D9A6FFF1BBDEC2
-        A9AE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-        00FFFF00FFFF00FFFF00FFFF00FFAE837EAE837EE8D5B4FFF9C5FFF5C0FFF5C2
-        EED8B7AE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-        FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFAE837EAE
-        837EAE837EAE837EAE837EFF00FFFF00FFFF00FFFF00FFFF00FF}
-      ParentDoubleBuffered = False
-      TabOrder = 10
-      OnClick = bbSearchClick
-    end
-    object cbOnlyForPrivateSaleToMe: TCheckBox
-      Left = 10
-      Top = 111
-      Width = 148
-      Height = 19
-      Caption = 'Only for private sale to me'
-      TabOrder = 4
-    end
-    object cbAccountsBalance: TCheckBox
-      Left = 10
-      Top = 134
-      Width = 104
-      Height = 19
-      Caption = 'Accounts Balance'
-      TabOrder = 5
-    end
-    object cbMyAccounts: TCheckBox
-      Left = 10
-      Top = 10
-      Width = 81
-      Height = 19
-      Caption = 'My Accounts'
-      TabOrder = 0
-      OnClick = cbMyAccountsClick
-    end
-    object cbMyPrivateKeys: TComboBox
-      Left = 10
-      Top = 35
-      Width = 176
-      Height = 21
-      Style = csDropDownList
-      TabOrder = 1
-      OnChange = cbMyPrivateKeysChange
-    end
-    object cbOnlyForPublicSale: TCheckBox
-      Left = 10
-      Top = 88
-      Width = 111
-      Height = 19
-      Caption = 'Only for public sale'
-      TabOrder = 3
-    end
-    object ebMinBalance: TEdit
-      Left = 16
-      Top = 160
-      Width = 73
-      Height = 21
-      TabOrder = 6
-      OnExit = ebMinBalanceExit
-    end
-    object ebMaxBalance: TEdit
-      Left = 103
-      Top = 160
-      Width = 73
-      Height = 21
-      TabOrder = 7
-      OnExit = ebMaxBalanceExit
-    end
-    object cbAccountsName: TCheckBox
-      Left = 10
-      Top = 186
-      Width = 93
-      Height = 19
-      Caption = 'Accounts name'
-      TabOrder = 8
-    end
-    object ebAccountName: TEdit
-      Left = 18
-      Top = 209
-      Width = 158
-      Height = 21
-      TabOrder = 9
-    end
-  end
-  object pnlBottom: TPanel
-    Left = 0
-    Top = 282
-    Width = 657
-    Height = 40
-    Align = alBottom
-    BevelOuter = bvNone
-    TabOrder = 1
-    ExplicitWidth = 537
-    DesignSize = (
-      657
-      40)
-    object Label17: TLabel
-      Left = 5
-      Top = 10
-      Width = 48
-      Height = 13
-      Caption = 'Accounts:'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object lblAccountsCount: TLabel
-      Left = 60
-      Top = 10
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object Label19: TLabel
-      Left = 136
-      Top = 10
-      Width = 41
-      Height = 13
-      Caption = 'Balance:'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object lblAccountsBalance: TLabel
-      Left = 200
-      Top = 10
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Color = clBtnFace
-      ParentColor = False
-    end
-    object bbSelect: TBitBtn
-      Left = 450
-      Top = 5
-      Width = 95
-      Height = 30
-      Anchors = [akTop, akRight]
-      Caption = 'Select'
-      DoubleBuffered = True
-      Kind = bkOK
-      ParentDoubleBuffered = False
-      TabOrder = 0
-      ExplicitLeft = 330
-    end
-    object bbCancel: TBitBtn
-      Left = 554
-      Top = 5
-      Width = 95
-      Height = 30
-      Anchors = [akTop, akRight]
-      DoubleBuffered = True
-      Kind = bkCancel
-      ParentDoubleBuffered = False
-      TabOrder = 1
-      ExplicitLeft = 434
-    end
-  end
-  object dgAccounts: TDrawGrid
-    Left = 0
-    Top = 0
-    Width = 451
-    Height = 282
-    Align = alClient
-    TabOrder = 2
-    ExplicitWidth = 331
-  end
-end

+ 1 - 11
Units/Forms/UFRMAccountSelect.pas

@@ -1,8 +1,6 @@
 unit UFRMAccountSelect;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UFRMAccountSelect;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, UAccounts, Grids, StdCtrls, Buttons, ExtCtrls, UWalletKeys, UNode,
   UGridUtils, UConst, UThread;
@@ -131,11 +125,7 @@ type
 
 implementation
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
   {$R *.lfm}
-{$ENDIF}
 
 Uses strutils;
 

+ 1 - 4
Units/Forms/UFRMLogs.pas

@@ -5,11 +5,7 @@ unit UFRMLogs;
 interface
 
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
     LCLIntf,
-  {$ENDIF}
     SysUtils, Classes, Graphics, Controls, Forms,
     Dialogs, ExtCtrls,  StdCtrls,
     ULog, UBlockChain;
@@ -35,6 +31,7 @@ var
 
 implementation
 uses  UUserInterface;
+
 {$R *.lfm}
 
 { TFRMLogs }

+ 0 - 66
Units/Forms/UFRMMemoText.dfm

@@ -1,66 +0,0 @@
-object FRMMemoText: TFRMMemoText
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  Caption = 'Information'
-  ClientHeight = 428
-  ClientWidth = 745
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlBottom: TPanel
-    Left = 0
-    Top = 373
-    Width = 745
-    Height = 55
-    Align = alBottom
-    BevelOuter = bvNone
-    TabOrder = 0
-    ExplicitTop = 245
-    ExplicitWidth = 619
-    DesignSize = (
-      745
-      55)
-    object bbCancel: TBitBtn
-      Left = 620
-      Top = 14
-      Width = 116
-      Height = 31
-      Anchors = [akTop, akRight]
-      DoubleBuffered = True
-      Kind = bkCancel
-      ParentDoubleBuffered = False
-      TabOrder = 0
-      ExplicitLeft = 494
-    end
-  end
-  object Memo: TMemo
-    Left = 0
-    Top = 0
-    Width = 745
-    Height = 373
-    Align = alClient
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    Lines.Strings = (
-      'Memo')
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssBoth
-    TabOrder = 1
-    WordWrap = False
-    ExplicitWidth = 619
-    ExplicitHeight = 245
-  end
-end

+ 2 - 9
Units/Forms/UFRMMemoText.pas

@@ -3,11 +3,7 @@ unit UFRMMemoText;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ExtCtrls;
 
@@ -26,11 +22,8 @@ type
 
 implementation
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 procedure TFRMMemoText.FormCreate(Sender: TObject);
 begin

+ 1 - 5
Units/Forms/UFRMMessages.pas

@@ -5,11 +5,7 @@ unit UFRMMessages;
 interface
 
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
-    LCLIntf, LCLType,
-  {$ENDIF}
+  LCLIntf, LCLType,
   SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Menus,
   UNode, UNetProtocol, UCrypto, UFRMWallet,UConst;

+ 0 - 86
Units/Forms/UFRMNewPrivateKeyType.dfm

@@ -1,86 +0,0 @@
-object FRMNewPrivateKeyType: TFRMNewPrivateKeyType
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsDialog
-  Caption = 'New Private Key'
-  ClientHeight = 229
-  ClientWidth = 311
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 25
-    Width = 27
-    Height = 13
-    Caption = 'Name'
-  end
-  object ebName: TEdit
-    Left = 70
-    Top = 22
-    Width = 206
-    Height = 21
-    TabOrder = 0
-    Text = 'ebName'
-  end
-  object rgKeyType: TRadioGroup
-    Left = 30
-    Top = 60
-    Width = 246
-    Height = 105
-    Caption = ' Key Type: '
-    Items.Strings = (
-      'asdf')
-    TabOrder = 1
-  end
-  object bbOk: TBitBtn
-    Left = 112
-    Top = 181
-    Width = 75
-    Height = 25
-    Caption = 'OK'
-    Default = True
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 201
-    Top = 181
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-end

+ 2 - 12
Units/Forms/UFRMNewPrivateKeyType.pas

@@ -1,8 +1,6 @@
 unit UFRMNewPrivateKeyType;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UFRMNewPrivateKeyType;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ExtCtrls, UWalletKeys,UCrypto;
 
@@ -55,11 +49,7 @@ implementation
 uses
   UAccounts, UConst ;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 procedure TFRMNewPrivateKeyType.bbOkClick(Sender: TObject);
 begin

+ 1 - 5
Units/Forms/UFRMNodes.pas

@@ -5,11 +5,7 @@ unit UFRMNodes;
 interface
 
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
-    LCLIntf, LCLType,
-  {$ENDIF}
+  LCLIntf, LCLType,
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, StdCtrls,
   ULog,  UBlockChain, UNode, Menus,  UNetProtocol,  UFRMWallet;

+ 0 - 86
Units/Forms/UFRMNodesIp.dfm

@@ -1,86 +0,0 @@
-object FRMNodesIp: TFRMNodesIp
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Nodes IP'
-  ClientHeight = 367
-  ClientWidth = 334
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 25
-    Width = 143
-    Height = 13
-    Caption = 'Available Nodes Ip to connect'
-  end
-  object memoNodesIp: TMemo
-    Left = 30
-    Top = 45
-    Width = 276
-    Height = 226
-    Lines.Strings = (
-      'memoNodesIp')
-    ScrollBars = ssBoth
-    TabOrder = 0
-  end
-  object bbOk: TBitBtn
-    Left = 138
-    Top = 317
-    Width = 75
-    Height = 25
-    Caption = 'OK'
-    Default = True
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 1
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 231
-    Top = 317
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 2
-  end
-  object cbTryOnlyWithThisServers: TCheckBox
-    Left = 35
-    Top = 285
-    Width = 271
-    Height = 17
-    Caption = 'Try to connect ONLY with this servers'
-    TabOrder = 3
-    OnClick = cbTryOnlyWithThisServersClick
-  end
-end

+ 3 - 12
Units/Forms/UFRMNodesIp.pas

@@ -1,17 +1,11 @@
 unit UFRMNodesIp;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$MODE Delphi}
 
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, UAppParams;
 
@@ -40,11 +34,8 @@ implementation
 uses
   UNetProtocol, UNode, UConst;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
+
 
 { TFRMNodesIp }
 

+ 0 - 1068
Units/Forms/UFRMOperation.dfm

@@ -1,1068 +0,0 @@
-object FRMOperation: TFRMOperation
-  Left = 498
-  Top = 222
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'New Operation'
-  ClientHeight = 493
-  ClientWidth = 608
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = True
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblAccountCaption: TLabel
-    Left = 25
-    Top = 20
-    Width = 43
-    Height = 13
-    Caption = 'Account:'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object lblAccountBalance: TLabel
-    Left = 432
-    Top = 15
-    Width = 149
-    Height = 19
-    Caption = 'lblAccountBalance'
-    Color = clBtnFace
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGreen
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentColor = False
-    ParentFont = False
-  end
-  object lblBalanceCaption: TLabel
-    Left = 387
-    Top = 20
-    Width = 41
-    Height = 13
-    Caption = 'Balance:'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object lblAccountsCount: TLabel
-    Left = 387
-    Top = 58
-    Width = 18
-    Height = 13
-    Caption = 'XXX'
-    Color = clBtnFace
-    ParentColor = False
-  end
-  object bbExecute: TBitBtn
-    Left = 300
-    Top = 445
-    Width = 130
-    Height = 31
-    Caption = 'Execute (F12)'
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = actExecuteExecute
-  end
-  object bbCancel: TBitBtn
-    Left = 465
-    Top = 445
-    Width = 116
-    Height = 31
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-  object PageControlLocked: TPageControl
-    Left = 25
-    Top = 72
-    Width = 556
-    Height = 351
-    ActivePage = tsOperation
-    TabOrder = 1
-    object tsOperation: TTabSheet
-      TabVisible = False
-      object lblFee: TLabel
-        Left = 15
-        Top = 188
-        Width = 69
-        Height = 13
-        Caption = 'Operation Fee'
-        Color = clBtnFace
-        ParentColor = False
-      end
-      object lblSignerAccount: TLabel
-        Left = 176
-        Top = 188
-        Width = 131
-        Height = 13
-        Caption = 'Signer account (Fee payer)'
-        Color = clBtnFace
-        ParentColor = False
-      end
-      object sbSearchSignerAccount: TSpeedButton
-        Left = 411
-        Top = 184
-        Width = 23
-        Height = 22
-        Glyph.Data = {
-          36030000424D3603000000000000360000002800000010000000100000000100
-          18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-          BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-          00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-          2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-          00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-          51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-          FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-          00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-          FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-          B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-          EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-          FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-          C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-          FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-          E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-          C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-          C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-          DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-          FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-          86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-          00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-        OnClick = sbSearchSignerAccountClick
-      end
-      object gbPayload: TGroupBox
-        Left = 13
-        Top = 211
-        Width = 521
-        Height = 119
-        Caption = ' Payload: '
-        TabOrder = 2
-        object lblEncryptPassword: TLabel
-          Left = 38
-          Top = 76
-          Width = 50
-          Height = 13
-          Caption = 'Password:'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object Label4: TLabel
-          Left = 255
-          Top = 15
-          Width = 67
-          Height = 13
-          Caption = 'Payload data:'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object lblEncryptionErrors: TLabel
-          Left = 255
-          Top = 96
-          Width = 246
-          Height = 13
-          AutoSize = False
-          Caption = 'Errors detected'
-          Color = clBtnFace
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clRed
-          Font.Height = -11
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentColor = False
-          ParentFont = False
-        end
-        object lblPayloadLength: TLabel
-          Left = 483
-          Top = 15
-          Width = 18
-          Height = 13
-          Alignment = taRightJustify
-          Caption = '000'
-          Color = clBtnFace
-          ParentColor = False
-        end
-        object rbEncryptedWithEC: TRadioButton
-          Left = 15
-          Top = 35
-          Width = 207
-          Height = 19
-          Caption = 'Encrypted with dest account public key'
-          Checked = True
-          TabOrder = 1
-          TabStop = True
-          OnClick = memoPayloadClick
-        end
-        object rbEncrptedWithPassword: TRadioButton
-          Left = 15
-          Top = 53
-          Width = 141
-          Height = 19
-          Caption = 'Encrypted with password'
-          TabOrder = 2
-          OnClick = memoPayloadClick
-        end
-        object rbNotEncrypted: TRadioButton
-          Left = 15
-          Top = 93
-          Width = 162
-          Height = 19
-          Caption = 'Dont encrypt (Public payload)'
-          TabOrder = 4
-          OnClick = memoPayloadClick
-        end
-        object ebEncryptPassword: TEdit
-          Left = 94
-          Top = 73
-          Width = 122
-          Height = 21
-          TabOrder = 3
-          OnChange = ebEncryptPasswordChange
-          OnClick = memoPayloadClick
-        end
-        object memoPayload: TMemo
-          Left = 255
-          Top = 37
-          Width = 246
-          Height = 57
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clBlack
-          Font.Height = -16
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentFont = False
-          TabOrder = 5
-          WantReturns = False
-          OnChange = memoPayloadClick
-          OnClick = memoPayloadClick
-        end
-        object rbEncryptedWithOldEC: TRadioButton
-          Left = 15
-          Top = 16
-          Width = 159
-          Height = 19
-          Caption = 'Encrypted with old public key'
-          TabOrder = 0
-          OnClick = memoPayloadClick
-        end
-      end
-      object ebFee: TEdit
-        Left = 90
-        Top = 184
-        Width = 70
-        Height = 21
-        TabOrder = 1
-      end
-      object PageControlOpType: TPageControl
-        Left = 13
-        Top = 11
-        Width = 521
-        Height = 167
-        ActivePage = tsChangeInfo
-        TabOrder = 0
-        OnChange = PageControlOpTypeChange
-        object tsTransaction: TTabSheet
-          Caption = 'Transaction'
-          object lblDestAccount: TLabel
-            Left = 13
-            Top = 32
-            Width = 95
-            Height = 13
-            Caption = 'Destination account'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblAmount: TLabel
-            Left = 72
-            Top = 61
-            Width = 37
-            Height = 13
-            Caption = 'Amount'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblTransactionErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object sbSearchDestinationAccount: TSpeedButton
-            Left = 208
-            Top = 29
-            Width = 23
-            Height = 22
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-              BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-              2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-              00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-              B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-              EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-              FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-              C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-              FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-              E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-              C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-              C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-              DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-              86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-            OnClick = sbSearchDestinationAccountClick
-          end
-          object ebDestAccount: TEdit
-            Left = 115
-            Top = 29
-            Width = 87
-            Height = 21
-            TabOrder = 0
-          end
-          object ebAmount: TEdit
-            Left = 115
-            Top = 58
-            Width = 87
-            Height = 21
-            TabOrder = 1
-          end
-        end
-        object tsChangePrivateKey: TTabSheet
-          Caption = 'Change key'
-          ImageIndex = 1
-          object gbChangeKey: TGroupBox
-            Left = 7
-            Top = 6
-            Width = 488
-            Height = 118
-            Caption = ' Change type: '
-            TabOrder = 0
-            object lblNewPrivateKey: TLabel
-              Left = 57
-              Top = 40
-              Width = 78
-              Height = 13
-              Caption = 'New private key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblNewOwnerPublicKey: TLabel
-              Left = 24
-              Top = 90
-              Width = 109
-              Height = 13
-              Caption = 'New owners public key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblNewOwnerErrors: TLabel
-              Left = 173
-              Top = 68
-              Width = 302
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object lblChangeKeyErrors: TLabel
-              Left = 145
-              Top = 15
-              Width = 331
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object rbChangeKeyWithAnother: TRadioButton
-              Left = 12
-              Top = 20
-              Width = 114
-              Height = 19
-              Caption = 'Change private key'
-              TabOrder = 0
-            end
-            object cbNewPrivateKey: TComboBox
-              Left = 145
-              Top = 37
-              Width = 294
-              Height = 21
-              Style = csDropDownList
-              Sorted = True
-              TabOrder = 1
-            end
-            object ebNewPublicKey: TEdit
-              Left = 144
-              Top = 87
-              Width = 331
-              Height = 21
-              TabOrder = 4
-            end
-            object bbChangePrivateKeyKeys: TBitBtn
-              Left = 445
-              Top = 36
-              Width = 31
-              Height = 22
-              DoubleBuffered = True
-              Glyph.Data = {
-                36050000424D3605000000000000360400002800000010000000100000000100
-                0800000000000001000000000000000000000001000000010000FF00FF008C6B
-                6C0087707000AE877C000D7FA9006F7C88006D7C94001F7ECE000E80AA001180
-                A7001081AB00048CB900078DBC000B8DBA000C8DBA00088EBC001285B0007882
-                95006092BD005EA8BE000A91C1000F9DCE002087DE0011A7D10030BCDC001F89
-                E00059A9DC0044BADD004ABFE00057AEF4004DB1F90049B2FF004EB7FF0057B1
-                F60050B6FE0022D7FC0024D7FF0024D8FD0039D7FB0035D8FD004BC6DC0046C6
-                E40048D5EE0075D3E90058E9FD006FE6FF0070E6FF0071F9FE007BFFFF008683
-                88008B8697008F989B00969594009C919000AD858000AD868500AB939500A49E
-                9900B1979400B5A09F008AA5AD00CAA08C00CDAC9300C2A69A00F3BE8000C6AE
-                A000CFB7A100D3BBA200F4C88E00F5CB9A00F5D09C00F8D09800DAC5B700E4CC
-                A900EFD2A900ECD1AC00F6DAAB00F5DEB500F5E1B600F9E1B100FEEAB900FFF2
-                BA00A1C6C8008DE6FA0081F8FE008CFAFD008DFCFE0097FCFD009BFBFD00B8ED
-                F600A7FFFF00AAFFFE00ADFFFE00B6F6FF00B1FCFD00B4FFFF00ECDDCC00E8DD
-                D600FFF7C600FCF5CD00FCF7D100FAF6D600FFFBD500FEFED600F7F2D900FEFF
-                D900FFFEDD00C6F5FF00C6FEFF00D2FFFF00FEF7E000FBFCE100FDFFE100FFFF
-                E400E3FEFF00F9F6F200FFFFF400F1FBFC00F5FFFE00FBFFFF00000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                0000000000000000000000000000000000000000000000000000000000000000
-                00000000000000000605000004080408080A000000000011191A000B2A23272D
-                531B080000001116201D0B552C23272E531C1509003207201D000F552C23272B
-                3A3F41030112202000000F552C252938606771684236200000000B5F5D6B3B61
-                74676A67513D000000000B59181735716A676A63474B360000000F282C23396A
-                6A6A6A4C404D360000000B552C2534656A654F455049360000000B552C251343
-                6247446E7336000000000B552C25263C3E4B4E483636000000000F55542F3057
-                523331020000000000000B77766D5F5C5C5C2F08000000000000001476726C5C
-                5A58100000000000000000000F0F0B0F0F0F0000000000000000}
-              ParentDoubleBuffered = False
-              TabOrder = 2
-              OnClick = bbChangePrivateKeyKeysClick
-            end
-            object rbChangeKeyTransferAccountToNewOwner: TRadioButton
-              Left = 12
-              Top = 67
-              Width = 180
-              Height = 19
-              Caption = 'Transfer account to a new owner'
-              TabOrder = 3
-            end
-          end
-        end
-        object tsListForSale: TTabSheet
-          Caption = 'List account for sale'
-          ImageIndex = 3
-          object gbSaleType: TGroupBox
-            Left = 7
-            Top = 5
-            Width = 499
-            Height = 131
-            Caption = ' Sale type: '
-            TabOrder = 0
-            object Label1: TLabel
-              Left = 81
-              Top = 62
-              Width = 50
-              Height = 13
-              Caption = 'Sale price:'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object Label3: TLabel
-              Left = 229
-              Top = 62
-              Width = 142
-              Height = 13
-              Caption = 'Seller account (where to pay)'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblSaleNewOwnerPublicKey: TLabel
-              Left = 20
-              Top = 85
-              Width = 109
-              Height = 13
-              Caption = 'New owners public key'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblSaleLockedUntilBlock: TLabel
-              Left = 44
-              Top = 109
-              Width = 87
-              Height = 13
-              Caption = 'Locked until block:'
-              Color = clBtnFace
-              ParentColor = False
-            end
-            object lblListAccountErrors: TLabel
-              Left = 145
-              Top = 15
-              Width = 331
-              Height = 13
-              Alignment = taRightJustify
-              AutoSize = False
-              Caption = 'Errors detected'
-              Color = clBtnFace
-              Font.Charset = DEFAULT_CHARSET
-              Font.Color = clRed
-              Font.Height = -11
-              Font.Name = 'Tahoma'
-              Font.Style = []
-              ParentColor = False
-              ParentFont = False
-            end
-            object sbSearchListerSellerAccount: TSpeedButton
-              Left = 467
-              Top = 59
-              Width = 23
-              Height = 22
-              Glyph.Data = {
-                36030000424D3603000000000000360000002800000010000000100000000100
-                18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-                BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-                00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-                2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-                00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-                51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-                FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-                00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-                FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-                B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-                EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-                FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-                C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-                FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-                E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-                C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-                C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-                DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-                FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-                86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-                00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-              OnClick = sbSearchListerSellerAccountClick
-            end
-            object rbListAccountForPublicSale: TRadioButton
-              Left = 10
-              Top = 20
-              Width = 141
-              Height = 17
-              Caption = 'List account for public sale'
-              TabOrder = 0
-            end
-            object rbListAccountForPrivateSale: TRadioButton
-              Left = 10
-              Top = 40
-              Width = 174
-              Height = 17
-              Caption = 'List account for private sale'
-              TabOrder = 1
-            end
-            object ebSalePrice: TEdit
-              Left = 137
-              Top = 59
-              Width = 86
-              Height = 21
-              TabOrder = 2
-            end
-            object ebSellerAccount: TEdit
-              Left = 378
-              Top = 59
-              Width = 83
-              Height = 21
-              TabOrder = 3
-            end
-            object ebSaleNewOwnerPublicKey: TEdit
-              Left = 137
-              Top = 82
-              Width = 324
-              Height = 21
-              TabOrder = 4
-            end
-            object ebSaleLockedUntilBlock: TEdit
-              Left = 137
-              Top = 106
-              Width = 86
-              Height = 21
-              TabOrder = 5
-            end
-          end
-        end
-        object tsDelist: TTabSheet
-          Caption = 'Delist account'
-          ImageIndex = 3
-          object lblDelistErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-        end
-        object tsBuyAccount: TTabSheet
-          Caption = 'Buy account'
-          ImageIndex = 4
-          object lblAccountToBuy: TLabel
-            Left = 13
-            Top = 32
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Account to Buy'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblBuyAmount: TLabel
-            Left = 13
-            Top = 61
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Amount'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblBuyAccountErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object lblBuyNewKey: TLabel
-            Left = 13
-            Top = 88
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'New private key'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object Label2: TLabel
-            Left = 204
-            Top = 61
-            Width = 231
-            Height = 13
-            Caption = 'excessive amount will remain on bought account'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clGray
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object sbSearchBuyAccount: TSpeedButton
-            Left = 200
-            Top = 29
-            Width = 23
-            Height = 22
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-              BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-              2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-              00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-              B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-              EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-              FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-              C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-              FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-              E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-              C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-              C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-              DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-              86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-            OnClick = sbSearchBuyAccountClick
-          end
-          object ebAccountToBuy: TEdit
-            Left = 118
-            Top = 29
-            Width = 76
-            Height = 21
-            TabOrder = 0
-          end
-          object ebBuyAmount: TEdit
-            Left = 118
-            Top = 58
-            Width = 76
-            Height = 21
-            TabOrder = 1
-          end
-          object cbBuyNewKey: TComboBox
-            Left = 118
-            Top = 85
-            Width = 294
-            Height = 21
-            Style = csDropDownList
-            Sorted = True
-            TabOrder = 2
-          end
-          object bbBuyNewKey: TBitBtn
-            Left = 418
-            Top = 84
-            Width = 31
-            Height = 22
-            DoubleBuffered = True
-            Glyph.Data = {
-              36050000424D3605000000000000360400002800000010000000100000000100
-              0800000000000001000000000000000000000001000000010000FF00FF008C6B
-              6C0087707000AE877C000D7FA9006F7C88006D7C94001F7ECE000E80AA001180
-              A7001081AB00048CB900078DBC000B8DBA000C8DBA00088EBC001285B0007882
-              95006092BD005EA8BE000A91C1000F9DCE002087DE0011A7D10030BCDC001F89
-              E00059A9DC0044BADD004ABFE00057AEF4004DB1F90049B2FF004EB7FF0057B1
-              F60050B6FE0022D7FC0024D7FF0024D8FD0039D7FB0035D8FD004BC6DC0046C6
-              E40048D5EE0075D3E90058E9FD006FE6FF0070E6FF0071F9FE007BFFFF008683
-              88008B8697008F989B00969594009C919000AD858000AD868500AB939500A49E
-              9900B1979400B5A09F008AA5AD00CAA08C00CDAC9300C2A69A00F3BE8000C6AE
-              A000CFB7A100D3BBA200F4C88E00F5CB9A00F5D09C00F8D09800DAC5B700E4CC
-              A900EFD2A900ECD1AC00F6DAAB00F5DEB500F5E1B600F9E1B100FEEAB900FFF2
-              BA00A1C6C8008DE6FA0081F8FE008CFAFD008DFCFE0097FCFD009BFBFD00B8ED
-              F600A7FFFF00AAFFFE00ADFFFE00B6F6FF00B1FCFD00B4FFFF00ECDDCC00E8DD
-              D600FFF7C600FCF5CD00FCF7D100FAF6D600FFFBD500FEFED600F7F2D900FEFF
-              D900FFFEDD00C6F5FF00C6FEFF00D2FFFF00FEF7E000FBFCE100FDFFE100FFFF
-              E400E3FEFF00F9F6F200FFFFF400F1FBFC00F5FFFE00FBFFFF00000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              0000000000000000000000000000000000000000000000000000000000000000
-              00000000000000000605000004080408080A000000000011191A000B2A23272D
-              531B080000001116201D0B552C23272E531C1509003207201D000F552C23272B
-              3A3F41030112202000000F552C252938606771684236200000000B5F5D6B3B61
-              74676A67513D000000000B59181735716A676A63474B360000000F282C23396A
-              6A6A6A4C404D360000000B552C2534656A654F455049360000000B552C251343
-              6247446E7336000000000B552C25263C3E4B4E483636000000000F55542F3057
-              523331020000000000000B77766D5F5C5C5C2F08000000000000001476726C5C
-              5A58100000000000000000000F0F0B0F0F0F0000000000000000}
-            ParentDoubleBuffered = False
-            TabOrder = 3
-            OnClick = bbBuyNewKeyClick
-          end
-        end
-        object tsChangeInfo: TTabSheet
-          Caption = 'Change Info'
-          object lblChangeInfoErrors: TLabel
-            Left = 13
-            Top = 10
-            Width = 331
-            Height = 13
-            AutoSize = False
-            Caption = 'Errors detected'
-            Color = clBtnFace
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clRed
-            Font.Height = -11
-            Font.Name = 'Tahoma'
-            Font.Style = []
-            ParentColor = False
-            ParentFont = False
-          end
-          object lblChangeName: TLabel
-            Left = 13
-            Top = 32
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Change name'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object lblChangeType: TLabel
-            Left = 13
-            Top = 60
-            Width = 100
-            Height = 13
-            Alignment = taRightJustify
-            AutoSize = False
-            Caption = 'Change type'
-            Color = clBtnFace
-            ParentColor = False
-          end
-          object ebChangeName: TEdit
-            Left = 118
-            Top = 29
-            Width = 258
-            Height = 21
-            TabOrder = 0
-          end
-          object ebChangeType: TEdit
-            Left = 118
-            Top = 57
-            Width = 76
-            Height = 21
-            TabOrder = 1
-          end
-        end
-      end
-      object ebSignerAccount: TEdit
-        Left = 325
-        Top = 184
-        Width = 82
-        Height = 21
-        TabOrder = 3
-      end
-    end
-    object tsGlobalError: TTabSheet
-      ImageIndex = 1
-      TabVisible = False
-      object lblGlobalErrors: TLabel
-        Left = 40
-        Top = 50
-        Width = 456
-        Height = 156
-        Alignment = taCenter
-        AutoSize = False
-        Caption = '????'
-        Color = clBtnFace
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clRed
-        Font.Height = -21
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        ParentColor = False
-        ParentFont = False
-        WordWrap = True
-      end
-      object bbPassword: TBitBtn
-        Left = 191
-        Top = 243
-        Width = 159
-        Height = 38
-        Caption = 'Password'
-        DoubleBuffered = True
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clWindowText
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Glyph.Data = {
-          76060000424D7606000000000000360400002800000018000000180000000100
-          0800000000004002000000000000000000000001000000010000000000000101
-          0100020202000303030004040400050505000606060007070700080808000909
-          09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-          1100121212001313130014141400151515001616160017171700181818001919
-          19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-          2100222222002323230024242400252525002626260027272700282828002929
-          29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-          3100323232003333330034343400353535003636360037373700383838003939
-          39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-          4100424242004343430044444400454545004646460047474700484848004949
-          49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-          5100525252005353530054545400555555005656560057575700585858005959
-          59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-          9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-          FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-          D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-          AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-          C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-          CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-          D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-          E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-          EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-          F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-          919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-          919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-          919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-          DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-          F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-          919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-          E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-          FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-          919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-          E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-          D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-          91919191919191919191919191919191D2CE9191919191919191919191919191
-          91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-          D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-          919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-          9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-          DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-          9191919191919191919191919191919191919191919191919191}
-        ParentDoubleBuffered = False
-        ParentFont = False
-        TabOrder = 0
-        OnClick = bbPasswordClick
-      end
-    end
-  end
-  object memoAccounts: TMemo
-    Left = 74
-    Top = 12
-    Width = 307
-    Height = 59
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Lines.Strings = (
-      '123456-11 (0.0000); 123456-11 (0.0000); '
-      '123456-11 (0.0000); 123456-11 (0.0000); ')
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssVertical
-    TabOrder = 4
-  end
-  object ebSenderAccount: TEdit
-    Left = 74
-    Top = 12
-    Width = 97
-    Height = 27
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = 'ebSenderAccount'
-    OnExit = ebSenderAccountExit
-    OnKeyPress = ebSenderAccountKeyPress
-  end
-  object ActionList: TActionList
-    Left = 140
-    Top = 350
-    object actExecute: TAction
-      Caption = 'Execute (F12)'
-      ShortCut = 123
-      OnExecute = actExecuteExecute
-    end
-  end
-end

+ 2 - 12
Units/Forms/UFRMOperation.pas

@@ -1,8 +1,6 @@
 unit UFRMOperation;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UFRMOperation;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UNode, UWalletKeys, UCrypto, Buttons, UBlockChain,
   UAccounts, UFRMAccountSelect, ActnList, ComCtrls, Types, UCommon;
@@ -179,11 +173,7 @@ implementation
 uses
   UECIES, UConst, UOpTransaction, UFRMNewPrivateKeyType, UAES, UFRMWalletKeys;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 { TFRMOperation }
 

+ 0 - 4
Units/Forms/UFRMOperationExplorer.pas

@@ -5,11 +5,7 @@ unit UFRMOperationExplorer;
 interface
 
 uses
-  {$IFnDEF FPC}
-    pngimage, Windows, AppEvnts, ShlObj,
-  {$ELSE}
     LCLIntf, LCLType,
-  {$ENDIF}
     SysUtils, Controls, Forms,
     Dialogs, ExtCtrls, StdCtrls,
     Grids, Menus, Classes, UGridUtils, UConst;

+ 0 - 381
Units/Forms/UFRMPascalCoinWalletConfig.dfm

@@ -1,381 +0,0 @@
-object FRMPascalCoinWalletConfig: TFRMPascalCoinWalletConfig
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Options'
-  ClientHeight = 519
-  ClientWidth = 374
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 30
-    Top = 390
-    Width = 120
-    Height = 13
-    Caption = 'Default fee for operation'
-  end
-  object Label2: TLabel
-    Left = 30
-    Top = 116
-    Width = 98
-    Height = 13
-    Caption = 'Internet Server Port'
-  end
-  object lblDefaultInternetServerPort: TLabel
-    Left = 248
-    Top = 116
-    Width = 70
-    Height = 13
-    Caption = '(Default XXXX)'
-  end
-  object Label3: TLabel
-    Left = 15
-    Top = 67
-    Width = 60
-    Height = 13
-    Caption = 'Miner Name:'
-  end
-  object Label4: TLabel
-    Left = 90
-    Top = 91
-    Width = 259
-    Height = 13
-    Caption = 'This name will be included in each new block you mine!'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGray
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    ParentFont = False
-  end
-  object Label5: TLabel
-    Left = 30
-    Top = 231
-    Width = 73
-    Height = 13
-    Caption = 'JSON-RPC Port'
-  end
-  object lblDefaultJSONRPCMinerServerPort: TLabel
-    Left = 248
-    Top = 231
-    Width = 70
-    Height = 13
-    Caption = '(Default XXXX)'
-  end
-  object Label6: TLabel
-    Left = 24
-    Top = 162
-    Width = 57
-    Height = 13
-    Caption = 'Allowed IP'#39's'
-  end
-  object Label7: TLabel
-    Left = 92
-    Top = 182
-    Width = 209
-    Height = 13
-    Caption = 'Ip'#39's separated by semicolon or empty for all'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGray
-    Font.Height = -11
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    ParentFont = False
-  end
-  object cbJSONRPCMinerServerActive: TCheckBox
-    Left = 15
-    Top = 205
-    Width = 261
-    Height = 17
-    Caption = 'JSON-RPC Server Miner (TCP/IP, no HTTP)'
-    TabOrder = 6
-  end
-  object ebDefaultFee: TEdit
-    Left = 170
-    Top = 387
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 10
-    Text = '0'
-  end
-  object cbSaveLogFiles: TCheckBox
-    Left = 15
-    Top = 414
-    Width = 97
-    Height = 17
-    Caption = 'Save log file'
-    TabOrder = 11
-    OnClick = cbSaveLogFilesClick
-  end
-  object cbShowLogs: TCheckBox
-    Left = 15
-    Top = 452
-    Width = 97
-    Height = 17
-    Caption = 'Show logs'
-    TabOrder = 13
-  end
-  object bbOk: TBitBtn
-    Left = 176
-    Top = 475
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkOK
-    ParentDoubleBuffered = False
-    TabOrder = 16
-    OnClick = bbOkClick
-  end
-  object bbCancel: TBitBtn
-    Left = 266
-    Top = 475
-    Width = 75
-    Height = 25
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 17
-  end
-  object udInternetServerPort: TUpDown
-    Left = 226
-    Top = 113
-    Width = 16
-    Height = 21
-    Associate = ebInternetServerPort
-    Min = 1
-    Max = 40000
-    Position = 4004
-    TabOrder = 3
-    Thousands = False
-  end
-  object ebInternetServerPort: TEdit
-    Left = 170
-    Top = 113
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 2
-    Text = '4004'
-  end
-  object bbUpdatePassword: TBitBtn
-    Left = 15
-    Top = 14
-    Width = 336
-    Height = 38
-    Caption = 'Wallet Password'
-    DoubleBuffered = True
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -13
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555005656560057575700585858005959
-      59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-      9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-      D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-      AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-      C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-      CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-      D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-      E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-      EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-      F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-      919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-      919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-      919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-      DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-      F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-      919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-      E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-      FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-      919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-      E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-      D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-      91919191919191919191919191919191D2CE9191919191919191919191919191
-      91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-      D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-      919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-      9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-      DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-      9191919191919191919191919191919191919191919191919191}
-    ParentDoubleBuffered = False
-    ParentFont = False
-    TabOrder = 0
-    OnClick = bbUpdatePasswordClick
-  end
-  object ebMinerName: TEdit
-    Left = 90
-    Top = 64
-    Width = 261
-    Height = 21
-    TabOrder = 1
-    Text = 'ebMinerName'
-  end
-  object cbShowModalMessages: TCheckBox
-    Left = 170
-    Top = 414
-    Width = 171
-    Height = 17
-    Caption = 'Show modal messages'
-    TabOrder = 14
-  end
-  object udJSONRPCMinerServerPort: TUpDown
-    Left = 226
-    Top = 228
-    Width = 16
-    Height = 21
-    Associate = ebJSONRPCMinerServerPort
-    Min = 1
-    Max = 40000
-    Position = 1
-    TabOrder = 8
-    Thousands = False
-  end
-  object ebJSONRPCMinerServerPort: TEdit
-    Left = 170
-    Top = 228
-    Width = 56
-    Height = 21
-    Alignment = taRightJustify
-    TabOrder = 7
-    Text = '1'
-  end
-  object gbMinerPrivateKey: TGroupBox
-    Left = 15
-    Top = 255
-    Width = 334
-    Height = 121
-    Caption = ' Miner Server Private Key: '
-    TabOrder = 9
-    object rbGenerateANewPrivateKeyEachBlock: TRadioButton
-      Left = 20
-      Top = 20
-      Width = 301
-      Height = 17
-      Caption = 'Generate a new private key for each generated block'
-      TabOrder = 0
-    end
-    object rbUseARandomKey: TRadioButton
-      Left = 20
-      Top = 40
-      Width = 216
-      Height = 17
-      Caption = 'Use a random existing key'
-      TabOrder = 1
-    end
-    object rbMineAllwaysWithThisKey: TRadioButton
-      Left = 20
-      Top = 61
-      Width = 216
-      Height = 17
-      Caption = 'Always mine with this key:'
-      TabOrder = 2
-    end
-    object cbPrivateKeyToMine: TComboBox
-      Left = 45
-      Top = 85
-      Width = 266
-      Height = 21
-      Style = csDropDownList
-      TabOrder = 3
-    end
-  end
-  object cbSaveDebugLogs: TCheckBox
-    Left = 31
-    Top = 432
-    Width = 97
-    Height = 17
-    Caption = 'Save debug logs too'
-    TabOrder = 12
-  end
-  object bbOpenDataFolder: TBitBtn
-    Left = 15
-    Top = 475
-    Width = 120
-    Height = 25
-    Caption = 'Open Data folder'
-    DoubleBuffered = True
-    Glyph.Data = {
-      36030000424D3603000000000000360000002800000010000000100000000100
-      18000000000000030000120B0000120B00000000000000000000FF00FF078DBE
-      078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078D
-      BEFF00FFFF00FFFF00FF078DBE25A1D171C6E884D7FA66CDF965CDF965CDF965
-      CDF965CDF865CDF965CDF866CEF93AADD81999C9FF00FFFF00FF078DBE4CBCE7
-      39A8D1A0E2FB6FD4FA6FD4F96ED4FA6FD4F96FD4FA6FD4FA6FD4FA6ED4F93EB1
-      D9C9F0F3078DBEFF00FF078DBE72D6FA078DBEAEE9FC79DCFB79DCFB79DCFB79
-      DCFB79DCFB7ADCFB79DCFA79DCFA44B5D9C9F0F3078DBEFF00FF078DBE79DDFB
-      1899C79ADFF392E7FC84E4FB83E4FC83E4FC84E4FC83E4FC83E4FB84E5FC48B9
-      DAC9F0F31496C4FF00FF078DBE82E3FC43B7DC65C2E0ABF0FC8DEBFC8DEBFC8D
-      EBFD8DEBFD8DEBFC8DEBFD8DEBFC4CBBDAC9F0F3C9F0F3078DBE078DBE8AEAFC
-      77DCF3219CC7FEFFFFC8F7FDC9F7FDC9F7FDC9F7FEC8F7FEC9F7FDC8F7FE9BD5
-      E6EAFEFED2F3F8078DBE078DBE93F0FE93F0FD1697C5078DBE078DBE078DBE07
-      8DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE078DBE9BF5FE
-      9AF6FE9AF6FE9BF5FD9BF6FE9AF6FE9BF5FE9AF6FD9BF5FE9AF6FE9AF6FE0989
-      BAFF00FFFF00FFFF00FF078DBEFEFEFEA0FBFFA0FBFEA0FBFEA1FAFEA1FBFEA0
-      FAFEA1FBFEA1FBFFA0FBFFA1FBFF0989BAFF00FFFF00FFFF00FFFF00FF078DBE
-      FEFEFEA5FEFFA5FEFFA5FEFF078DBE078DBE078DBE078DBE078DBE078DBEFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FF078DBE078DBE078DBE078DBEFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 15
-    OnClick = bbOpenDataFolderClick
-  end
-  object cbJSONRPCPortEnabled: TCheckBox
-    Left = 15
-    Top = 139
-    Width = 261
-    Height = 17
-    Caption = 'JSON-RPC Server port enabled (HTTP)'
-    TabOrder = 4
-    OnClick = cbJSONRPCPortEnabledClick
-  end
-  object ebJSONRPCAllowedIPs: TEdit
-    Left = 90
-    Top = 158
-    Width = 261
-    Height = 21
-    TabOrder = 5
-    Text = 'ebJSONRPCAllowedIPs'
-  end
-end

+ 2 - 17
Units/Forms/UFRMPascalCoinWalletConfig.pas

@@ -1,8 +1,6 @@
 unit UFRMPascalCoinWalletConfig;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,12 +18,7 @@ unit UFRMPascalCoinWalletConfig;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-  ShellApi,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, Buttons, ComCtrls, UAppParams, UWalletKeys;
 
@@ -90,11 +83,7 @@ implementation
 
 uses UConst, UAccounts, ULog, UCrypto, UFolderHelper;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 procedure TFRMPascalCoinWalletConfig.bbOkClick(Sender: TObject);
 Var df : Int64;
@@ -136,11 +125,7 @@ end;
 
 procedure TFRMPascalCoinWalletConfig.bbOpenDataFolderClick(Sender: TObject);
 begin
-  {$IFDEF FPC}
   OpenDocument(pchar(TFolderHelper.GetPascalCoinDataFolder))
-  {$ELSE}
-  shellexecute(0, 'open', pchar(TFolderHelper.GetPascalCoinDataFolder), nil, nil, SW_SHOW)
-  {$ENDIF}
 end;
 
 procedure TFRMPascalCoinWalletConfig.bbUpdatePasswordClick(Sender: TObject);

+ 0 - 426
Units/Forms/UFRMPayloadDecoder.dfm

@@ -1,426 +0,0 @@
-object FRMPayloadDecoder: TFRMPayloadDecoder
-  Left = 0
-  Top = 0
-  ActiveControl = ebOphash
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Operation Information/Decoder'
-  ClientHeight = 406
-  ClientWidth = 674
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object Label1: TLabel
-    Left = 20
-    Top = 56
-    Width = 46
-    Height = 13
-    Caption = 'Block/Op:'
-  end
-  object lblBlock: TLabel
-    Left = 72
-    Top = 51
-    Width = 109
-    Height = 19
-    Caption = '000000/0000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblDateTime: TLabel
-    Left = 255
-    Top = 51
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label6: TLabel
-    Left = 195
-    Top = 56
-    Width = 52
-    Height = 13
-    Caption = 'Date Time:'
-  end
-  object Label2: TLabel
-    Left = 20
-    Top = 106
-    Width = 52
-    Height = 13
-    Caption = 'Operation:'
-  end
-  object lblOperationTxt: TLabel
-    Left = 90
-    Top = 101
-    Width = 561
-    Height = 22
-    AutoSize = False
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    WordWrap = True
-  end
-  object lblAmountCaption: TLabel
-    Left = 220
-    Top = 81
-    Width = 41
-    Height = 13
-    Caption = 'Amount:'
-  end
-  object lblAmount: TLabel
-    Left = 270
-    Top = 76
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblFeeCaption: TLabel
-    Left = 517
-    Top = 56
-    Width = 22
-    Height = 13
-    Caption = 'Fee:'
-  end
-  object lblFee: TLabel
-    Left = 547
-    Top = 51
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object Label4: TLabel
-    Left = 20
-    Top = 24
-    Width = 38
-    Height = 13
-    Caption = 'OpHash'
-  end
-  object lblSenderCaption: TLabel
-    Left = 20
-    Top = 81
-    Width = 38
-    Height = 13
-    Caption = 'Sender:'
-  end
-  object lblSender: TLabel
-    Left = 64
-    Top = 76
-    Width = 97
-    Height = 19
-    Caption = '9999999-99'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblReceiverCaption: TLabel
-    Left = 411
-    Top = 81
-    Width = 46
-    Height = 13
-    Caption = 'Receiver:'
-  end
-  object lblReceiver: TLabel
-    Left = 463
-    Top = 76
-    Width = 30
-    Height = 19
-    Caption = '000'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblReceiverInfo: TLabel
-    Left = 481
-    Top = 50
-    Width = 121
-    Height = 19
-    Caption = '(Receiver info)'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clRed
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object PageControl: TPageControl
-    Left = 20
-    Top = 140
-    Width = 631
-    Height = 206
-    ActivePage = tsDecoded
-    TabOrder = 2
-    OnChanging = PageControlChanging
-    object tsDecoded: TTabSheet
-      Caption = 'Payload'
-      object Label7: TLabel
-        Left = 15
-        Top = 94
-        Width = 87
-        Height = 13
-        Caption = 'Decoded Payload:'
-      end
-      object lblDecodedMethod: TLabel
-        Left = 562
-        Top = 94
-        Width = 44
-        Height = 13
-        Alignment = taRightJustify
-        Caption = '(Method)'
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clGray
-        Font.Height = -11
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        ParentFont = False
-      end
-      object Label3: TLabel
-        Left = 15
-        Top = 9
-        Width = 155
-        Height = 13
-        Caption = 'Original Payload in Hexadecimal:'
-      end
-      object memoDecoded: TMemo
-        Left = 15
-        Top = 111
-        Width = 591
-        Height = 55
-        TabStop = False
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clBlack
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Lines.Strings = (
-          'memoDecoded')
-        ParentFont = False
-        ReadOnly = True
-        TabOrder = 0
-        OnKeyDown = memoDecodedKeyDown
-      end
-      object memoOriginalPayloadInHexa: TMemo
-        Left = 15
-        Top = 28
-        Width = 591
-        Height = 55
-        TabStop = False
-        Color = clBtnFace
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clBlack
-        Font.Height = -13
-        Font.Name = 'Tahoma'
-        Font.Style = [fsBold]
-        Lines.Strings = (
-          'memoDecoded')
-        ParentFont = False
-        ReadOnly = True
-        TabOrder = 1
-        OnKeyDown = memoDecodedKeyDown
-      end
-      object cbShowAsHexadecimal: TCheckBox
-        Left = 115
-        Top = 93
-        Width = 136
-        Height = 17
-        Caption = 'Show as hexadecimal'
-        TabOrder = 2
-        OnClick = cbShowAsHexadecimalClick
-      end
-    end
-    object tsDecodeMethods: TTabSheet
-      Caption = 'Decode methods'
-      ImageIndex = 1
-      object lblPasswordsInfo: TLabel
-        Left = 235
-        Top = 162
-        Width = 81
-        Height = 13
-        Caption = 'lblPasswordsInfo'
-      end
-      object cbMethodPublicPayload: TCheckBox
-        Left = 16
-        Top = 15
-        Width = 225
-        Height = 17
-        Caption = 'Not encrypted (Public payload)'
-        TabOrder = 0
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object cbUsingPrivateKeys: TCheckBox
-        Left = 16
-        Top = 38
-        Width = 225
-        Height = 17
-        Caption = 'Using Private keys of my Wallet'
-        TabOrder = 1
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object cbUsingPasswords: TCheckBox
-        Left = 16
-        Top = 61
-        Width = 225
-        Height = 17
-        Caption = 'Using Passwords of the list'
-        TabOrder = 2
-        OnClick = cbMethodPublicPayloadClick
-      end
-      object memoPasswords: TMemo
-        Left = 235
-        Top = 10
-        Width = 371
-        Height = 146
-        ScrollBars = ssBoth
-        TabOrder = 3
-        OnChange = cbMethodPublicPayloadClick
-      end
-      object bbSaveMethods: TBitBtn
-        Left = 60
-        Top = 110
-        Width = 75
-        Height = 25
-        Caption = 'Save'
-        DoubleBuffered = True
-        Glyph.Data = {
-          DE010000424DDE01000000000000760000002800000024000000120000000100
-          0400000000006801000000000000000000001000000000000000000000000000
-          80000080000000808000800000008000800080800000C0C0C000808080000000
-          FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-          3333333333333333333333330000333333333333333333333333F33333333333
-          00003333344333333333333333388F3333333333000033334224333333333333
-          338338F3333333330000333422224333333333333833338F3333333300003342
-          222224333333333383333338F3333333000034222A22224333333338F338F333
-          8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-          33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-          0000333333333A222433333333333338F338F33300003333333333A222433333
-          333333338F338F33000033333333333A222433333333333338F338F300003333
-          33333333A222433333333333338F338F00003333333333333A22433333333333
-          3338F38F000033333333333333A223333333333333338F830000333333333333
-          333A333333333333333338330000333333333333333333333333333333333333
-          0000}
-        NumGlyphs = 2
-        ParentDoubleBuffered = False
-        TabOrder = 4
-        OnClick = bbSaveMethodsClick
-      end
-    end
-  end
-  object bbClose: TBitBtn
-    Left = 572
-    Top = 362
-    Width = 79
-    Height = 25
-    Cancel = True
-    Caption = 'Close'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76010000424D7601000000000000760000002800000020000000100000000100
-      04000000000000010000120B0000120B00001000000000000000000000000000
-      800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00555555555555
-      555555555555555555555555555555555555555555FF55555555555559055555
-      55555555577FF5555555555599905555555555557777F5555555555599905555
-      555555557777FF5555555559999905555555555777777F555555559999990555
-      5555557777777FF5555557990599905555555777757777F55555790555599055
-      55557775555777FF5555555555599905555555555557777F5555555555559905
-      555555555555777FF5555555555559905555555555555777FF55555555555579
-      05555555555555777FF5555555555557905555555555555777FF555555555555
-      5990555555555555577755555555555555555555555555555555}
-    ModalResult = 2
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 3
-  end
-  object bbFind: TBitBtn
-    Left = 599
-    Top = 19
-    Width = 52
-    Height = 25
-    Caption = '&Find'
-    DoubleBuffered = True
-    Glyph.Data = {
-      36030000424D3603000000000000360000002800000010000000100000000100
-      18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-      BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-      2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-      00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-      B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-      EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-      FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-      C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-      FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-      E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-      C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-      C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-      DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-      86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 1
-    TabStop = False
-    OnClick = bbFindClick
-  end
-  object ebOphash: TEdit
-    Left = 64
-    Top = 20
-    Width = 529
-    Height = 22
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = '12345678901234567890123456789012345678901234567890123456789012'
-    OnExit = ebOphashExit
-    OnKeyPress = ebOphashKeyPress
-  end
-end

+ 2 - 12
Units/Forms/UFRMPayloadDecoder.pas

@@ -1,8 +1,6 @@
 unit UFRMPayloadDecoder;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode Delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UFRMPayloadDecoder;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UBlockChain, UCrypto, UWalletKeys, Buttons, ComCtrls,
   UAppParams;
@@ -97,11 +91,7 @@ type
 
 implementation
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 Uses UNode, UTime, UECIES, UAES, UAccounts;
 

+ 0 - 220
Units/Forms/UFRMSaleAccounts.dfm

@@ -1,220 +0,0 @@
-object FRMSaleAccounts: TFRMSaleAccounts
-  Left = 0
-  Top = 0
-  BorderStyle = bsSingle
-  Caption = 'Sale accounts'
-  ClientHeight = 312
-  ClientWidth = 604
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblAccountCaption: TLabel
-    Left = 25
-    Top = 20
-    Width = 43
-    Height = 13
-    Caption = 'Account:'
-  end
-  object Label1: TLabel
-    Left = 25
-    Top = 95
-    Width = 50
-    Height = 13
-    Caption = 'Sale price:'
-  end
-  object Label2: TLabel
-    Left = 202
-    Top = 95
-    Width = 87
-    Height = 13
-    Caption = 'Locked until block:'
-  end
-  object Label3: TLabel
-    Left = 25
-    Top = 119
-    Width = 142
-    Height = 13
-    Caption = 'Seller account (where to pay)'
-  end
-  object lblAccountBalance: TLabel
-    Left = 432
-    Top = 15
-    Width = 149
-    Height = 19
-    Caption = 'lblAccountBalance'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clGreen
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-  end
-  object lblAccountsCount: TLabel
-    Left = 387
-    Top = 58
-    Width = 18
-    Height = 13
-    Caption = 'XXX'
-  end
-  object lblBalanceCaption: TLabel
-    Left = 387
-    Top = 20
-    Width = 41
-    Height = 13
-    Caption = 'Balance:'
-  end
-  object memoAccounts: TMemo
-    Left = 74
-    Top = 12
-    Width = 307
-    Height = 59
-    Ctl3D = False
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -12
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Lines.Strings = (
-      '123456-11 (0.0000); 123456-11 (0.0000); '
-      '123456-11 (0.0000); 123456-11 (0.0000); ')
-    ParentCtl3D = False
-    ParentFont = False
-    ReadOnly = True
-    ScrollBars = ssVertical
-    TabOrder = 1
-  end
-  object ebSenderAccount: TEdit
-    Left = 74
-    Top = 12
-    Width = 97
-    Height = 27
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    TabOrder = 0
-    Text = 'ebSenderAccount'
-  end
-  object ebSalePrice: TEdit
-    Left = 81
-    Top = 92
-    Width = 86
-    Height = 21
-    TabOrder = 2
-    Text = 'Edit1'
-  end
-  object ebLockedUntilBlock: TEdit
-    Left = 295
-    Top = 92
-    Width = 86
-    Height = 21
-    TabOrder = 3
-    Text = 'ebLockedUntilBlock'
-  end
-  object gbSellOptions: TGroupBox
-    Left = 25
-    Top = 150
-    Width = 516
-    Height = 101
-    Caption = ' Sell options: '
-    TabOrder = 4
-    object lblNewOwnerPublicKey: TLabel
-      Left = 25
-      Top = 66
-      Width = 111
-      Height = 13
-      Caption = 'New owner'#39's public key'
-    end
-    object rbEveryoneCanBuy: TRadioButton
-      Left = 10
-      Top = 20
-      Width = 113
-      Height = 17
-      Caption = 'Everyone can buy'
-      TabOrder = 0
-    end
-    object rbReservedForAPublickKey: TRadioButton
-      Left = 10
-      Top = 43
-      Width = 301
-      Height = 17
-      Caption = 'Reserved for only one public key (private)'
-      TabOrder = 1
-    end
-    object ebNewOwnerPublicKey: TEdit
-      Left = 148
-      Top = 63
-      Width = 331
-      Height = 21
-      TabOrder = 2
-      Text = 'ebDestAccount'
-    end
-  end
-  object ebSellerAccount: TEdit
-    Left = 181
-    Top = 116
-    Width = 86
-    Height = 21
-    TabOrder = 5
-    Text = 'Edit1'
-  end
-  object bbExecute: TBitBtn
-    Left = 277
-    Top = 261
-    Width = 130
-    Height = 31
-    Action = actExecute
-    Caption = 'Execute (F12)'
-    DoubleBuffered = True
-    Glyph.Data = {
-      DE010000424DDE01000000000000760000002800000024000000120000000100
-      0400000000006801000000000000000000001000000000000000000000000000
-      80000080000000808000800000008000800080800000C0C0C000808080000000
-      FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333
-      3333333333333333333333330000333333333333333333333333F33333333333
-      00003333344333333333333333388F3333333333000033334224333333333333
-      338338F3333333330000333422224333333333333833338F3333333300003342
-      222224333333333383333338F3333333000034222A22224333333338F338F333
-      8F33333300003222A3A2224333333338F3838F338F33333300003A2A333A2224
-      33333338F83338F338F33333000033A33333A222433333338333338F338F3333
-      0000333333333A222433333333333338F338F33300003333333333A222433333
-      333333338F338F33000033333333333A222433333333333338F338F300003333
-      33333333A222433333333333338F338F00003333333333333A22433333333333
-      3338F38F000033333333333333A223333333333333338F830000333333333333
-      333A333333333333333338330000333333333333333333333333333333333333
-      0000}
-    NumGlyphs = 2
-    ParentDoubleBuffered = False
-    TabOrder = 6
-  end
-  object bbCancel: TBitBtn
-    Left = 425
-    Top = 261
-    Width = 116
-    Height = 31
-    DoubleBuffered = True
-    Kind = bkCancel
-    ParentDoubleBuffered = False
-    TabOrder = 7
-  end
-  object ActionList: TActionList
-    Left = 140
-    Top = 350
-    object actExecute: TAction
-      Caption = 'Execute (F12)'
-      ShortCut = 123
-      OnExecute = actExecuteExecute
-    end
-  end
-end

+ 2 - 0
Units/Forms/UFRMSaleAccounts.pas

@@ -1,3 +1,5 @@
+{$mode delphi}
+
 unit UFRMSaleAccounts;
 
 interface

+ 4 - 1
Units/Forms/UFRMSyncronizationDialog.pas

@@ -55,9 +55,12 @@ var
   FRMSyncronizationDialogIsFirstOpen:boolean =true;  //TODO update
 
 implementation
-uses UNetProtocol,UTime,UConst, UUserInterface;
+
 {$R *.lfm}
 
+uses UNetProtocol,UTime,UConst, UUserInterface;
+
+
 procedure TFRMSyncronizationDialog.lblReceivedMessagesClick(Sender:TObject);
 begin
   TUserInterface.ShowMessagesForm;

+ 0 - 1723
Units/Forms/UFRMWallet.dfm

@@ -1,1723 +0,0 @@
-object FRMWallet: TFRMWallet
-  Left = 360
-  Top = 328
-  Caption = 'Pascal Coin Wallet, JSON-RPC Miner & Explorer'
-  ClientHeight = 542
-  ClientWidth = 849
-  Color = clBtnFace
-  Constraints.MinHeight = 600
-  Constraints.MinWidth = 865
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  Menu = MainMenu
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  OnDestroy = FormDestroy
-  PixelsPerInch = 96
-  TextHeight = 13
-  object pnlTop: TPanel
-    Left = 0
-    Top = 0
-    Width = 849
-    Height = 91
-    Align = alTop
-    BevelOuter = bvNone
-    TabOrder = 0
-    object Image1: TImage
-      Left = 15
-      Top = 15
-      Width = 62
-      Height = 62
-      AutoSize = True
-      Picture.Data = {
-        0954506E67496D61676589504E470D0A1A0A0000000D494844520000003E0000
-        003E080600000073C1A8440000000473424954080808087C0864880000000970
-        48597300000B1200000B1201D2DD7EFC0000001C74455874536F667477617265
-        0041646F62652046697265776F726B7320435336E8BCB28C0000001674455874
-        4372656174696F6E2054696D650030362F30372F313610A27E9700000EDA4944
-        415478DACD9B095813D716804F4280A860E1A9A0A295A556AD0B88F6A9CF85A4
-        6E6D5DC08A05956A5050BFAA155EAD56AB125CD0BA22D65A5C58DCAAA012A5D5
-        F75C4AA2A2A8AD605D9E5A41A08A80A2AC822CC93B77320943329384B53DDF77
-        BE994C6692FBDF73EFB9E79E7B87A752A9A0B984C7E3F5C3C367A843511D506D
-        512D51F9B4AA68AD462D43CD45CD404D413D8165BBDF6C656B6A7084F5C2C322
-        54F7364241CEE01EF679A2BE9DCC5C9DDA594FF8673757AEE78ACA2A8B2FDE7D
-        F6F876E6CB925F7ECFA9C173C7AA6A652BFCEA1AEA0E2CE7B9BF1D38C2BE8B87
-        25A8939CECAD1FCE1ADDA37AE1F83EFDDE6A63D1B631BF9B915BFCF4C8C5F4C7
-        61F1A9EDCA2AAA49251C42DD8D65CEFE4BC111B8271E969BF179C3BD873A6786
-        CD78BFBB73C7B60E8DAE498E4AF05E7F3E2335E3C5DBF8F1206A2496FDCF1605
-        4760D257BF429DE733DCE556E4FCE1EE8DB56E032AC0053F8662F977B7083842
-        937E7AB47D5BE1EB6B5BBCEC9ACBC2C6E4DA83FC8713D7FCB72CBFA8FC117E9C
-        8F1CCF9B0D1CA1A760B35E279D36206F858FFBB0A68649CB2880C2B237E0686F
-        0D8E76D6D4B5CCFC12C8CC2B019B3696E0E6DC4EEF199F6FCFCBE32E6774C1D3
-        79C872A149C11158888725D6ADCCA79C5B33CE62500FBB778D3C411E621C19A2
-        52A26A46B1BA225A96088A3BCF2064EA00C0CAA5AE490FFF06A13FFE061E7D3A
-        817CFD04D67F4BBC9E756BD2BAB376354AD56AE4F9A129C137E1D034EE698C9F
-        03675F26803C335AC9399F055CA586D6C0AB6AE87325F5AD8D6F0C19D620E19B
-        31E035D891B332D88434FD512B7EAE29ADA88A3005DE203802932164AB95D07C
-        C49398E95D58A109209FC00AF0C8A7C1F9B4D2566705A75559435540614919D8
-        FA445377A56E9FAC6DD68EB30F43567E294407894032D2704323B14057FF43D9
-        25E555C7F16318B25536147C395ADA8FD3D27C735401AD66740530C0752DAE69
-        E25AF01A2DB83C3513C44B8FAB6F4B9C535B86096AA79D14361E447D3B1B3324
-        05DF4572E8095A7E23B2C5D61B9C38B2B6AD2D9665474D73D183A6AC8CD06602
-        063C0DCD8097AC8B87CCDC57750C5E7BA2A23FABCF9F3C2F86F49C42B06A650E
-        035C3A50D70AB1D9DF7A5C403D419A3A11D212886A9C1F9B90663F74C94901F6
-        F9395C0E8F151CA1BBA3F73E9BBCD1B352CF911168330B54731D8BD3AAB13836
-        7BDEE060A3166AA860080C419E7D399B3F717838DC91DA7145C652A3E0084DAC
-        7B7EC1F8DEAF77CC1DEAC10ECD04D785575B5C7EF31188E76D6B36708D74B3B3
-        02D937630D0D7585783A0D39CB8D814BEDDE6A3531EFE067FD75BE4058CB5A68
-        72A49A3B0B3C82C7245E01FF907DCD0EAE112E1F60EF772015839CEF90338A13
-        9C9E469E4DDFE35BAD179151C0960C8B6B2A80CDF26620DD9500A1BB8EB71838
-        FA21488B98ACD7F7497F1FBC5846203D90358F0B3C0E63EF0E47968C14D5799A
-        C0106801073C5F73ACB5B8482205C58DBB2D064EC4739023C8568CD1BBEEBEE8
-        C4258CED15C8BA520F1CA19DD1A15D2C383CD3BAAE17C7262EB0A4C12D6B2D2F
-        A0C1F9CC0AD0787933B01938158A4ACAD8AD63DD06DC7A3A82665C7F925700E9
-        7FE683556B4B18D0A32B5E57E2B542F4F22FEB0DFF78DF543DAB93898D4BE011
-        2C1CE5E8F274C1F7A1B59D59AD4D010B6BC105421DAB5BD4E9F38525E560EB3E
-        99B3701E83FA81FCE006E4AB06A8A982A0B0BDB0FDE019F014B9816C63205E7B
-        833EE22AF887C543D70E6D21E27331849FB8018ADB3946C1174DEC03E181FF62
-        B3FA65B4FA05E495EA821763DF2ED6EBDB4C68CD3905AFDB0A6AC1E5D7EF82D8
-        771167E142822420FDC28F06AF0491DFD7D82DEE41C83C2F90067C44814B2313
-        2134EA1C78B87603F9661F80EA0A08DA9504DB4FDD3608CE15D3D356E7236F67
-        2D38427FEA646F1D9CB177EAE03A7793E14BA08116D2A04206B04EF3A79B7C78
-        D409080E0DE72C5CF4D69520998C7D51594581DBF4FF04BBC56B48080F06AF11
-        7D2870D19C2DA0484D87108908A47E43287072DDD17F3F15C272097172854724
-        ACDF594D89FA5F5945F56C64BEAA01BFB2C66F608DDE54935890095EC7FA5C15
-        6001927FAF85D8B89F380B97747C3788B0B993665EF8AA006CDDBCA8EBA9F11B
-        C0AD7B478444C0F1CB202BF725447FFD094846F7C27B2BA8EBD20357A9D99A21
-        6186BC4C597BF4E6E595077FCD42663F124863C40125584B557AA1A906888216
-        D6B5BA80A302105CE43D1714577EE52E58FE1DCAD204449E7C5DDB2D5477E3B5
-        96E5B907A82B697B008ECF9DA86BE43BD9E5FB8053D00681D3CD9D4CBC3A10F0
-        81381139501A3FABA7DE9D4C6026AC990EB80E3CAF236732155CFBF48234B98C
-        067903E1BB0F60B78800D79E4E90766233755D9E9206E2C08D6A884B61D47D54
-        85A0122717BCE70AE7EF1B9AB713B198B437BBAA5AF90101DF32D2D561C0F9B5
-        E374C2535E2DA0B990012BD46F058C9690F9EC05380D18CBF9C79EE3C682ECC0
-        F76A186CBE412BBE85EDFB8E82E7A82120DBB184828B49B800FEABF642B78EB6
-        90796CA9169AA864D31988BDF080F3F76762EC1E8353582EC139BBE2C2ADA767
-        08F8953D0B47F003C6F41C54179CE9D85AB1589B5D65679361D2CC059C7F1CB2
-        EC4B902E594083A0139BE40F8A945408412F2FFDDC9BBA2EFDEE0884FE20038F
-        FEEF807C4780F65E72B499BC934A567089B1793BDDCF9F13F0CC532BC716EA25
-        FBB5E02CCDDCBC556D5F679EA34AB7EE85D04D3B39FF38E1C768F0FA48ACB5A0
-        4DF761E8D14B2161D72AF012BBAB2B636608287EBB0F21011F825442EE2D5777
-        8BF82B101CA90043C216C030859EB59911F0227406EC99953A0E8CADC9EBB708
-        AF598BE1E4995FB80B76E71A383AD851D0852F9F836D8F11D4F5D4C49DE8D11D
-        A8EB8EA3E743D6B302885E390D2463FB51D7D21E6441FFB9D106A1B94256A690
-        44858D6F4C05017F83E016FAB7F0580085463DBCDBE8E970EB2E771F54156523
-        4825D5BFE517AF80D85BED81557F9CD636675EDFA9D4B5A49DF341D4AF0BC814
-        6920592FC342BF3108656A96863761773101AF41703EEB1D7A7D9A0BBE7658E3
-        7519C4F9871E4307833CF1907A2843EF1DFE432C044BB7816B2F67483B194141
-        CBAFA68278F63AEAFEE8155321E6A71450A43D360A638AB519E095045C89E03C
-        D63B3471791DEBB2043334BCFCFA3D10FB2C30E9CF9B524832222DC21B6CDA58
-        98743F82D71806D74C5074C1758035814B8C2C09FC176F68516812A2CAC326B0
-        66608C815721B880FD0E1E7B88AA999D69A1D5E0D4301471E06F0D4D835711F0
-        72041772DE556726A681B7A803AC51D1CC55A0B87EDBF412344248B291F46943
-        439701F022029E8771BA907B85C48CB559D7998ED253529B21FED42CAB398558
-        3968625F83AB2A26803F25E0773080A936B45BA16EB3B6D09B869263615915D8
-        0E9BDB6CC0C4814946F6A052CAA63A3136A103186A7DE7F4BACFDEB75EFE697F
-        EED54F6D5AD992C5D202EA28BF9901E2391BB90BDEB9833A70A117121E653F83
-        A7F9AFA0BD8D15F4762663AF12725F14C383EC7C105A0860502F07ECBBEDB129
-        5B81A8B71DB839D9364905EE3B77FF5A40C4452A645D8593940FF42629BA4203
-        EAA79BD479B6F0B84B10BCF518E7E3D16BE78164E270EDF29168761886A50F20
-        24701C4803C6527373E9DE33101A755E9D75D9E24B073A95EA844513093D49F9
-        9980BB9B0BF8272A1302BA197D4A9B5165E6D6D5E0927571107BFA06E7A3497B
-        968068400FCAB2A054828D28088A4ACB21E1DB59E035AC179586122D8CC46025
-        1342660C05E9F44174A05369B458F511EB29D1F74A2BAABC0838F1E839E97B7C
-        5F9BB4BBA14E3A5993571780E88B282C7406E763AA1BDF6B170D0B8BCBC076D4
-        52EA7A6AF4227073B1A3ACEAE8B30DB2F28A20FACB31EA19564D15B0ADA33754
-        E838FD8D4AA5B2D3A49E4EAEF11BF80F937739305750CCD4B9749E780DE7EDAE
-        DD3B43DAFEC55A70F9CD3F40BC20525D218AD5EAA4232A6F6418752D698317F6
-        6BFB2685261216977AF99B0337F29179B206FCE33642C1E6D2F859BD4CFE15ED
-        AA8939643E2F0527BF48CE5B3D87BD07B2F57E5AF0F0B86408FEEE0CB8BAD843
-        DAEED9D452B11CE371F15771EACAE0481D35565C028FA464E416AF41E6D31A70
-        12B991E65E59AFCD3CF4A600594A164C5ACD9D5C0C99E981F36A0FD02C20643E
-        7B0599B985382C99ABA32EA57A6340DAA33CB5E3336186555FA1F36DA4EFF446
-        E6D7CCBCFAB2FECEED3FBEB9FD937A6FEA91FE7813420F73271713A493C06B68
-        77F507ED36107A6380767380B2C96199E2BBF182FCE8A5F464E45D41F132C049
-        EC978D562FABEF162EAFB567E1E4B54CCEEF1FC748C0D19E0E0C995B4140B311
-        A8798538B576D362F36B94AA919A5D91BA8B869BD0EA83EB6B75B72F8E6B772E
-        B0892A914474CD0FC825B4B5159AE5233670B262A748D9EC55657C4B57AD68F6
-        A9B089B1746F730BDDB7C98EE9BEC89ACB0A4EC3CFB07BAB5590DEC6000E91DF
-        CE01F1726EC7662CDDDBDC426F0CD8AEBB11880DBC351E623F1DE6DCFEE8D251
-        464B1C73E121F887CB39BFDF1630849A58FC15428FDBA5C8F891EE775C9B7FC8
-        8C80CCDA9E1B9CB541EDCE432E313501D8D44276420C5B7AAAB4BA463915191F
-        9A044EC30F31E3F36293377AAA0CF577CDCE432E797544D2A869644384B1D76D
-        19F29D62E533B2C1CFDB4A68BEFA49CC74CEAD9C9A6D986C6268C9B639A1BBFA
-        1FCA2A29AFDA8F1FB7215F4DBDC169F8D508EFCD064F36E0D9223897B4B44767
-        6CE9DC696C3FABA99B78E7B56D6D31F7ECEA8F5B339B3D014FCB78C1F91C73FB
-        754B4063F37E8ACD3B8E395E370A9C860FE4F37861B215639E1A73782D2DC491
-        8D0D395D82F0648D698FA1CDBB0D0127AB2D235137FB0C7779A9B749E82F9285
-        91C98A5DA7EFBD83E16820B29C31F5B986BC9AE18C879DD8EFDF3EBF769CA03E
-        115E530A89C8862C3E998FC109D9BEE5871C05F579BEC16F21D1EF97EDC2D8FE
-        D1B165A39C5AEADD14D297E7EEBC7413636F27FC48B29B0791A1B8DEE56FE4EB
-        5724D0218B658BB002EE61053837E7EB57CBF7DFF8E358728623366B92D58C68
-        F1D7AF582A80E48966A0CEC62EA05C36C5ADC077844BA35B01B1EE8E9FEEFC1E
-        75EE81E0715E0999D0EFA1819F35E6779B0C5CA712C812C77C54B185805F35BC
-        77A79CF7DEB685D16E0E36237A7772E20A84745FB14C799067575651DD11BF22
-        A9DBCD7FCB572C0D540249597F08EA976A891324413B19D8490C4BD25DE4CFC9
-        D04356FCC9AE3DE2A8D2519350FF839A83E56B96D4CCFF0184B915F49D084B6C
-        0000000049454E44AE426082}
-    end
-    object lblCurrentBlockCaption: TLabel
-      Left = 90
-      Top = 11
-      Width = 60
-      Height = 13
-      Caption = 'Total Blocks:'
-    end
-    object lblCurrentBlock: TLabel
-      Left = 156
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblCurrentBlockTimeCaption: TLabel
-      Left = 90
-      Top = 26
-      Width = 89
-      Height = 13
-      Caption = 'Current Block age:'
-    end
-    object lblCurrentBlockTime: TLabel
-      Left = 188
-      Top = 26
-      Width = 81
-      Height = 13
-      Caption = '000 seconds ago'
-    end
-    object lblOperationsPendingCaption: TLabel
-      Left = 90
-      Top = 41
-      Width = 98
-      Height = 13
-      Caption = 'Pending Operations:'
-    end
-    object lblOperationsPending: TLabel
-      Left = 194
-      Top = 41
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblMiningStatusCaption: TLabel
-      Left = 90
-      Top = 56
-      Width = 68
-      Height = 13
-      Caption = 'Miners clients:'
-    end
-    object lblMinersClients: TLabel
-      Left = 163
-      Top = 56
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblCurrentDifficultyCaption: TLabel
-      Left = 429
-      Top = 11
-      Width = 76
-      Height = 13
-      Caption = 'Current Target:'
-    end
-    object lblCurrentDifficulty: TLabel
-      Left = 511
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblTimeAverage: TLabel
-      Left = 360
-      Top = 26
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object Label4: TLabel
-      Left = 285
-      Top = 26
-      Width = 69
-      Height = 13
-      Caption = 'Time average:'
-    end
-    object Label8: TLabel
-      Left = 90
-      Top = 70
-      Width = 63
-      Height = 13
-      Caption = 'Node Status:'
-    end
-    object lblNodeStatus: TLabel
-      Left = 163
-      Top = 70
-      Width = 15
-      Height = 13
-      Caption = '???'
-    end
-    object Label5: TLabel
-      Left = 285
-      Top = 11
-      Width = 48
-      Height = 13
-      Caption = 'Accounts:'
-    end
-    object lblCurrentAccounts: TLabel
-      Left = 337
-      Top = 11
-      Width = 18
-      Height = 13
-      Caption = '000'
-    end
-    object lblTimeAverageAux: TLabel
-      Left = 360
-      Top = 41
-      Width = 18
-      Height = 13
-      Caption = '000'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clGray
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = []
-      ParentFont = False
-    end
-    object Label16: TLabel
-      Left = 360
-      Top = 56
-      Width = 74
-      Height = 13
-      Caption = 'Blocks found:'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-    end
-    object lblBlocksFound: TLabel
-      Left = 440
-      Top = 56
-      Width = 21
-      Height = 13
-      Hint = 'Blocks found while Miner is running...'
-      Caption = '000'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -11
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-      ParentShowHint = False
-      ShowHint = True
-    end
-    object lblReceivedMessages: TLabel
-      Left = 360
-      Top = 66
-      Width = 185
-      Height = 23
-      Cursor = crHandPoint
-      Caption = 'Received messages'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clRed
-      Font.Height = -19
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-      OnClick = lblReceivedMessagesClick
-    end
-    object lblBuild: TLabel
-      Left = 586
-      Top = 3
-      Width = 49
-      Height = 23
-      Caption = 'Build'
-      Font.Charset = DEFAULT_CHARSET
-      Font.Color = clWindowText
-      Font.Height = -19
-      Font.Name = 'Tahoma'
-      Font.Style = [fsBold]
-      ParentFont = False
-    end
-  end
-  object StatusBar: TStatusBar
-    Left = 0
-    Top = 523
-    Width = 849
-    Height = 19
-    Panels = <
-      item
-        Alignment = taCenter
-        Text = 'Server Active'
-        Width = 130
-      end
-      item
-        Text = 'Connection status'
-        Width = 430
-      end
-      item
-        Text = 'Blocks'
-        Width = 50
-      end>
-  end
-  object PageControl: TPageControl
-    Left = 0
-    Top = 91
-    Width = 849
-    Height = 432
-    ActivePage = tsNodeStats
-    Align = alClient
-    TabOrder = 2
-    OnChange = PageControlChange
-    object tsMyAccounts: TTabSheet
-      Caption = 'Accounts Explorer'
-      object Splitter1: TSplitter
-        Left = 380
-        Top = 66
-        Height = 338
-      end
-      object pnlMyAccountsTop: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 66
-        Align = alTop
-        TabOrder = 0
-        object Label18: TLabel
-          Left = 11
-          Top = 35
-          Width = 61
-          Height = 13
-          Caption = 'Find account'
-        end
-        object sbSearchAccount: TSpeedButton
-          Left = 176
-          Top = 33
-          Width = 23
-          Height = 22
-          Glyph.Data = {
-            36030000424D3603000000000000360000002800000010000000100000000100
-            18000000000000030000120B0000120B00000000000000000000FF00FF4A667C
-            BE9596FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FF6B9CC31E89E84B7AA3C89693FF00FFFF00FFFF00FFFF
-            00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF4BB4FE51B5FF
-            2089E94B7AA2C69592FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FFFF00FF51B7FE51B3FF1D87E64E7AA0CA9792FF00FFFF
-            00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-            51B7FE4EB2FF1F89E64E7BA2B99497FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-            FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF52B8FE4BB1FF2787D95F6A76FF
-            00FFB0857FC09F94C09F96BC988EFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-            FF00FFFF00FF55BDFFB5D6EDBF9D92BB9B8CE7DAC2FFFFE3FFFFE5FDFADAD8C3
-            B3B58D85FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFCEA795FD
-            EEBEFFFFD8FFFFDAFFFFDBFFFFE6FFFFFBEADDDCAE837FFF00FFFF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFC1A091FBDCA8FEF7D0FFFFDBFFFFE3FFFFF8FFFF
-            FDFFFFFDC6A99CFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFC1A091FEE3ACF1
-            C491FCF2CAFFFFDDFFFFE4FFFFF7FFFFF7FFFFE9EEE5CBB9948CFF00FFFF00FF
-            FF00FFFF00FFFF00FFC2A191FFE6AEEEB581F7DCAEFEFDD8FFFFDFFFFFE3FFFF
-            E4FFFFE0F3ECD2BB968EFF00FFFF00FFFF00FFFF00FFFF00FFBC978CFBE7B7F4
-            C791F2C994F8E5B9FEFCD8FFFFDDFFFFDCFFFFE0E2D2BAB68E86FF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFD9C3A9FFFEE5F7DCB8F2C994F5D4A5FAE8BDFDF4
-            C9FDFBD6B69089FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB58D85E8
-            DEDDFFFEF2F9D8A3F4C48CF9D49FFDEAB8D0B49FB89086FF00FFFF00FFFF00FF
-            FF00FFFF00FFFF00FFFF00FFFF00FFAD827FC9AA9EEFE0B7EFDFB2E7CEACB890
-            86B89086FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-            00FFFF00FFBA968ABB988CB79188FF00FFFF00FFFF00FFFF00FF}
-          OnClick = sbSearchAccountClick
-        end
-        object cbMyPrivateKeys: TComboBox
-          Left = 260
-          Top = 7
-          Width = 411
-          Height = 21
-          Style = csDropDownList
-          TabOrder = 0
-          OnChange = cbMyPrivateKeysChange
-        end
-        object cbExploreMyAccounts: TCheckBox
-          Left = 11
-          Top = 10
-          Width = 235
-          Height = 17
-          Caption = 'Explore accounts with one of my Wallet Keys'
-          TabOrder = 1
-          OnClick = cbExploreMyAccountsClick
-        end
-        object ebFindAccountNumber: TEdit
-          Left = 87
-          Top = 33
-          Width = 83
-          Height = 21
-          TabOrder = 3
-          OnChange = ebFindAccountNumberChange
-          OnExit = ebFindAccountNumberExit
-        end
-        object bbChangeKeyName: TBitBtn
-          Left = 685
-          Top = 5
-          Width = 126
-          Height = 25
-          Caption = 'Change Key name'
-          DoubleBuffered = True
-          ParentDoubleBuffered = False
-          TabOrder = 2
-          OnClick = bbChangeKeyNameClick
-        end
-        object cbFilterAccounts: TCheckBox
-          Left = 260
-          Top = 35
-          Width = 151
-          Height = 17
-          Caption = 'Filter accounts by balance'
-          TabOrder = 4
-          OnClick = cbFilterAccountsClick
-        end
-        object ebFilterAccountByBalanceMin: TEdit
-          Left = 412
-          Top = 33
-          Width = 83
-          Height = 21
-          Hint = 'Min balance'
-          TabOrder = 5
-          OnExit = ebFilterAccountByBalanceMinExit
-          OnKeyPress = ebFilterAccountByBalanceMinKeyPress
-        end
-        object ebFilterAccountByBalanceMax: TEdit
-          Left = 503
-          Top = 33
-          Width = 83
-          Height = 21
-          Hint = 'Max balance'
-          TabOrder = 6
-          OnExit = ebFilterAccountByBalanceMinExit
-          OnKeyPress = ebFilterAccountByBalanceMinKeyPress
-        end
-      end
-      object pnlAccounts: TPanel
-        Left = 0
-        Top = 66
-        Width = 380
-        Height = 338
-        Align = alLeft
-        BevelOuter = bvNone
-        TabOrder = 1
-        object dgAccounts: TDrawGrid
-          Left = 0
-          Top = 0
-          Width = 380
-          Height = 304
-          Align = alClient
-          TabOrder = 0
-          OnClick = dgAccountsClick
-          OnColumnMoved = dgAccountsColumnMoved
-          OnFixedCellClick = dgAccountsFixedCellClick
-          ColWidths = (
-            64
-            64
-            64
-            64
-            64)
-        end
-        object pnlAccountsInfo: TPanel
-          Left = 0
-          Top = 304
-          Width = 380
-          Height = 34
-          Align = alBottom
-          BevelOuter = bvNone
-          TabOrder = 1
-          DesignSize = (
-            380
-            34)
-          object Label17: TLabel
-            Left = 5
-            Top = 10
-            Width = 48
-            Height = 13
-            Caption = 'Accounts:'
-          end
-          object Label19: TLabel
-            Left = 120
-            Top = 10
-            Width = 88
-            Height = 13
-            Caption = 'Accounts Balance:'
-          end
-          object lblAccountsCount: TLabel
-            Left = 60
-            Top = 10
-            Width = 18
-            Height = 13
-            Caption = '000'
-          end
-          object lblAccountsBalance: TLabel
-            Left = 214
-            Top = 10
-            Width = 18
-            Height = 13
-            Caption = '000'
-          end
-          object bbAccountsRefresh: TBitBtn
-            Left = 302
-            Top = 6
-            Width = 75
-            Height = 25
-            Anchors = [akTop, akRight]
-            Caption = 'Refresh'
-            DoubleBuffered = True
-            Glyph.Data = {
-              36030000424D3603000000000000360000002800000010000000100000000100
-              18000000000000030000120B0000120B00000000000000000000FF00FFFF00FF
-              C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2A6
-              A4C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEFCFBFEFCFBFEFCFBFEFCFBFE
-              FCFBFEFCFBFEFCFBFEFCFBFEFCFBFEFCFBC2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEFCFBFEFCFBFEFCFBFEFCFBD8EBD6018A02018A02D8EBD6FEFCFBFEFC
-              FBC2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEFBF7FEFBF7018A02D8EAD201
-              8A02D8EAD2D8EAD2018A02FEFBF7FEFBF7C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEF9F4FEF9F4018A02018A02D8E8D0FEF9F4FEF9F4D8E8D0FEF9F4FEF9
-              F4C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEF7F0FEF7F0018A02018A0201
-              8A02FEF7F0FEF7F0FEF7F0FEF7F0FEF7F0C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FEF5ECFEF5ECFEF5ECFEF5ECFEF5EC018A02018A02018A02FEF5ECFEF5
-              ECC2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FEF3E9FEF3E9D8E3C7FEF3E9FE
-              F3E9D8E3C7018A02018A02FEF3E9FEF3E9C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFF1E5FFF1E5018A02D9E2C3D9E2C3018A02D9E2C3018A02FFF1E5FFF1
-              E5C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FFF0E2FFF0E2D9E1C1018A0201
-              8A02D9E1C1DDCFC2DDCFC2DDCFC2DDCFC2C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFEEDEFFEEDEFFEEDEFFEEDEFFEEDEFFEEDEC5B5A9C3B4A8C2B3A7C1B2
-              A6C2A6A4FF00FFFF00FFFF00FFFF00FFC2A6A4FFECDAFFECDAFFECDAFFECDAFF
-              ECDAFFECDAB0A296B0A296B0A296B0A296C2A6A4FF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFEAD7FFEAD7FFEAD7FFEAD7FFEAD7C9B9ACFBF8F4FBF8F4E6DAD9C2A6
-              A4FF00FFFF00FFFF00FFFF00FFFF00FFC2A6A4FFE8D3FFE8D3FFE8D3FFE8D3FF
-              E8D3C9B9ACFBF8F4DFCEC7C2A6A4FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              C2A6A4FFE6D0FFE6D0FFE6D0FFE6D0FFE6D0C9B9ACDFCEC7C2A6A4FF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFC2A6A4C2A6A4C2A6A4C2A6A4C2A6A4C2
-              A6A4C2A6A4C2A6A4FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-            ParentDoubleBuffered = False
-            TabOrder = 0
-            OnClick = bbAccountsRefreshClick
-          end
-        end
-      end
-      object pcAccountsOptions: TPageControl
-        Left = 383
-        Top = 66
-        Width = 458
-        Height = 338
-        ActivePage = tsAccountOperations
-        Align = alClient
-        TabOrder = 2
-        object tsAccountOperations: TTabSheet
-          Caption = 'Operations of selected Account'
-          object dgAccountOperations: TDrawGrid
-            Left = 0
-            Top = 0
-            Width = 450
-            Height = 310
-            Align = alClient
-            TabOrder = 0
-            OnDblClick = MiDecodePayloadClick
-            RowHeights = (
-              24
-              24
-              24
-              24
-              24)
-          end
-        end
-        object tsMultiSelectAccounts: TTabSheet
-          Caption = 'Selected accounts for massive operations'
-          ImageIndex = 1
-          ExplicitLeft = 0
-          ExplicitTop = 0
-          ExplicitWidth = 0
-          ExplicitHeight = 0
-          object dgSelectedAccounts: TDrawGrid
-            Left = 41
-            Top = 31
-            Width = 320
-            Height = 253
-            Align = alLeft
-            TabOrder = 0
-            RowHeights = (
-              24
-              24
-              24
-              24
-              24)
-          end
-          object pnlSelectedAccountsTop: TPanel
-            Left = 0
-            Top = 0
-            Width = 450
-            Height = 31
-            Align = alTop
-            BevelOuter = bvNone
-            Font.Charset = DEFAULT_CHARSET
-            Font.Color = clWindowText
-            Font.Height = -13
-            Font.Name = 'Tahoma'
-            Font.Style = [fsBold]
-            ParentFont = False
-            TabOrder = 1
-            object Label15: TLabel
-              Left = 41
-              Top = 4
-              Width = 361
-              Height = 16
-              Caption = 'Select multiple accounts to execute massive operations'
-            end
-          end
-          object pnlSelectedAccountsBottom: TPanel
-            Left = 0
-            Top = 284
-            Width = 450
-            Height = 26
-            Align = alBottom
-            BevelOuter = bvNone
-            TabOrder = 2
-            object Label20: TLabel
-              Left = 41
-              Top = 6
-              Width = 48
-              Height = 13
-              Caption = 'Accounts:'
-            end
-            object lblSelectedAccountsCount: TLabel
-              Left = 96
-              Top = 6
-              Width = 18
-              Height = 13
-              Caption = '000'
-            end
-            object Label22: TLabel
-              Left = 156
-              Top = 6
-              Width = 88
-              Height = 13
-              Caption = 'Accounts Balance:'
-            end
-            object lblSelectedAccountsBalance: TLabel
-              Left = 250
-              Top = 6
-              Width = 18
-              Height = 13
-              Caption = '000'
-            end
-          end
-          object pnlSelectedAccountsLeft: TPanel
-            Left = 0
-            Top = 31
-            Width = 41
-            Height = 253
-            Align = alLeft
-            BevelOuter = bvNone
-            TabOrder = 3
-            object sbSelectedAccountsAdd: TSpeedButton
-              Left = 2
-              Top = 0
-              Width = 33
-              Height = 31
-              Caption = '>'
-              OnClick = sbSelectedAccountsAddClick
-            end
-            object sbSelectedAccountsAddAll: TSpeedButton
-              Left = 2
-              Top = 37
-              Width = 33
-              Height = 31
-              Caption = '>>'
-              OnClick = sbSelectedAccountsAddAllClick
-            end
-            object sbSelectedAccountsDel: TSpeedButton
-              Left = 2
-              Top = 74
-              Width = 33
-              Height = 31
-              Caption = '<'
-              OnClick = sbSelectedAccountsDelClick
-            end
-            object sbSelectedAccountsDelAll: TSpeedButton
-              Left = 2
-              Top = 111
-              Width = 33
-              Height = 31
-              Caption = '<<'
-              OnClick = sbSelectedAccountsDelAllClick
-            end
-          end
-          object bbSelectedAccountsOperation: TBitBtn
-            Left = 367
-            Top = 31
-            Width = 75
-            Height = 61
-            Caption = 'Operations'
-            DoubleBuffered = True
-            Glyph.Data = {
-              F6060000424DF606000000000000360000002800000018000000180000000100
-              180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-              9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-              FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-              00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-              34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-              180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-              00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-              57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-              18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-              DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-              26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-              F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-              D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-              60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-              935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-              00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-              61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-              18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-              FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-              32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-              A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-              FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-              8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-              FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-              00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-              A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-              FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-              F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-              CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-              89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-              9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-              ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-              E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-              FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-              ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-              89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-              C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-              FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-              A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-              FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-              FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-              E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-              FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-              89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-              00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-            Layout = blGlyphTop
-            ParentDoubleBuffered = False
-            TabOrder = 4
-            OnClick = bbSelectedAccountsOperationClick
-          end
-        end
-      end
-    end
-    object tsPendingOperations: TTabSheet
-      Caption = 'Pending Operations'
-      ImageIndex = 5
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object dgPendingOperations: TDrawGrid
-        Left = 0
-        Top = 86
-        Width = 841
-        Height = 318
-        Align = alClient
-        TabOrder = 0
-        OnDblClick = MiDecodePayloadClick
-      end
-      object pnlPendingOperations: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 86
-        Align = alTop
-        BevelOuter = bvNone
-        BorderWidth = 10
-        TabOrder = 1
-        object Label10: TLabel
-          Left = 10
-          Top = 10
-          Width = 821
-          Height = 66
-          Align = alClient
-          AutoSize = False
-          Caption = 
-            'Here you can see Operations transmited/received from other nodes' +
-            ' that will be included in next block. There is no guarantee that' +
-            ' other nodes will include them when mining, so it'#39's important th' +
-            'at you mine too to help include Operations to the main BlockChai' +
-            'n'
-          Font.Charset = DEFAULT_CHARSET
-          Font.Color = clWindowText
-          Font.Height = -16
-          Font.Name = 'Tahoma'
-          Font.Style = []
-          ParentFont = False
-          WordWrap = True
-          ExplicitLeft = 36
-          ExplicitWidth = 765
-          ExplicitHeight = 41
-        end
-      end
-    end
-    object tsBlockChain: TTabSheet
-      Caption = 'BlockChain Explorer'
-      ImageIndex = 1
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object Panel2: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object Label9: TLabel
-          Left = 11
-          Top = 10
-          Width = 102
-          Height = 13
-          Caption = 'Filter by blocks range'
-        end
-        object ebBlockChainBlockStart: TEdit
-          Left = 125
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 0
-          OnExit = ebBlockChainBlockStartExit
-          OnKeyPress = ebBlockChainBlockStartKeyPress
-        end
-        object ebBlockChainBlockEnd: TEdit
-          Left = 185
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 1
-          OnExit = ebBlockChainBlockStartExit
-          OnKeyPress = ebBlockChainBlockStartKeyPress
-        end
-      end
-      object dgBlockChainExplorer: TDrawGrid
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        TabOrder = 1
-      end
-    end
-    object tsOperations: TTabSheet
-      Caption = 'Operations Explorer'
-      ImageIndex = 1
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object Panel1: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object Label2: TLabel
-          Left = 11
-          Top = 10
-          Width = 102
-          Height = 13
-          Caption = 'Filter by blocks range'
-        end
-        object ebFilterOperationsStartBlock: TEdit
-          Left = 125
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 0
-          OnExit = ebFilterOperationsAccountExit
-          OnKeyPress = ebFilterOperationsAccountKeyPress
-        end
-        object ebFilterOperationsEndBlock: TEdit
-          Left = 185
-          Top = 7
-          Width = 57
-          Height = 21
-          TabOrder = 1
-          OnExit = ebFilterOperationsAccountExit
-          OnKeyPress = ebFilterOperationsAccountKeyPress
-        end
-      end
-      object dgOperationsExplorer: TDrawGrid
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        TabOrder = 1
-      end
-    end
-    object tsLogs: TTabSheet
-      Caption = 'Logs'
-      ImageIndex = 2
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      object pnlTopLogs: TPanel
-        Left = 0
-        Top = 0
-        Width = 841
-        Height = 41
-        Align = alTop
-        TabOrder = 0
-        object cbShowDebugLogs: TCheckBox
-          Left = 15
-          Top = 10
-          Width = 97
-          Height = 17
-          Caption = 'Show Debug logs'
-          TabOrder = 0
-        end
-      end
-      object memoLogs: TMemo
-        Left = 0
-        Top = 41
-        Width = 841
-        Height = 363
-        Align = alClient
-        ScrollBars = ssBoth
-        TabOrder = 1
-      end
-    end
-    object tsNodeStats: TTabSheet
-      Caption = 'Node Stats'
-      ImageIndex = 3
-      DesignSize = (
-        841
-        404)
-      object Label3: TLabel
-        Left = 15
-        Top = 15
-        Width = 177
-        Height = 13
-        Caption = 'Active Net Connections of this Node:'
-      end
-      object Label6: TLabel
-        Left = 15
-        Top = 250
-        Width = 169
-        Height = 13
-        Anchors = [akLeft, akBottom]
-        Caption = 'Available or possible Node Servers:'
-        ExplicitTop = 266
-      end
-      object Label7: TLabel
-        Left = 15
-        Top = 146
-        Width = 86
-        Height = 13
-        Anchors = [akLeft, akBottom]
-        Caption = 'BlackList of Nodes'
-        ExplicitTop = 162
-      end
-      object memoNetConnections: TMemo
-        Left = 15
-        Top = 34
-        Width = 810
-        Height = 106
-        Anchors = [akLeft, akTop, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 0
-        WordWrap = False
-      end
-      object memoNetServers: TMemo
-        Left = 15
-        Top = 269
-        Width = 810
-        Height = 116
-        Anchors = [akLeft, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 1
-        WordWrap = False
-      end
-      object memoNetBlackLists: TMemo
-        Left = 15
-        Top = 165
-        Width = 810
-        Height = 79
-        Anchors = [akLeft, akRight, akBottom]
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 2
-        WordWrap = False
-      end
-    end
-    object tsMessages: TTabSheet
-      Caption = 'Messages'
-      ImageIndex = 6
-      ExplicitLeft = 0
-      ExplicitTop = 0
-      ExplicitWidth = 0
-      ExplicitHeight = 0
-      DesignSize = (
-        841
-        404)
-      object Label11: TLabel
-        Left = 15
-        Top = 151
-        Width = 51
-        Height = 13
-        Caption = 'Messages:'
-      end
-      object Label12: TLabel
-        Left = 315
-        Top = 11
-        Width = 85
-        Height = 13
-        Caption = 'Message to send:'
-      end
-      object Label13: TLabel
-        Left = 15
-        Top = 11
-        Width = 107
-        Height = 13
-        Caption = 'Available connections:'
-      end
-      object Label14: TLabel
-        Left = 410
-        Top = 11
-        Width = 361
-        Height = 13
-        Caption = 
-          '(Messages will be encrypted, so only dest connection will be abl' +
-          'e to read it)'
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clGrayText
-        Font.Height = -11
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        ParentFont = False
-      end
-      object lbNetConnections: TListBox
-        Left = 15
-        Top = 30
-        Width = 275
-        Height = 96
-        ItemHeight = 13
-        MultiSelect = True
-        TabOrder = 0
-      end
-      object bbSendAMessage: TButton
-        Left = 315
-        Top = 101
-        Width = 456
-        Height = 25
-        Caption = 'Send a Message'
-        TabOrder = 1
-        OnClick = bbSendAMessageClick
-      end
-      object memoMessages: TMemo
-        Left = 15
-        Top = 170
-        Width = 810
-        Height = 215
-        Anchors = [akLeft, akTop, akRight, akBottom]
-        Font.Charset = DEFAULT_CHARSET
-        Font.Color = clWindowText
-        Font.Height = -16
-        Font.Name = 'Tahoma'
-        Font.Style = []
-        Lines.Strings = (
-          'dsfa '#241'ldsaf '#241'lk dasf'
-          'dsfklda'#241'fs '#241'l')
-        ParentFont = False
-        ReadOnly = True
-        ScrollBars = ssBoth
-        TabOrder = 2
-        WordWrap = False
-      end
-      object memoMessageToSend: TMemo
-        Left = 315
-        Top = 30
-        Width = 456
-        Height = 61
-        Lines.Strings = (
-          'memoMessageToSend')
-        TabOrder = 3
-        WantReturns = False
-      end
-    end
-  end
-  object TrayIcon: TTrayIcon
-    Icon.Data = {
-      0000010001001010000001002000680400001600000028000000100000002000
-      0000010020000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000053000000BE000000E8000000F70000
-      00F7000000E9000000B20000004A000000000000000000000000000000000000
-      00000000000000000015000000B6070D16CE3E6C9BC860A8F0F166B3FFFF66B3
-      FFFF66B3FFFF3E6C9BC8070F16CC000000BA0000002600000000000000000000
-      000000000028000000CC2A4A6BC05391CFFF4C86BFFF599DDFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF2A4D6BC0000000C90000001D000000000000
-      0000000000B62A4D6BC066B3FFFF33597FFF000000FF33597FFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF2A4D6BC0000000B1000000000000
-      0050070F16CC66B3FFFF66B3FFFF40709FFF000000FF22394FFF6FB7FFFF68B4
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF070F16CC000000470000
-      00C13E6C9BC866B3FFFF66B3FFFF5D96CFFF000000FF11181FFF5A7D9FFF5A81
-      A8FF4A759FFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF3E6C9BC8000000BA0000
-      00ED60A8F0F166B3FFFF6FB7FFFF8BC5FFFF000000FF000000FF43515FFF2631
-      3BFF161F27FF5180AFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF000000EF0000
-      00FD66B3FFFF66B3FFFF7DBFFFFF9DCEFFFF22292FFF000000FF000000FF0000
-      00FF000000FF000000FF0C161FFF5391CFFF66B3FFFF66B3FFFF000000FD0000
-      00FD66B3FFFF66B3FFFF84C2FFFFA6D3FFFF3E474FFF000000FF686C6FFF262B
-      2FFF1A2127FF1A242FFF000000FF192C3FFF66B3FFFF66B3FFFF000000FB0000
-      00F666B3FFFF66B3FFFF82C1FFFFA3D1FFFF61707FFF000000FF62686FFF3238
-      3FFF4A5D6FFF6895C2FF000000FF000000FF5391CFFF60A8F0F1000000ED0000
-      00CA3E6C9BC866B3FFFF76BBFFFF94CAFFFF82A0BFFF000000FF30373FFF4251
-      5FFF4B647DFF406283FF000000FF000000FF4C86BFFF3E6C9BC8000000BF0000
-      005B070D12CE66B3FFFF66B3FFFF7DBFFFFF80B0DFFF000000FF000000FF0000
-      00FF000000FF000000FF000000FF0C161FFF66B3FFFF070F16CC000000500000
-      0000000000CF2A4A6BC066B3FFFF66B3FFFF73BAFFFF1F2F3FFF1F2F3FFF1622
-      2FFF0C141DFF080E14FF2C4E6FFF599DDFFF2A4D6BC0000000B6000000000000
-      000000000030000000CF2A4D6BC066B3FFFF66B3FFFF66B3FFFF66B3FFFF599D
-      DFFF39648FFF2C4E6FFF66B3FFFF2A4D6BC0000000CF00000022000000000000
-      0000000000000000002B000000C4070D16CD3E6C9BC866B3FFFF66B3FFFF66B3
-      FFFF60A8F0F13E6C9BC8070D16CD000000C00000002600000000000000000000
-      00000000000000000000000000000000005D000000CE000000F4000000FE0000
-      00FE000000F6000000C60000005600000000000000000000000000000000FFFF
-      0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF
-      0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000}
-    Icons = ImageListIcons
-    Visible = True
-    OnDblClick = TrayIconDblClick
-    Left = 45
-    Top = 20
-  end
-  object TimerUpdateStatus: TTimer
-    OnTimer = TimerUpdateStatusTimer
-    Left = 25
-    Top = 45
-  end
-  object MainMenu: TMainMenu
-    Left = 165
-    Top = 155
-    object miProject: TMenuItem
-      Caption = 'Project'
-      object miPrivatekeys: TMenuItem
-        Caption = 'Private keys'
-        ShortCut = 16464
-        OnClick = miPrivatekeysClick
-      end
-      object miN1: TMenuItem
-        Caption = '-'
-      end
-      object miOptions: TMenuItem
-        Caption = 'Options'
-        ShortCut = 16463
-        OnClick = miOptionsClick
-      end
-      object IPnodes1: TMenuItem
-        Caption = 'IP nodes'
-        OnClick = IPnodes1Click
-      end
-      object N1: TMenuItem
-        Caption = '-'
-      end
-      object MiClose: TMenuItem
-        Caption = 'Close'
-        OnClick = MiCloseClick
-      end
-    end
-    object MiOperations: TMenuItem
-      Caption = 'Operations'
-      object miNewOperation: TMenuItem
-        Caption = 'New single Operation'
-        ShortCut = 120
-        OnClick = miNewOperationClick
-      end
-      object MiFindOperationbyOpHash: TMenuItem
-        Caption = 'Find Operation by OpHash'
-        ShortCut = 116
-        OnClick = MiFindOperationbyOpHashClick
-      end
-      object MiDecodePayload: TMenuItem
-        Caption = 'Decode Payload'
-        ShortCut = 113
-        OnClick = MiDecodePayloadClick
-      end
-      object MiFindaccount: TMenuItem
-        Caption = 'Find account'
-        ShortCut = 16454
-        OnClick = MiFindaccountClick
-      end
-      object MiAccountInformation: TMenuItem
-        Caption = 'Account Information'
-        ShortCut = 112
-        OnClick = MiAccountInformationClick
-      end
-      object N2: TMenuItem
-        Caption = '-'
-      end
-      object MiAddaccounttoSelected: TMenuItem
-        Caption = 'Add account to selected'
-        ShortCut = 117
-        OnClick = MiAddaccounttoSelectedClick
-      end
-      object MiRemoveaccountfromselected: TMenuItem
-        Caption = 'Remove account from selected'
-        ShortCut = 118
-        OnClick = MiRemoveaccountfromselectedClick
-      end
-      object MiMultiaccountoperation: TMenuItem
-        Caption = 'Multi account operation'
-        OnClick = MiMultiaccountoperationClick
-      end
-      object N3: TMenuItem
-        Caption = '-'
-      end
-      object MiFindpreviousaccountwithhighbalance: TMenuItem
-        Caption = 'Find previous account with high balance'
-        ShortCut = 16498
-        OnClick = MiFindpreviousaccountwithhighbalanceClick
-      end
-      object MiFindnextaccountwithhighbalance: TMenuItem
-        Caption = 'Find next account with high balance'
-        ShortCut = 114
-        OnClick = MiFindnextaccountwithhighbalanceClick
-      end
-    end
-    object miAbout: TMenuItem
-      Caption = 'About'
-      object miAboutPascalCoin: TMenuItem
-        Caption = 'About Pascal Coin...'
-        OnClick = miAboutPascalCoinClick
-      end
-    end
-  end
-  object ImageListIcons: TImageList
-    Height = 48
-    Left = 105
-    Top = 180
-    Bitmap = {
-      494C010102000800140210003000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
-      0000000000003600000028000000400000003000000001002000000000000030
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000002A292929D60B0B0BF4111111EE0000006B000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000002A292929D60B0B0BF4111111EE0000006B000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00002A2B2ED766B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF5E768FC00000
-      0032000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000006D6D
-      6D9266B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF292A
-      2DD8000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000006D6D
-      6D9266B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF292A
-      2DD8000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000000000007866B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF2C3032D50000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F31D666B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF68ACF0F10000000B00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F31D666B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF68ACF0F10000000B00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007F7F7F8066B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF2B2F30D600000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000141415EB66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000141415EB66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF68686897000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003566B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF202222E0000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003566B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF202222E0000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000202222E066B3FFFF66B3FFFF66B3
-      FFFF000000FF000000FF79BCFFFF73BAFFFF68B4FFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000586D7FBF66B3FFFF66B3FFFF67B4
-      FFFF000000FF000000FF83C1FFFF3E5F7FFF5C96CFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000586D7FBF66B3FFFF66B3FFFF67B4
-      FFFF000000FF000000FF83C1FFFF3E5F7FFF5C96CFFF66B3FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF66B3FFFF77BC
-      FFFF19242FFF000000FF7198BFFF12181FFF83C2FFFF70B8FFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000002E0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF68B4FFFF7FC0
-      FFFF2D3E4FFF000000FF65829FFF26333FFF8CC6FFFF70B0EFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000007F0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF68B4FFFF7FC0
-      FFFF2D3E4FFF000000FF65829FFF26333FFF8CC6FFFF70B0EFFF66B3FFFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF0000007F0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF74BAFFFF8EC7
-      FFFF7A9DBFFF000000FF000000FF000000FF000000FF000000FF0D161FFF66B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF79BDFFFF94CA
-      FFFF96BADFFF000000FF000000FF000000FF000000FF000000FF000000FF3964
-      8FFF66B3FFFF66B3FFFF66B3FFFF111111EE0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF79BDFFFF94CA
-      FFFF96BADFFF000000FF000000FF000000FF000000FF000000FF000000FF3964
-      8FFF66B3FFFF66B3FFFF66B3FFFF111111EE0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF66B3FFFF82C1FFFF9ECF
-      FFFFB9DCFFFF000000FF000000FF000000FF000000FF000000FF000000FF0000
-      00FF60A8EFFF66B3FFFF66B3FFFF050505FA0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FF33393FFF2A323BFF000000FF000000FF0000
-      00FF20374FFF66B3FFFF66B3FFFF020202FD0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FF33393FFF2A323BFF000000FF000000FF0000
-      00FF20374FFF66B3FFFF66B3FFFF020202FD0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF69B4FFFF88C4FFFFA7D3
-      FFFFC6E3FFFF000000FF000000FFD9ECFFFF697C8FFF000000FF659ACFFF0000
-      00FF000000FF66B3FFFF66B3FFFF0D0D0DF20000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF6AB5FFFF89C4FFFFA8D4
-      FFFFC7E3FFFF000000FF000000FFDAEDFFFF51606FFF000000FF7DBFFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF6AB5FFFF89C4FFFFA8D4
-      FFFFC7E3FFFF000000FF000000FFDAEDFFFF51606FFF000000FF7DBFFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF232323DC0000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF68B4FFFF87C3FFFFA6D3
-      FFFFC3E1FFFF000000FF000000FFD5EAFFFF0B0D0FFF13191FFF7CBEFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000780000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FFCFE7FFFF000000FF25323FFF7ABDFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000280000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000066B3FFFF67B3FFFF85C2FFFFA3D1
-      FFFFBFDFFFFF000000FF000000FFCFE7FFFF000000FF25323FFF7ABDFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000280000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000005E768FC066B3FFFF7EBFFFFF9ACD
-      FFFFB3D9FFFF000000FF000000FFC0E0FFFF000000FF597D9FFF73BAFFFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000212223DF66B3FFFF79BDFFFF94CA
-      FFFFACD6FFFF000000FF000000FFB7DBFFFF000000FF6894BFFF375B7FFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000212223DF66B3FFFF79BDFFFF94CA
-      FFFFACD6FFFF000000FF000000FFB7DBFFFF000000FF6894BFFF375B7FFF0000
-      00FF000000FF66B3FFFF66B3FFFF000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000003F66B3FFFF6EB7FFFF87C3
-      FFFF9BCDFFFF34424FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF000000FF66B3FFFF2B2C2FD6000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF68B4FFFF7FC0
-      FFFF92C9FFFF4F677FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF13212FFF66B3FFFF6E6E6E91000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000066B3FFFF68B4FFFF7FC0
-      FFFF92C9FFFF4F677FFF000000FF000000FF000000FF000000FF000000FF0000
-      00FF13212FFF66B3FFFF6E6E6E91000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000002B2F30D666B3FFFF70B8
-      FFFF80C0FFFF7AACDFFF000000FF000000FF000000FF000000FF000000FF2C4E
-      6FFF66B3FFFF68ACF0F100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007474748B66B3FFFF67B4
-      FFFF77BBFFFF80C0FFFF83C1FFFF7DBFFFFF558BBFFF66B3FFFF2C4E6FFF66B3
-      FFFF66B3FFFF323438D100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000000000007474748B66B3FFFF67B4
-      FFFF77BBFFFF80C0FFFF83C1FFFF7DBFFFFF558BBFFF66B3FFFF2C4E6FFF66B3
-      FFFF66B3FFFF323438D100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000002B2F30D666B3
-      FFFF66B3FFFF6CB6FFFF6EB7FFFF6AB5FFFF66B3FFFF66B3FFFF060B0FFF66B3
-      FFFF68ACF0F10000000A00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000007878788766B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF33597FFF66B3
-      FFFF1D1E1FE20000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000000000000000000007878788766B3
-      FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF33597FFF66B3
-      FFFF1D1E1FE20000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000005252
-      52AD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF2526
-      27DB000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000232425DD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF586D7FBF0000
-      0035000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000232425DD66B3FFFF66B3FFFF66B3FFFF66B3FFFF66B3FFFF586D7FBF0000
-      0035000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000003D161616E9010101FE0C0C0CF37171718E000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000424D3E000000000000003E000000
-      2800000040000000300000000100010000000000800100000000000000000000
-      000000000000000000000000FFFFFF00FC7F000000000000FC7F000000000000
-      F01F000000000000E00F000000000000E00F000000000000E007000000000000
-      C007000000000000C00700000000000080030000000000008003000000000000
-      8003000000000000800100000000000080010000000000008001000000000000
-      0001000000000000000100000000000000010000000000000001000000000000
-      0001000000000000000100000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000001000000000000
-      0001000000000000000100000000000000010000000000000001000000000000
-      0001000000000000800100000000000080010000000000008001000000000000
-      800300000000000080030000000000008003000000000000C007000000000000
-      C007000000000000C007000000000000E00F000000000000F01F000000000000
-      F01F000000000000FC3F00000000000000000000000000000000000000000000
-      000000000000}
-  end
-  object ApplicationEvents: TApplicationEvents
-    OnMinimize = ApplicationEventsMinimize
-    Left = 145
-    Top = 225
-  end
-end

+ 2 - 2
Units/Forms/UFRMWallet.lfm

@@ -1,7 +1,7 @@
 object FRMWallet: TFRMWallet
-  Left = 151
+  Left = 115
   Height = 600
-  Top = 78
+  Top = 22
   Width = 865
   Caption = 'Pascal Coin Wallet, JSON-RPC Miner & Explorer'
   ClientHeight = 580

+ 5 - 16
Units/Forms/UFRMWallet.pas

@@ -1,8 +1,6 @@
 unit UFRMWallet;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -22,11 +20,7 @@ interface
 {$I ./../PascalCoin/config.inc}
 
 uses
-{$IFnDEF FPC}
-  pngimage, Windows, AppEvnts, ShlObj,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Messages, SysUtils, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, ComCtrls, UWalletKeys, StdCtrls,
   ULog, Grids, UAppParams,
@@ -65,7 +59,7 @@ type
     N1: TMenuItem;
     miClose: TMenuItem;
     ilIcons: TImageList;
-    ApplicationEvents: {$IFDEF FPC}TApplicationProperties{$ELSE}TApplicationEvents{$ENDIF};
+    ApplicationEvents: TApplicationProperties;
     IPnodes1: TMenuItem;
     pnlSelectedAccountsBottom: TPanel;
     tbFooter: TToolBar;
@@ -109,11 +103,7 @@ type
 
 implementation
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 uses UThread, UOpTransaction, UUserInterface;
 
@@ -148,6 +138,7 @@ end;
 
 procedure TFRMWallet.ApplicationEventsMinimize(Sender: TObject);
 begin
+  // TODO refactor
   {$IFnDEF FPC}
   Hide();
   WindowState := wsMinimized;
@@ -195,7 +186,6 @@ end;
 procedure TFRMWallet.RefreshConnectivityIcon;
 var   active : boolean;
 const
-
   ImageIndexConst : array[false..true] of integer=(1,0);
   HintConst : array[false..true] of String =('Network is inactive. Click activate.','Network is active. Click to deactivate.');
 begin
@@ -206,7 +196,7 @@ end;
 
 {%endregion}
 
-{%region Handlers: Form size}
+{%region Handlers: Form}
 
 procedure TFRMWallet.FormResize(Sender: TObject);
 begin
@@ -273,7 +263,6 @@ begin
  TUserInterface.ShowOperationsExplorer;
 end;
 
-
 procedure TFRMWallet.miBlockExplorerClick(Sender: TObject);
 begin
   TUserInterface.ShowBlockExplorer;

+ 0 - 800
Units/Forms/UFRMWalletKeys.dfm

@@ -1,800 +0,0 @@
-object FRMWalletKeys: TFRMWalletKeys
-  Left = 0
-  Top = 0
-  BorderIcons = [biSystemMenu]
-  BorderStyle = bsSingle
-  Caption = 'Wallet keys'
-  ClientHeight = 478
-  ClientWidth = 569
-  Color = clBtnFace
-  Font.Charset = DEFAULT_CHARSET
-  Font.Color = clWindowText
-  Font.Height = -11
-  Font.Name = 'Tahoma'
-  Font.Style = []
-  OldCreateOrder = False
-  Position = poOwnerFormCenter
-  OnCreate = FormCreate
-  PixelsPerInch = 96
-  TextHeight = 13
-  object lblEncryptionTypeCaption: TLabel
-    Left = 30
-    Top = 298
-    Width = 80
-    Height = 13
-    Caption = 'Encryption type:'
-  end
-  object lblEncryptionType: TLabel
-    Left = 125
-    Top = 298
-    Width = 54
-    Height = 13
-    Caption = '000000000'
-  end
-  object lblKeyNameCaption: TLabel
-    Left = 30
-    Top = 317
-    Width = 51
-    Height = 13
-    Caption = 'Key name:'
-  end
-  object lblKeyName: TLabel
-    Left = 125
-    Top = 317
-    Width = 329
-    Height = 13
-    AutoSize = False
-    Caption = '000000000'
-  end
-  object lblPrivateKeyCaption: TLabel
-    Left = 30
-    Top = 336
-    Width = 58
-    Height = 13
-    Caption = 'Private key:'
-  end
-  object lblPrivateKeyCaption2: TLabel
-    Left = 30
-    Top = 355
-    Width = 80
-    Height = 13
-    Caption = '(In hexa format)'
-  end
-  object lblKeysEncrypted: TLabel
-    Left = 30
-    Top = 15
-    Width = 274
-    Height = 39
-    AutoSize = False
-    Caption = 'lblKeysEncrypted'
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    ParentFont = False
-    WordWrap = True
-  end
-  object lbWalletKeys: TListBox
-    Left = 30
-    Top = 60
-    Width = 346
-    Height = 227
-    ItemHeight = 13
-    TabOrder = 0
-    OnClick = lbWalletKeysClick
-  end
-  object bbExportPrivateKey: TBitBtn
-    Left = 382
-    Top = 136
-    Width = 159
-    Height = 36
-    Caption = 'Export Private key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF005251
-      5100565758005A5958005B5D5D005D5E5E006361610066666600696969006C6B
-      6B0073706F0072707000747271000E80AA001788AF000B86B2000C85B000098A
-      B700078CBA00198EB7000E91BE001E94BC002898BA003E99BB000493C4000997
-      C7000A9ECF00229BC20035A0C30030AACA0032AACE003DAACC003FB0CB0036A9
-      D0003BB1D9003DBDDA0039B8DE0029BBE0004DBBD90068B0CA0019C7F1001BD4
-      FE002FC6E7003ECDE9002CD3F9002ED8FE003CE0FE0054C0D40059C4D70059C2
-      DD006FC2D6007CC0D50078C1D80049DDFE0054DFFE0061C6E5006CD4EE0064D9
-      E90076DFE9007DDFE90055E0FF0058E0FE006BE3F40063E6FE0060ECFE0075E2
-      FA0077E6FF007BE8FF0071F2FE0088828000928E8C0096908F00969291009794
-      94009E969400A09C9B00A19F9E00ACA09E00A6A2A100A6A4A400ADA5A300AAA5
-      A400ABA8A800ADAAA900B0A5A300B2A7A500B2ABAB00B4ABA900BBB1AE00BEB1
-      AF00BAB3B200BAB4B200BEB6B400C4B8B600C1BCBB0083DFE9008ADAEB0094DF
-      E90089DDF100A4DFEA009AE2F40095EBFD0095EDFE009EEDFF0084F3F90080F5
-      FC008FF6FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00AAEF
-      FD00B4EEF300A4FFFE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9
-      FF00B3FFFE00B9FFFE00C7C2C100C7C6C600CCC4C200CAC7C600CFCCCC00D1C7
-      C500D4CBC900D1CDCD00D5CFCE00D8D0CE00D7D1D000D9D5D400DCD7D600DFD8
-      D600E3DEDD00C3DFEA00CCF6FF00C9FFFE00CFFFFF00D1F7FF00DBF8FE00DFFF
-      FF00E7E3E200E9E5E500ECE9E900EFEEED00F1EBEA00F1EFEE00E5FFFF00F3F1
-      F100F6F2F000F8F5F300F8F5F400F0F7FA00F5FFFF00FBF8F800FAFFFF00FFFE
-      FE00000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0007070707000000000000000000000000000000000000000746967E07000000
-      0000000000000000000000000000000D085E489A5E080D0D0000000000000000
-      00000000000D0D2626075E48A1071F130D0D000000000000000000000D163940
-      3F35075E4C93070707100D000000000000000000123A6B402E353D075E519580
-      4E0707070707000000000000123A6B402E293D42075E4EA19289858281550700
-      00000000123A6B402E292D4266075E4C9689865A475D4D0700000000123A6B40
-      2E292D3C6671077D928A7D0A0A58580700000000123A6B402E292D3C4371079A
-      958007035151550700000000123A6D6C6667778C8F90079A860701574C024A07
-      0000000012727860311E1B151C3407A17E0B534C000445070000000011322023
-      2A282C36426407539A8882040404570700000000103169402E292D3643716207
-      5393825A515A5A0700000000123A6B402E292D3C436662370707070708070700
-      00000000123A6B402E292D3C43663837222117000000000000000000123A6B40
-      2E292D3C436638231A180D000000000000000000123A6B402E292D3C43663822
-      1A180D000000000000000000123A6B402E292D3C436638231A180D0000000000
-      00000000123B757975756F6F6F6F6A3E25190D000000000000000000128BA190
-      8E79736F6F6F6F6D442B0D00000000000000000012279D9D908E796F6F6F6F6F
-      691E0D000000000000000000001214333363615F3B3A2F2F0E0D000000000000
-      0000000000000014121212121212121200000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 4
-    OnClick = bbExportPrivateKeyClick
-  end
-  object memoPrivateKey: TMemo
-    Left = 125
-    Top = 336
-    Width = 416
-    Height = 80
-    TabStop = False
-    BevelInner = bvNone
-    BevelOuter = bvNone
-    Color = clBtnFace
-    Ctl3D = False
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clBlack
-    Font.Height = -16
-    Font.Name = 'Tahoma'
-    Font.Style = []
-    Lines.Strings = (
-      'memoPrivateKey')
-    ParentCtl3D = False
-    ParentFont = False
-    ReadOnly = True
-    TabOrder = 9
-  end
-  object bbChangeName: TBitBtn
-    Left = 460
-    Top = 305
-    Width = 81
-    Height = 25
-    Caption = 'Change Name'
-    DoubleBuffered = True
-    ParentDoubleBuffered = False
-    TabOrder = 8
-    OnClick = bbChangeNameClick
-  end
-  object bbImportPrivateKey: TBitBtn
-    Left = 382
-    Top = 98
-    Width = 159
-    Height = 36
-    Caption = 'Import Private key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF000571
-      0A0008750D0024B53B0029B942002ABA44002EBD4A002FBF4C0033C1500034C2
-      520035C3540037C5570039C659003BC85C003CC95E003FCC630040CC650045D0
-      6B0046D16C0049D472004BD675004ED8790050D97B0051DA7E000E80AA001788
-      AF000B86B200098AB700078CBA00198EB700118EB9000E91BE001E94BC002898
-      BA0055DD810056DF850058E087000493C4000997C7000C9BCB000A9DCE00229B
-      C20015AFD90026A0C80021AACF0035A0C30030AACA0032AACE003DAACC003FB0
-      CB0031AED7003DBDDA0039B8DE0029BBE00056B1CE0052BDDB0068B0CA006BBD
-      D70019C7F1001BD4FE002FC6E70026C2E9003ECDE9002CD3F9002ED8FE003CE0
-      FE0054C0D40059C4D70059C2DD006FC2D60062C3DE007CC0D5007AC6DF0043C8
-      E90054DFFE0060CEEA0079CFE9006CD4EE0064D9E90076DFE9007DDFE90055E0
-      FF006BE3F40060ECFE0075E2FA007BE8FF0071F2FE008FD0E60083DFE9008ADA
-      EB0094DFE90081DBF100A4DFEA0095EBFD0095EEFE009EEDFF0084F3F90080F5
-      FC008FF6FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00AFE8
-      F600B4EEF300A4FFFE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9
-      FF00B3FFFE00B9FFFE00C3DFEA00CCF6FF00C9FFFE00CFFFFF00D1F6FE00DFFF
-      FF00E5FFFF00F0F7FA00F5FFFF00FAFFFF000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000202020200000000000000000000000000000000000000
-      0002040302000000000000000000001818181818181818180002060402000000
-      000000000018182C2C2A3D494B46301D18020906020000000000000018214E53
-      413B4051555D4D3427020D0902000000000000001C4F6353413B405102020202
-      02020F0D02020202020200001C4F6353413B405102242317151311100D090906
-      040200001C4F6353413B40510224242323151311100F0D09060200001C4F6353
-      413B4051020101010102171302010101020100001C4F6353413B4051555D4D34
-      2702231702000000000000001C4F65645D5F6F757878694C3202242302000000
-      000000001C6A7059442F29202D3639485702242402000000000000001B453134
-      3C3A3F4A545B372B1E02242402000000000000001A436153413B4051555D4D34
-      2701020202000000000000001C4F6353413B4051555D4D342725180000000000
-      000000001C4F6353413B4051555D4D342725180000000000000000001C4F6353
-      413B4051555D4D342725180000000000000000001C4F6353413B4051555D4D34
-      2825180000000000000000001C4F6353413B4051555D4D342725180000000000
-      000000001C506D716D6D6767676762523527180000000000000000001C747D7A
-      77716B6767676765563E180000000000000000001C387B7C7977716767676767
-      612F18000000000000000000001C1F47475C5A58504F42421918000000000000
-      000000000000001C1C1C1C1C1C1C1C1C00000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 3
-    OnClick = bbImportPrivateKeyClick
-  end
-  object bbExportPublicKey: TBitBtn
-    Left = 382
-    Top = 212
-    Width = 159
-    Height = 36
-    Caption = 'Export Public key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-      180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-      57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-      26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-      D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-      935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-      61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-      FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-      32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-      A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-      FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-      FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-      A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-      FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-      F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-      CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-      89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-      9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-      ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-      E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-      FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-      ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-      89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-      C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-      A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-      FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-      E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-      89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 6
-    OnClick = bbExportPublicKeyClick
-  end
-  object bbImportPublicKey: TBitBtn
-    Left = 382
-    Top = 174
-    Width = 159
-    Height = 36
-    Caption = 'Import Public key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF74DBFF7ADEFF79DDFF73D9
-      FF5CCCF522ACDD019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE71D9FE
-      71D9FE71D9FE73DAFE76DCFF7BDFFF7ADEFF78DCFF77DCFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE77DEFE77DEFE77DEFE77DEFE76DEFE76DEFE76DEFE78DFFF7CE1FF
-      65D2F8019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7C
-      E3FE7DE4FE7DE3FE5ED1F3019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E2BBF4FE7DE7FE82E8FE81E8FE81E8FE81E8FE81E8FE81E8
-      FE81E8FE81E8FE81E8FE82E8FE84E9FE5ED3F18DEEFF019ACFFF00FFFF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E529ACD8BFEEF88DEFFF85EDFF85EDFF85EDFF
-      85EDFF86EDFF86EDFF86EDFF86EDFF86EDFF87EDFF89EEFF65D9F396F5FF019A
-      CFFF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F31FA7D773CBE7C5FCFF93
-      F7FF93F7FF92F6FF8DF4FF89F3FF89F2FF8BF2FF8BF2FF8BF2FF8BF2FF8EF3FF
-      6ADEF395F8FF98FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB3EB8
-      E920A7D5B6E6F3D0F4FAD1F5FAD2F6FAD5F9FCB9FBFE9BF8FF8FF6FF91F6FF92
-      F6FF93F7FF6BD0B70C85188BEAE0A4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFF64CDFE2CAFE30D9FD30FA0D310A0D310A0D317A3D38ED7ECE2FD
-      FEC3FAFFA5F8FFA3F8FF84DDCF0C851838B5570C8518ABF3EBB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FF6DD4FE6CD4FE69D1FE64CEFB61CDF95BC9F5
-      48BEEB17A3D54BB8DDDFF7FBE8FCFFB1E7DD0C85184ACE7361EB9541C1640C85
-      18D6F6F0ADE9F5019ACFFF00FF019ACF9FE9FF70DCFF76DDFE76DDFE76DDFE75
-      DCFE74DCFE73DCFE73DBFE61CEF61CA8D91CA5D58CCED70C851842C5665BE68C
-      59E1895DE78F3EBD600C8518DBF1EF019ACFFF00FF019ACFA7EFFF76E5FF7CE5
-      FF7CE5FF7CE5FF7CE5FF7DE5FF7DE5FF7DE5FF7DE3FF72DDFB40B8D20C85182D
-      AD474AD47250D97B55DE8359E1885AE38B33AF510C85180197C3FF00FF019ACF
-      ABF6FF7EEDFF85ECFF85ECFF85ECFF85ECFF84ECFF80ECFF7CECFF7DECFF7EEC
-      FF0C85180C85180C85180C851840C7634FDA7A55DF830C85180C85180C85180C
-      8518FF00FF019ACFC7FFFF82F5FF8FF5FF8FF5FF8FF5FF8EF5FF8DF4FFA0FDFF
-      B7FFFFAFFFFFAEFFFFA6F9F4A5FBF8A3FCFA4CB07732B74F48D6704AD3720C85
-      18FF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFF8AFCFF90FCFF90FCFF90
-      FCFF99FDFF86E8F5019ACF019ACF019ACF019ACF019ACF019ACF0486642CB347
-      41D16636BC540C8518FF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFBCFF
-      FFBCFFFFBCFFFFC0FFFF9DF5FB019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FF0C85182BB74538C9580C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACF019ACF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF0C851828BB4126B13E0C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FF0C851814A4241CAE310C8518FF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C96170D991A0C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C85180C85180C
-      8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 5
-    OnClick = bbImportPublicKeyClick
-  end
-  object bbGenerateNewKey: TBitBtn
-    Left = 382
-    Top = 60
-    Width = 159
-    Height = 36
-    Caption = 'Generate a new Key'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000FF00FF007D33
-      2F00993300000C35EB000335FB001342FB00224EFB00325BFC005274FC000E80
-      AA001788AF000B86B200098AB700078CBA00078EBD00118EB9000E91BE001E94
-      BC002898BA000493C4000997C7000A9DCE00229BC20015AFD90026A0C80021AA
-      CF0035A0C30030AACA0032AACE003FB0CB003DBDDA0039B8DE0029BBE00046A6
-      C90056B1CE0052BDDB0068B0CA006BBDD700718DFC0019C7F1001BD4FE002FC6
-      E70026C2E9003ECDE9002CD3F9002ED8FE003CE0FE0054C0D40059C4D70059C2
-      DD006FC2D6007CC0D50076C4DF007AC6DF0043C8E90054DFFE0060CEEA006CD4
-      EE0064D9E90076DFE9007DDFE90055E0FF006BE3F40060ECFE0075E2FA007BE8
-      FF0071F2FE008099FC00A0B2FD00AFBFFD008FD0E60083DFE9008ADAEB0094DF
-      E90081DBF100A4DFEA0095EBFD0095EEFE009EEDFF0084F3F90080F5FC008FF6
-      FB0083F8FE0093F2FE0097F9FE0094FDFE0099FFFE009EFFFE00B4EEF300A4FF
-      FE00A8F9FE00ADFBFE00AAFFFE00B6F1FF00BCF2F800B3F9FF00B3FFFE00B9FF
-      FE00C3DFEA00CFD8FD00DFE5FE00CCF6FF00C9FFFE00CFFFFF00D1F7FF00DFFF
-      FF00EEF1FE00E5FFFF00F0F7FA00F5FFFF00FAFFFF00FEFEFE00000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000020202020202020202020200000000000000000000000000026F6F6F6F
-      64076A6F6F0200000000000000090909090909026F6F6F450504446F6F020000
-      00000009091919172A3638026F6F26040404066F6F020000000009123A3F2E28
-      2D3D41026A070404260504456F02000000000D3B523F2E282D3D410206040545
-      6F4304066F02000000000D3B523F2E282D3D41024407636F6F6A050443020000
-      00000D3B523F2E282D3D41026F6F6F6F6F6F44040401000000000D3B523F2E28
-      2D3D41026F6F6F6F6F6F6F080403000000000D3B523F2E282D3D41026F6F6F6F
-      6F6F6F6A0704040000000D3B54534D4E5D656802020202020202020201030404
-      00000D585E48311C16111A2225354634090000000000040404000C321D1E2927
-      2C37404A23180F21090000000000000404040B30503F2E282D3D414D391E150D
-      090000000000000000000D3B523F2E282D3D414D391E15130900000000000000
-      00000D3B523F2E282D3D414D391F1513090000000000000000000D3B523F2E28
-      2D3D414D391F1513090000000000000000000D3B523F2E282D3D414D391E1513
-      090000000000000000000D3B523F2E282D3D414D391F15130900000000000000
-      00000D3C5B5F5B5B56565656513E2014090000000000000000000D626F69675F
-      595656565654422B090000000000000000000D246C6D69675F5656565656501C
-      09000000000000000000000D1033334B49473C3B2F2F0A090000000000000000
-      00000000000D0D0D0D0D0D0D0D0D000000000000000000000000}
-    ParentDoubleBuffered = False
-    TabOrder = 2
-    OnClick = bbGenerateNewKeyClick
-  end
-  object bbDelete: TBitBtn
-    Left = 382
-    Top = 251
-    Width = 159
-    Height = 36
-    Caption = 'Delete'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A00009A00039D020DA4020D
-      A400039D00009A00009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A020DA4041FB3072FC0
-      0732C20732C20732C20732C2072FC0041FB3020DA400009AFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A01079F0526B807
-      32C20732C20732C20732C20732C20732C20732C20732C20732C20732C20526B8
-      01079F00009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A0210
-      A7062FC50732C50732C20732C20732C20732C20732C20732C20732C20732C207
-      32C20732C20732C2072FC00210A700009AFF00FFFF00FFFF00FFFF00FFFF00FF
-      00009A0210A80633D00633CF0632CA0732C60732C20732C20732C20732C20732
-      C20732C20732C20732C20732C20732C20732C20732C20210A700009AFF00FFFF
-      00FFFF00FFFF00FF01079F0530D70533DA0633D50633D00632CB0732C70732C3
-      0732C20732C20732C20732C20732C20732C20732C20732C20732C20732C2072F
-      C001079FFF00FFFF00FFFF00FF00009A0427CC0534E40533DF0533DB022FD512
-      3DD44868DA042FC70430C30732C20732C20631C2002BC03E5FD01F46C8012CC0
-      0732C20732C20732C20526B800009AFF00FFFF00FF010DA90434EC0434EA0534
-      E50533E1113ADDB3C1F3FEFEFF7F95E50029C7042FC40631C20026BE5F7BD7F9
-      FAFDCED6F32146C80732C20732C20732C20732C2020DA4FF00FF00009A0321CB
-      0335F50434F00434EB0534E6224AE5EFF2FDFFFFFFFFFFFF7E95E60029C80024
-      C25F7AD7F9FAFEFFFFFFFFFFFF4464D10732C20732C20732C20732C2041FB300
-      009A00009A0431E90335FA0335F60434F10434EC002DE64164EAEBEEFCFFFFFF
-      FFFFFF718AE35875DCF9FAFEFFFFFFFCFCFE6781D9022CC00732C20732C20732
-      C20732C2072FC000009A00039E0737F30839FB0537FB0335F70434F20434ED00
-      28E64063EAEAEEFDFFFFFFFDFDFFFCFCFFFFFFFFFBFBFE6781DA0027BE0531C2
-      0732C20732C20732C20732C20732C200039D010DAC1241FB1E4AFB0C3CFB0335
-      FB0335F80435F30434EE0027E7385EEBE9EDFDFFFFFFFFFFFFF8F9FE5F7CDF00
-      25C50631C30732C20732C20732C20732C20732C20732C2020DA4020EAD224EFB
-      456AFC204CFB0335FB0335FB0335F90333F50029EF5272F1ECF0FDFFFFFFFFFF
-      FFF8F9FE718BE5002ACD0430CA0732C50732C20732C20732C20732C20732C202
-      0DA400039F2852F86785FD3E65FC0738FB0335FB0234FB002AFA5D7CF9F9FAFF
-      FFFFFFF4F6FEEEF1FDFFFFFFFFFFFF7E96E8002ACE0430CB0732C60732C30732
-      C20732C20732C200039D00009A2048F37792FD6B88FD1946FB0335FB0130FB5D
-      7DFDF9FAFFFFFFFFFCFCFF5978F3395DEDEBEEFDFFFFFFFFFFFF7F96E90631D1
-      0632CC0732C80732C30732C2072FC000009A00009A112ED76B88FD9AAEFD466B
-      FC093AFB214CFBFAFBFFFFFFFFFCFCFF6482FB002AF20027EC4063EEEBEEFDFF
-      FFFFFFFFFF4466E00633D20633CD0732C90732C4041FB300009AFF00FF0511B2
-      456AFCA8B9FE8FA5FD2E58FC0835FB92A7FDF1F4FF6583FD002AFB0234F90435
-      F40028ED4064EFE6EBFCABBAF5113ADE0633D80633D30633CF0632C9020DA4FF
-      00FFFF00FF00009A1B3DE57A94FDBFCCFE89A1FD2A54FC0637FB2652FC0030FB
-      0234FB0335FB0335FA0335F6002DF01F4AEE0A39E70130E20533DE0533D90633
-      D40526BF00009AFF00FFFF00FFFF00FF0108A72F56F792A8FDCDD7FE97ACFD45
-      6AFC1745FB0637FB0335FB0335FB0335FB0335FA0335F70434F20535ED0535E8
-      0534E40533DF0530D301079FFF00FFFF00FFFF00FFFF00FF00009A0717BA3A61
-      FC95AAFDCFD8FEB6C4FE7A94FD456AFC2752FC1745FB103FFB103FFB1543FB1B
-      48F91A46F40D3BEF0434E90533DF0210A900009AFF00FFFF00FFFF00FFFF00FF
-      FF00FF00009A0717BA3158F7839CFDC0CCFECDD7FEB8C6FE99ADFD7E97FD6C89
-      FD6583FD607FFC5073FC2E58FA0F3DF40431E60210AB00009AFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FF00009A0209A81F40E65073FC819AFDA1B4FE
-      AEBEFEA9BAFE9AAEFD839CFD6281FD3860FC1644F90529D90107A200009AFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF00009A07
-      13B41733DA2C53F73A61FB4066FC3961FC2A54F81741F00826D2010DAD00009A
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF00009A00009A0105A0020EB1010DB00003A000009A00
-      009AFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 7
-    OnClick = bbDeleteClick
-  end
-  object bbUpdatePassword: TBitBtn
-    Left = 382
-    Top = 8
-    Width = 159
-    Height = 38
-    Caption = 'Password'
-    DoubleBuffered = True
-    Font.Charset = DEFAULT_CHARSET
-    Font.Color = clWindowText
-    Font.Height = -13
-    Font.Name = 'Tahoma'
-    Font.Style = [fsBold]
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555005656560057575700585858005959
-      59005A5A5A005B5B5B005C5C5C005D5D5D005E5E5E00685968007C4F7C009441
-      9400B72CB700DD15DD00F506F500FD01FD00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00F008F900D517F000BD24E800A830E1007B4B
-      D0005065C1003774B7002B7DB100237FAC001F82AD001C83AD001785AE001687
-      AF001489B100128AB300108CB6000F8EB9000D91BB000C94BF000A97C3000A99
-      C5000A9AC7000B9BC8000B9CCA000C9ECC000C9FCD000DA0CE000DA1CE000EA2
-      CF0011A3CF0015A4CF0018A5CF001CA7D10021A9D1002AAAD00035AACD0035AD
-      D00035AFD30035B1D60037B5D8003AB8DB003EB9DC0040BBDD0045BEDE004CC1
-      E00055C6E3005BC8E40061CAE40066CBE3006BCCE30072D3E60078D8EB0080D8
-      EE0083D9F10085DCF40088DBF5008BDBF6008EDAF70091DAF70095DCF70097E0
-      F7009EE3F800A4E7F900A9E9F900AEE9F900B5EBF900B2EBF800919191919191
-      919191919191919191919191919191919191919191919191D5E7E8E7E3DED591
-      919191919191919191919191919191D6DDF7F8F8F7F6F4EEE6D5919191919191
-      919191919191D7DADEF8F8F6F7F6EDF1F8F1E69191919191919191919191DADE
-      DFFAFAF8F7F7E9EDF7F7F8EB91919191919191919191DDE5E3FCFCFAFAEEE0E9
-      F3F7F7F7DC919191919191919191DEE7E4FEFEFCFCEDC5E0EFF7F6F6DC919191
-      919191919191DEEAE7FEFEFEFDFBC4C4F5F7F6F6DC919191919191919191E3EC
-      E9FEFEFEFEFEE0C3F9F7F6F6DC919191919191919191E3E9E3F8F8F1F1F8FBFB
-      FCFAF7F6DC919191919191919191DCEAEAE0E1E9E5E3DEE4EBF2FAF9DC919191
-      919191919191DBF3EEC5C5EFF3EBE5DDD9D6E6F5DC91919191919191919191D5
-      E8EDF1FAF6F0EAE4DAD1D2DBDC919191919191919191919191DBE8F0F3F3F3E4
-      D0CFE4D8DC919191919191919191919191919191D5DEE4DED2CFD4D491919191
-      91919191919191919191919191919191D2CE9191919191919191919191919191
-      91C8C89191919191D2CE919191919191919191919191919191D9D09191919191
-      D2CE919191919191919191919191919191E6E39191919191D2CE919191919191
-      919191919191919191E0F3CE91919191D2CE9191919191919191919191919191
-      9191EFF6E1C9C8CDD9CC91919191919191919191919191919191C9EDF9F3F3EB
-      DC91919191919191919191919191919191919191CBE0E1CF9191919191919191
-      9191919191919191919191919191919191919191919191919191}
-    ParentDoubleBuffered = False
-    ParentFont = False
-    TabOrder = 1
-    OnClick = bbUpdatePasswordClick
-  end
-  object bbExportAllWalletKeys: TBitBtn
-    Left = 30
-    Top = 425
-    Width = 201
-    Height = 36
-    Caption = 'Export all Wallet Keys to a file'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C8518FF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FF0C85181399220C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF0C85180C85180C85180C85
-      180C85180C85180C85180C85181DAC31139A220C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE0C8518
-      57E38851DD7E4AD77443D0693BC95E34C1522BBA4725B33C1EAE33149B230C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE0C85185EE89059E48953DE804CD87645D16C3DCA6035C2542DBB49
-      26B53F1FAF35149B250C8518FF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE0C851861EB955FE9925AE58B54DF824DD97846
-      D26D3ECB6237C4562FBD4C27B64021B037159B250C8518FF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E1C2E6ED8ACEE08FCFE18ECFE10C851861EB9561EB955FEA
-      935CE58D56E0844FDB7A48D47040CD6538C65931BF4D1DA3320C8518FF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E52CA9D4C5EFF8ACF3FEA5F2FFA5F2FF0C8518
-      61EB9561EB9561EB9561EB945CE68E57E18650DC7C49D57242CE6727AD410C85
-      18FF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F32A9CC673CBE7D6FEFDB1
-      FBFDB2FBFD0C85180C85180C85180C85180C85180C85180C85180C851852DD7F
-      32B6500C851898FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB748E
-      A224A8D5B9E7F3D5F5F9D5F6F9D6F6FADCFAFBCDFDFCB9FCFCAFFAFCB0FAFCB1
-      FAFC0C85183ABE5C0C85189FFCFFA4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFFB7898973C3DD18A2D218A2D216A2D215A1D21AA4D391D7EBEBFE
-      FDDBFDFCC5FBFBC2FBFB0C85180C851883E4F3B6FDFFBAFFFFB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FFB88989FEF5ECFDF3EBF0EFEAE5EBE8D6E5E6
-      A4D2E025A6D34DB9DDE5F8FBF5FDFCEBFCFB0C8518C4FBFF9CE4F2DAFEFFD9FE
-      FFE3FFFFADE9F5019ACFFF00FF019ACF9FE9FF70DCFFB88989FEF3E9FFF2E6FE
-      F3E9FEF3E9FEF3E9FEF3E9D4E4E439ADD422A5D49DD8ECF1F9FBEEEFEFE9FDFF
-      CEEEF7F8FFFFF7FFFFFEFFFFE9F9FD019ACFFF00FF019ACFA7EFFF76E5FFB889
-      89FFF2E5FFF0E2FFF2E5FFF2E5FFF2E5FFF2E5FFF2E5EAEBE38EC9DA44B0D501
-      9ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACF019ACFFF00FF019ACF
-      ABF6FF7EEDFFB88989FFF0E2FFEFDFFFF0E2FFF0E2FFF0E2FFF0E2FFF0E2FEEE
-      E0FBECDEFAEBDEF6E6D9B8898993F7FF019ACFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACFC7FFFF82F5FFB88989FFEEDFFFECDBFFEEDFFFEEDFFFEEDF
-      FFEEDFF9E8D9DECCC1D9CABDCFBDB4C8B3ACB88989B5FFFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFFB88989FFECDBFFEBD8FF
-      ECDBFFECDBFFECDBFFECDBF5E2D2C4ABA7C2A8A5BBA39FC2AFA9B88989019ACF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFB889
-      89FFEBD8FFEAD5FFEBD8FFEBD8FFEBD8FFEBD8FFEBD8D9C8C5FEFEFDFEF6EFDE
-      C9C0B88989FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACFB88989FFE9D5FFE8D3FFE9D5FFE9D5FFE9D5FFE9D5FFE9D5C6AD
-      A9FEF8F2E8D4CACD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFB88989FFE7D1FFE7D0FFE7D1FFE7D1FFE7D1
-      FFE7D1E7CEBFD3BFB9E8D5CCCD9999FF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB88989FFE6CFFFE6CFFF
-      E6CFFFE6CFFFE6CFFFE6CFD5BBB2E0CCC5CD9999FF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFB889
-      89B88989B88989B88989B88989B88989B88989B88989B88989FF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 10
-    OnClick = bbExportAllWalletKeysClick
-  end
-  object bbImportKeysFile: TBitBtn
-    Left = 247
-    Top = 425
-    Width = 174
-    Height = 36
-    Caption = 'Import a Wallet Keys File'
-    DoubleBuffered = True
-    Glyph.Data = {
-      F6060000424DF606000000000000360000002800000018000000180000000100
-      180000000000C0060000120B0000120B00000000000000000000FF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF0D9FD18BD4EE6BD3F845C0ED28B0E0019ACF01
-      9ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF069CD076C8E5A9E9FE6DD8
-      FF75DBFF77DCFF77DBFF63D1F930B3E3029BD0019ACF019ACF019ACF019ACFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      34AFD9BCE9F86ED8FF6FD8FE70D8FE70D8FE71D8FF74DBFF7ADEFF79DDFF73D9
-      FF5CCCF522ACDD019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FF019ACF1FA9D68FD3EB97E4FF6FD9FE71D9FE71D9FE71D9FE71D9FE
-      71D9FE71D9FE73DAFE76DCFF7BDFFF7ADEFF78DCFF77DCFF019ACFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FF019ACF31B1DC49B7DEBDEEFB71DDFE77DEFE77
-      DEFE77DEFE77DEFE77DEFE77DEFE77DEFE76DEFE76DEFE76DEFE78DFFF7CE1FF
-      65D2F8019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF52C2E71DA7D5ADE2
-      F38FE8FF7CE2FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7CE3FE7C
-      E3FE7DE4FE7DE3FE5ED1F3019ACFFF00FFFF00FFFF00FFFF00FFFF00FF019ACF
-      60CAEF1FA8D85EC1E2BBF4FE7DE7FE82E8FE81E8FE81E8FE81E8FE81E8FE81E8
-      FE81E8FE81E8FE81E8FE82E8FE84E9FE5ED3F18DEEFF019ACFFF00FFFF00FFFF
-      00FFFF00FF019ACF65CFF53EB7E529ACD8BFEEF88DEFFF85EDFF85EDFF85EDFF
-      85EDFF86EDFF86EDFF86EDFF86EDFF86EDFF87EDFF89EEFF65D9F396F5FF019A
-      CFFF00FFFF00FFFF00FFFF00FF019ACF69D1F855C4F31FA7D773CBE7C5FCFF93
-      F7FF93F7FF92F6FF8DF4FF89F3FF89F2FF8BF2FF8BF2FF8BF2FF8BF2FF8EF3FF
-      6ADEF395F8FF98FAFF019ACFFF00FFFF00FFFF00FF019ACF77D5FC5CC8FB3EB8
-      E920A7D5B6E6F3D0F4FAD1F5FAD2F6FAD5F9FCB9FBFE9BF8FF8FF6FF91F6FF92
-      F6FF93F7FF6BD0B70C85188BEAE0A4FFFF43C1E2019ACFFF00FFFF00FF019ACF
-      8BDBFF5FCDFF64CDFE2CAFE30D9FD30FA0D310A0D310A0D317A3D38ED7ECE2FD
-      FEC3FAFFA5F8FFA3F8FF84DDCF0C851838B5570C8518ABF3EBB5FCFD019ACFFF
-      00FFFF00FF019ACF99E2FF67D3FF6DD4FE6CD4FE69D1FE64CEFB61CDF95BC9F5
-      48BEEB17A3D54BB8DDDFF7FBE8FCFFB1E7DD0C85184ACE7361EB9541C1640C85
-      18D6F6F0ADE9F5019ACFFF00FF019ACF9FE9FF70DCFF76DDFE76DDFE76DDFE75
-      DCFE74DCFE73DCFE73DBFE61CEF61CA8D91CA5D58CCED70C851842C5665BE68C
-      59E1895DE78F3EBD600C8518DBF1EF019ACFFF00FF019ACFA7EFFF76E5FF7CE5
-      FF7CE5FF7CE5FF7CE5FF7DE5FF7DE5FF7DE5FF7DE3FF72DDFB40B8D20C85182D
-      AD474AD47250D97B55DE8359E1885AE38B33AF510C85180197C3FF00FF019ACF
-      ABF6FF7EEDFF85ECFF85ECFF85ECFF85ECFF84ECFF80ECFF7CECFF7DECFF7EEC
-      FF0C85180C85180C85180C851840C7634FDA7A55DF830C85180C85180C85180C
-      8518FF00FF019ACFC7FFFF82F5FF8FF5FF8FF5FF8FF5FF8EF5FF8DF4FFA0FDFF
-      B7FFFFAFFFFFAEFFFFA6F9F4A5FBF8A3FCFA4CB07732B74F48D6704AD3720C85
-      18FF00FFFF00FFFF00FFFF00FF019ACFA4E0F0A0FDFF8AFCFF90FCFF90FCFF90
-      FCFF99FDFF86E8F5019ACF019ACF019ACF019ACF019ACF019ACF0486642CB347
-      41D16636BC540C8518FF00FFFF00FFFF00FFFF00FFFF00FF019ACFECFFFFBCFF
-      FFBCFFFFBCFFFFC0FFFF9DF5FB019ACFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FF0C85182BB74538C9580C8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FF019ACF019ACF019ACF019ACF019ACF019ACFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FF0C851828BB4126B13E0C8518FF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF
-      FF00FFFF00FFFF00FFFF00FFFF00FF0C851814A4241CAE310C8518FF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF
-      00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C96170D991A0C8518
-      FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00
-      FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF0C85180C85180C85180C85180C
-      8518FF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FFFF00FF}
-    ParentDoubleBuffered = False
-    TabOrder = 11
-    OnClick = bbImportKeysFileClick
-  end
-  object bbLock: TBitBtn
-    Left = 310
-    Top = 8
-    Width = 66
-    Height = 36
-    Caption = 'Lock'
-    DoubleBuffered = True
-    Glyph.Data = {
-      76060000424D7606000000000000360400002800000018000000180000000100
-      0800000000004002000000000000000000000001000000010000000000000101
-      0100020202000303030004040400050505000606060007070700080808000909
-      09000A0A0A000B0B0B000C0C0C000D0D0D000E0E0E000F0F0F00101010001111
-      1100121212001313130014141400151515001616160017171700181818001919
-      19001A1A1A001B1B1B001C1C1C001D1D1D001E1E1E001F1F1F00202020002121
-      2100222222002323230024242400252525002626260027272700282828002929
-      29002A2A2A002B2B2B002C2C2C002D2D2D002E2E2E002F2F2F00303030003131
-      3100323232003333330034343400353535003636360037373700383838003939
-      39003A3A3A003B3B3B003C3C3C003D3D3D003E3E3E003F3F3F00404040004141
-      4100424242004343430044444400454545004646460047474700484848004949
-      49004A4A4A004B4B4B004C4C4C004D4D4D004E4E4E004F4F4F00505050005151
-      5100525252005353530054545400555555006A4B6A00853F8500B626B600E30F
-      E300F803F800FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00
-      FE00F51CFE00E841FC00DE5FFC00D492FB00CDB6FA00CACDFA00CADCFA00CAE5
-      FA00CAEAFA00CDEEFA00CDF1FA00C7F0FA00BBEEF900B1EAF800AAE8F800A5E6
-      F8009EE2F7009BE0F70098E0F70095DCF70093DBF80091DAF80090DAF7008EDC
-      F6008BDDF50088DDF40085DDF40082DDF3007FDCF3007ADCF20079DAF10077D6
-      EE0076D1EB0074CCE8006FC6E40069C5E20063C4E1005CC1DF0056C1E00050C0
-      E0004DC1E10048C0E00045BEDF0042BBDE0040BBDE003DB9DD003AB9DD0037B8
-      DC0035B6DB0033B5DA0031B3D9002EB1D8002AAFD70025ACD4001EA9D30019A6
-      D10015A5D00013A3CF0011A2CE0010A0CC00109ECA00119ECA00139DC800169B
-      C4001999C1001B94BB001A91B8001C8DB4001E90B7002092B8008A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AF6E7E4E7ECEFF78A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8AF5F0CECECECED0D4DCE7F68A8A8A8A8A8A8A8A8A8A8A8AF5F2
-      EFCDCDD0CFD0DDDACDD6E78A8A8A8A8A8A8A8A8A8A8AF3EEEECACACDD0D0E1DE
-      CECECEDF8A8A8A8A8A8A8A8A8A8AF1E9EDC8C8CACBDDF9E0D4CFD0CEF28A8A8A
-      8A8A8A8A8A8AF0E6EAC6C6C8C8DEFDE7DBCED0D0F28A8A8A8A8A8A8A8A8AEFE2
-      E7C4C4C6C7C9FDFED0D0D0D0F28A8A8A8A8A8A8A8A8AEDD9E3C4C4C4C4C6DFFF
-      CCCFD0D0F28A8A8A8A8A8A8A8A8AEDE2EDCBCDD2D2CDC9C9C8CACED0F28A8A8A
-      8A8A8A8A8A8AF2E3E2E7E6E6ECEFECE1D9CAC9E2F28A8A8A8A8A8A8A8A8AF3D3
-      DEF6F9D6D7E2E9F2F5EEDAE1F28A8A8A8A8A8A8A8A8A8AF1EFF6FACCD2D7E2EF
-      F8F9EBF1F28A8A8A8A8A8A8A8A8A8A8AFDF5FBDFD6D7D9FAF9FBEBF68A8A8A8A
-      8A8A8A8A8A8A8A8A8AF4FC8A8AF1EFFAF8FBF58A8A8A8A8A8A8A8A8A8A8A8A8A
-      8AE8F98A8A8A8AFDF6FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AE0D9FD8A8A8AFD
-      F5FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8AFED2D9FF8AFDFAF68A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8AFFD7D1D7DAE6FC8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8AFFE5E7FD8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A
-      8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A8A}
-    ParentDoubleBuffered = False
-    TabOrder = 12
-    OnClick = bbLockClick
-  end
-  object SaveDialog: TSaveDialog
-    DefaultExt = 'dat'
-    Filter = 'Wallet keys file|*.dat|All files|*.*'
-    FilterIndex = 0
-    Left = 150
-    Top = 150
-  end
-  object OpenDialog: TOpenDialog
-    DefaultExt = 'dat'
-    Filter = 'Wallet keys file (*.dat)|*.dat|All files (*.*)|*.*'
-    FilterIndex = 0
-    Left = 205
-    Top = 155
-  end
-end

+ 4 - 15
Units/Forms/UFRMWalletKeys.pas

@@ -1,8 +1,6 @@
 unit UFRMWalletKeys;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -22,11 +20,10 @@ interface
 uses
   Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, UWalletKeys, Buttons,
-  {$IFDEF FPC}LMessages,{$ENDIF}
-  clipbrd, UConst, UCommon;
+  LMessages, clipbrd, UConst, UCommon;
 
 Const
-  CM_PC_WalletKeysChanged = {$IFDEF FPC}LM_USER{$ELSE}WM_USER{$ENDIF} + 1;
+  CM_PC_WalletKeysChanged = LM_USER + 1;
 
 type
   TFRMWalletKeys = class(TForm)
@@ -86,18 +83,10 @@ type
 implementation
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType,
-{$ENDIF}
   UCrypto, UAccounts, UUserInterface, UFRMNewPrivateKeyType, UAES;
 
-{$IFnDEF FPC}
-  {$R *.dfm}
-{$ELSE}
-  {$R *.lfm}
-{$ENDIF}
+{$R *.lfm}
 
 { TFRMWalletKeys }
 

+ 1 - 12
Units/PascalCoin/UAES.pas

@@ -1,8 +1,6 @@
 unit UAES;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -42,26 +40,17 @@ Type
     Class function EVP_Decrypt_AES256(const EncryptedMessage: TRawBytes; APassword: AnsiString; var Decrypted : AnsiString) : Boolean; overload;
   End;
 
-{$IFDEF FPC}
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
-{$ENDIF}
 
 implementation
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UOpenSSL, UOpenSSLdef;
 
-{$IFDEF FPC}
 procedure CopyMemory(Destination: Pointer; Source: Pointer; Length: DWORD);
 begin
   Move(Source^, Destination^, Length);
 end;
-{$ENDIF}
 
 CONST SALT_MAGIC: AnsiString = 'Salted__'; SALT_MAGIC_LEN: integer = 8; SALT_SIZE = 8;
 

+ 2 - 15
Units/PascalCoin/UAccounts.pas

@@ -1,8 +1,6 @@
 unit UAccounts;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -1499,12 +1497,10 @@ procedure TPCSafeBox.CheckMemory;
     When compiling using Delphi it's memory manager more is efficient and does not increase, but
     When compiling using Free Pascal Compiler, is a good solution to "force" generate a new SafeBox
     in order to free memory not used. Tested with FPC 3.0 }
-{$IFDEF FPC}
 Var sb : TPCSafeBox;
   tc : QWord;
-{$ENDIF}
+
 begin
-  {$IFDEF FPC}
   StartThreadSafe;
   try
     tc := GetTickCount64;
@@ -1521,7 +1517,6 @@ begin
   finally
     EndThreadSave;
   end;
-  {$ENDIF}
 end;
 
 procedure TPCSafeBox.Clear;
@@ -1767,11 +1762,7 @@ begin
         // BufferBlocksHash fill with data
         j := (length(P^.block_hash)*(iBlock));
         for i := 1 to length(P^.block_hash) do begin
-          {$IFDEF FPC}
           FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
-          {$ELSE}
-          FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-{$IFDEF uselowmem}1{$ELSE}0{$ENDIF}]);
-          {$ENDIF}
         end;
         LastReadBlock := block;
         Inc(FWorkSum,block.blockchainInfo.compact_target);
@@ -2404,11 +2395,7 @@ begin
   // Update buffer block hash
   j := (length(P^.block_hash)*(iBlock));
   for i := 1 to length(P^.block_hash) do begin
-    {$IFDEF FPC}
     FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-(low(FBufferBlocksHash)-low(P^.block_hash))]);
-    {$ELSE}
-    FBufferBlocksHash[i+j] := AnsiChar(P^.block_hash[i-{$IFDEF uselowmem}1{$ELSE}0{$ENDIF}]);
-    {$ENDIF}
   end;
 
   FTotalBalance := FTotalBalance - (Int64(lastbalance)-Int64(newBalance));

+ 1 - 5
Units/PascalCoin/UBaseTypes.pas

@@ -1,8 +1,6 @@
 unit UBaseTypes;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2017 by Albert Molina
 
@@ -64,12 +62,10 @@ implementation
 
 { TBaseType }
 
-{$IFnDEF FPC}
 procedure FillByte(var X; count : Integer; value : Byte);
 begin
   FillChar(X,count,value);
 end;
-{$ENDIF}
 
 class procedure TBaseType.T32BytesToRawBytes(const source: T32Bytes; var dest: TDynRawBytes);
 begin

+ 1 - 3
Units/PascalCoin/UBlockChain.pas

@@ -1,8 +1,6 @@
 unit UBlockChain;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 2 - 5
Units/PascalCoin/UChunk.pas

@@ -1,8 +1,6 @@
 unit UChunk;
 
-{$IFDEF FPC}
-  {$mode delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,8 +18,7 @@ unit UChunk;
 interface
 
 uses
-  Classes, SysUtils,  ZLib, {$IFDEF FPC} zStream, {$ENDIF}
-  UAccounts, ULog, UConst, UCrypto;
+  Classes, SysUtils,  ZLib, zStream, UAccounts, ULog, UConst, UCrypto;
 
 type
 

+ 1 - 5
Units/PascalCoin/UConst.pas

@@ -1,8 +1,6 @@
 unit UConst;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -21,12 +19,10 @@ interface
 
 {$I config.inc}
 
-{$IFNDEF FPC}
   // See http://wiki.freepascal.org/Code_Conversion_Guide
 type
   PtrInt = integer;
   PtrUInt = cardinal;
-{$ENDIF}
 
 Const
   CT_Genesis_Magic_String_For_Old_Block_Hash :

+ 1 - 3
Units/PascalCoin/UCrypto.pas

@@ -1,8 +1,6 @@
 unit UCrypto;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 1 - 23
Units/PascalCoin/UECIES.pas

@@ -1,8 +1,6 @@
 unit UECIES;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -54,9 +52,6 @@ function ECIESDecrypt(EC_OpenSSL_NID : Word; PrivateKey: PEC_KEY; logErrors : Bo
 implementation
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ENDIF}
   SysUtils, UAES;
 
 Type
@@ -249,11 +244,7 @@ begin
         exit;
       end;
       // For now we use an empty initialization vector.
-      {$IFDEF FPC}
       FillByte(iv,EVP_MAX_IV_LENGTH,0);
-      {$ELSE}
-      FillMemory(@iv,EVP_MAX_IV_LENGTH,0);
-      {$ENDIF}
       // Setup the cipher context, the body length, and store a pointer to the body buffer location.
 
       {$IFDEF OpenSSL10}
@@ -284,11 +275,7 @@ begin
           end;
           // Copy the remaining data into our partial block buffer. The memset() call ensures any extra bytes will be zero'ed out.
           //SetLength(block,EVP_MAX_BLOCK_LENGTH);
-          {$IFDEF FPC}
           FillByte(block,length(block),0);
-          {$ELSE}
-          FillMemory(@block,length(block),0);
-          {$ENDIF}
           CopyMemory(@block,Pointer(PtrInt(@MessageToEncrypt[1])+body_length),Length(MessageToEncrypt)-body_length);
           // Advance the body pointer to the location of the remaining space, and calculate just how much room is still available.
           body := Pointer(PtrInt(body)+body_length);
@@ -427,11 +414,7 @@ Begin
     // Use the intersection of the provided keys to generate the envelope data used by the ciphers below.
     // The ecies_key_derivation() function uses SHA 512 to ensure we have a sufficient amount of envelope key
     // material and that the material created is sufficiently secure.
-    {$IFDEF FPC}
     FillByte(envelope_key,length(envelope_key),0);
-    {$ELSE}
-    FillMemory(@envelope_key,length(envelope_key),0);
-    {$ENDIF}
     if (ECDH_compute_key(@envelope_key,SHA512_DIGEST_LENGTH,EC_KEY_get0_public_key(ephemeral),
       PrivateKey, ecies_key_derivation_512)<>SHA512_DIGEST_LENGTH) then begin
       if logErrors then TLog.NewLog(lterror,'ECIES',Format('An error occurred while trying to compute the envelope key. {error = %s}',[ERR_error_string(ERR_get_error, nil)]));
@@ -476,13 +459,8 @@ Begin
   block := output;
   try
     // For now we use an empty initialization vector. We also clear out the result buffer just to be on the safe side.
-    {$IFDEF FPC}
     FillByte(iv,EVP_MAX_IV_LENGTH,0);
     FillByte(output^,output_length+1,0);
-    {$ELSE}
-    FillMemory(@iv,EVP_MAX_IV_LENGTH,0);
-    FillMemory(output,output_length+1,0);
-    {$ENDIF}
     {$IFDEF OpenSSL10}
     EVP_CIPHER_CTX_init(@cipher);
     pcipher := @cipher;

+ 1 - 3
Units/PascalCoin/UFileStorage.pas

@@ -1,8 +1,6 @@
 unit UFileStorage;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 1 - 3
Units/PascalCoin/ULog.pas

@@ -1,8 +1,6 @@
 unit ULog;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 2 - 9
Units/PascalCoin/UNetProtocol.pas

@@ -1,8 +1,6 @@
 unit UNetProtocol;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,6 @@ unit UNetProtocol;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UBlockChain, Classes, SysUtils, UAccounts, UThread,
   UCrypto, UTCPIP, SyncObjs, UCommon;
 
@@ -3113,7 +3106,7 @@ begin
       data.Write(nsa.last_connection,4);
     end;
     // Send client version
-    TStreamOp.WriteAnsiString(data,CT_ClientAppVersion{$IFDEF LINUX}+'l'{$ELSE}+'w'{$ENDIF}{$IFDEF FPC}{$IFDEF LCL}+'L'{$ELSE}+'F'{$ENDIF}{$ENDIF});
+    TStreamOp.WriteAnsiString(data,CT_ClientAppVersion{$IFDEF LINUX}+'l'{$ELSE}+'w'{$ENDIF}{$IFDEF LCL}+'L'{$ELSE}+'F'{$ENDIF});
     // Build 1.5 send accumulated work
     data.Write(TNode.Node.Bank.SafeBox.WorkSum,SizeOf(TNode.Node.Bank.SafeBox.WorkSum));
     //

+ 1 - 3
Units/PascalCoin/UNode.pas

@@ -1,8 +1,6 @@
 unit UNode;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 1 - 3
Units/PascalCoin/UOpTransaction.pas

@@ -1,8 +1,6 @@
 unit UOpTransaction;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 7 - 17
Units/PascalCoin/UOpenSSL.pas

@@ -20,9 +20,8 @@ unit UOpenSSL;
 
 interface
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
+
 
 Uses UOpenSSLdef;
 {$I config.inc}
@@ -35,17 +34,12 @@ var
   SSL_C_LIB : AnsiString = './libcrypto.so.1.1';
   {$ENDIF}
 {$ELSE}
-  {$IFDEF FPC}
   // Windows + Lazarus uses a OpenSSL v1.0 32 or 64 bits
-    {$ifdef CPU32}
-	SSL_C_LIB : AnsiString = 'libeay32.dll';
-    {$ENDIF}
-    {$ifdef CPU64}
-	SSL_C_LIB : AnsiString = 'libeay64.dll';
-    {$ENDIF}
-  {$ELSE}
-  // Windows + Delphi only allows OpenSSL v1.0 32 bits
-  SSL_C_LIB : AnsiString = 'libeay32.dll';
+  {$ifdef CPU32}
+      SSL_C_LIB : AnsiString = 'libeay32.dll';
+  {$ENDIF}
+  {$ifdef CPU64}
+      SSL_C_LIB : AnsiString = 'libeay64.dll';
   {$ENDIF}
 {$ENDIF}
 
@@ -236,11 +230,7 @@ begin
   {$ENDIF}
   if ACritical then begin
     if Result = nil then begin
-    {$IFDEF FPC}
      raise Exception.CreateFmt('Error loading OpenSSL library function "%s" error: "%s". Are you sure that using OpenSSL good version?', [FceName, SysErrorMessage(GetLastOSError)]);
-    {$ELSE}
-     raise Exception.CreateFmt('Error loading OpenSSL library function "%s" error: "%s". Are you sure that using OpenSSL good version?', [FceName, SysErrorMessage(GetLastError)]);
-    {$ENDIF}
     end;
   end;
 end;

+ 1 - 3
Units/PascalCoin/UOpenSSLdef.pas

@@ -20,9 +20,7 @@ unit UOpenSSLdef;
 
 interface
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 uses {$IFDEF UNIX}BaseUnix {$ELSE} Windows{$ENDIF};
 

+ 1 - 8
Units/PascalCoin/UPoolMining.pas

@@ -1,8 +1,6 @@
 unit UPoolMining;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,6 @@ unit UPoolMining;
 interface
 
 Uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UTCPIP, SysUtils, UThread, SyncObjs, Classes, UJSONFunctions, UAES, UNode,
   UCrypto, UAccounts, UConst, UBlockChain;
 

+ 2 - 5
Units/PascalCoin/URPC.pas

@@ -1,8 +1,6 @@
 unit URPC;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -103,8 +101,7 @@ Type
 
 implementation
 
-Uses  {$IFNDEF FPC}windows,{$ENDIF}
-  SysUtils, Synautil;
+Uses SysUtils, Synautil;
 
 var _RPCServer : TRPCServer = Nil;
 

+ 1 - 3
Units/PascalCoin/UServerApp.pas

@@ -1,8 +1,6 @@
 unit UServerApp;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 {$IFDEF MSWINDOWS}
   {$DEFINE OS_MSWIN}

+ 1 - 11
Units/PascalCoin/UTCPIP.pas

@@ -15,9 +15,7 @@ unit UTCPIP;
 
 interface
 
-{$IFDEF FPC}
-  {$mode objfpc}
-{$ENDIF}
+{$mode delphi}
 
 {$I config.inc}
 
@@ -195,11 +193,6 @@ type
 implementation
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   UConst, ULog;
 
 { TNetTcpIpClient }
@@ -311,9 +304,6 @@ end;
 procedure TNetTcpIpClient.Disconnect;
 Var DebugStep : AnsiString;
 begin
-  {$IFDEF DelphiSockets}
-  FTcpBlockSocket.Disconnect;
-  {$ENDIF}
   {$IFDEF Synapse}
   if Not FConnected then exit;
   Try

+ 1 - 7
Units/PascalCoin/UThread.pas

@@ -1,8 +1,6 @@
 unit UThread;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UThread;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   {$IFDEF LINUX}cthreads,{$ENDIF}
-{$ENDIF}
   Classes, SyncObjs;
 
 {$I config.inc}

+ 1 - 43
Units/PascalCoin/UTime.pas

@@ -1,8 +1,6 @@
 unit UTime;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,18 +18,8 @@ unit UTime;
 interface
 
 Uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   SysUtils;
 
-{$IFnDEF FPC}
-function TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation: PTimeZoneInformation; var lpLocalTime, lpUniversalTime: TSystemTime): BOOL; stdcall;
-function SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation: PTimeZoneInformation; var lpUniversalTime,lpLocalTime: TSystemTime): BOOL; stdcall;
-{$ENDIF}
-
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
 
@@ -43,12 +31,7 @@ Function DateTimeElapsedTime(dtDate : TDateTime) : AnsiString;
 
 implementation
 
-{$IFDEF FPC}
 Uses DateUtils;
-{$ELSE}
-function TzSpecificLocalTimeToSystemTime; external 'kernel32.dll' name 'TzSpecificLocalTimeToSystemTime';
-function SystemTimeToTzSpecificLocalTime; external kernel32 name 'SystemTimeToTzSpecificLocalTime';
-{$ENDIF}
 
 const
     UnixStartDate: TDateTime = 25569.0; // 01/01/1970
@@ -73,40 +56,15 @@ Begin
 End;
 
 Function DateTime2UnivDateTime(d:TDateTime):TDateTime;
-{$IFDEF FPC}
 begin
   Result := LocalTimeToUniversal(d,-GetLocalTimeOffset);
 end;
-{$ELSE}
-var
- TZI:TTimeZoneInformation;
- LocalTime, UniversalTime:TSystemTime;
-begin
-  GetTimeZoneInformation(tzi);
-  DateTimeToSystemTime(d,LocalTime);
-  TzSpecificLocalTimeToSystemTime(@tzi,LocalTime,UniversalTime);
-  Result := SystemTimeToDateTime(UniversalTime);
-end;
-{$ENDIF}
 
 Function UnivDateTime2LocalDateTime(d:TDateTime):TDateTime;
-{$IFDEF FPC}
 begin
   Result := UniversalTimeToLocal(d,-GetLocalTimeOffset);
 end;
 
-{$ELSE}
-var
- TZI:TTimeZoneInformation;
- LocalTime, UniversalTime:TSystemTime;
-begin
-  GetTimeZoneInformation(tzi);
-  DateTimeToSystemTime(d,UniversalTime);
-  SystemTimeToTzSpecificLocalTime(@tzi,UniversalTime,LocalTime);
-  Result := SystemTimeToDateTime(LocalTime);
-end;
-{$ENDIF}
-
 function UnivDateTimeToUnix(dtDate: TDateTime): Longint;
 begin
   Result := Round((dtDate - UnixStartDate) * 86400);

+ 1 - 3
Units/PascalCoin/UWalletKeys.pas

@@ -1,8 +1,6 @@
 unit UWalletKeys;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 9 - 32
Units/PascalCoin/config.inc

@@ -25,7 +25,6 @@
 }
 
   {$DEFINE OPTIONS_BY_DEFAULT}
-  {.$DEFINE DelphiSockets_OpenSSLv10}
   {.$DEFINE Synapse_OpenSSLv10}
   {.$DEFINE Synapse_OpenSSLv11}
 
@@ -54,45 +53,23 @@ ERROR: You must select ONE option!
 {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}
 {$IFDEF OPTIONS_BY_DEFAULT}
   // By default are: Delphi = Synapse + OpenSSLv10  -  FPC = Synapse + OpenSSLv11
-  {$IFDEF FPC}
     // With Free Pascal Compiler, only Synapse + OpenSSLv1.0 for Delphi or OpenSSLv1.1 for Linux
-    {$DEFINE Synapse}
-    {$IFDEF LINUX}
-    {$UNDEF OpenSSL10}
-    {$ELSE}
-    {$DEFINE OpenSSL10}
-    {$ENDIF}
+  {$DEFINE Synapse}
+  {$IFDEF LINUX}
+  {$UNDEF OpenSSL10}
   {$ELSE}
-    // Delphi, Synapse + OpenSSL v1.0
-    {$DEFINE Synapse}
-    {$DEFINE OpenSSL10}
+  {$DEFINE OpenSSL10}
   {$ENDIF}
-  {$IFDEF DelphiSockets_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
   {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
 {$ELSE}
-  {$IFDEF DelphiSockets_OpenSSLv10}
-    {$IFDEF FPC}
-      ERROR: With Free Pascal you cannot choose compiler directive DelphiSockets_OpenSSLv10
-    {$ELSE}
-      {$UNDEF Synapse}
-      {$DEFINE OpenSSL10}
-    {$ENDIF}
-    {$IFDEF Synapse_OpenSSLv10}ERROR: You selected more than 1 option{$ENDIF}
+  {$IFDEF Synapse_OpenSSLv10}
+    {$DEFINE Synapse}
+    {$DEFINE OpenSSL10}
     {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
   {$ELSE}
-    {$IFDEF Synapse_OpenSSLv10}
-      {$DEFINE Synapse}
-      {$DEFINE OpenSSL10}
-      {$IFDEF Synapse_OpenSSLv11}ERROR: You selected more than 1 option{$ENDIF}
-    {$ELSE}
-      {$IFDEF FPC}
-        {$DEFINE Synapse}
-        {$UNDEF OpenSSL10}
-      {$ELSE}
-        ERROR: With Delphi you cannot choose compiler directive Synapse_OpenSSLv11
-      {$ENDIF}
-    {$ENDIF}
+    {$DEFINE Synapse}
+    {$UNDEF OpenSSL10}
   {$ENDIF}
 {$ENDIF}
 

+ 1 - 3
Units/Utils/UAppParams.pas

@@ -1,8 +1,6 @@
 unit UAppParams;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 

+ 2 - 4
Units/Utils/UCommon.pas

@@ -17,14 +17,12 @@
 unit UCommon;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 interface
 
 uses
-  Classes, SysUtils, Forms, Controls, FGL, Generics.Collections, Generics.Defaults;
+  Classes, SysUtils, Generics.Collections, Generics.Defaults;
 
 { GLOBAL FUNCTIONS }
 

+ 1 - 3
Units/Utils/UCommonUI.pas

@@ -17,9 +17,7 @@
 unit UCommonUI;
 
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 interface
 

+ 1 - 34
Units/Utils/UFolderHelper.pas

@@ -1,8 +1,6 @@
 unit UFolderHelper;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -41,9 +39,6 @@ Type TFileVersionInfo = record
 
   TFolderHelper = record
   strict private
-    {$IFnDEF FPC}
-    class function GetFolder(const aCSIDL: Integer): string; static;
-    {$ENDIF}
     class function GetAppDataFolder : string; static;
   public
     class function GetPascalCoinDataFolder : string; static;
@@ -53,51 +48,23 @@ Type TFileVersionInfo = record
 implementation
 
 uses
-{$IFnDEF FPC}
-  Windows, ShlObj,
-  {$DEFINE FILEVERSIONINFO}
-{$ELSE}
   {$IFnDEF LINUX}
   Windows,
   {$DEFINE FILEVERSIONINFO}
   {$ENDIF}
-  {LCLIntf, LCLType, LMessages,}
-{$ENDIF}
   SysUtils;
 
 {$I .\..\PascalCoin\config.inc}
 
-{$IFnDEF FPC}
-function SHGetFolderPath(hwnd: HWND; csidl: Integer; hToken: THandle;
-  dwFlags: DWord; pszPath: LPWSTR): HRESULT; stdcall;
-  forward;
-function SHGetFolderPath; external 'SHFolder.dll' name 'SHGetFolderPathW';
-{$ENDIF}
-
 class function TFolderHelper.GetAppDataFolder: string;
 begin
-  {$IFDEF FPC}
   {$IFDEF LINUX}
   Result :=GetEnvironmentVariable('HOME');
   {$ELSE}
   Result :=GetEnvironmentVariable('APPDATA');
   {$ENDIF}
-  {$ELSE}
-  Result := GetFolder(CSIDL_APPDATA); // c:\Users\(User Name)\AppData\Roaming
-  {$ENDIF}
 end;
 
-{$IFnDEF FPC}
-class function TFolderHelper.GetFolder(const aCSIDL: Integer): string;
-var
-  FolderPath: array[0 .. MAX_PATH] of Char;
-begin
-  Result := '';
-  if SHGetFolderPath(0, aCSIDL, 0, 0, @FolderPath) = S_OK then
-    Result := FolderPath;
-end;
-{$ENDIF}
-
 class function TFolderHelper.GetPascalCoinDataFolder: string;
 begin
   {$IFDEF TESTNET}

+ 4 - 23
Units/Utils/UGridUtils.pas

@@ -1,8 +1,6 @@
 unit UGridUtils;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,11 +18,7 @@ unit UGridUtils;
 interface
 
 uses
-{$IFnDEF FPC}
-  Windows,
-{$ELSE}
   LCLIntf, LCLType, LMessages,
-{$ENDIF}
   Classes, Grids, UNode, UAccounts, UBlockChain, UAppParams,
   UWalletKeys, UCrypto, UPoolMining, URPC;
 
@@ -282,7 +276,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
   if FAllowMultiSelect then DrawGrid.Options := DrawGrid.Options + [goRangeSelect];
   FDrawGrid.Invalidate;
   if Assigned(FOnUpdated) then FOnUpdated(Self);
@@ -361,7 +355,6 @@ begin
   end;
 end;
 
-{$IFDEF FPC}
 Type
 TTextFormats = (tfBottom, tfCalcRect, tfCenter, tfEditControl, tfEndEllipsis,
   tfPathEllipsis, tfExpandTabs, tfExternalLeading, tfLeft, tfModifyString,
@@ -390,12 +383,6 @@ Begin
   ts.SystemFont:=false;
   Canvas.TextRect(Rect,Rect.Left,Rect.Top,Text,ts);
 end;
-{$ELSE}
-Procedure Canvas_TextRect(Canvas : TCanvas; var Rect: TRect; var Text: string; State: TGridDrawState; TextFormat: TTextFormat = []);
-Begin
-  Canvas.TextRect(Rect,Text,TextFormat);
-end;
-{$ENDIF}
 
 procedure TAccountsGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
   Function FromColorToColor(colorstart,colordest : Integer; step,totalsteps : Integer) : Integer;
@@ -429,9 +416,7 @@ begin
     C.ColumnType := act_account_number;
     C.width := -1;
   end;
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   if (ARow=0) then begin
     // Header
     s := CT_ColumnHeader[C.ColumnType];
@@ -669,7 +654,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
 end;
 
 procedure TOperationsGrid.Notification(AComponent: TComponent; Operation: TOperation);
@@ -686,9 +671,7 @@ procedure TOperationsGrid.OnGridDrawCell(Sender: TObject; ACol, ARow: Integer; R
 Var s : String;
   opr : TOperationResume;
 begin
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   opr := CT_TOperationResume_NUL;
   Try
   if (ARow=0) then begin
@@ -1034,7 +1017,7 @@ begin
   DrawGrid.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine,
     {goRangeSelect, }goDrawFocusSelected, {goRowSizing, }goColSizing, {goRowMoving,}
     {goColMoving, goEditing, }goTabs, goRowSelect, {goAlwaysShowEditor,}
-    goThumbTracking{$IFnDEF FPC}, goFixedColClick, goFixedRowClick, goFixedHotTrack{$ENDIF}];
+    goThumbTracking];
   UpdateBlockChainGrid;
 end;
 
@@ -1056,9 +1039,7 @@ Var s : String;
   bcd : TBlockChainData;
   deviation : Real;
 begin
-  {.$IFDEF FPC}
   DrawGrid.Canvas.Font.Color:=clBlack;
-  {.$ENDIF}
   if (ARow=0) then begin
     // Header
     case ACol of

+ 1 - 77
Units/Utils/UJSONFunctions.pas

@@ -1,8 +1,6 @@
 unit UJSONFunctions;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 { Copyright (c) 2016 by Albert Molina
 
@@ -20,18 +18,11 @@ unit UJSONFunctions;
 interface
 
 Uses
-  {$IFDEF FPC}
   fpjson, jsonparser,
-  {$ELSE}
-  DBXJSON,
-  {$ENDIF}
   SysUtils, DateUtils, Variants, Classes, ULog;
 
 Type
-  {$IFDEF FPC}
   TJSONValue = TJSONData;
-  {$ENDIF}
-
   TPCJSONData = Class
   private
     FParent : TPCJSONData;
@@ -210,7 +201,6 @@ constructor TPCJSONArray.CreateFromJSONArray(JSONArray: TJSONArray);
 Var i : Integer;
 begin
   Create;
-{$IFDEF FPC}
   for i := 0 to JSONArray.Count - 1 do begin
     if (JSONArray.Items[i] is TJSONArray) then begin
       Insert(i,TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONArray.Items[i])));
@@ -220,17 +210,6 @@ begin
       Insert(i,TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONArray.Items[i])));
     end else raise EPCParametresError.Create('Invalid TJSON Data: '+JSONArray.Items[i].ClassName);
   end;
-{$ELSE}
-  for i := 0 to JSONArray.Size - 1 do begin
-    if (JSONArray.Get(i) is TJSONArray) then begin
-      Insert(i,TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONArray.Get(i))));
-    end else if (JSONArray.Get(i) is TJSONObject) then begin
-      Insert(i,TPCJSONObject.CreateFromJSONObject(TJSONObject(JSONArray.Get(i))));
-    end else if (JSONArray.Get(i) is TJSONValue) then begin
-      Insert(i,TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONArray.Get(i))));
-    end else raise EPCParametresError.Create('Invalid TJSON Data: '+JSONArray.Get(i).ClassName);
-  end;
-{$ENDIF}
 end;
 
 
@@ -481,37 +460,9 @@ begin
 end;
 
 constructor TPCJSONVariantValue.CreateFromJSONValue(JSONValue: TJSONValue);
-{$IFnDEF FPC}
-Var d : Double;
-    i64 : Integer;
-  ds,ts : Char;
-{$ENDIF}
 begin
   Create;
-  {$IFDEF FPC}
   Value := JSONValue.Value;
-  {$ELSE}
-  if JSONValue is TJSONNumber then begin
-    d := TJSONNumber(JSONValue).AsDouble;
-    if Pos('.',JSONValue.ToString)>0 then i64 := 0
-    else i64 := TJSONNumber(JSONValue).AsInt;
-    ds := DecimalSeparator;
-    ts := ThousandSeparator;
-    DecimalSeparator := '.';
-    ThousandSeparator := ',';
-    Try
-      if FormatFloat('0.###########',d)=inttostr(i64) then
-        Value := i64
-      else Value := d;
-    Finally
-      DecimalSeparator := ds;
-      ThousandSeparator := ts;
-    End;
-  end else if JSONValue is TJSONTrue then Value := true
-  else if JSONValue is TJSONFalse then Value := false
-  else if JSONValue is TJSONNull then Value := Null
-  else Value := JSONValue.Value;
-  {$ENDIF}
 end;
 
 function TPCJSONVariantValue.IsNull: Boolean;
@@ -722,12 +673,9 @@ end;
 
 constructor TPCJSONObject.CreateFromJSONObject(JSONObject: TJSONObject);
 var i,i2 : Integer;
-  {$IFDEF FPC}
   aname : TJSONStringType;
-  {$ENDIF}
 begin
   Create;
-  {$IFDEF FPC}
   for i := 0 to JSONObject.Count - 1 do begin
     aname := JSONObject.Names[i];
     i2 := GetIndexOrCreateName(JSONObject.Names[i]);
@@ -739,18 +687,6 @@ begin
       (Items[i2] as TPCJSONNameValue).Value := TPCJSONVariantValue.CreateFromJSONValue(JSONObject.Items[i]);
     end else raise EPCParametresError.Create('Invalid TJSON Data in JSONObject.'+aname+': '+JSONObject.Items[i].ClassName);
   end;
-  {$ELSE}
-  for i := 0 to JSONObject.Size - 1 do begin
-    i2 := GetIndexOrCreateName(JSONObject.Get(i).JsonString.Value);
-    if (JSONObject.Get(i).JsonValue is TJSONArray) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONArray.CreateFromJSONArray(TJSONArray(JSONObject.Get(i).JsonValue));
-    end else if (JSONObject.Get(i).JsonValue is TJSONObject) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONObject.CreateFromJSONObject(TJSONObject(JSONObject.Get(i).JsonValue));
-    end else if (JSONObject.Get(i).JsonValue is TJSONValue) then begin
-      (Items[i2] as TPCJSONNameValue).Value := TPCJSONVariantValue.CreateFromJSONValue(TJSONValue(JSONObject.Get(i).JsonValue));
-    end else raise EPCParametresError.Create('Invalid TJSON Data in JSONObject.'+JSONObject.Get(i).JsonString.Value+': '+JSONObject.Get(i).ClassName);
-  end;
-  {$ENDIF}
 end;
 
 
@@ -988,14 +924,11 @@ end;
 
 class function TPCJSONData.ParseJSONValue(Const JSONObject: TBytes): TPCJSONData;
 Var JS : TJSONValue;
-  {$IFDEF FPC}
   jss : TJSONStringType;
   i : Integer;
-  {$ENDIF}
 begin
   Result := Nil;
   JS := Nil;
-  {$IFDEF FPC}
   SetLength(jss,length(JSONObject));
   for i:=0 to High(JSONObject) do jss[i+1] := AnsiChar( JSONObject[i] );
   Try
@@ -1005,15 +938,6 @@ begin
       TLog.NewLog(ltDebug,ClassName,'Error processing JSON: '+E.Message);
     end;
   end;
-  {$ELSE}
-  Try
-    JS := TJSONObject.ParseJSONValue(JSONObject,0);
-  Except
-    On E:Exception do begin
-      TLog.NewLog(ltDebug,ClassName,'Error processing JSON: '+E.Message);
-    end;
-  End;
-  {$ENDIF}
   if Not Assigned(JS) then exit;
   Try
     if JS is TJSONObject then begin

+ 1 - 3
Units/Utils/UWizard.pas

@@ -15,9 +15,7 @@
 
 unit UWizard;
 
-{$IFDEF FPC}
-  {$MODE Delphi}
-{$ENDIF}
+{$mode delphi}
 
 interface