Răsfoiți Sursa

Removing no-longer-used Log window code

Source commit: 53c860da032e5cd0b039159f4374343e5e9fe7d9
Martin Prikryl 8 ani în urmă
părinte
comite
55625bfcd6
41 a modificat fișierele cu 287 adăugiri și 4891 ștergeri
  1. 0 5
      source/DScpComp.cbproj
  2. 0 5
      source/RScpComp.cbproj
  3. 0 7
      source/ScpForms.cbproj
  4. 0 423
      source/components/LogMemo.cpp
  5. 0 149
      source/components/LogMemo.h
  6. 0 21
      source/core/Configuration.cpp
  7. 0 5
      source/core/Configuration.h
  8. 239 360
      source/core/SessionInfo.cpp
  9. 6 27
      source/core/SessionInfo.h
  10. 2 4
      source/core/Terminal.cpp
  11. 0 1
      source/forms/CustomScpExplorer.cpp
  12. 0 1
      source/forms/Glyphs.cpp
  13. 2 449
      source/forms/Glyphs.dfm
  14. 0 1
      source/forms/Glyphs.h
  15. 2 474
      source/forms/Glyphs120.dfm
  16. 0 1
      source/forms/Glyphs120.h
  17. 2 490
      source/forms/Glyphs144.dfm
  18. 0 1
      source/forms/Glyphs144.h
  19. 2 533
      source/forms/Glyphs192.dfm
  20. 0 1
      source/forms/Glyphs192.h
  21. 0 223
      source/forms/Log.cpp
  22. 0 1407
      source/forms/Log.dfm
  23. 0 58
      source/forms/Log.h
  24. 0 40
      source/forms/NonVisual.cpp
  25. 0 57
      source/forms/NonVisual.dfm
  26. 0 12
      source/forms/NonVisual.h
  27. 3 5
      source/forms/Preferences.cpp
  28. 27 28
      source/forms/Preferences.dfm
  29. 1 1
      source/forms/Preferences.h
  30. 0 6
      source/forms/ScpCommander.dfm
  31. 0 6
      source/forms/ScpExplorer.dfm
  32. 0 4
      source/resource/TextsWin.h
  33. 0 4
      source/resource/TextsWin1.rc
  34. 0 9
      source/windows/CustomWinConfiguration.cpp
  35. 1 4
      source/windows/CustomWinConfiguration.h
  36. 0 1
      source/windows/GUIConfiguration.h
  37. 0 36
      source/windows/TerminalManager.cpp
  38. 0 6
      source/windows/TerminalManager.h
  39. 0 17
      source/windows/WinConfiguration.cpp
  40. 0 6
      source/windows/WinConfiguration.h
  41. 0 3
      source/windows/WinMain.cpp

+ 0 - 5
source/DScpComp.cbproj

@@ -85,11 +85,6 @@
 		<TASM_Debugging>None</TASM_Debugging>
 	</PropertyGroup>
 	<ItemGroup>
-		<CppCompile Include="components\LogMemo.cpp">
-			<BuildOrder>4</BuildOrder>
-			<DependentOn>components\LogMemo.h</DependentOn>
-			<BuildOrder>29</BuildOrder>
-		</CppCompile>
 		<CppCompile Include="components\ThemePageControl.cpp">
 			<DependentOn>components\ThemePageControl.h</DependentOn>
 			<BuildOrder>11</BuildOrder>

+ 0 - 5
source/RScpComp.cbproj

@@ -77,11 +77,6 @@
 		<TASM_Debugging>None</TASM_Debugging>
 	</PropertyGroup>
 	<ItemGroup>
-		<CppCompile Include="components\LogMemo.cpp">
-			<BuildOrder>5</BuildOrder>
-			<DependentOn>components\LogMemo.h</DependentOn>
-			<BuildOrder>2</BuildOrder>
-		</CppCompile>
 		<CppCompile Include="components\ThemePageControl.cpp">
 			<DependentOn>components\ThemePageControl.h</DependentOn>
 			<BuildOrder>3</BuildOrder>

+ 0 - 7
source/ScpForms.cbproj

@@ -220,13 +220,6 @@
 			<BuildOrder>7</BuildOrder>
 		</CppCompile>
 		<FormResources Include="forms\LocationProfiles.dfm"/>
-		<CppCompile Include="forms\Log.cpp">
-			<BuildOrder>77</BuildOrder>
-			<Form>LogForm</Form>
-			<DependentOn>forms\Log.h</DependentOn>
-			<BuildOrder>4</BuildOrder>
-		</CppCompile>
-		<FormResources Include="forms\Log.dfm"/>
 		<CppCompile Include="forms\Login.cpp">
 			<BuildOrder>80</BuildOrder>
 			<Form>LoginDialog</Form>

+ 0 - 423
source/components/LogMemo.cpp

@@ -1,423 +0,0 @@
-//---------------------------------------------------------------------------
-#include <vcl.h>
-#pragma hdrstop
-
-#include <Common.h>
-
-#include "LogMemo.h"
-#include <StrUtils.hpp>
-
-#pragma package(smart_init)
-//---------------------------------------------------------------------------
-#ifndef DESIGN_ONLY
-const TColor LogLineColors[] =
-  {clGreen, clRed, clMaroon, clBlue, clGray};
-#endif
-//---------------------------------------------------------------------------
-// ValidCtrCheck is used to assure that the components created do not have
-// any pure virtual functions.
-static inline void ValidCtrCheck(TLogMemo *)
-{
-  new TLogMemo(NULL);
-}
-//---------------------------------------------------------------------------
-namespace Logmemo
-{
-  void __fastcall PACKAGE Register()
-  {
-    TComponentClass classes[1] = {__classid(TLogMemo)};
-    RegisterComponents(L"Scp", classes, 0);
-  }
-}
-//---------------------------------------------------------------------------
-__fastcall TLogMemo::TLogMemo(TComponent* Owner)
-        : TCustomRichEdit(Owner)
-{
-  FIndexes = new TList();
-  FWantScrollToEnd = false;
-  FUpdating = false;
-  FReloading = false;
-  FNeedsRepaint = false;
-  FLastUpdate = 0;
-
-  FShowTypes = DEFAULT_LOGMEMO_SHOWTYPES;
-  ReadOnly = true;
-  Font->Name = DEFAULT_LOGMEMO_FONT;
-  WantReturns = false;
-  WordWrap = false;
-  ScrollBars = ssBoth;
-  FThread = GetCurrentThreadId();
-}
-//---------------------------------------------------------------------------
-__fastcall TLogMemo::~TLogMemo()
-{
-#ifndef DESIGN_ONLY
-  // deassociate us from session log change handler
-  SessionLog = NULL;
-#endif
-  delete FIndexes;
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::WMSetFocus(TWMSetFocus & Message)
-{
-  try
-  {
-    TCustomRichEdit::Dispatch(&Message);
-  }
-  __finally
-  {
-    HideCaret(Handle);
-  }
-}
-//---------------------------------------------------------------------------
-bool __fastcall TLogMemo::IsFontStored()
-{
-  return
-    (Font->Name != DEFAULT_LOGMEMO_FONT) ||
-    (Font->Charset != DEFAULT_CHARSET) ||
-    (Font->Color != clWindowText) ||
-    (Font->Height != -11) ||
-    (Font->Pitch != TFontPitch::fpDefault) ||
-    (Font->Size != 8) ||
-    (Font->Style != TFontStyles());
-}
-//---------------------------------------------------------------------------
-#ifndef DESIGN_ONLY
-void __fastcall TLogMemo::SetSessionLog(TSessionLog * value)
-{
-  if (FSessionLog != value)
-  {
-    if (SessionLog && (SessionLog->OnChange == SessionLogChange))
-    {
-      SessionLog->OnChange = NULL;
-    }
-    FSessionLog = value;
-    if (SessionLog)
-    {
-      SessionLog->OnChange = SessionLogChange;
-    }
-    ReloadFromLog();
-  }
-}
-#endif
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::SessionLogChange(TObject * Sender)
-{
-  DebugUsedParam(Sender);
-#ifndef DESIGN_ONLY
-  DebugAssert(Sender && (Sender == (TObject*)SessionLog));
-#endif
-  if (HandleAllocated())
-  {
-    unsigned int Ticks = GetTickCount();
-    if (((FLastUpdate == 0) || (Ticks < FLastUpdate) || (Ticks - FLastUpdate > 200)) &&
-        (FThread == GetCurrentThreadId()))
-    {
-      // forced update
-      if (!FReloading)
-      {
-        UpdateFromLog();
-      }
-    }
-    else
-    {
-      // update later, once idle
-      PostMessage(Handle, WM_LOG_UPDATE, 0, 0);
-    }
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::UpdateFromLog()
-{
-#ifndef DESIGN_ONLY
-  if (SessionLog && Parent && !Application->Terminated)
-  {
-    DebugAssert(FIndexes->Count == Lines->Count);
-    FUpdating = true;
-    bool Updated = false;
-    SessionLog->Lock();
-    try
-    {
-      ScrollToEnd();
-      if (Lines->Count && (Indexes[0] < SessionLog->TopIndex))
-      {
-        try
-        {
-          SendMessage(Handle, WM_SETREDRAW, false, 0);
-          FNeedsRepaint = true;
-          while (Lines->Count && (Indexes[0] < SessionLog->TopIndex))
-          {
-            FIndexes->Delete(0);
-            if (Parent)
-            {
-              Lines->Delete(0);
-              Updated = true;
-            }
-          }
-        }
-        __finally
-        {
-          SendMessage(Handle, WM_SETREDRAW, true, 0);
-        }
-      }
-
-      if (SessionLog->Count)
-      {
-        int LastIndex;
-        if (Lines->Count)
-        {
-          LastIndex = Indexes[Lines->Count-1] + 1;
-        }
-        else
-        {
-          LastIndex = SessionLog->TopIndex;
-        }
-
-        while (Parent && LastIndex <= SessionLog->BottomIndex)
-        {
-          if (Parent && ShowTypes.Contains(SessionLog->Type[LastIndex]))
-          {
-            SelLength = 0;
-            SelStart = Lines->Text.Length();
-            if (Parent) SelAttributes->Color = LogLineColors[SessionLog->Type[LastIndex]];
-            FIndexes->Add((void*) LastIndex);
-            try
-            {
-              // this usually fails when log window is closed while
-              // new line is being added (control has no parent)
-              if (Parent)
-              {
-                if (SessionLog->Line[LastIndex].Pos(L"\r"))
-                {
-                  Lines->Add(ReplaceStr(SessionLog->Line[LastIndex], L"\r", L""));
-                }
-                else
-                {
-                  Lines->Add(SessionLog->Line[LastIndex]);
-                }
-                Updated = true;
-              }
-            }
-            catch(...)
-            {
-              if (Lines->Count < FIndexes->Count)
-              {
-                FIndexes->Delete(FIndexes->Count - 1);
-              }
-              DebugAssert(FIndexes->Count == Lines->Count);
-              // LastIndex is strangely reset to 0 when exception is caught
-              LastIndex = Indexes[Lines->Count-1];
-            }
-          }
-          LastIndex++;
-        }
-      }
-
-      if (Parent)
-      {
-        ScrollToEnd();
-        if (FNeedsRepaint)
-        {
-          FNeedsRepaint = false;
-          Invalidate();
-        }
-      }
-
-      DebugAssert(!Parent || FIndexes->Count == Lines->Count);
-
-      FLastUpdate = GetTickCount();
-    }
-    __finally
-    {
-      SessionLog->Unlock();
-      FUpdating = false;
-    }
-
-    if (Updated)
-    {
-      Change();
-    }
-  }
-#endif
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::ReloadFromLog()
-{
-  if (Parent && !FReloading)
-  {
-    TAutoFlag ReloadingFlag(FReloading);
-
-    Lines->BeginUpdate();
-    try
-    {
-      Clear();
-      FIndexes->Clear();
-      UpdateFromLog();
-    }
-    __finally
-    {
-      Lines->EndUpdate();
-    }
-  }
-}
-//---------------------------------------------------------------------------
-int __fastcall TLogMemo::GetIndexes(int Index)
-{
-  DebugAssert((Index >= 0) && (Index < Lines->Count) && (FIndexes->Count == Lines->Count));
-  return ((int)FIndexes->Items[Index]);
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::SetShowTypes(TLogLineTypes value)
-{
-  if (ShowTypes != value)
-  {
-    FShowTypes = value;
-    ReloadFromLog();
-  }
-}
-//---------------------------------------------------------------------------
-bool __fastcall TLogMemo::StoreShowTypes()
-{
-  return (ShowTypes != DEFAULT_LOGMEMO_SHOWTYPES);
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::ScrollToEnd()
-{
-  TCharRange Selection;
-  Selection.cpMin = Lines->Text.Length();
-  Selection.cpMax = Selection.cpMin;
-  Perform(EM_EXSETSEL, 0, ((long)&Selection));
-  Perform(EM_SCROLLCARET, 0, 0);
-}
-//---------------------------------------------------------------------------
-void TLogMemo::WMLogUpdate(TMessage & /*Message*/)
-{
-  if (!FReloading)
-  {
-    UpdateFromLog();
-  }
-}
-//---------------------------------------------------------------------------
-void TLogMemo::CMVisibleChanged(TMessage & Message)
-{
-  try
-  {
-    TCustomRichEdit::Dispatch(&Message);
-  }
-  __finally
-  {
-    ScrollToEnd();
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::MouseDown(TMouseButton Button, TShiftState Shift, int X, int Y)
-{
-  try
-  {
-    TCustomRichEdit::MouseDown(Button, Shift, X, Y);
-  }
-  __finally
-  {
-    HideCaret(Handle);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::CMShowingChanged(TMessage & Message)
-{
-  bool VShowing = Showing;
-  try
-  {
-    TCustomRichEdit::Dispatch(&Message);
-  }
-  __finally
-  {
-    if (VShowing)
-    {
-      FWantScrollToEnd = true;
-    }
-    HideCaret(Handle);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::KeyDown(Word & Key, TShiftState Shift)
-{
-  if ((Key == VK_UP) || (Key == VK_DOWN))
-  {
-    SendMessage(Handle, EM_LINESCROLL, 0, ( Key == VK_UP ? -1 : 1));
-    Key = 0;
-  }
-  else
-  {
-    TCustomRichEdit::KeyDown(Key, Shift);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::WMKeyDown(TWMKeyDown & Message)
-{
-  try
-  {
-    TCustomRichEdit::Dispatch(&Message);
-  }
-  __finally
-  {
-    HideCaret(Handle);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::WMPaint(TWMPaint & Message)
-{
-  try
-  {
-    TCustomRichEdit::Dispatch(&Message);
-  }
-  __finally
-  {
-    if (FWantScrollToEnd)
-    {
-      FWantScrollToEnd = false;
-      SelLength = 0;
-      SelStart = Lines->Text.Length();
-      SendMessage(Handle, EM_LINESCROLL, 0, Lines->Count);
-    }
-    HideCaret(Handle);
-  }
-}
-//---------------------------------------------------------------------------
-int __fastcall TLogMemo::GetLinesVisible()
-{
-  HFONT OldFont;
-  HDC DC;
-  TTextMetricW TM;
-  TRect Rect;
-
-  DC = GetDC((HWND)Handle);
-  OldFont = (HFONT)SelectObject(DC, (HWND)Font->Handle);
-
-  try
-  {
-    GetTextMetrics(DC, &TM);
-
-    Perform(EM_GETRECT, 0, ((int)&Rect));
-  }
-  __finally
-  {
-    SelectObject(DC, OldFont);
-    ReleaseDC(Handle, DC);
-  }
-
-  return (Rect.Bottom - Rect.Top) / (TM.tmHeight + TM.tmExternalLeading);
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::SetParent(TWinControl * AParent)
-{
-  TCustomRichEdit::SetParent(AParent);
-  if (AParent) UpdateFromLog();
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogMemo::Change()
-{
-  if (Parent && Visible && !Application->Terminated && !FUpdating)
-  {
-    TCustomRichEdit::Change();
-  }
-}

+ 0 - 149
source/components/LogMemo.h

@@ -1,149 +0,0 @@
-//---------------------------------------------------------------------------
-#ifndef LogMemoH
-#define LogMemoH
-//---------------------------------------------------------------------------
-#include <SysUtils.hpp>
-#include <Controls.hpp>
-#include <Classes.hpp>
-#include <Forms.hpp>
-#include <StdCtrls.hpp>
-#include <ComCtrls.hpp>
-
-#define WM_WINSCP_USER   (WM_USER + 0x2000)
-#define WM_LOG_UPDATE    (WM_WINSCP_USER + 6)
-
-#ifndef DESIGN_ONLY
-#include <SessionInfo.h>
-#else
-enum TLogLineType {llOutput, llInput, llStdError, llMessage, llException};
-#endif
-typedef Set<TLogLineType, llOutput, llException> TLogLineTypes;
-//---------------------------------------------------------------------------
-#define DEFAULT_LOGMEMO_FONT L"Courier New"
-#define DEFAULT_LOGMEMO_SHOWTYPES (TLogLineTypes() << llOutput << llInput << \
-  llStdError << llMessage << llException)
-class PACKAGE TLogMemo : public TCustomRichEdit
-{
-private:
-#ifndef DESIGN_ONLY
-  TSessionLog * FSessionLog;
-#endif
-  TLogLineTypes FShowTypes;
-  TList *FIndexes;
-  bool FUpdating;
-  bool FWantScrollToEnd;
-  bool FNeedsRepaint;
-  unsigned int FLastUpdate;
-  DWORD FThread;
-  bool FReloading;
-
-  void __fastcall CMShowingChanged(TMessage & Message);
-  void CMVisibleChanged(TMessage & Message);
-  void WMLogUpdate(TMessage & Message);
-  int __fastcall GetIndexes(int Index);
-  int __fastcall GetLinesVisible();
-  bool __fastcall IsFontStored();
-#ifndef DESIGN_ONLY
-  void __fastcall SetSessionLog(TSessionLog * value);
-#endif
-  void __fastcall SetShowTypes(TLogLineTypes value);
-  bool __fastcall StoreShowTypes();
-  void __fastcall WMPaint(TWMPaint & Message);
-  MESSAGE void __fastcall WMSetFocus(TWMSetFocus & Message);
-protected:
-  DYNAMIC void __fastcall Change();
-  DYNAMIC void __fastcall KeyDown(Word & Key, TShiftState Shift);
-  DYNAMIC void __fastcall MouseDown(TMouseButton Button, TShiftState Shift, int X, int Y);
-  void __fastcall ReloadFromLog();
-  void __fastcall ScrollToEnd();
-  void __fastcall SessionLogChange(TObject * Sender);
-  virtual void __fastcall SetParent(TWinControl * AParent);
-  void __fastcall UpdateFromLog();
-  void __fastcall WMKeyDown(TWMKeyDown & Message);
-  __property int Indexes[Integer Index] = { read = GetIndexes };
-
-  #pragma warn -8118
-  #pragma warn -inl
-  virtual void __fastcall Dispatch(void *Message) {
-    if (Parent)
-    switch (((PMessage)Message)->Msg) {
-    VCL_MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, WMSetFocus)
-    VCL_MESSAGE_HANDLER(CM_VISIBLECHANGED, TMessage, CMVisibleChanged)
-    VCL_MESSAGE_HANDLER(CM_SHOWINGCHANGED, TMessage, CMShowingChanged)
-    VCL_MESSAGE_HANDLER(WM_KEYDOWN, TWMKeyDown, WMKeyDown)
-    VCL_MESSAGE_HANDLER(WM_PAINT, TWMPaint, WMPaint)
-    VCL_MESSAGE_HANDLER(WM_LOG_UPDATE, TMessage, WMLogUpdate)
-  END_MESSAGE_MAP(TCustomRichEdit)
-  #pragma warn .inl
-  #pragma warn .8118
-public:
-  virtual __fastcall ~TLogMemo();
-  __fastcall TLogMemo(TComponent* Owner);
-  __property int LinesVisible = { read = GetLinesVisible };
-#ifndef DESIGN_ONLY
-  __property TSessionLog * SessionLog = { read = FSessionLog, write = SetSessionLog };
-#endif
-  __property Lines;
-__published:
-  __property TLogLineTypes ShowTypes = { read = FShowTypes, write = SetShowTypes,
-    stored = StoreShowTypes };
-
-  __property Align;
-  __property Alignment;
-  __property Anchors;
-  __property BiDiMode;
-  __property BorderStyle;
-  __property BorderWidth;
-  __property Color;
-  __property Constraints;
-  __property Ctl3D;
-  __property DragCursor;
-  __property DragKind;
-  __property DragMode;
-  __property Enabled;
-  __property Font = { stored = IsFontStored };
-  __property HideSelection;
-  __property HideScrollBars;
-  __property ImeMode;
-  __property ImeName;
-  __property ParentBiDiMode;
-  __property ParentColor = {default = False };
-  __property ParentCtl3D;
-  __property ParentFont = { default = False };
-  __property ParentShowHint;
-  __property PopupMenu;
-  __property ReadOnly = { default = True };
-  __property ScrollBars = { default = ssBoth };
-  __property ShowHint;
-  __property TabOrder;
-  __property TabStop;
-  __property Visible;
-  __property WantReturns = { default = False };
-  __property WantTabs;
-  __property WordWrap = { default = False };
-  __property OnChange;
-  __property OnContextPopup;
-  __property OnDragDrop;
-  __property OnDragOver;
-  __property OnEndDock;
-  __property OnEndDrag;
-  __property OnEnter;
-  __property OnExit;
-  __property OnKeyDown;
-  __property OnKeyPress;
-  __property OnKeyUp;
-  __property OnMouseDown;
-  __property OnMouseMove;
-  __property OnMouseUp;
-  __property OnMouseWheel;
-  __property OnMouseWheelDown;
-  __property OnMouseWheelUp;
-  __property OnProtectChange;
-  __property OnResizeRequest;
-  __property OnSaveClipboard;
-  __property OnSelectionChange;
-  __property OnStartDock;
-  __property OnStartDrag;
-};
-//---------------------------------------------------------------------------
-#endif

+ 0 - 21
source/core/Configuration.cpp

@@ -114,7 +114,6 @@ void __fastcall TConfiguration::Default()
   FPermanentLogMaxSize = FLogMaxSize;
   FLogMaxCount = 0;
   FPermanentLogMaxCount = FLogMaxCount;
-  FLogWindowLines = 100;
   FLogProtocol = 0;
   FPermanentLogProtocol = FLogProtocol;
   UpdateActualLogProtocol();
@@ -230,7 +229,6 @@ UnicodeString __fastcall TConfiguration::PropertyToKey(const UnicodeString & Pro
     KEYEX(Bool,  PermanentLogSensitive, L"LogSensitive"); \
     KEYEX(Int64, PermanentLogMaxSize, L"LogMaxSize"); \
     KEYEX(Integer, PermanentLogMaxCount, L"LogMaxCount"); \
-    KEY(Integer, LogWindowLines); \
     KEYEX(Integer,PermanentLogProtocol, L"LogProtocol"); \
     KEYEX(Bool,  PermanentLogActions, L"LogActions"); \
     KEYEX(String,PermanentActionsLogFileName, L"ActionsLogFileName"); \
@@ -1578,25 +1576,6 @@ int __fastcall TConfiguration::GetLogMaxCount()
   return FPermanentLogMaxCount;
 }
 //---------------------------------------------------------------------
-void __fastcall TConfiguration::SetLogWindowLines(int value)
-{
-  SET_CONFIG_PROPERTY(LogWindowLines);
-}
-//---------------------------------------------------------------------
-void __fastcall TConfiguration::SetLogWindowComplete(bool value)
-{
-  if (value != LogWindowComplete)
-  {
-    LogWindowLines = value ? 0 : 50;
-    Changed();
-  }
-}
-//---------------------------------------------------------------------
-bool __fastcall TConfiguration::GetLogWindowComplete()
-{
-  return (bool)(LogWindowLines == 0);
-}
-//---------------------------------------------------------------------
 UnicodeString __fastcall TConfiguration::GetDefaultLogFileName()
 {
   return L"%TEMP%\\!S.log";

+ 0 - 5
source/core/Configuration.h

@@ -100,9 +100,6 @@ private:
   void __fastcall SetLogFileName(UnicodeString value);
   UnicodeString __fastcall GetLogFileName();
   bool __fastcall GetLogToFile();
-  void __fastcall SetLogWindowLines(int value);
-  void __fastcall SetLogWindowComplete(bool value);
-  bool __fastcall GetLogWindowComplete();
   void __fastcall SetLogFileAppend(bool value);
   void __fastcall SetLogSensitive(bool value);
   void __fastcall SetLogMaxSize(__int64 value);
@@ -274,8 +271,6 @@ public:
   __property bool LogActions  = { read=FLogActions, write=SetLogActions };
   __property bool LogActionsRequired  = { read=FLogActionsRequired, write=FLogActionsRequired };
   __property UnicodeString ActionsLogFileName  = { read=GetActionsLogFileName, write=SetActionsLogFileName };
-  __property int LogWindowLines  = { read=FLogWindowLines, write=SetLogWindowLines };
-  __property bool LogWindowComplete  = { read=GetLogWindowComplete, write=SetLogWindowComplete };
   __property UnicodeString DefaultLogFileName  = { read=GetDefaultLogFileName };
   __property TNotifyEvent OnChange = { read = FOnChange, write = FOnChange };
   __property bool ConfirmOverwriting = { read = GetConfirmOverwriting, write = SetConfirmOverwriting};

+ 239 - 360
source/core/SessionInfo.cpp

@@ -645,8 +645,7 @@ FILE * __fastcall OpenFile(UnicodeString LogFileName, TDateTime Started, TSessio
 //---------------------------------------------------------------------------
 const wchar_t *LogLineMarks = L"<>!.*";
 __fastcall TSessionLog::TSessionLog(TSessionUI* UI, TDateTime Started, TSessionData * SessionData,
-  TConfiguration * Configuration):
-  TStringList()
+  TConfiguration * Configuration)
 {
   FCriticalSection = new TCriticalSection;
   FLogging = false;
@@ -656,8 +655,6 @@ __fastcall TSessionLog::TSessionLog(TSessionUI* UI, TDateTime Started, TSessionD
   FSessionData = SessionData;
   FStarted = Started;
   FFile = NULL;
-  FLoggedLines = 0;
-  FTopIndex = -1;
   FCurrentLogFileName = L"";
   FCurrentFileName = L"";
   FClosed = false;
@@ -671,30 +668,10 @@ __fastcall TSessionLog::~TSessionLog()
   delete FCriticalSection;
 }
 //---------------------------------------------------------------------------
-void __fastcall TSessionLog::Lock()
-{
-  FCriticalSection->Enter();
-}
-//---------------------------------------------------------------------------
-void __fastcall TSessionLog::Unlock()
+void __fastcall TSessionLog::SetParent(TSessionLog * Parent, const UnicodeString & Name)
 {
-  FCriticalSection->Leave();
-}
-//---------------------------------------------------------------------------
-UnicodeString __fastcall TSessionLog::GetSessionName()
-{
-  DebugAssert(FSessionData != NULL);
-  return FSessionData->SessionName;
-}
-//---------------------------------------------------------------------------
-UnicodeString __fastcall TSessionLog::GetLine(Integer Index)
-{
-  return Strings[Index - FTopIndex];
-}
-//---------------------------------------------------------------------------
-TLogLineType __fastcall TSessionLog::GetType(int Index)
-{
-  return (TLogLineType)Objects[Index - FTopIndex];
+  FParent = Parent;
+  FName = Name;
 }
 //---------------------------------------------------------------------------
 void __fastcall TSessionLog::DoAddToParent(TLogLineType Type, const UnicodeString & Line)
@@ -705,15 +682,6 @@ void __fastcall TSessionLog::DoAddToParent(TLogLineType Type, const UnicodeStrin
 //---------------------------------------------------------------------------
 void __fastcall TSessionLog::DoAddToSelf(TLogLineType Type, const UnicodeString & Line)
 {
-  if (FTopIndex < 0)
-  {
-    FTopIndex = 0;
-  }
-
-  TStringList::AddObject(Line, (TObject*)Type);
-
-  FLoggedLines++;
-
   if (LogToFile())
   {
     if (FFile == NULL)
@@ -797,9 +765,9 @@ void __fastcall TSessionLog::DoAdd(TLogLineType Type, UnicodeString Line,
 {
   UnicodeString Prefix;
 
-  if (!Name.IsEmpty())
+  if (!FName.IsEmpty())
   {
-    Prefix = L"[" + Name + L"] ";
+    Prefix = L"[" + FName + L"] ";
   }
 
   while (!Line.IsEmpty())
@@ -823,18 +791,7 @@ void __fastcall TSessionLog::Add(TLogLineType Type, const UnicodeString & Line)
       {
         TGuard Guard(FCriticalSection);
 
-        BeginUpdate();
-
-        try
-        {
-          DoAdd(Type, Line, DoAddToSelf);
-        }
-        __finally
-        {
-          DeleteUnnecessary();
-
-          EndUpdate();
-        }
+        DoAdd(Type, Line, DoAddToSelf);
       }
     }
     catch (Exception &E)
@@ -866,17 +823,10 @@ void __fastcall TSessionLog::ReflectSettings()
 {
   TGuard Guard(FCriticalSection);
 
-  bool ALogging =
+  FLogging =
     !FClosed &&
     ((FParent != NULL) || FConfiguration->Logging);
 
-  bool Changed = false;
-  if (FLogging != ALogging)
-  {
-    FLogging = ALogging;
-    Changed = true;
-  }
-
   // if logging to file was turned off or log file was changed -> close current log file
   if ((FFile != NULL) &&
       (!LogToFile() || (FCurrentLogFileName != FConfiguration->LogFileName)))
@@ -889,14 +839,6 @@ void __fastcall TSessionLog::ReflectSettings()
     CheckSize(0);
   }
 
-  DeleteUnnecessary();
-
-  // trigger event only once we are in a consistent state
-  if (Changed)
-  {
-    StateChange();
-  }
-
 }
 //---------------------------------------------------------------------------
 bool __fastcall TSessionLog::LogToFile()
@@ -913,7 +855,6 @@ void __fastcall TSessionLog::CloseLogFile()
   }
   FCurrentLogFileName = L"";
   FCurrentFileName = L"";
-  StateChange();
 }
 //---------------------------------------------------------------------------
 void __fastcall TSessionLog::OpenLogFile()
@@ -958,39 +899,6 @@ void __fastcall TSessionLog::OpenLogFile()
   {
     CheckSize(0);
   }
-  StateChange();
-}
-//---------------------------------------------------------------------------
-void __fastcall TSessionLog::StateChange()
-{
-  if (FOnStateChange != NULL)
-  {
-    FOnStateChange(this);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TSessionLog::DeleteUnnecessary()
-{
-  BeginUpdate();
-  try
-  {
-    if (!Logging || (FParent != NULL))
-    {
-      Clear();
-    }
-    else
-    {
-      while (!FConfiguration->LogWindowComplete && (Count > FConfiguration->LogWindowLines))
-      {
-        Delete(0);
-        FTopIndex++;
-      }
-    }
-  }
-  __finally
-  {
-    EndUpdate();
-  }
 }
 //---------------------------------------------------------------------------
 void __fastcall TSessionLog::AddSystemInfo()
@@ -1088,280 +996,270 @@ UnicodeString __fastcall EnumName(T Value, UnicodeString Names)
 //---------------------------------------------------------------------------
 void __fastcall TSessionLog::DoAddStartupInfo(TSessionData * Data)
 {
-  BeginUpdate();
-  try
+  if (Data == NULL)
   {
-    if (Data == NULL)
+    AddSeparator();
+    UnicodeString OS = WindowsVersionLong();
+    AddToList(OS, WindowsProductName(), L" - ");
+    ADF(L"WinSCP %s (OS %s)", (FConfiguration->VersionStr, OS));
+    THierarchicalStorage * Storage = FConfiguration->CreateConfigStorage();
+    try
     {
-      AddSeparator();
-      UnicodeString OS = WindowsVersionLong();
-      AddToList(OS, WindowsProductName(), L" - ");
-      ADF(L"WinSCP %s (OS %s)", (FConfiguration->VersionStr, OS));
-      THierarchicalStorage * Storage = FConfiguration->CreateConfigStorage();
-      try
-      {
-        ADF(L"Configuration: %s", (Storage->Source));
-      }
-      __finally
-      {
-        delete Storage;
-      }
+      ADF(L"Configuration: %s", (Storage->Source));
+    }
+    __finally
+    {
+      delete Storage;
+    }
 
-      wchar_t UserName[UNLEN + 1];
-      unsigned long UserNameSize = LENOF(UserName);
-      if (DebugAlwaysFalse(!GetUserNameEx(NameSamCompatible, UserName, &UserNameSize)))
-      {
-        wcscpy(UserName, L"<Failed to retrieve username>");
-      }
-      UnicodeString LogStr;
-      if (FConfiguration->LogProtocol <= 0)
-      {
-        LogStr = L"Normal";
-      }
-      else if (FConfiguration->LogProtocol == 1)
+    wchar_t UserName[UNLEN + 1];
+    unsigned long UserNameSize = LENOF(UserName);
+    if (DebugAlwaysFalse(!GetUserNameEx(NameSamCompatible, UserName, &UserNameSize)))
+    {
+      wcscpy(UserName, L"<Failed to retrieve username>");
+    }
+    UnicodeString LogStr;
+    if (FConfiguration->LogProtocol <= 0)
+    {
+      LogStr = L"Normal";
+    }
+    else if (FConfiguration->LogProtocol == 1)
+    {
+      LogStr = L"Debug 1";
+    }
+    else if (FConfiguration->LogProtocol >= 2)
+    {
+      LogStr = L"Debug 2";
+    }
+    if (FConfiguration->LogSensitive)
+    {
+      LogStr += L", Logging passwords";
+    }
+    if (FConfiguration->LogMaxSize > 0)
+    {
+      LogStr += FORMAT(L", Rotating after: %s", (SizeToStr(FConfiguration->LogMaxSize)));
+      if (FConfiguration->LogMaxCount > 0)
       {
-        LogStr = L"Debug 1";
+        LogStr += FORMAT(L", Keeping at most %d logs", (FConfiguration->LogMaxCount));
       }
-      else if (FConfiguration->LogProtocol >= 2)
+    }
+    ADF(L"Log level: %s", (LogStr));
+    ADF(L"Local account: %s", (UserName));
+    ADF(L"Working directory: %s", (GetCurrentDir()));
+    ADF(L"Process ID: %d", (int(GetCurrentProcessId())));
+    ADF(L"Command-line: %s", (GetCmdLineLog()));
+    if (FConfiguration->LogProtocol >= 1)
+    {
+      AddOptions(GetGlobalOptions());
+    }
+    ADF(L"Time zone: %s", (GetTimeZoneLogString()));
+    if (!AdjustClockForDSTEnabled())
+    {
+      ADSTR(L"Warning: System option \"Automatically adjust clock for Daylight Saving Time\" is disabled, timestamps will not be represented correctly");
+    }
+    ADF(L"Login time: %s", (FormatDateTime(L"dddddd tt", Now())));
+    AddSeparator();
+  }
+  else
+  {
+    ADF(L"Session name: %s (%s)", (Data->SessionName, Data->Source));
+    ADF(L"Host name: %s (Port: %d)", (Data->HostNameExpanded, Data->PortNumber));
+    ADF(L"User name: %s (Password: %s, Key file: %s, Passphrase: %s)",
+      (Data->UserNameExpanded, LogSensitive(Data->Password),
+       LogSensitive(Data->PublicKeyFile), LogSensitive(Data->Passphrase)));
+    if (Data->UsesSsh)
+    {
+      ADF(L"Tunnel: %s", (BooleanToEngStr(Data->Tunnel)));
+      if (Data->Tunnel)
       {
-        LogStr = L"Debug 2";
+        ADF(L"Tunnel: Host name: %s (Port: %d)", (Data->TunnelHostName, Data->TunnelPortNumber));
+        ADF(L"Tunnel: User name: %s (Password: %s, Key file: %s)",
+          (Data->TunnelUserName,
+           LogSensitive(Data->TunnelPassword),
+           LogSensitive(Data->TunnelPublicKeyFile)));
+        ADF(L"Tunnel: Local port number: %d", (Data->TunnelLocalPortNumber));
       }
-      if (FConfiguration->LogSensitive)
+    }
+    ADF(L"Transfer Protocol: %s", (Data->FSProtocolStr));
+    if (Data->UsesSsh || (Data->FSProtocol == fsFTP))
+    {
+      TPingType PingType;
+      int PingInterval;
+      if (Data->FSProtocol == fsFTP)
       {
-        LogStr += L", Logging passwords";
+        PingType = Data->FtpPingType;
+        PingInterval = Data->FtpPingInterval;
       }
-      if (FConfiguration->LogMaxSize > 0)
+      else
       {
-        LogStr += FORMAT(L", Rotating after: %s", (SizeToStr(FConfiguration->LogMaxSize)));
-        if (FConfiguration->LogMaxCount > 0)
-        {
-          LogStr += FORMAT(L", Keeping at most %d logs", (FConfiguration->LogMaxCount));
-        }
+        PingType = Data->PingType;
+        PingInterval = Data->PingInterval;
       }
-      ADF(L"Log level: %s", (LogStr));
-      ADF(L"Local account: %s", (UserName));
-      ADF(L"Working directory: %s", (GetCurrentDir()));
-      ADF(L"Process ID: %d", (int(GetCurrentProcessId())));
-      ADF(L"Command-line: %s", (GetCmdLineLog()));
-      if (FConfiguration->LogProtocol >= 1)
+      ADF(L"Ping type: %s, Ping interval: %d sec; Timeout: %d sec",
+        (EnumName(PingType, PingTypeNames), PingInterval, Data->Timeout));
+      ADF(L"Disable Nagle: %s",
+        (BooleanToEngStr(Data->TcpNoDelay)));
+    }
+    ADF(L"Proxy: %s",
+      ((Data->FtpProxyLogonType != 0) ?
+        FORMAT(L"FTP proxy %d", (Data->FtpProxyLogonType)) :
+        EnumName(Data->ProxyMethod, ProxyMethodNames)));
+    if ((Data->FtpProxyLogonType != 0) || (Data->ProxyMethod != ::pmNone))
+    {
+      ADF(L"HostName: %s (Port: %d); Username: %s; Passwd: %s",
+        (Data->ProxyHost, Data->ProxyPort,
+         Data->ProxyUsername, LogSensitive(Data->ProxyPassword)));
+      if (Data->ProxyMethod == pmTelnet)
       {
-        AddOptions(GetGlobalOptions());
+        ADF(L"Telnet command: %s", (Data->ProxyTelnetCommand));
       }
-      ADF(L"Time zone: %s", (GetTimeZoneLogString()));
-      if (!AdjustClockForDSTEnabled())
+      if (Data->ProxyMethod == pmCmd)
       {
-        ADSTR(L"Warning: System option \"Automatically adjust clock for Daylight Saving Time\" is disabled, timestamps will not be represented correctly");
+        ADF(L"Local command: %s", (Data->ProxyLocalCommand));
       }
-      ADF(L"Login time: %s", (FormatDateTime(L"dddddd tt", Now())));
-      AddSeparator();
     }
-    else
+    if (Data->UsesSsh || (Data->FSProtocol == fsFTP))
     {
-      ADF(L"Session name: %s (%s)", (Data->SessionName, Data->Source));
-      ADF(L"Host name: %s (Port: %d)", (Data->HostNameExpanded, Data->PortNumber));
-      ADF(L"User name: %s (Password: %s, Key file: %s, Passphrase: %s)",
-        (Data->UserNameExpanded, LogSensitive(Data->Password),
-         LogSensitive(Data->PublicKeyFile), LogSensitive(Data->Passphrase)));
-      if (Data->UsesSsh)
-      {
-        ADF(L"Tunnel: %s", (BooleanToEngStr(Data->Tunnel)));
-        if (Data->Tunnel)
-        {
-          ADF(L"Tunnel: Host name: %s (Port: %d)", (Data->TunnelHostName, Data->TunnelPortNumber));
-          ADF(L"Tunnel: User name: %s (Password: %s, Key file: %s)",
-            (Data->TunnelUserName,
-             LogSensitive(Data->TunnelPassword),
-             LogSensitive(Data->TunnelPublicKeyFile)));
-          ADF(L"Tunnel: Local port number: %d", (Data->TunnelLocalPortNumber));
-        }
-      }
-      ADF(L"Transfer Protocol: %s", (Data->FSProtocolStr));
-      if (Data->UsesSsh || (Data->FSProtocol == fsFTP))
+      ADF(L"Send buffer: %d", (Data->SendBuf));
+    }
+    if (Data->UsesSsh)
+    {
+      ADF(L"SSH protocol version: %s; Compression: %s",
+        (Data->SshProtStr, BooleanToEngStr(Data->Compression)));
+      ADF(L"Bypass authentication: %s",
+       (BooleanToEngStr(Data->SshNoUserAuth)));
+      ADF(L"Try agent: %s; Agent forwarding: %s; TIS/CryptoCard: %s; KI: %s; GSSAPI: %s",
+        (BooleanToEngStr(Data->TryAgent), BooleanToEngStr(Data->AgentFwd), BooleanToEngStr(Data->AuthTIS),
+         BooleanToEngStr(Data->AuthKI), BooleanToEngStr(Data->AuthGSSAPI)));
+      if (Data->AuthGSSAPI)
       {
-        TPingType PingType;
-        int PingInterval;
-        if (Data->FSProtocol == fsFTP)
-        {
-          PingType = Data->FtpPingType;
-          PingInterval = Data->FtpPingInterval;
-        }
-        else
-        {
-          PingType = Data->PingType;
-          PingInterval = Data->PingInterval;
-        }
-        ADF(L"Ping type: %s, Ping interval: %d sec; Timeout: %d sec",
-          (EnumName(PingType, PingTypeNames), PingInterval, Data->Timeout));
-        ADF(L"Disable Nagle: %s",
-          (BooleanToEngStr(Data->TcpNoDelay)));
+        ADF(L"GSSAPI: Forwarding: %s",
+          (BooleanToEngStr(Data->GSSAPIFwdTGT)));
       }
-      ADF(L"Proxy: %s",
-        ((Data->FtpProxyLogonType != 0) ?
-          FORMAT(L"FTP proxy %d", (Data->FtpProxyLogonType)) :
-          EnumName(Data->ProxyMethod, ProxyMethodNames)));
-      if ((Data->FtpProxyLogonType != 0) || (Data->ProxyMethod != ::pmNone))
+      ADF(L"Ciphers: %s; Ssh2DES: %s",
+        (Data->CipherList, BooleanToEngStr(Data->Ssh2DES)));
+      ADF(L"KEX: %s", (Data->KexList));
+      UnicodeString Bugs;
+      for (int Index = 0; Index < BUG_COUNT; Index++)
       {
-        ADF(L"HostName: %s (Port: %d); Username: %s; Passwd: %s",
-          (Data->ProxyHost, Data->ProxyPort,
-           Data->ProxyUsername, LogSensitive(Data->ProxyPassword)));
-        if (Data->ProxyMethod == pmTelnet)
-        {
-          ADF(L"Telnet command: %s", (Data->ProxyTelnetCommand));
-        }
-        if (Data->ProxyMethod == pmCmd)
-        {
-          ADF(L"Local command: %s", (Data->ProxyLocalCommand));
-        }
+        AddToList(Bugs, EnumName(Data->Bug[(TSshBug)Index], AutoSwitchNames), L",");
       }
-      if (Data->UsesSsh || (Data->FSProtocol == fsFTP))
+      ADF(L"SSH Bugs: %s", (Bugs));
+      ADF(L"Simple channel: %s", (BooleanToEngStr(Data->SshSimple)));
+      ADF(L"Return code variable: %s; Lookup user groups: %s",
+        ((Data->DetectReturnVar ? UnicodeString(L"Autodetect") : Data->ReturnVar),
+         EnumName(Data->LookupUserGroups, AutoSwitchNames)));
+      ADF(L"Shell: %s", ((Data->Shell.IsEmpty()? UnicodeString(L"default") : Data->Shell)));
+      ADF(L"EOL: %s, UTF: %s", (EnumName(Data->EOLType, EOLTypeNames), EnumName(Data->NotUtf, NotAutoSwitchNames))); // NotUtf duplicated in FTP branch
+      ADF(L"Clear aliases: %s, Unset nat.vars: %s, Resolve symlinks: %s; Follow directory symlinks: %s",
+        (BooleanToEngStr(Data->ClearAliases), BooleanToEngStr(Data->UnsetNationalVars),
+         BooleanToEngStr(Data->ResolveSymlinks), BooleanToEngStr(Data->FollowDirectorySymlinks)));
+      ADF(L"LS: %s, Ign LS warn: %s, Scp1 Comp: %s",
+        (Data->ListingCommand,
+         BooleanToEngStr(Data->IgnoreLsWarnings),
+         BooleanToEngStr(Data->Scp1Compatibility)));
+    }
+    if ((Data->FSProtocol == fsSFTP) || (Data->FSProtocol == fsSFTPonly))
+    {
+      UnicodeString Bugs;
+      for (int Index = 0; Index < SFTP_BUG_COUNT; Index++)
       {
-        ADF(L"Send buffer: %d", (Data->SendBuf));
+        AddToList(Bugs, EnumName(Data->SFTPBug[(TSftpBug)Index], AutoSwitchNames), L",");
       }
-      if (Data->UsesSsh)
+      ADF(L"SFTP Bugs: %s", (Bugs));
+      ADF(L"SFTP Server: %s", ((Data->SftpServer.IsEmpty()? UnicodeString(L"default") : Data->SftpServer)));
+    }
+    bool FtpsOn = false;
+    if (Data->FSProtocol == fsFTP)
+    {
+      ADF(L"UTF: %s", (EnumName(Data->NotUtf, NotAutoSwitchNames))); // duplicated in UsesSsh branch
+      UnicodeString Ftps;
+      switch (Data->Ftps)
       {
-        ADF(L"SSH protocol version: %s; Compression: %s",
-          (Data->SshProtStr, BooleanToEngStr(Data->Compression)));
-        ADF(L"Bypass authentication: %s",
-         (BooleanToEngStr(Data->SshNoUserAuth)));
-        ADF(L"Try agent: %s; Agent forwarding: %s; TIS/CryptoCard: %s; KI: %s; GSSAPI: %s",
-          (BooleanToEngStr(Data->TryAgent), BooleanToEngStr(Data->AgentFwd), BooleanToEngStr(Data->AuthTIS),
-           BooleanToEngStr(Data->AuthKI), BooleanToEngStr(Data->AuthGSSAPI)));
-        if (Data->AuthGSSAPI)
-        {
-          ADF(L"GSSAPI: Forwarding: %s",
-            (BooleanToEngStr(Data->GSSAPIFwdTGT)));
-        }
-        ADF(L"Ciphers: %s; Ssh2DES: %s",
-          (Data->CipherList, BooleanToEngStr(Data->Ssh2DES)));
-        ADF(L"KEX: %s", (Data->KexList));
-        UnicodeString Bugs;
-        for (int Index = 0; Index < BUG_COUNT; Index++)
-        {
-          AddToList(Bugs, EnumName(Data->Bug[(TSshBug)Index], AutoSwitchNames), L",");
-        }
-        ADF(L"SSH Bugs: %s", (Bugs));
-        ADF(L"Simple channel: %s", (BooleanToEngStr(Data->SshSimple)));
-        ADF(L"Return code variable: %s; Lookup user groups: %s",
-          ((Data->DetectReturnVar ? UnicodeString(L"Autodetect") : Data->ReturnVar),
-           EnumName(Data->LookupUserGroups, AutoSwitchNames)));
-        ADF(L"Shell: %s", ((Data->Shell.IsEmpty()? UnicodeString(L"default") : Data->Shell)));
-        ADF(L"EOL: %s, UTF: %s", (EnumName(Data->EOLType, EOLTypeNames), EnumName(Data->NotUtf, NotAutoSwitchNames))); // NotUtf duplicated in FTP branch
-        ADF(L"Clear aliases: %s, Unset nat.vars: %s, Resolve symlinks: %s; Follow directory symlinks: %s",
-          (BooleanToEngStr(Data->ClearAliases), BooleanToEngStr(Data->UnsetNationalVars),
-           BooleanToEngStr(Data->ResolveSymlinks), BooleanToEngStr(Data->FollowDirectorySymlinks)));
-        ADF(L"LS: %s, Ign LS warn: %s, Scp1 Comp: %s",
-          (Data->ListingCommand,
-           BooleanToEngStr(Data->IgnoreLsWarnings),
-           BooleanToEngStr(Data->Scp1Compatibility)));
+        case ftpsImplicit:
+          Ftps = L"Implicit TLS/SSL";
+          FtpsOn = true;
+          break;
+
+        case ftpsExplicitSsl:
+          Ftps = L"Explicit SSL/TLS";
+          FtpsOn = true;
+          break;
+
+        case ftpsExplicitTls:
+          Ftps = L"Explicit TLS/SSL";
+          FtpsOn = true;
+          break;
+
+        default:
+          DebugAssert(Data->Ftps == ftpsNone);
+          Ftps = L"None";
+          break;
       }
-      if ((Data->FSProtocol == fsSFTP) || (Data->FSProtocol == fsSFTPonly))
+      // kind of hidden option, so do not reveal it unless it is set
+      if (Data->FtpTransferActiveImmediately != asAuto)
       {
-        UnicodeString Bugs;
-        for (int Index = 0; Index < SFTP_BUG_COUNT; Index++)
-        {
-          AddToList(Bugs, EnumName(Data->SFTPBug[(TSftpBug)Index], AutoSwitchNames), L",");
-        }
-        ADF(L"SFTP Bugs: %s", (Bugs));
-        ADF(L"SFTP Server: %s", ((Data->SftpServer.IsEmpty()? UnicodeString(L"default") : Data->SftpServer)));
+        ADF(L"Transfer active immediately: %s", (EnumName(Data->FtpTransferActiveImmediately, AutoSwitchNames)));
       }
-      bool FtpsOn = false;
+      ADF(L"FTPS: %s [Client certificate: %s]",
+        (Ftps, LogSensitive(Data->TlsCertificateFile)));
+      ADF(L"FTP: Passive: %s [Force IP: %s]; MLSD: %s [List all: %s]; HOST: %s",
+        (BooleanToEngStr(Data->FtpPasvMode),
+         EnumName(Data->FtpForcePasvIp, AutoSwitchNames),
+         EnumName(Data->FtpUseMlsd, AutoSwitchNames),
+         EnumName(Data->FtpListAll, AutoSwitchNames),
+         EnumName(Data->FtpHost, AutoSwitchNames)));
+    }
+    if (Data->FSProtocol == fsWebDAV)
+    {
+      FtpsOn = (Data->Ftps != ftpsNone);
+      ADF(L"HTTPS: %s [Client certificate: %s]",
+        (BooleanToEngStr(FtpsOn), LogSensitive(Data->TlsCertificateFile)));
+    }
+    if (FtpsOn)
+    {
       if (Data->FSProtocol == fsFTP)
       {
-        ADF(L"UTF: %s", (EnumName(Data->NotUtf, NotAutoSwitchNames))); // duplicated in UsesSsh branch
-        UnicodeString Ftps;
-        switch (Data->Ftps)
-        {
-          case ftpsImplicit:
-            Ftps = L"Implicit TLS/SSL";
-            FtpsOn = true;
-            break;
-
-          case ftpsExplicitSsl:
-            Ftps = L"Explicit SSL/TLS";
-            FtpsOn = true;
-            break;
-
-          case ftpsExplicitTls:
-            Ftps = L"Explicit TLS/SSL";
-            FtpsOn = true;
-            break;
-
-          default:
-            DebugAssert(Data->Ftps == ftpsNone);
-            Ftps = L"None";
-            break;
-        }
-        // kind of hidden option, so do not reveal it unless it is set
-        if (Data->FtpTransferActiveImmediately != asAuto)
-        {
-          ADF(L"Transfer active immediately: %s", (EnumName(Data->FtpTransferActiveImmediately, AutoSwitchNames)));
-        }
-        ADF(L"FTPS: %s [Client certificate: %s]",
-          (Ftps, LogSensitive(Data->TlsCertificateFile)));
-        ADF(L"FTP: Passive: %s [Force IP: %s]; MLSD: %s [List all: %s]; HOST: %s",
-          (BooleanToEngStr(Data->FtpPasvMode),
-           EnumName(Data->FtpForcePasvIp, AutoSwitchNames),
-           EnumName(Data->FtpUseMlsd, AutoSwitchNames),
-           EnumName(Data->FtpListAll, AutoSwitchNames),
-           EnumName(Data->FtpHost, AutoSwitchNames)));
-      }
-      if (Data->FSProtocol == fsWebDAV)
-      {
-        FtpsOn = (Data->Ftps != ftpsNone);
-        ADF(L"HTTPS: %s [Client certificate: %s]",
-          (BooleanToEngStr(FtpsOn), LogSensitive(Data->TlsCertificateFile)));
-      }
-      if (FtpsOn)
-      {
-        if (Data->FSProtocol == fsFTP)
-        {
-          ADF(L"Session reuse: %s", (BooleanToEngStr(Data->SslSessionReuse)));
-        }
-        ADF(L"TLS/SSL versions: %s-%s", (GetTlsVersionName(Data->MinTlsVersion), GetTlsVersionName(Data->MaxTlsVersion)));
-      }
-      ADF(L"Local directory: %s, Remote directory: %s, Update: %s, Cache: %s",
-        ((Data->LocalDirectory.IsEmpty() ? UnicodeString(L"default") : Data->LocalDirectory),
-         (Data->RemoteDirectory.IsEmpty() ? UnicodeString(L"home") : Data->RemoteDirectory),
-         BooleanToEngStr(Data->UpdateDirectories),
-         BooleanToEngStr(Data->CacheDirectories)));
-      ADF(L"Cache directory changes: %s, Permanent: %s",
-        (BooleanToEngStr(Data->CacheDirectoryChanges),
-         BooleanToEngStr(Data->PreserveDirectoryChanges)));
-      ADF(L"Recycle bin: Delete to: %s, Overwritten to: %s, Bin path: %s",
-        (BooleanToEngStr(Data->DeleteToRecycleBin),
-         BooleanToEngStr(Data->OverwrittenToRecycleBin),
-         Data->RecycleBinPath));
-      if (Data->TrimVMSVersions)
-      {
-        ADF(L"Trim VMS versions: %s",
-          (BooleanToEngStr(Data->TrimVMSVersions)));
-      }
-      UnicodeString TimeInfo;
-      if ((Data->FSProtocol == fsSFTP) || (Data->FSProtocol == fsSFTPonly) || (Data->FSProtocol == fsSCPonly) || (Data->FSProtocol == fsWebDAV))
-      {
-        AddToList(TimeInfo, FORMAT(L"DST mode: %s", (EnumName(Data->DSTMode, DSTModeNames))), L";");
-      }
-      if ((Data->FSProtocol == fsSCPonly) || (Data->FSProtocol == fsFTP))
-      {
-        int TimeDifferenceMin = TimeToMinutes(Data->TimeDifference);
-        AddToList(TimeInfo, FORMAT(L"Timezone offset: %dh %dm", ((TimeDifferenceMin / MinsPerHour), (TimeDifferenceMin % MinsPerHour))), L";");
-      }
-      ADSTR(TimeInfo);
-
-      if (Data->FSProtocol == fsWebDAV)
-      {
-        ADF(L"Compression: %s",
-          (BooleanToEngStr(Data->Compression)));
+        ADF(L"Session reuse: %s", (BooleanToEngStr(Data->SslSessionReuse)));
       }
+      ADF(L"TLS/SSL versions: %s-%s", (GetTlsVersionName(Data->MinTlsVersion), GetTlsVersionName(Data->MaxTlsVersion)));
+    }
+    ADF(L"Local directory: %s, Remote directory: %s, Update: %s, Cache: %s",
+      ((Data->LocalDirectory.IsEmpty() ? UnicodeString(L"default") : Data->LocalDirectory),
+       (Data->RemoteDirectory.IsEmpty() ? UnicodeString(L"home") : Data->RemoteDirectory),
+       BooleanToEngStr(Data->UpdateDirectories),
+       BooleanToEngStr(Data->CacheDirectories)));
+    ADF(L"Cache directory changes: %s, Permanent: %s",
+      (BooleanToEngStr(Data->CacheDirectoryChanges),
+       BooleanToEngStr(Data->PreserveDirectoryChanges)));
+    ADF(L"Recycle bin: Delete to: %s, Overwritten to: %s, Bin path: %s",
+      (BooleanToEngStr(Data->DeleteToRecycleBin),
+       BooleanToEngStr(Data->OverwrittenToRecycleBin),
+       Data->RecycleBinPath));
+    if (Data->TrimVMSVersions)
+    {
+      ADF(L"Trim VMS versions: %s",
+        (BooleanToEngStr(Data->TrimVMSVersions)));
+    }
+    UnicodeString TimeInfo;
+    if ((Data->FSProtocol == fsSFTP) || (Data->FSProtocol == fsSFTPonly) || (Data->FSProtocol == fsSCPonly) || (Data->FSProtocol == fsWebDAV))
+    {
+      AddToList(TimeInfo, FORMAT(L"DST mode: %s", (EnumName(Data->DSTMode, DSTModeNames))), L";");
+    }
+    if ((Data->FSProtocol == fsSCPonly) || (Data->FSProtocol == fsFTP))
+    {
+      int TimeDifferenceMin = TimeToMinutes(Data->TimeDifference);
+      AddToList(TimeInfo, FORMAT(L"Timezone offset: %dh %dm", ((TimeDifferenceMin / MinsPerHour), (TimeDifferenceMin % MinsPerHour))), L";");
+    }
+    ADSTR(TimeInfo);
 
-      AddSeparator();
+    if (Data->FSProtocol == fsWebDAV)
+    {
+      ADF(L"Compression: %s",
+        (BooleanToEngStr(Data->Compression)));
     }
-  }
-  __finally
-  {
-    DeleteUnnecessary();
 
-    EndUpdate();
+    AddSeparator();
   }
 }
 //---------------------------------------------------------------------------
@@ -1383,25 +1281,6 @@ void __fastcall TSessionLog::AddSeparator()
   Add(llMessage, L"--------------------------------------------------------------------------");
 }
 //---------------------------------------------------------------------------
-int __fastcall TSessionLog::GetBottomIndex()
-{
-  return (Count > 0 ? (TopIndex + Count - 1) : -1);
-}
-//---------------------------------------------------------------------------
-bool __fastcall TSessionLog::GetLoggingToFile()
-{
-  DebugAssert((FFile == NULL) || LogToFile());
-  return (FFile != NULL);
-}
-//---------------------------------------------------------------------------
-void __fastcall TSessionLog::Clear()
-{
-  TGuard Guard(FCriticalSection);
-
-  FTopIndex += Count;
-  TStringList::Clear();
-}
-//---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 __fastcall TActionLog::TActionLog(TSessionUI * UI, TDateTime Started, TSessionData * SessionData,
   TConfiguration * Configuration)

+ 6 - 27
source/core/SessionInfo.h

@@ -220,36 +220,25 @@ public:
   __fastcall TCwdSessionAction(TActionLog * Log, const UnicodeString & Path);
 };
 //---------------------------------------------------------------------------
-class TSessionLog : protected TStringList
+class TSessionLog
 {
 public:
   __fastcall TSessionLog(TSessionUI* UI, TDateTime Started, TSessionData * SessionData,
     TConfiguration * Configuration);
   __fastcall ~TSessionLog();
-  HIDESBASE void __fastcall Add(TLogLineType Type, const UnicodeString & Line);
+
+  void __fastcall SetParent(TSessionLog * Parent, const UnicodeString & Name);
+
+  void __fastcall Add(TLogLineType Type, const UnicodeString & Line);
   void __fastcall AddSystemInfo();
   void __fastcall AddStartupInfo();
   void __fastcall AddException(Exception * E);
   void __fastcall AddSeparator();
 
-  virtual void __fastcall Clear();
   void __fastcall ReflectSettings();
-  void __fastcall Lock();
-  void __fastcall Unlock();
 
-  __property TSessionLog * Parent = { read = FParent, write = FParent };
   __property bool Logging = { read = FLogging };
-  __property int BottomIndex = { read = GetBottomIndex };
-  __property UnicodeString Line[int Index]  = { read=GetLine };
-  __property TLogLineType Type[int Index]  = { read=GetType };
-  __property OnChange;
-  __property TNotifyEvent OnStateChange = { read = FOnStateChange, write = FOnStateChange };
-  __property UnicodeString CurrentFileName = { read = FCurrentFileName };
-  __property bool LoggingToFile = { read = GetLoggingToFile };
-  __property int TopIndex = { read = FTopIndex };
-  __property UnicodeString SessionName = { read = GetSessionName };
-  __property UnicodeString Name = { read = FName, write = FName };
-  __property Count;
+  __property UnicodeString Name = { read = FName };
 
 protected:
   void __fastcall CloseLogFile();
@@ -264,24 +253,14 @@ private:
   UnicodeString FCurrentLogFileName;
   UnicodeString FCurrentFileName;
   __int64 FCurrentFileSize;
-  int FLoggedLines;
-  int FTopIndex;
   TSessionUI * FUI;
   TSessionData * FSessionData;
   TDateTime FStarted;
   UnicodeString FName;
   bool FClosed;
-  TNotifyEvent FOnStateChange;
 
-  UnicodeString __fastcall GetLine(int Index);
-  TLogLineType __fastcall GetType(int Index);
-  void __fastcall DeleteUnnecessary();
-  void __fastcall StateChange();
   void __fastcall OpenLogFile();
-  int __fastcall GetBottomIndex();
   UnicodeString __fastcall GetLogFileName();
-  bool __fastcall GetLoggingToFile();
-  UnicodeString __fastcall GetSessionName();
   void __fastcall DoAdd(TLogLineType Type, UnicodeString Line,
     void __fastcall (__closure *f)(TLogLineType Type, const UnicodeString & Line));
   void __fastcall DoAddToParent(TLogLineType aType, const UnicodeString & aLine);

+ 2 - 4
source/core/Terminal.cpp

@@ -1522,8 +1522,7 @@ void __fastcall TTerminal::OpenTunnel()
 
     // The Started argument is not used with Parent being set
     FTunnelLog = new TSessionLog(this, TDateTime(), FTunnelData, Configuration);
-    FTunnelLog->Parent = FLog;
-    FTunnelLog->Name = L"Tunnel";
+    FTunnelLog->SetParent(FLog, L"Tunnel");
     FTunnelLog->ReflectSettings();
     FTunnelUI = new TTunnelUI(this);
     FTunnel = new TSecureShell(FTunnelUI, FTunnelData, FTunnelLog, Configuration);
@@ -6904,8 +6903,7 @@ __fastcall TSecondaryTerminal::TSecondaryTerminal(TTerminal * MainTerminal,
   TTerminal(ASessionData, Configuration),
   FMainTerminal(MainTerminal)
 {
-  Log->Parent = FMainTerminal->Log;
-  Log->Name = Name;
+  Log->SetParent(FMainTerminal->Log, Name);
   ActionLog->Enabled = false;
   SessionData->NonPersistant();
   DebugAssert(FMainTerminal != NULL);

+ 0 - 1
source/forms/CustomScpExplorer.cpp

@@ -17,7 +17,6 @@
 #include <HelpWin.h>
 
 #include <VCLCommon.h>
-#include <Log.h>
 #include <Progress.h>
 #include <SynchronizeProgress.h>
 

+ 0 - 1
source/forms/Glyphs.cpp

@@ -52,7 +52,6 @@ __fastcall TGlyphsModule::TGlyphsModule(TComponent* Owner)
       ExplorerImages = DebugNotNull(dynamic_cast<TPngImageList *>(FindComponent(ExplorerImages->Name)));
       SessionImages = DebugNotNull(dynamic_cast<TPngImageList *>(FindComponent(SessionImages->Name)));
       QueueImages = DebugNotNull(dynamic_cast<TPngImageList *>(FindComponent(QueueImages->Name)));
-      LogImages = DebugNotNull(dynamic_cast<TPngImageList *>(FindComponent(LogImages->Name)));
       ButtonImages = DebugNotNull(dynamic_cast<TImageList *>(FindComponent(ButtonImages->Name)));
       DialogImages = DebugNotNull(dynamic_cast<TPngImageList *>(FindComponent(DialogImages->Name)));
     }

+ 2 - 449
source/forms/Glyphs.dfm

@@ -1,6 +1,6 @@
 object GlyphsModule: TGlyphsModule
   OldCreateOrder = False
-  Height = 437
+  Height = 366
   Width = 215
   object ExplorerImages: TPngImageList
     PngImages = <
@@ -11936,453 +11936,6 @@ object GlyphsModule: TGlyphsModule
     Top = 152
     Bitmap = {}
   end
-  object LogImages: TPngImageList
-    PngImages = <
-      item
-        Background = clWindow
-        Name = 'Clear log'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
-          61000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000002CD4944415478DAA5934B4C53
-          511086E73E7ADBC2ED69690BA10A6D782A16410DE22B246C5C10164663DCB061
-          634B3031D1850B135F892E5C6962D4B41063646334C10589D14D6322C1475254
-          108368A1143108A5ED7DD0963EEEF1DC1BAB18202E3CCB3333DFCCF9E73F14C6
-          18FEE7502A80A228F0F3BC5BA1A97E1AF0804794EF6C947CBBB4946732E90714
-          86264AC1474E4AD28406E83399DCC0D02FDC8DDBECD3A1B0924AAE767B447160
-          6D713F42D63CE021A76BEB41BBDD0AA3C1B18847905C1AC06F46F3BB9B1AB638
-          2B1D20AF24617824984BAF668FF548D2905A7C97E7CB689A0AD4563BDDEE865A
-          F830FE19C291F9671E41ECD0003E0B1A74D8AD475B76360049848428C348703C
-          93CDE60E533A5D18F2D9973BEAAA9CB5AE0A980CCDC2D4CC5C30A737B4F72E2E
-          CA1AE031457131C4DFB321D4B5BFB11E58868165418257E3933289A79BEBAAEC
-          CEF25208CD2FC0C474640230B47B2529AAE95710F13200ED40FC0D545474FAC0
-          F61AE0581616E202A87187D502DFA231783F3D1BC18CAECD1B8F47D4A7FD0528
-          1C3FE22F16EBF557F655BBC0C8E9B4BB05324D303C17259D0F792469AA90BB09
-          0075710C7DBFA5D2C15A8C06ED6E2696804F3FA29304D0A68EBE298074EFD5B3
-          ECADD6F2329A27DD85D50CA836B3E8399822CFF91A1734F14E2D2DC9EB003EB3
-          E97C11C35C6B253B36121157723978BD1453148C337B6C25061B817C4C881091
-          9301AB24759C00C8FC06F82DE8BA8961CEED450838B2C6B4A2C09B84A8A415DC
-          4DDA8408FF79332266E038189364F89EC93C21BA1CBF84B15230D2728BD168B5
-          B18C8A85B7C914AC28F88C57146FAAA3FA8A8B77520C1D701BF476874E07EF52
-          298866F33EE2D69E5F00732703787017CB725FF27990305C25C10B6BADEC339B
-          6B00E703F50CEBE4C948A3B95C8C38D1F64703843A892C0F496E9F5794CE6EF4
-          99FAACC60A25CF3E259FA98A94759026C3EBD6F8AFF308808B979418899904B5
-          F627CD7A6EF09E4BCDD50000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Copy log entries-console window output'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
-          61000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000001DF4944415478DA63FCFFFF3F
-          4366DFE6FF0C5801E331268EEFEED3B2C3BE609305E9650411193D1BFFCF28F1
-          67F8F5E73F8AE4E14B0F19D6EEBF748C89EB175643E006A477ADFF3FB32C90E1
-          FBEF7F280A3E7DF9CE70F5C12B8695BB2F9E616066F19C55E2FB06AB01A91D6B
-          FFCFAA0866289975002ED9186FCBC0C3CECCF0F2FD57862BF75F31ACD875EEEA
-          9CCA101DAC06A4B4AF011A10C2F0E5C75FB044F9F46DD883042D4CE00624B7AE
-          FA3FBB2A94A174F641B0B2AF9F3E32600B9323971F32ACD9870813B80149CD2B
-          FECFAA0E67F8F80DE282AA699B19F087C985730CCCACEE338B7DDE800D48685A
-          F67F76752443C55C880B3EBF7FC730B33C0867985C0585C9EEF357679507E980
-          0D886F58FA7F764D14C3BBAF7FC08A6BA66D64400E1318387FE705C3F16B4FC1
-          EC3BF71E31000395116C405CDDE2FFB36AA319AAE71F024B7E78FD8A01394CD0
-          819D9E1CC3A6BD6718E65687410C88A95D08342096E1CD17880B1AA6AE63400E
-          1374F0FDE71F86BA691B18E6D546400C88AE9E8F929459D9D91990C3041D9447
-          5A3394F5AF6658501705318091911145415CFD129430C16A48FF2A86850DD1D8
-          0D88AD5D841226E8A028CC8AA1B26F25C3A2A658EC0644D72C4009136CA0AA7F
-          39C392E678EC064455CDFBCF400458DA9AC808004C6438F08368B78D00000000
-          49454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Select all log entries'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
-          61000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000001C04944415478DA63FCFFFF3F
-          03258011644044F96CB24C59D199CA083760616B0A499AE3ABE7A01AB0A02519
-          43D1F71FBF18FEFCFDC7C0CBCD812197503317D58079CD08032EDF7AC2B078CB
-          318637EF3F83F97C3C9C0C919EE60CE67ACA703549B56806CC6D4A82D8FAF337
-          4371F70A86BF7FFF32D8996830FCFAFD87E1C8B95B0C6CAC2C0C93AB62185898
-          99C0EA92EBE6A11A30BB1162C0CF5FBF196EDC7FCEC0C8C8C8A0A726CBF0EFDF
-          3F86AA896B18DE7EF8C2D0571605F74E6A3D9A01B31A92E0CEFBF2ED07C3894B
-          77196E020DBAF3F825C3D76F3FC1E25DC5110C02BC5C60765A039A0133EA2106
-          7CFCFC8DA179C606866FC000D4579763D0549262D879F412D805DD2508176434
-          A21930AD2E112C71E0F4758655DB4F30D818A93344F95881C5AA26AC62F8F0E9
-          2B43677124DC80ACA6F9A8064CAD851870FACA3D8605EB0F32880AF13104B998
-          325CBAF588E1F885DB60B9FAAC600631613E303BBB19CD80C935096089BFC078
-          9FBE6237D8FF20202B21CC2022C8CB70FEFA0386681F6B060B0355B0786ECB02
-          540326410D00019018280DFC03D2E2C2FC0CBFFFFC65F8F1F317382AD9D958C1
-          6AF2D00D98588D30801890DF8A66004599891200004F1B09F0A5CD4E56000000
-          0049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Display preferences window'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
-          61000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB0000034A4944415478DA75937B6813
-          5914C6BF3B9999A45393A64DD32A71D7B59B55DBDAADB8B8A0A2B8AE755DA5DA
-          A6A8E063FB1065B1FFA5A2A88BF6AF55B091F886FA4A9405F1D10A51D627BBAB
-          527C94AAA116432D6B6BB59BD86D6293F4313399F166C44AA11E18E6C09CFBCD
-          39BFEF1E82CF4459B973A70A529BCCE9BBA6D15B7770AC3AF23129DE542BF052
-          BF43E4C8355FBDABD75151D371C2BD3B67785842F5B6DFFD0D1E5761E9FA2D59
-          0CAB2C16395383AFBE76604420799813A33717CEFB7ECEDDFB2D114992DF7E57
-          98F74D75D56AC40787B0D77D12DDFF85DA58869968B1649842A1DE7B26622CF2
-          786A873481D272E72F3FCC9DE5AD5A5B82017A800A80E558043A5E6348146136
-          A6A2BDA30BB2AA80E7F4B871FB1F44A2EF8A1B4FEFBFF24180B626087CE0C09E
-          AD66514AA0D9DF8EF0BB1832334C90E48496F35450C73078130CA1A9E941EF30
-          A7E626471D61E028AF693FB26F87BDD9FF0269A65498E9138E44B50E864519B1
-          F8105455C5CBCE6E343F7ED2D6E871E56B0CCA2A9C4E0564C3B7B9F6BC5F2B57
-          E3FA9D16CC9CFE35FEBAFB10779A1EC508015358902FD86C36A4A719299341DC
-          BCF537A2B1B89F10729CD03F4BC7DDBB281F06AD812EADC0C07338547F362672
-          EA648348B913B5E3C7850B8409D60CF03C8B64ADAA2470E2CC795113385AB793
-          A57CF0EC45174451A2BE2B3875E64224A1CA9313BC8EE525D2B96C4991601B9F
-          092EC942C750FB54B88F79A940E596ED50D42A7BCE97F6B29225F8F75510A906
-          3D1EB5F8D1F63C10A663EB72A74D314DCF9B8AFC299310E98FE3DC451F7A826F
-          9F139053A320AE722CB573BC018AA2201A1FD42CD5731C8C4601E3ADE9C8B298
-          D1D9DD837AEFF94F103FDAA8E34860F9CF8BCCBCC100839E07C7B29065192929
-          7AD8B22D5ADB6F827D4831B0701DF68464459A7AD9E38E68026595CE75D9D6AC
-          B3F3E7CD4630F4BF66DD571327805E3A4D2C1903038348378D43467A1AFEB8E0
-          C3D3D640E9258FEBF2A8AB9C996999D3D717EEA72384B3AD964925C53F41A01D
-          5DF2FD89AE573D9D54CC3AA3609A70BFD9DF24F1C6A2E43E8C3058B979F33825
-          9EB2865195ABF939693DFE97D1F6EA8D6B73F494FAFE23DED606AFAB6045A5F3
-          0B564591C89BCE8D5AA6B1C251E1DC4D3FEFFAB0B3E4B786D3757BC6AA7B0FDB
-          2F6D8C6D24794C0000000049454E44AE426082}
-      end>
-    Left = 32
-    Top = 296
-    Bitmap = {}
-  end
   object ButtonImages: TImageList
     Left = 32
     Top = 224
@@ -14587,7 +14140,7 @@ object GlyphsModule: TGlyphsModule
           66BF17C90000000049454E44AE426082}
       end>
     Left = 32
-    Top = 368
+    Top = 296
     Bitmap = {}
   end
 end

+ 0 - 1
source/forms/Glyphs.h

@@ -13,7 +13,6 @@ __published:
   TPngImageList *ExplorerImages;
   TPngImageList *SessionImages;
   TPngImageList *QueueImages;
-  TPngImageList *LogImages;
   TImageList *ButtonImages;
   TPngImageList *DialogImages;
 

+ 2 - 474
source/forms/Glyphs120.dfm

@@ -1,6 +1,6 @@
 object Glyphs120Module: TGlyphs120Module
   OldCreateOrder = False
-  Height = 437
+  Height = 366
   Width = 215
   object ExplorerImages: TPngImageList
     Height = 20
@@ -12737,478 +12737,6 @@ object Glyphs120Module: TGlyphs120Module
       FF00000000000000FFFFFFFFFF00000000000000FFFFFFFFFF00000000000000
       00000000000000000000000000000000000000000000}
   end
-  object LogImages: TPngImageList
-    Height = 20
-    Width = 20
-    PngImages = <
-      item
-        Background = clWindow
-        Name = 'Clear log'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000140000001408060000008D891D
-          0D000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000003A44944415478DAAD944D6C1B
-          4514C7DFECECDAD98FB1E21A5B4ED224951AB569222292501B477C238444C585
-          4ADCAA5602516AA77041DC90E084B8429AA620DA03420881D453814085846A8C
-          4AFA199AA61F28A131ADE3A4761BCFAED7BBDE0F66378D216D4239744EBBEFCD
-          FC66DEFFFF6690EBBAF02007F2800821FFE73D002EA6284F2CA8EA49F65DBBDF
-          E203B21CE7317AC5AAA8873300AACF5A017AB016420E0782C26ED330B305AA3E
-          C762E67AB043A2D801023E118D463A1617CA398BD217D2AEABFAC0F711F26191
-          48F3EE546A00CE9F9F867CBE70AC40E9CB6B414714A55740E8E7FEFEDE486767
-          1BE472A760A158DAFF3AA5233E702CA4EC690E858E3C991A04CC63701D074E9E
-          FE1D8A0BA5CF19740F833A8D32893814E084EF1FEDEF252DF118E4AFCFC39973
-          53D74DDB490C6BDA0D1F38AA288F04789CDDDEB74D8E4723FE4287417F393D09
-          E55B958FF6AAEA5B7E992169078F85AF127D3D72341286E2CD32FC76EE62C970
-          9CA78655756A95868724690030FEA1BF7B73A43D1EF5A1B66D43F6EC14DCA6DA
-          BB2EE7CE36F1C291E4C3DD423844E0D61285DCE445CD30AD6732D5EA84377F15
-          D01BA324B81523E1C79ECE8DED9B5BE37ECCAC5B90BD70091CDB76933D5B1091
-          44A0551D4E4C4ED74DCB7E31AD69C757E4B807D8708FC7DF76B5C47ABB37B6F8
-          31DD5CF6450C04A05A33203B7DD5AD59CECE7D941EFDB7596B027D28210FB1D0
-          B1F60DCD89BE3676D23B79C33BED1FB35035ADD7DEA0F4B3BBDD5F17C85CE5BD
-          360A4B4DBB921D6D8039CE8F2FE935F8F55ADE301CEBD90CD573FF0BC8600106
-          FB26268B2F0DB0B6E058CE7696BBC60397987E138522351C37E539FB9FC00300
-          0A4F94EF5A65E9F13ED6165EDCCB9F5A2C31A80B83B108080C5A64D0338BE592
-          5DAF27D2B5DACC9A404F37F637BE89B5CFB690B2AC1BCB9DBD5D81F95AED6BD7
-          45D78880DF4E6E084300739067D00B4B95398B999FD1B4F955C011596E0D60FC
-          5397D4B4B54B921A254CA91AE48DDAF14245DDE15D41B6E93B22E63E4CB23E6C
-          C21866751D2E6B5556367A7A2FA5371BC04F08190E0BFCC709F91FD855D61E33
-          86E95F7AEF2559898F11F26A10C1A7DB6509290C7A85CD9BBD33AFF1388C22C4
-          B423E39B783CB44510E04FCB822BF57A63E7BBDD3CA8283B05045F0E06834233
-          D37482F569D9B2336CEE6843C36543C87884434325D799332D27B5BF5ABDB1DE
-          F33526CBCF0B983BDAC671F29C6D2F5A75EBB17DBA3E738FCB98908C69595FBC
-          A9EB7FC17DC641514C703C9FB6C1FC204D8DCB0D0D1FE4F81B8DF1F2E875364C
-          650000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Copy log entries-console window output'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000140000001408060000008D891D
-          0D000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000002434944415478DA8D94DD4F52
-          611CC7BF676DD9D6FFD09FC07DB5BA6DAE8B263382838991BD5D74D30B7078F3
-          0C72666B70091E0E84A588529AB96E6ACEB2965B7391D8CB45C69CAB0D26460A
-          0403EB090F1BEBE0B3C7BE1767673BBFDFE7F9EE7C760E4708C115DF0C0123F5
-          87AF7F142AED09515764CED559DCCEE5F2DD6912BC710AD56D4283E1D5D22A12
-          73A937F952F5040BDA045EBA3345862C1D28D7FE5007B78A657C5C5DC7F8F3F7
-          8B2897DB2591CF31811707278964D5E2BAF462D790C7740C07DBF6219B2F29D0
-          F8B3E472C8A6D53081BD030F4948E844A1FC9BDA30B992C5C2A76FCAFD4A7A0D
-          61FB698E093CDF3F4142761D6E86D40D7F150B2C07BB643581666F9CC84E3DF2
-          A56DD58223F8142C5973EFD2989AFFD094D504F6786275200FABAC6E58FC99C7
-          5EB252E92C12B34B6FB972E5E4509F21A7004DE228915D3C368AEA86EEE00CFE
-          4756EAAB025D96AC1D1A05D8ED7E40E4BE2E08E197AAA5CD8D1C58B2163E7F47
-          F24BA6294B163A3905D8E51A26B2BB1BEB859A6A410C3C064D566B8E6B0EE1C9
-          EC22C20E5D036874DCAB3734C1199D570DE6B319D064B5A654A9D50F9F46C4A5
-          6F0079214242620F325B55D5A03730099AACD6580D4761F1271075F30DA0C126
-          13493423B3A906DE0A3C024D1615EA9FC0B0686C00F5D610F56FB3BFED0068B2
-          5A734D7704826F1CF73D671B408EA37E49303AA35459B408FE318C784D6C206F
-          8F5065B5E6AAF6301CFE1846FBCFB181065B982A8B16972F86D880990DDC79B7
-          3459B4B8FD2318BBDDCB069EB148644FD23F890F5EE0FE02E4668BE8D3E7006D
-          0000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Select all log entries'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000140000001408060000008D891D
-          0D000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000002434944415478DA63FCFFFF3F
-          03350123C8C088F2D954317545672A23DCC085AD291419165F3D07D5C0052DC9
-          141998503317D5C0F968067EFDFE9361DD9EB30C976E3D6178FBE10B584C889F
-          9B4157558621C4CD84819B931D457D22BA81F39A1106FEFAFD97A16DF6668647
-          CFDF62758DA4A80043537620033333135C2CA916CDC0B94D08030F9CBEC1B078
-          F351305B5F5D8EC1DA5015ECE2CD072E30BCFB08716D458A0F83AA9C385C4F72
-          1D9A81731A93E0928F5EBC63B87EEF19C3B3571F18627D2C19585898C1E2FB4F
-          5D6758BAF538989D16EAC860A6A308D793523F0FD5C05948062283BF7FFF313C
-          7DF59EE1E683E70C272FDE85074372B03D83B99E325C5D1ABA81331B500DBC71
-          FF39C39EE357186E005DFAFBCF5F0C8B9282500D4C6F403370463DC2C05397EF
-          32CC5B7710CC66057A5743518A415D5192E1FB8F5F0C5B0F5D807831D891C104
-          C9CB198D68064EAF4F844B364FDF000CBFF760C3EAB38318840578C0E2C7CEDF
-          6658BCE908D4CB0E28066636CE4735705A1DC2C0ECE6050C20717E5E2E86B682
-          7006464688F8FCF507194E5FBE074977402F9BEA28C1F56435A11938B5166160
-          D3F4750C2FDF7C04B3AD0CD518B45564182EDE7CC470EAD21DB89A082F2B065B
-          63752447A0193805C9C0D357EE312C5C7F102322F435E4192EDE7808669BEBAB
-          30C4FAD9C2E572D00D9C5C9380A219940E0F9DB9CEF00E98ED440479194C7595
-          190C8006EE3C7289E1FBCF5F0C1C6CAC0C1EB6FA70F5B92D0B500D9C589DC040
-          09C86F4533704215650616B4A119489169500037909A00004AD749E85EF3442B
-          0000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Display preferences window'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D49484452000000140000001408060000008D891D
-          0D000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000004724944415478DA8D546B5054
-          65187ECE2EEC9E65592E0B044BE2858B601803C5188C34522225D6B848748192
-          ED3A6A390538E394D93845303A013398501ACD02EAA416CB74D11F6AA3604419
-          0992AEC465613194CBB2C02E7BBFF49E3366C3E8A067E6CC7C67BEEF3CDFFB5C
-          DE97C13D9E5C55A99A018A68E9F1C25BAF5157BDB5D07966A14DA5EABDA000A9
-          CCF875CD1EB85C6E146DDFED1A738CC9CEA9D5B6FB01146C2A2AF91C0C9343EB
-          DD70B9CF40282C5D9F95519ABF711D7D7A505DD7842B7F0F7CE2B633353E626F
-          2E0366971738A25157EEBA0390C06AB3D6A46D2DC85B8F438735E8EAB986570B
-          94484E5C0EBBD305BBC38529E3345A7FED44C7C56EB75C1E2C7C342509BF7776
-          61D23055FE1FE8FF80AA5243536D997CCE6A8754C2F23B165A5FEDD3E3C6B891
-          28BB40FC11209362C2300D815008BBDD819B631368BDD0AE6F56572D990798AB
-          2A29C9599B515990978319D31C86FF19477BA7168B1F7C0041323F384943C3B4
-          0966B31521F200783C1ED808F07C5B3B8CD3D36FB43454D7CFAFB070FBA240B9
-          7CE4C0BEF7D1ADD5E1CFBF06F0447A129C4497FBD14AAFCDEE84D566C79CC50E
-          AFD783A91913DA5A2FB8DD2E73A4A6E98BF1DB80992A151BEC0D292FDDF67271
-          5CCC3234359FC5862757C1E170A2B77F08977AB4549117B1B42793F9939E4E04
-          127583D104AD568B419DBE6C8A317CCAB9CF90768D62916F616ACA4A81EAC567
-          D1D33B0CE38C19D15111D0F6E9705C73F206DDB99332C83210543C9E91162291
-          F8213C3488AA044CB3B3F8ED8F2E8C4F4E3A3D6E4F2307E83D76682F2C3C151B
-          7E6EEF4694220CACD817C734A730383CF25C4B43D577B7747E2D3242519F929C
-          84E0407F8404C9486F0BFCA52C99254145D5410F0F78F4CB0A98E62C983559D1
-          71E91A22E876A18F102D3F9E865E7F7D537363B5E656125E5128221A1F4B7D04
-          72020B2573383632A9044174C147E53520C0926FFDA5D2BC952BE2F0F4DAD5D0
-          8F1AE0703AE147D119D0E971E65CDB1051DB21F0C2C7CB30D5ABD35729164546
-          60595438DCA4ABC56AC1F95F2EA27F7018369BE3086F4AEEE6B7432060CBD6AD
-          49DF92F8503C4646278886847777487F1DBA213D048C0031D14BC18189595FA4
-          2527A07F7814DD97AFE26C6BC7670EA7B5FCA7A375C6DBB1D950501C2DF3170F
-          143EAFA4CC79A8038159B38562E2800F8558E4EBC3BF1C58EAC371189B9CE6C7
-          C5BEFDF530BB4C8A93EADA9BF372A82C2AD9AA080FABCDCECAE43B402010F03A
-          71DDC265514C2685C903896A04C9324E7A5B78A70F9FF801BD7DBACDCDEACAA6
-          F99D52543AB1F199EC50966579AAE6391B4F9B3388EB0CB148C46BCB552CA12A
-          2562319F53B148880FCBF7DFD97A341CBE22075F8F8F8F4577F715AAC08484E5
-          B15891100B3F3F0958912F44E47CBF6E98372191CEBDA0CCC689EF4FD380B85C
-          D7DC50B5ED6EE3EB2089A7A43EDD03C6758A61443B62962EDE92939DC9E7928B
-          51DFA0BEDA63F7560B58E4D3F8FA80D27D9CC0DEE106F03D07EC53F9C5F2E060
-          D6B0F3DD37C910213EDE7BC033E61E97DEEF80BDEB4361E642ADE4D6D469DFD0
-          DC7B69A1F3FF0258A409FFF54527050000000049454E44AE426082}
-      end>
-    Left = 32
-    Top = 296
-    Bitmap = {}
-  end
   object DialogImages: TPngImageList
     Height = 40
     Width = 40
@@ -14323,7 +13851,7 @@ object Glyphs120Module: TGlyphs120Module
           F7F518F77FA874827403FF88650000000049454E44AE426082}
       end>
     Left = 32
-    Top = 368
+    Top = 296
     Bitmap = {}
   end
 end

+ 0 - 1
source/forms/Glyphs120.h

@@ -14,7 +14,6 @@ __published:
   TPngImageList *SessionImages;
   TPngImageList *QueueImages;
   TImageList *ButtonImages;
-  TPngImageList *LogImages;
   TPngImageList *DialogImages;
 
 public:

+ 2 - 490
source/forms/Glyphs144.dfm

@@ -1,6 +1,6 @@
 object Glyphs144Module: TGlyphs144Module
   OldCreateOrder = False
-  Height = 437
+  Height = 366
   Width = 215
   object ExplorerImages: TPngImageList
     Height = 24
@@ -13642,494 +13642,6 @@ object Glyphs144Module: TGlyphs144Module
       00000000FFFFFFFFFFFF00000000000000000000000000000000000000000000
       000000000000}
   end
-  object LogImages: TPngImageList
-    Height = 24
-    Width = 24
-    PngImages = <
-      item
-        Background = clWindow
-        Name = 'Clear log'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
-          F8000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB0000044B4944415478DAB5955B4C1C
-          6514C7CFC75CF6321760976529456C020D542858D852A034D144D318A3C6D444
-          7D686A7C60976A8DA6F1A12F5E5F9A986063A8151AD2186DD490A6494DD35623
-          D12D6DB8D9D25282A109412301C92EBBCC37B3BB73D91DBF59610BEC22E5A1E7
-          6D4ECEF9FFBEEF9CF39D41A669C2A334B4024008659C9F0170EF03285B153BED
-          703C66D229C7DB589DB2BE2DED2C408FC81D364DD44B3CDFCF61FCC64700A987
-          11EF1684B63C0A5DA5288AD534F55000C77ECC0258E20CC37EBDBFAD098DDF9D
-          845078B1CB2FC9C73613FF4A70BE40534C5F736BA3CD6663612038A4C7139AAF
-          4396EF6600DD3CFFBACDCE9E3FB0DF87048187A49184E08D118846F1870159FE
-          6423F1E543F5B6ECDBC31416E603C632FC767D585735632DA0471427F7ECAEAA
-          2E2FDB9649D6341D8283B7409163C7FCB2DC955516917FC769B39D6ADE5B8F04
-          9E83583C01C19BA3A6AAEAAF92F8BE35252237789661E98B8DBBAB396F912B23
-          124FA830303C662A9A7AB84352CE67CA22F21F0B4EE7072D0DB5E0B0DB405535
-          088EDC0125AEB677607C3667934F0B8E561631971A7655BA4B8BDD1908566270
-          636C42D70CEDE5392976651BCF7F9E4F4EDF52570D2CC380AE1B30303641E2E2
-          27FC189F5CC9CB39455D3C5FC322F8A5AE7287B7BCC4938144486D07EF4DC58D
-          64AADF25F2CF37D7EC043231904C266170620AC292D219C0F8F8EA12E604A4CB
-          E5709403435DAF2E2B2DDF59EACDF8434B18661642D058B103501E023365C2F0
-          FD695888E273E4E46FAEEFD18680E5B92E2221BF56783D35BBB67BAD80F5D970
-          6BE66F985D8C5E9CC7F22BB9DECBFF022CFB0240B409C295B2C2FCD6FAB29235
-          907BB3F330138EF413F1E788B8966B843705FC572ABABFCAE3AAA85C3559964D
-          872330F94F6882643E45CA13DA32C06A3683E05A4DB17BFBE3F9E2DAA4E5D83F
-          428B301D916E1A181F7C0B407E68407A5C81BE54E771BB4B7967C63F2B2BF0A7
-          24C35E6F1199012AED1B2790BF64F9DABC24BFB8BE5439016738EE204B53179E
-          7415701EBB3D13BC405EE9EFE148D844E60F3C4D1F6D72BBC14E53E966DF5E8C
-          C27C22DE3727C9AFAD6E7616E00CCF1F62F3D077BEC202A6806532E28B9A06A3
-          9125C53092073A62B1DBDD22F7AE03519D3E5701E2683A2D341A5D8290AA9D0D
-          60B93D27A047E48FB028EF5C53BE88F8E5EB5B2619060C2D49BA61C23364E905
-          1F8C3167C5F7FA44811209244974463086A8AE9FF463E5440E803051EF743C51
-          C23C38792C95822159496A907CC92FC52EAF6F627A4D43DE8506CEC9B8084427
-          5AC364ADE0A4713C8095CE7500B18D4670B58165B902728384159C48982AA48E
-          B44BCA37B081A57F3424AF9EE479489E4AF206130988EBC6BE402C36BCA60756
-          B005A9A569EE3E298D02A9F7FC92720A36B16EA7B3812CA69F6A69CACD109D3B
-          BA113674DD1788C767B2A6C88200826F2165F6929DFEE966E22BF6A560ABA210
-          F33398C809A9D4D37E4519DFF4256FD5C888DA8B011C47C9F2CD6AF2A3B27F01
-          C1324BEF565135130000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Copy log entries-console window output'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
-          F8000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000002724944415478DAB594ED4B53
-          6118C6AF7D0EEA2F498AFE80B430B52CA9281DB652A4652D1B99A835DB348A10
-          2AE7B6B3B6954E4C54660DAD49421051A9E44B09221528F4B2B44DCD6D6E73EE
-          C5A7671BADB576CE1E3F787D3CDCF7F53B37FCCE111142B095114501574CAF58
-          286F036114E865395ED6F268770270579A0DBE63A28F1FBFF98C779F7E8E04C2
-          248F15F21F2014E13F646ACE81AF8E558C7EFC3141DB0B4CE772969801D58697
-          E45EE53E04421BBCC36BEB41CCCEBBF0C5E1C1E88C7DBAE5FCFE2C66809C7B41
-          D4B25CA8FBC6D30E4A8FECA1C56E8CCCD8E94B4430FB7D119A8B0744CC802ACD
-          1069ADCA873710115CD8A0B3CB9E35A82DC3D0C90BD801175A6C442B2F84E6C9
-          38EFB07DC597A92F9A7F4C4B002AEF0C105D75115CFE70DAAD5F6E2F8C8353D8
-          AC690980B4D94A743547C15927D22EAF078358F485C0649A336ADAFC186D3F64
-          94662FC50015B72C84AB3D81655A922E2B6E1FDA9F7F4026D3FC8120E6165C54
-          674F5488693A9F150394DFE8215C7D318C0393BC172CB8FCD8AC69ADB25C510C
-          705AF588E8AF95627195E7028F0F66DB18984D7353D3FA86A1BD941F079C6AE8
-          209C428276DB7BDE0BBE395790C9B43F293BB81B0AD310F4970BE300F1D536C2
-          5D3F03A727FD052E7A41C753EABE8069A969300CC25053140794D43DA0807238
-          57F901E6FED710322D39E2BC5D50DE7F0653DDB1BF804C4BDBB6EF809069A951
-          72FD68539C8C0344A28C5F3DCA9ABA054D4BCE71FA1F54E9AC302BC5EC0089B2
-          53D0B4D4A8B416743649D801A50AB3A069C939BC77271A35BDE8BA59C60E28A9
-          7F48F402A6A5A6B1B51B3DB72BD801C5B52641D352D3A4EE426FF3D9CD01989A
-          9392006C657E03188BD5E0187690680000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Select all log entries'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
-          F8000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000002864944415478DA63FCFFFF3F
-          032D0123DD2C88289F4D359B5674A63262B560616B0AC586C757CFC16DC18296
-          648A2D48A8998BDB82F9681680A4F69EB8C670FCE21D86E76F3E327CFFF18B81
-          839D954142849FC1DA4095C1D9428B819111D582447C16CC6B46B560C6AAFD0C
-          A72EDFC3E95A6B435586E4203B14B1A45A3C16CC6D425870E5CE1386FE453BC1
-          6C16662606535D25061E4E0E867B4F5E31DC7DFC0AAEAEA7249241908F0BCE4F
-          AEC363C19CA624B8C2E317EF321C3C7D83E1D1F3B70CA1EEA60C8E669AF0602B
-          EF5BC5F0EEE31730BF24D19341435112AE2FA56E1E6E0B6637222C408E07901A
-          2626889E771FBF324C5AB28BE1E9ABF7607E76A40B8381861C5C7D6A3D1E0B66
-          35605AF0E1F3377070DD7EF892E11E30685EBEFD88229F16EAC860A2AD88E037
-          E0B160269205FFFEFD6758B6F518C3D1F3B781EC7F7071365616B06F7EFCFC0D
-          E6E7C7BA3368294BC3E5D3F15930A33E11AE70CBC10B0C5B0E9C07B379B83818
-          EC4CD4C106294A8B324C5ABA8BE1E6FDE7100B62DC193495A5E0FA321AE7E3B6
-          607A1DC2829A49AB19DE7E80446451BC2783AABC045CAE7BFE56707081401EC8
-          02258405994D782C988664414ECB4278D094A7F832C84B894023F90B43E3D475
-          0CBFFFFC85B838C285414F4D16AE2F0B9F05536B1116B4CFDEC8F0E4C53B305B
-          5C989FC1DD468FE1F3D71FC09C7D85E1D397EF7075B17EB60C16FA2A707E7633
-          1E0B26D724C0155EB8F19061EE9AFD18A98A898989414D4192E1C6BDA760BEA3
-          B9364390AB295C3EB765016E0B2621590002976E3E62D875E412C3E3176FC1A9
-          47554102E8137D70A4AFD8760CAC869F878B21C6CF06AE270F9F0513AB131828
-          05F9AD782C985045B905056D782CA0D87428C06A01ADC0D0B70000AA1B6EE0F1
-          BE05C00000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Display preferences window'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
-          F8000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000005734944415478DAB595094C14
-          6714C7FF337BC0AE5BAC802837AB726BAA08D5AD8220126C940A34686B03AE69
-          5A2D6AAB402349AB46DBA2A980C6BB6DD4C5A6A64239146B1005F13682D483AD
-          4055649143D80576B9965D66A6DF8C959A28B126759249769379EFF7BEFFFBBF
-          F7511CC7E1753E140FA028EAA51FC62F4B3D030AF3F8DF24A6B430273BFA6531
-          42EEFF0258B074DD043F6FF7FBDB37AD05C3B048D99885A6D656659166E7C357
-          06C4AAD77AD1106DE3C095156AB20F868787D3633C825213172FDC36376C0618
-          96C56FC74B51527639BD4B579D555151C1C6A9533EA64045B260D29F853E07E0
-          938B68F1C54D692BDCCE5DAAC2F92B9597898A5E73DE09765DBC280A94480466
-          884187BE0B79274A71B7FE413309D7B9BB8E574D547A90EFAF37B11C13F614F2
-          1C205E9D5AF84D7A72ACA7870B44348DC71D06388C194D183406CC83E8ECEAC1
-          109148662B25C12C1A1FB5E161530B26FBFB8265195CADBC894B57AB8A0A3459
-          712301D64447A876252D894197B1173652094C3DFD387FBD062D8F0D508C9281
-          379DC56A85F3587B787B3913364DFAC2C06A65905B740A8F5ADA928B72B2F78F
-          D4033A4E9D7A63F7D6F5536D6D6CD0D8DC81D28BD598353D00AEE31D48F58C90
-          6C6888457BA711CD6D7A78B838412CA2A1ADBD87D2F20BD5059AEC1092877D21
-          20302141EAA7F06CD2ECDEECD4D1D98363272F202E5A0589582C24B75A8784E4
-          2C9187978A3F89BED3043BC528180C9D389A5FDC52DFA7536AF3F22CCF016212
-          572B25B4F4837973666610C720BFE40A26793AC3D9C91EFD03669C2839873F6E
-          DF2502719812E04B4584CE14E22C441AFE04128918C70A4E42D7D49A3EC45972
-          8B7FDED3300C785F9D7646E9E132EFEDE02998A39A4E7415E1506E29162F0815
-          2ACF3B7E1A376E6A8F74F59B57C9A422DA562C3D3025C0E7C3883015680291CB
-          6CC0EF03BDDE80EA5B5A34E89AD1D5653A9BAFC98C7A02589EC6E51DDC8EDEBE
-          01982D16C12D65576F236AF65441962DDFEF6506DA8D76C5C53FF6F3477FF7A3
-          357672A9B47BF52749949418C14E2117E6434C6C6C6323C128025CBD3E03F987
-          33A961C0AF3F6D434F9F1966DE8EDDBDB876B39634D71FE6412B32B20E30837A
-          D330203C2159E1A890757FF1D972110F701C6347BEB30C03E4325BAC4CDDF20C
-          409D767E82D22D2CC0670242A64D864C2E43F9E55B9839CD4F90E8F8A932DCF9
-          B34E6335F4AEE2011207C5DE403F1FF5C2F911C40022B88C7380B1A70FDD4623
-          AAAAB5A8FDAB018FDADA2B0A0E6746FCDB6475AA9F045CC2647FEF2D894BDEC3
-          9DDA468CB5B723154985539D2EBF88BAFAFB0C0FF0F7F5164547860ADA2B4831
-          F66F2AD06FB6E0D02F85B8ADADDD68059557ACC9AA7DA14D7D151EBACF3F4D1C
-          2797C9D0D2DE092787D1C282E36DC9F13A8B450294AF9C1F444FB771D01B8C64
-          D2CDF82A63D7E3BA5E9DC70B6DFA74D0E2D5299531F3238302FDBD3168B112DF
-          33A0C9B4F223CC27E75F3E39DF5817327C0662088EE5C804B722738FA6AA2027
-          7BC68883169F94B2C2DDDDF9C0D28445C26EE19333245821B7155E3119385BD2
-          447E65F0C0EEDE3E7245D0C4AAC01B0A19F61FCE45E58D9A950547B27F1871D9
-          91018A0D268DE6778BB6EE1E9C1CEDE1EAEC2424974A48F5223144629A80A4E8
-          EBEB87C9D403DF495EA0C9B0D5DCBD87CCBD39232FBB278DA62E85AA821D1A1A
-          9BF86357930A5D944AB7F1D111B3885B0888408C46137F1FE0564D5D1B07B665
-          F68CA02055C85BC8DA97A31F64B950BEC1235E3831CBD6058A29EA3BA2EBD9A2
-          233BF691C68B7DE4EE5FAA42A67E1B1F1325E85F5C5281B20BD7BEAEEF6FDA4E
-          1A3A149BB42E994CF45C2BB80DC5393BB4AF7C65C625A5F88C75B4AFDB9C9E2C
-          2CBE0D5BF740D7DC31F1F7A33B1EFC2F77B20051A79E235F85FFF3B79CE81CF9
-          B29861C0EB7CFE064EF3ECEFD45AB8FA0000000049454E44AE426082}
-      end>
-    Left = 31
-    Top = 296
-    Bitmap = {}
-  end
   object DialogImages: TPngImageList
     Height = 48
     Width = 48
@@ -15817,7 +15329,7 @@ object Glyphs144Module: TGlyphs144Module
           AE426082}
       end>
     Left = 31
-    Top = 368
+    Top = 296
     Bitmap = {}
   end
 end

+ 0 - 1
source/forms/Glyphs144.h

@@ -14,7 +14,6 @@ __published:
   TPngImageList *SessionImages;
   TPngImageList *QueueImages;
   TImageList *ButtonImages;
-  TPngImageList *LogImages;
   TPngImageList *DialogImages;
 
 public:

+ 2 - 533
source/forms/Glyphs192.dfm

@@ -1,6 +1,6 @@
 object Glyphs192Module: TGlyphs192Module
   OldCreateOrder = False
-  Height = 437
+  Height = 366
   Width = 215
   object ExplorerImages: TPngImageList
     Height = 32
@@ -14869,537 +14869,6 @@ object Glyphs192Module: TGlyphs192Module
       FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000
       000000000000}
   end
-  object LogImages: TPngImageList
-    Height = 32
-    Width = 32
-    PngImages = <
-      item
-        Background = clWindow
-        Name = 'Clear log'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7A
-          F4000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000005F04944415478DAC5976B6C14
-          5514C7CFECCCEC76761E74BBDD6E0B042A0601B7A54FBA4B79698C6862149B7E
-          526208C1B0A525040DE193D1123F1112252AD016910F7E20C40812E421314A40
-          DB145AA0246BA1A565FB802D7D41771EFB98D91DEF6CD975DBDD655BC070BEEC
-          EC9D39F7FF9B73CF3DE70EA6AA2ABC48C3A2001886FDAF42F500197946A3C929
-          491EED7F4C37194023CBAE468F34A1BB4D4EAFB8FF59C51B296A0190C4EFE832
-          5F5543D535BC743A258026AEC3B1F345C536BAD3D5053E7FF0E31A9E3FF2B4E2
-          DF318C8DC4E07C41E1D2F9E66C13FC75F98AAC2872357AB1D3090011711D76DE
-          6E2FA1ADB916E0BD025CBED4AAFA65A57A1BCF9F9CADF8418E72E02AF16B49A9
-          CDBC70E1FCC8D8F0F0283437B7495B27787A0A4013C74D8AAF28A2ADD6ECD824
-          E3E38FE0EF966BB2AC84DEDE26087FCC54BC81A6DFC409FC647959213D372F27
-          32A686C3D0D27A031E8C8E1D734EF01F4E0598C33DAC282DC8CCB35A12261B1E
-          1987D6F69B6250565EAF93A4ABE9C40F314C3549E0C7EC6585A4253B6B7210E9
-          B4DD70C1BDA191731E2FFFFE17AA1A9C02D0C8B12772CCA62A7B890D701C4F98
-          1439425B47E798ACAAEBB60B822BE59BB3EC1603491CB697166059995C6CBC03
-          E5937B70A859E1F9B7EA00848424DC8361FA3C96FD3E93633E7220083D49264C
-          DE77CF031DB7EEF4831C5AE3F4F9FAA7DF4739B49BCAD0EF75141700CB1863E3
-          9D77DCD0ED1E7049BCB0FA138047930149B20BEA0174790CF33572DEE158BE0C
-          A80C43024477DF2074F60E74A1CB554E9E1F8D7BF37D0C65D855596C9BE2D733
-          701F5C3DEE7E25A4DAEB4471283AFEC43AD0C0309F1B29C39E95054B80315209
-          10AEDE7EE8B9E7B9AE7885B523009216398EA6365722683D49C49E1B40CB76BD
-          AB770894907D7AC49E08309913CC0E3D4EEC77D85EC1E6D0C6A904C8E73A0AEB
-          E0C8D825E43D66E6982AC7B2C553726768FC215CBDDD3B2187D555C972262D40
-          249B397A2389E1471D4B5F26B3582601E26AF75DED07CA17E7834EA78BDD1AF5
-          F2D07ABB570C86E5F575BCAF3959B2CE08603212C677300CFFA97C513E658DCB
-          EA2993C4F94E881234DFEE9183AAB2A1D62B9D8314366300CD0EB05425891117
-          8A16CCA3E76765A67C4EF0FBA1B9EBAE1A50421FD408C2717882CD0A2012099A
-          2E4471FEF3D5B939E697A2C525CEFC41199A7BFBC017906B9C82D008696CF600
-          466329CAB20BB63C8B393F4914FC3202700F6A00B508E0D07305883429D4D196
-          E7E5D0733936E5736230082D7D836A400E6DAC11C563CF05A08135BE8B63F8CF
-          65B939A465DA764CE6EB0D04A065D023872054E5F44A679E09A091A5371198EE
-          C88ADC1CDC34AD2A6A7EEDC39385B0C462063C6E1B8EA364BC323422A29DF0F4
-          DBB091A377EA31FCAB0A6B36C64EEF0BC8E7266AD3F745E9A256884C067D7539
-          8220E220867D7EB8363ACE07C3EACA5917A2068EF9D288E39F55984D602488E9
-          BED039C1835B94DA152FFF9A568A7359BA09416E71A0DD41C641DC977CD0F1D0
-          3B1696E5F26D7EBF3B2D403D6A46B91CF32D8B13B5E5A6399091A42DF7082274
-          0BD22D74B926BE19A144DD4BE1BADD76B443E2FD1028DC1284F4CD486BC748FC
-          0713416E2C436537FE4DA23680D6D6258A29DB71034BEF32E8F07D151C070CF1
-          1F44B724418FE47389BCB0F653942249010E73DC2F5924B1A104653A9E24213D
-          688BDD147D6332042BB7F3812E48610862B31E256E2943639971CBF70F5A8E81
-          4030F581443B92156764645AC9C4351F5114B8E1F38BE85CB8AE5692DA218D1D
-          62D92A12D4E345468AB4C44174A0C4F428F26F435EE1BD8423D941CE58A947F5
-          BED860A02D716BF8281482363FAA732AAC4787D28BE9C46391A0E937705C77AA
-          50AFA7731F43685AD7509D180987120FA55A126A4D47832822880884884EB1AD
-          C1A02A035685BE0D4ECD543C16098AAAD011C4591B4998E73D7EA9313467BB1C
-          4C3C9647B7611462098ED33D8AA2CA98BA69AB57FC71B6E2518B7C98E8E0EC62
-          9C5860421AEDB22C87B070D5D609F14C5280280481E107D0E551A757F8E669C5
-          A316F93423880B6811160112D74AF4ACBBE1B35A3D803E93A64D3B45F181F63F
-          01E045D9BF948F32EEDE0751EE0000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Copy log entries-console window output'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7A
-          F4000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB0000030C4944415478DAC595CB4F13
-          511C854F37EACAC4F87FB071E9C28551428CF101963E9097A0086E340A1468A9
-          108218433542E98B020AA594221AA2890851145112092498B8003512173C0AA5
-          6FA42DD7A10821E9EDCC7446C2D9DCCDDCDFFDE64CEF57092104FB19C936C08D
-          47AF922421A3643598A6D74AFDC91EBAFBA577004A742F49F3CD33E053C8E623
-          9D43D318FF3A37066F303559082AC0F5C601D272EB2C221BFC8A189EFC059727
-          80D1A99F63CBBE506A6F12105480A2072F88E1F639AC47F8017C9B7361DE1D80
-          6B35800F93B35F48209866D22A5C8201AEDDEF27C6D20B08853760783EC13AA0
-          E8FC3178FC212CB883FF20FC783F31336D2ABB982218E06AC333C20C40E04F94
-          570353DF1731F07916E1C8D6F33EF70ACCE5E912C10005F54E625665C0178AA2
-          A57F9C174494D97BF4C861B87D21CCFE98436BC525E10057EA1CC45C21852714
-          E175F8763698FD33BFDD303BDFC15A95291C20BFD64E2C5532B80311E8FB3EF2
-          06284E3F1E5BEFE89C68D3C88503E4D6D81800055602E1841B573C7E34F57D4A
-          AA219AB0A80039DA2E62512BB0EC671A708C504785231178D7A2102B2C2A40B6
-          E629B168B2B0E44FDC809B114F73DF28C40A8B0A90A5EE6000B2B1E40BA3D93E
-          4C1D1661AE9C7F3D0AB1C23256CB5D7100CACA3662AECEC1A297A5016F0006E7
-          08C40A8BD99F1207A0505989499B8B05EF3AF45D83D481D1681441E6CDC50A8B
-          D9BF735B7600E4E51662D4E661C193B88155A601A3F32DC40ACBA2CA88079095
-          9989A13A1FF34C0366FB9B840DF8D6C2102BACD64A291D40AF611AF0B2376076
-          0C41ACB0AC6A191DA0499D17BB05AC9FA067105CC2624BA9AE17ED1A051DE031
-          03E0E2003074BF0697B0A80D484FC4D6329D031D5A251D80CFA003070F814B58
-          6C5135F6E049CDE578008984D7FF089455ED9CC2A2A54476720B40D78DCEDA1C
-          E1008A0A2BA7B0D852A9B3A1AB2E4F3880BCBC955358B4142B4FC75675A30DB6
-          FA7CE1009BBF152E61B145A3EB44F7BD02E10099A5264E61D152283B155BB50C
-          80BDA1501C0097B0D872F7E17F00E012D69E0370096BCF01049DBC2B5480FDCA
-          5F361ABADF2F11DE2E0000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Select all log entries'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7A
-          F4000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000003724944415478DAEDD57B504C
-          511C07F06F8D5E5B44A2642A3D10BDC623D36886C86398D18C84664CE9A9844A
-          FF30A212D5F8CBAB48A8D050DECD9841F460480F9A495B0AD9F4D864253D94AD
-          B6ECEEE8CEDE3DDB3D18CB3F7EFFEC9CDFFECE399F7BCEBDE7688C8C8CE05F86
-          C67F8022C067CFD9BFA2C93912A23126E06262B05A27F78B39C70DB89018A456
-          C0D698F3DC80ACC3EA05F8EFA700323900BD7D621495BF02FF6D2BDA3BBAD1DD
-          DB0F59FFF1FABA30996C083BAB6958B5D85EDE1E2B02A88043AA01350D42A45E
-          2940BF7880F30979BADA08F7F180BD8D996AC0010A20430540D4D983D8945B10
-          0F0CFED432EBE9682339CA1B130CF488FF026980F3092420ED6A112AF8EF98B6
-          A6A626E6CFB184A9B121BE890751DBD00AA1E80BAB8FEF3A37B8BBD8116305C5
-          5200E71202591D060625884CCEC6E09084C9856E5A0617072BA62D910CCB57A8
-          BDA38BC92D59381B7E9E6E04203836831B70F66020D169483A79737B27DE0B3F
-          A1B3EB2BD6AF5840D464DF29C1A38A3AA6BDC8D11A21DEEE445D48DC6F00B842
-          F6F4758236E4155642D02A62F28EB3CC11B165E5AF03D2E3B9017DDF0650DFD8
-          8686A68F68148A206811B1B66734E6DA4C4794EF6A22BF2D9E02383306A055BA
-          05B70A9EA3467A060C0F0F535766DE9C1908DBBC9CC887D200697124A0AABE09
-          E9D70AE5CBAD1C86063CD8599BE14B4F1FEA054226BFD0C11AC11BDC89FAB083
-          544000AB83EC33DB7B3457FE3B1A53268D8787AB3D9C665BC0C8505F9EBB9E5F
-          8187CFF84A80A52A0099DC80D34A80B2AA0664DD7ECCB40D78BA88DFE1057D9E
-          0EAB2EF76E298AA5C7B422204805603B0D702A960DB876BF0C4565B54CDBD6D2
-          14D15BD710031FBF744FBA056D2C40A01709084FA00052950037F2CB51585AC3
-          B4797A3A4888F0961FB7A3C17FD382B49C87501C4BB63DA19B3D08C00E2AE000
-          1BF0A246808C9BC5AC9C85993156BB39415B6B1CAA5F37E349653DF165D8989B
-          20DA7F2D09384401A42801862412C49DBC8E2EE95BCE153ADA5AACCB4A761125
-          EDF621EA76D20027F7FB139D1AA5275CEAE57CD697A018E6A69311BC711992D3
-          F358357B433C31DDC48855BBEB701637E0840A802C647740FED397A87B27C4E7
-          AE5EF93B306DEA442C72B285ABF34C6848877C50528D0F0AB7A2B39DA5FC5D50
-          8C082A204635E04F45442205705CCD80481AE0D83EF502A2922800B5CEFE23C6
-          04FC8BF80FF80EA9CF11DF1A48E3DE0000000049454E44AE426082}
-      end
-      item
-        Background = clWindow
-        Name = 'Display preferences window'
-        PngImage.Data = {
-          89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7A
-          F4000000097048597300000EC400000EC401952B0E1B00000A4F694343505068
-          6F746F73686F70204943432070726F66696C65000078DA9D53675453E9163DF7
-          DEF4424B8880944B6F5215082052428B801491262A2109104A8821A1D91551C1
-          114545041BC8A088038E8E808C15512C0C8A0AD807E421A28E83A3888ACAFBE1
-          7BA36BD6BCF7E6CDFEB5D73EE7ACF39DB3CF07C0080C9648335135800CA9421E
-          11E083C7C4C6E1E42E40810A2470001008B3642173FD230100F87E3C3C2B22C0
-          07BE000178D30B0800C04D9BC0301C87FF0FEA42995C01808401C07491384B08
-          801400407A8E42A600404601809D98265300A0040060CB6362E300502D006027
-          7FE6D300809DF8997B01005B94211501A09100201365884400683B00ACCF568A
-          450058300014664BC43900D82D00304957664800B0B700C0CE100BB200080C00
-          305188852900047B0060C8232378008499001446F2573CF12BAE10E72A000078
-          99B23CB9243945815B082D710757572E1E28CE49172B14366102619A402EC279
-          99193281340FE0F3CC0000A0911511E083F3FD78CE0EAECECE368EB60E5F2DEA
-          BF06FF226262E3FEE5CFAB70400000E1747ED1FE2C2FB31A803B06806DFEA225
-          EE04685E0BA075F78B66B20F40B500A0E9DA57F370F87E3C3C45A190B9D9D9E5
-          E4E4D84AC4425B61CA577DFE67C25FC057FD6CF97E3CFCF7F5E0BEE22481325D
-          814704F8E0C2CCF44CA51CCF92098462DCE68F47FCB70BFFFC1DD322C44962B9
-          582A14E35112718E449A8CF332A52289429229C525D2FF64E2DF2CFB033EDF35
-          00B06A3E017B912DA85D6303F64B27105874C0E2F70000F2BB6FC1D428080380
-          6883E1CF77FFEF3FFD47A02500806649927100005E44242E54CAB33FC7080000
-          44A0812AB0411BF4C1182CC0061CC105DCC10BFC6036844224C4C24210420A64
-          801C726029AC82422886CDB01D2A602FD4401D34C051688693700E2EC255B80E
-          3D700FFA61089EC128BC81090441C808136121DA8801628A58238E08179985F8
-          21C14804128B2420C9881451224B91354831528A542055481DF23D720239875C
-          46BA913BC8003282FC86BC47319481B2513DD40CB543B9A8371A8446A20BD064
-          74319A8F16A09BD072B41A3D8C36A1E7D0AB680FDA8F3E43C730C0E8180733C4
-          6C302EC6C342B1382C099363CBB122AC0CABC61AB056AC03BB89F563CFB17704
-          128145C0093604774220611E4148584C584ED848A8201C243411DA0937090384
-          51C2272293A84BB426BA11F9C4186232318758482C23D6128F132F107B8843C4
-          37241289433227B9900249B1A454D212D246D26E5223E92CA99B34481A2393C9
-          DA646BB20739942C202BC885E49DE4C3E433E41BE421F25B0A9D624071A4F853
-          E22852CA6A4A19E510E534E5066598324155A39A52DDA8A15411358F5A42ADA1
-          B652AF5187A81334759A39CD8316494BA5ADA295D31A681768F769AFE874BA11
-          DD951E4E97D057D2CBE947E897E803F4770C0D861583C7886728199B18071867
-          197718AF984CA619D38B19C754303731EB98E7990F996F55582AB62A7C1591CA
-          0A954A9526951B2A2F54A9AAA6AADEAA0B55F355CB548FA95E537DAE46553353
-          E3A909D496AB55AA9D50EB531B5367A93BA887AA67A86F543FA47E59FD890659
-          C34CC34F43A451A0B15FE3BCC6200B6319B3782C216B0DAB86758135C426B1CD
-          D97C762ABB98FD1DBB8B3DAAA9A13943334A3357B352F394663F07E39871F89C
-          744E09E728A797F37E8ADE14EF29E2291BA6344CB931655C6BAA96979658AB48
-          AB51AB47EBBD36AEEDA79DA6BD45BB59FB810E41C74A275C2747678FCE059DE7
-          53D953DDA70AA7164D3D3AF5AE2EAA6BA51BA1BB4477BF6EA7EE989EBE5E809E
-          4C6FA7DE79BDE7FA1C7D2FFD54FD6DFAA7F5470C5806B30C2406DB0CCE183CC5
-          35716F3C1D2FC7DBF151435DC34043A561956197E18491B9D13CA3D5468D460F
-          8C69C65CE324E36DC66DC6A326062621264B4DEA4DEE9A524DB9A629A63B4C3B
-          4CC7CDCCCDA2CDD699359B3D31D732E79BE79BD79BDFB7605A785A2CB6A8B6B8
-          6549B2E45AA659EEB6BC6E855A3959A558555A5DB346AD9DAD25D6BBADBBA711
-          A7B94E934EAB9ED667C3B0F1B6C9B6A9B719B0E5D806DBAEB66DB67D61676217
-          67B7C5AEC3EE93BD937DBA7D8DFD3D070D87D90EAB1D5A1D7E73B472143A563A
-          DE9ACE9CEE3F7DC5F496E92F6758CF10CFD833E3B613CB29C4699D539BD34767
-          1767B97383F3888B894B82CB2E973E2E9B1BC6DDC8BDE44A74F5715DE17AD2F5
-          9D9BB39BC2EDA8DBAFEE36EE69EE87DC9FCC349F299E593373D0C3C843E051E5
-          D13F0B9F95306BDFAC7E4F434F8167B5E7232F632F9157ADD7B0B7A577AAF761
-          EF173EF63E729FE33EE33C37DE32DE595FCC37C0B7C8B7CB4FC36F9E5F85DF43
-          7F23FF64FF7AFFD100A78025016703898141815B02FBF87A7C21BF8E3F3ADB65
-          F6B2D9ED418CA0B94115418F82AD82E5C1AD2168C8EC90AD21F7E798CE91CE69
-          0E85507EE8D6D00761E6618BC37E0C2785878557863F8E7088581AD131973577
-          D1DC4373DF44FA449644DE9B67314F39AF2D4A352A3EAA2E6A3CDA37BA34BA3F
-          C62E6659CCD5589D58496C4B1C392E2AAE366E6CBEDFFCEDF387E29DE20BE37B
-          17982FC85D7079A1CEC2F485A716A92E122C3A96404C884E3894F041102AA816
-          8C25F21377258E0A79C21DC267222FD136D188D8435C2A1E4EF2482A4D7A92EC
-          91BC357924C533A52CE5B98427A990BC4C0D4CDD9B3A9E169A76206D323D3ABD
-          31839291907142AA214D93B667EA67E66676CBAC6585B2FEC56E8BB72F1E9507
-          C96BB390AC05592D0AB642A6E8545A28D72A07B267655766BFCD89CA3996AB9E
-          2BCDEDCCB3CADB90379CEF9FFFED12C212E192B6A5864B572D1D58E6BDAC6A39
-          B23C7179DB0AE315052B865606AC3CB88AB62A6DD54FABED5797AE7EBD267A4D
-          6B815EC1CA82C1B5016BEB0B550AE5857DEBDCD7ED5D4F582F59DFB561FA869D
-          1B3E15898AAE14DB1797157FD828DC78E51B876FCABF99DC94B4A9ABC4B964CF
-          66D266E9E6DE2D9E5B0E96AA97E6970E6E0DD9DAB40DDF56B4EDF5F645DB2F97
-          CD28DBBB83B643B9A3BF3CB8BC65A7C9CECD3B3F54A454F454FA5436EED2DDB5
-          61D7F86ED1EE1B7BBCF634ECD5DB5BBCF7FD3EC9BEDB5501554DD566D565FB49
-          FBB3F73FAE89AAE9F896FB6D5DAD4E6D71EDC703D203FD07230EB6D7B9D4D51D
-          D23D54528FD62BEB470EC71FBEFE9DEF772D0D360D558D9CC6E223704479E4E9
-          F709DFF71E0D3ADA768C7BACE107D31F761D671D2F6A429AF29A469B539AFB5B
-          625BBA4FCC3ED1D6EADE7AFC47DB1F0F9C343C59794AF354C969DAE982D39367
-          F2CF8C9D959D7D7E2EF9DC60DBA2B67BE763CEDF6A0F6FEFBA1074E1D245FF8B
-          E73BBC3BCE5CF2B874F2B2DBE51357B8579AAF3A5F6DEA74EA3CFE93D34FC7BB
-          9CBB9AAEB95C6BB9EE7ABDB57B66F7E91B9E37CEDDF4BD79F116FFD6D59E393D
-          DDBDF37A6FF7C5F7F5DF16DD7E7227FDCECBBBD97727EEADBC4FBC5FF440ED41
-          D943DD87D53F5BFEDCD8EFDC7F6AC077A0F3D1DC47F7068583CFFE91F58F0F43
-          058F998FCB860D86EB9E383E3939E23F72FDE9FCA743CF64CF269E17FEA2FECB
-          AE17162F7EF8D5EBD7CED198D1A197F29793BF6D7CA5FDEAC0EB19AFDBC6C2C6
-          1EBEC97833315EF456FBEDC177DC771DEFA3DF0F4FE47C207F28FF68F9B1F553
-          D0A7FB93199393FF040398F3FC63332DDB000007A84944415478DAC557095455
-          E516DEE7DC893B3104C6141743080DD78AC5E3112126E6D0C31E8812468FF482
-          D5D3952F9F78D17A4DDA642990E0EA65EF65020EB584045333B39C000B0C824A
-          251C4040042F2077E05EEE7CDAFF8F176F8A48AD569DB5CE3AF3FEBE7FEF6F0F
-          87E1380EFECC8D21041886F9551FCD7F624514C7E71DC5AFDCAFDDD280CD3EA3
-          7C47C177BFC60EC5FE4D0494AABCD7FFF38CEADEF01070E0F7758D4DB0BE706B
-          7E79497ECE1F432053F5CD87856B63ED0E8E5881018311B25FCAABAE28C99FFA
-          BB1088484B13DE2355FC1FEF0638C0BE7A4F7141A3F3D9BC85CB27B37C61FDAE
-          0FD60B7BFBB5E07038402276832757AC35DBCC5CD4A73BF3CFDC10AA0D0872B1
-          D9D8F1CCE9B232CB6D0910F070A9E293479366264D89898475851F3A7A7AFAF3
-          F0EDEF3896797562E8F8F0B98909705F4438F42101E205B9440C47AA4FC2E1CA
-          5AB8A2EE3B85EFBEC131102D15BB65CF4888E3359D6D81F32D6DFB9A0DED8FBA
-          921891C0BC4C55715AD24CE56329B3C164B182482880FD87AAA0B5BD13B2D293
-          412A1583C96401C3A009CC161B38EC0E943200CBB2341CE75ADA61EFC163E0E5
-          E90E33A7C5815024049BCD0615FBBF8296D6F622D4C9E2D1092855559BD6AD8E
-          BFC3CB03B47A0308057CF0904BE93B7AC32098CC16B0DBED74E504DCEE18DA9D
-          E7C49E8D9C5FBB262122E7A79ACEC2A1C3D5954860DAA804921766472B027DBF
-          2D787315F46B06C08AEC5DB79EAB5AF8BEA9152E5E525342803AF4904B401138
-          0E42147E806EBF09DC601C84928F76DB4D86C118D754BDA508310C054F65CCFB
-          F7AC8458E84540B2116387BFFE1E9ACE7740E4A41008BEEB4E9061383804D00E
-          18A1BBA71F3AAFF441A0AF0F04058C43E3D7BDF0C5E14A686ABE905751F2CEAA
-          3165418A327BC1B4B8E85DCF3E950EEA5E0D052FFDAC1A84A88759532281C763
-          7FE1F6A1D57260B1DAE062E715E0312CF88DF31AF6C2AEF203D0AD563FB6A764
-          63E9980860A13957F4EE6BA1C4E8A0C90C87AA1A60C068823909D1D420C332C0
-          A2F26CA80533825A7177757B4F9F0EC9F251C07CB4CD42D7153594561C385351
-          9C1F715B0229992B2227878735ACC95902BDFD3A34A6818FF7554266EA4CBA72
-          3E9F071A8D0E957E1C7E3ADF428DDCADB80BA6C6FD153C3DE494880D49583143
-          042860F20D0F33E483925D70B54F1FE15A278609CC5DB4329ACFB2691CC3DDCF
-          32EC03AB962985111327D02C207117632A454D0EA52BD7E3BDDC77B7DA068DE6
-          172D9C6327312464D82CB144F4CAE3A94902B95C46BDC063799400B14F489CA8
-          A987EADA7A335ED7301C538B24CB3EDDF64E1D25303F2B47BB76F5527745802F
-          C86412CC5B14966E80BAB7F893AFE06F0F46E1EA6420E4F3617BE97E68F8F1CC
-          2A1454DE0DE5F985097707BF3967F634EA7681800752891B98CDD6612F907AD0
-          D5DD0397BBD570E8E809CDEEA23C2F4A20352B87C30BB8AAD163DAD9E98BCE3C
-          DFBCF37350A63E042C8689B8FFA5759B406FD5FB1F287EAFDB954072FABF0224
-          EEB2CEA58B338642C5E381B7971C749821047C88046FE888FB736BF301319961
-          02655B7369DE5B2C16B0DAAF2B7C5BC5115890184FAB1D2E0D5EDFF01EE86DB7
-          26B0ECE985149090F5C74C203ABA119C3CCF7925F73A011282E7972F76F7F7F5
-          064F77775A7C747A2358F078F0583DDC1F790F88C5229A6A24A59ACFB7DE1C02
-          A56A75E884E0F5298FCCA2206EA81B5F1F4F50A3889DE0441B1D9DDDD0D9D50D
-          FBBE38AE2B2FCAF3B8E601552C16B434069838ACE951FF489D23FC4B64041831
-          F54E9F6BA3C602FD7CA8C27BAEF643F1CEDD568BD5FABCDD6CA722E4897819F8
-          CEDB4F2C4811F8787B51306F4F39884402F4AA815E1FA9AAC1665563E61C8E3A
-          84FC0671CB701127474CC3207FFF06D5B24CECF38334FF9B2F74C2A4B020AA68
-          B28ADEBE7EA8FCBA0EDA3A3AE937E31581F0E0941818770D5C80620D0DF6832E
-          B586D60A72EFED822DD0DBA31D390D6F2A4499AA0BCB976484787B79D1C67219
-          4B2C89FF1D9809AE0587A8DD1953677C89F882FC7DA84D759F96DE6BBFD405FF
-          DDF2D14FE5C5F993C65409B123668C5704EC58949E320CA8C1B4A48585656F09
-          4E561E14E0032281002E75F7618B66E8F3C2FF6D87B64B97C75E8AE72957E6DE
-          377962CEDF1F9EFE8BAE46E667525EC9204D0449363E9FC5580BC1135BB61F8A
-          6EC068A61DD3094E88ED28DB07F50D6736602B7EEEB604C818259649EA96663D
-          CE9061C209EE2422E00B402E13831C3BA10433830C2C048CD40FADCE408FAE9E
-          E1E34EC4FC5AEE66BBD63010B5775BE10FA31220034972E2F4F87B2786DD043E
-          92DB472A32AEE043E73CA8A9FB018A3EDE7304753063740238928585042BE7CE
-          99415D4D8689E3276A69698E7F201AE7808051C1DB7074FBECCB4AF0BBD31BD2
-          9267A3B7A4040A36179542C3A9E612EC8899A312700EA521E31549A1210A043F
-          C999CCE68D5823C864BC0647B5091193C22001D3CE15FC68552D34FED884DDB3
-          FF1CCA630D035CAC4C2A79367D7E2253DF781A1A4F358F6D287521B105890763
-          D752EDDDBEB1CEB54EF0587ECD0B2B9788DC84A2A1E10473FDE5B736991D9C3D
-          D675844F59941D83DD351727E4D6B386F67F8E692C1FCB467E4CB2325263C3D0
-          438440CBC50E78BFA8F4F7FB31B92D01FC354B9C355595101F437570ECC449D8
-          7FF0F81FF76B465CCBB0EC97CE9F53D4AA8EB1D9A7FFE69FD33F73FB19F804B3
-          FD5068AB0A0000000049454E44AE426082}
-      end>
-    Left = 32
-    Top = 296
-    Bitmap = {}
-  end
   object DialogImages: TPngImageList
     Height = 64
     Width = 64
@@ -17478,7 +16947,7 @@ object Glyphs192Module: TGlyphs192Module
           E6C8C624F80000000049454E44AE426082}
       end>
     Left = 32
-    Top = 368
+    Top = 296
     Bitmap = {}
   end
 end

+ 0 - 1
source/forms/Glyphs192.h

@@ -14,7 +14,6 @@ __published:
   TPngImageList *SessionImages;
   TPngImageList *QueueImages;
   TImageList *ButtonImages;
-  TPngImageList *LogImages;
   TPngImageList *DialogImages;
 
 public:

+ 0 - 223
source/forms/Log.cpp

@@ -1,223 +0,0 @@
-//---------------------------------------------------------------------------
-#include <vcl.h>
-#pragma hdrstop
-
-#include <FileCtrl.hpp>
-
-#include <VCLCommon.h>
-#include <Common.h>
-#include <CoreMain.h>
-#include <TextsWin.h>
-
-#include "Log.h"
-#include "Glyphs.h"
-#include "NonVisual.h"
-#include "WinConfiguration.h"
-#include "Tools.h"
-//---------------------------------------------------------------------------
-#pragma package(smart_init)
-#pragma link "LogMemo"
-#pragma link "TB2Dock"
-#pragma link "TB2Item"
-#pragma link "TB2Toolbar"
-#pragma link "TBX"
-#pragma link "TBXStatusBars"
-#ifndef NO_RESOURCES
-#pragma resource "*.dfm"
-#endif
-TLogForm *LogForm = NULL;
-//---------------------------------------------------------------------------
-TLogForm * __fastcall CreateLogForm(TLogMemo *ALogMemo)
-{
-  DebugAssert(!LogForm);
-  Configuration->Usage->Inc(L"LogWindowDisplays");
-  TLogForm * aLogForm = new TLogForm(Application);
-  try
-  {
-    aLogForm->LogMemo = ALogMemo;
-    aLogForm->Show();
-  }
-  catch (...)
-  {
-    delete aLogForm;
-    throw;
-  }
-  LogForm = aLogForm;
-  return aLogForm;
-}
-//---------------------------------------------------------------------------
-TLogForm * __fastcall RequireLogForm(TLogMemo *ALogMemo)
-{
-  if (!LogForm)
-  {
-    CreateLogForm(ALogMemo);
-  }
-  return LogForm;
-}
-//---------------------------------------------------------------------------
-void __fastcall SwitchLogFormSessionLog()
-{
-  if (LogForm != NULL)
-  {
-    LogForm->SwitchSessionLog();
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall FreeLogForm()
-{
-  if (LogForm)
-  {
-    TLogForm * PLogForm = LogForm;
-    LogForm = NULL;
-    // would also free form see TLogForm::FormClose()
-    // we can't free form directly (cause exception when form is closed by
-    // button on toolbar, beacuse it destroys the button too)
-    PLogForm->Close();
-  }
-}
-//---------------------------------------------------------------------------
-__fastcall TLogForm::TLogForm(TComponent* Owner)
-        : TForm(Owner)
-{
-  FLogMemo = NULL;
-  FSessionLog = NULL;
-  ShowWindow(Handle, SW_SHOWNA);
-  UseSystemSettings(this);
-  UseDesktopFont(StatusBar);
-  FixFormIcons(this);
-}
-//---------------------------------------------------------------------------
-__fastcall TLogForm::~TLogForm()
-{
-  // deassociate us from session log state change handler
-  SessionLog = NULL;
-  LogForm = NULL;
-  LogMemo = NULL;
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::SetLogMemo(TLogMemo * value)
-{
-  if (LogMemo != value)
-  {
-    TLogMemo * OldLogMemo = LogMemo;
-
-    FLogMemo = value;
-
-    if (OldLogMemo)
-    {
-      DebugAssert((OldLogMemo->Parent == this) && (OldLogMemo->OnChange == LogMemoChange));
-      OldLogMemo->OnChange = NULL;
-      if (SessionLog == OldLogMemo->SessionLog) SessionLog = NULL;
-      OldLogMemo->Parent = NULL;
-    }
-
-    if (LogMemo)
-    {
-      LogMemo->Align = alClient;
-      SwitchSessionLog();
-      LogMemo->Parent = this;
-      // setting Parent usually calls OnChange many times (pending changes are
-      // inserted to TLogMemo), so we set OnChange handler after Parent.
-      LogMemo->OnChange = LogMemoChange;
-      LogMemoChange(LogMemo);
-    }
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::LogMemoChange(TObject * /*Sender*/)
-{
-  DebugAssert(LogMemo);
-  Application->ProcessMessages();
-  if (!ComponentState.Contains(csDestroying))
-  {
-    UpdateActions();
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::FormClose(TObject * /*Sender*/, TCloseAction & Action)
-{
-  DebugAssert(Configuration);
-  // If log window feature is turned off (log window is being closed
-  // by turning off this feature e.g. in Preferences Window), really close it
-  // If log window feature is turned on (log window is being closed by
-  // close command if this window) we only disable log window feature
-  // (this function will be than called again, see case 1)
-  LogMemo = NULL;
-  if (!Configuration->Logging || (WinConfiguration->LogView != lvWindow) ||
-      Application->Terminated)
-  {
-    Action = caFree;
-  }
-  else
-  {
-    WinConfiguration->LogView = lvNone;
-    Action = caNone;
-  }
-  WinConfiguration->LogWindowParams = StoreForm(this);
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::SetSessionLog(TSessionLog * value)
-{
-  if (FSessionLog != value)
-  {
-    if (SessionLog)
-    {
-      DebugAssert(SessionLog->OnStateChange == SessionLogStateChange);
-      SessionLog->OnStateChange = NULL;
-    }
-    FSessionLog = value;
-    if (SessionLog)
-    {
-      DebugAssert(SessionLog->OnStateChange == NULL);
-      SessionLog->OnStateChange = SessionLogStateChange;
-    }
-    UpdateControls();
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::SessionLogStateChange(TObject * /*Sender*/)
-{
-  UpdateControls();
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::UpdateControls()
-{
-  TTBXStatusPanel * Panel = StatusBar->Panels->Items[0];
-  if (SessionLog)
-  {
-    if (SessionLog->LoggingToFile)
-    {
-      Panel->TextTruncation = twPathEllipsis;
-      Panel->Caption = SessionLog->CurrentFileName;
-    }
-    else
-    {
-      Panel->TextTruncation = twEndEllipsis;
-      Panel->Caption = LoadStr(LOG_NOLOGFILE);
-    }
-    Caption = FMTLOAD(LOG_CAPTION, (SessionLog->SessionName));
-  }
-  else
-  {
-    Panel->TextTruncation = twEndEllipsis;
-    Panel->Caption = LoadStr(LOG_NOLOG);
-    Caption = LoadStr(LOG_NOLOGCAPTION);
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::CreateParams(TCreateParams & Params)
-{
-  if (!FFormRestored)
-  {
-    FFormRestored = True;
-    DebugAssert(Configuration);
-    RestoreForm(WinConfiguration->LogWindowParams, this);
-  }
-  TForm::CreateParams(Params);
-  Params.WndParent = GetDesktopWindow();
-}
-//---------------------------------------------------------------------------
-void __fastcall TLogForm::SwitchSessionLog()
-{
-  SessionLog = LogMemo->SessionLog;
-}

+ 0 - 1407
source/forms/Log.dfm

@@ -1,1407 +0,0 @@
-object LogForm: TLogForm
-  Left = 356
-  Top = 178
-  BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
-  Caption = 'Log'
-  ClientHeight = 303
-  ClientWidth = 451
-  Color = clBtnFace
-  Constraints.MinHeight = 170
-  Constraints.MinWidth = 250
-  ParentFont = True
-  Icon.Data = {
-    000001000700404000000100200028420000760000003030000001002000A825
-    00009E4200002828000001002000681A0000466800002020000001002000A810
-    0000AE820000181800000100200088090000569300001414000001002000B806
-    0000DE9C000010100000010020006804000096A3000028000000400000008000
-    0000010020000000000000420000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF4ECFFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF0D4
-    B9FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7
-    D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7
-    D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7
-    D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7
-    D7FFF6E6D7FFF6E6D7FFF6E6D7FFF6E6D7FFF6E6D7FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF4EDFFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF0D4
-    B9FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7
-    D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7
-    D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFDCCED1FF5C57
-    AEFFECDDD5FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF6E6D8FF6B66B3FFC0B4
-    C9FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF5EEFFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF0D4
-    B9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8
-    D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8
-    D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FFDCCFD2FF2827A1FF0D0E
-    99FF423FA8FFECDED6FFF7E8D9FFF7E8D9FFF6E7D9FF625DB1FF0D0E99FF1818
-    9CFFC2B7CBFFF7E8D9FFF7E8D9FFF7E8D9FFF7E8D9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF6EFFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF0D4
-    B9FFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFD0C3CFFF1F1F9EFF0D0E
-    99FF0D0E99FF423FA8FFECDED7FFF6E7DAFF625DB1FF0D0E99FF0D0E99FF1213
-    9BFFB1A6C7FFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF9EEE3FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFCAB3B4FF1E1D
-    9CFF0D0E99FF0D0E99FF3F3AA0FF5C53A4FF0D0E99FF0D0E99FF12129AFFAC98
-    B0FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF7F2FFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF0D4
-    B9FFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9
-    DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9
-    DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DCFFF7E9DBFFD0C4
-    D0FF1F1F9EFF0D0E99FF0D0E99FF0D0E99FF0D0E99FF12139BFFB1A7C7FFF7E9
-    DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF8F3FFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF0D4
-    B9FFF8EADDFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EA
-    DCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EA
-    DCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EA
-    DCFFD0C4D1FF13149BFF0D0E99FF0D0E99FF0E0F99FFAAA1C6FFF8EADCFFF8EA
-    DCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF8F4FFF8EADEFFF8EADEFFF8EADEFFF8EADEFFF8EADEFFF0D4
-    B9FFF8EADEFFF8EADEFFF8EADEFFF8EADEFFF8EADDFFF8EADDFFF8EADDFFF8EA
-    DDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EA
-    DDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF7E9
-    DDFF635EB2FF0D0E99FF0D0E99FF0D0E99FF0D0E99FF4240A9FFEDE0DAFFF8EA
-    DDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009B7758FFFBF1E8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEFD3B9FF6056
-    A5FF0D0E99FF0D0E99FF11119AFF18189BFF0D0E99FF0D0E99FF403BA0FFE6CB
-    B8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9B7758FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009C7858FFFDF9F6FFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF0D4
-    B9FFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EB
-    DFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EB
-    DFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF7EADFFF635EB3FF0D0E
-    99FF0D0E99FF12139BFFB1A8CAFFD1C6D4FF1F1F9FFF0D0E99FF0D0E99FF4240
-    A9FFEDE1DCFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFF9C7858FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009D7959FFFDFAF6FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF0D4
-    B9FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8EC
-    E0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8EC
-    E0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFB5ADCCFF0D0E99FF0D0E
-    99FF12139BFFB1A9CBFFF8ECE0FFF8ECE0FFD1C7D4FF1F1F9FFF0D0E99FF0D0E
-    99FF8984BFFFF8ECE0FFF8ECE0FFF8ECE0FFF8ECDFFF9D7959FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009E795AFFFEFAF7FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF0D4
-    B9FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9EC
-    E1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF9ECE1FFF8EC
-    E1FFF8ECE1FFF8ECE1FFF8ECE1FFF8ECE1FFF8ECE1FFF8ECE1FF8F89C1FF1213
-    9BFFB1A9CCFFF8ECE1FFF8ECE1FFF8ECE1FFF8ECE1FFD1C7D5FF1F1F9FFF6461
-    B4FFF7EBE1FFF8ECE1FFF8ECE1FFF8ECE1FFF8ECE1FF9E795AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009E7A5AFFFCF5EEFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFD1B9
-    B5FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFD5BCB5FFEFD3
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9E7A5AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009F7B5BFFFEFCF9FFF9EEE3FFF9EEE3FFF9EEE3FFF9EDE2FFF9EDE2FFF0D4
-    B9FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FF9F7B5BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A07C5BFFFEFCFAFFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF0D4
-    B9FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFA07C5BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A17C5CFFFEFCFAFFF9EFE4FFF9EFE4FFF9EFE4FFF9EFE4FFF9EFE4FFF0D4
-    B9FFF9EFE4FFF9EFE4FFF9EFE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFB2CEA7FFB9D2AEFFE0E3CFFFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFA17C5CFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A27D5DFFFDF8F4FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FF79AB67FF128720FF128720FF258E2DFFE4D0B1FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFA27D5DFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A27E5DFFFFFDFCFFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFF0D4
-    B9FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0E6FFFAF0
-    E6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEF
-    E6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FF7DB7
-    7CFF128720FF128720FF128720FF128720FF77B476FFFAEFE6FFFAEFE6FFFAEF
-    E6FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFA27E5DFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A37F5EFFFFFEFCFFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFF0D4
-    B9FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FF7DB87CFF1287
-    20FF128720FF128720FF158923FF128720FF158923FFD2DEC5FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E6FFFAF0E6FFA37F5EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A47F5EFFFFFEFDFFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFF0D4
-    B9FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1
-    E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFB6D1ADFF128720FF1287
-    20FF128720FF92C18EFF89BD86FF128720FF128720FF49A04FFFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFA47F5EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A5805FFFFEFCF9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF75AA64FF1287
-    20FF8DB275FFF0D4B9FFE9D2B4FF319235FF128720FF128720FF9FB881FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFA5805FFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A6815FFFFFFFFEFFFAF2EAFFFAF2EAFFFAF2E9FFFAF2E9FFFAF2E9FFF0D4
-    B9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2
-    E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2
-    E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFC0D7
-    B7FFFAF2E9FFFAF2E9FFFAF2E9FFB7D3AFFF128720FF128720FF269031FFEEED
-    DEFFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFA6815FFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A68260FFFFFFFEFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFF0D4
-    B9FFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2
-    EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2
-    EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFAF2
-    EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFF57A75CFF128720FF128720FF77B6
-    78FFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFA68260FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A78261FFFFFFFFFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFF0D4
-    B9FFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3
-    EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3
-    EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3
-    EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFE0E7D3FF198A26FF128720FF1589
-    23FFD3E1C8FFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFA78261FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A88361FFFFFFFFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF84AF6FFF128720FF1287
-    20FF479A44FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFA88361FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A98462FFFFFFFFFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFF0D4
-    B9FFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFF4F1E7FF33963DFF1287
-    20FF128720FFC1D9B9FFFBF4ECFFFBF4ECFFFBF4ECFFA98462FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AA8562FFFFFFFFFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFF0D4
-    B9FFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4
-    EEFFFBF4EEFFFBF4EEFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFB8D5B2FF3497
-    3DFFBCD7B6FFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFAA8562FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AB8663FFFFFFFFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFF0D4
-    B9FFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5
-    EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EEFFFBF5EEFFFBF5
-    EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5
-    EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFF8F4
-    EBFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF5EEFFAB8663FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AB8664FFFFFFFFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFEFD4B8FF8FB376FF98B67CFFC6C59CFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFAB8664FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AC8764FFFFFFFFFFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFF0D4
-    B9FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFBF6
-    EFFF69B16DFF128720FF128720FF1E8D2BFFE8EDDEFFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFAC8764FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AD8865FFFFFFFFFFFCF7F1FFFCF7F1FFFCF7F1FFFCF6F1FFFCF6F1FFF0D4
-    B9FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFBF6F0FF67B0
-    6CFF128720FF128720FF128720FF128720FF67B06CFFFCF6F1FFFCF6F1FFFCF6
-    F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFAD8865FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AE8965FFFFFFFFFFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFF0D4
-    B9FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7
-    F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7
-    F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFBF7F1FF67B06DFF1287
-    20FF128720FF178A25FF1E8D2BFF128720FF128720FFC6DDC2FFFCF7F2FFFCF7
-    F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFAE8965FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AE8966FFFFFFFFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFB1BE8DFF128720FF1287
-    20FF178923FFABBC8AFF93B479FF128720FF128720FF38943AFFEDD3B7FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFAE8966FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AF8A67FFFFFFFFFFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFF0D4
-    B9FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F3FFFDF8
-    F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8
-    F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FF94C695FF178A
-    25FFB4D5B2FFFDF8F3FFFCF8F2FF3C9B46FF128720FF128720FF98C899FFFCF8
-    F3FFFCF8F3FFFCF8F3FFFCF8F3FFFCF8F3FFFCF8F3FFAF8A67FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B08B67FFFFFFFFFFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFF0D4
-    B9FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8
-    F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFDDE9
-    D7FFFDF8F4FFFDF8F4FFFDF8F4FFCCE0C7FF138821FF128720FF1F8D2BFFE9EF
-    E2FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFB08B67FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B18C68FFFFFFFFFFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFF0D4
-    B9FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FF6BB371FF128720FF128720FF68B1
-    6EFFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFB18C68FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B28D68FFFFFFFFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFDDCEACFF208C29FF128720FF1287
-    20FFBDC296FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFB28D68FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B38D69FFFFFFFFFFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFF0D4
-    B9FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFA
-    F7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFA
-    F7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFA
-    F7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FF9ACA9DFF128720FF1287
-    20FF3A9B45FFFAF9F4FFFDFAF7FFFDFAF7FFFDFAF7FFB38D69FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B38E6AFFFFFFFFFFFEFBF8FFFEFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFF0D4
-    B9FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFA
-    F8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFAF8FFFCFAF7FF3C9C47FF1287
-    20FF158923FFC8E0C7FFFDFAF8FFFDFAF8FFFDFAF8FFB38E6AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B48F6AFFFFFFFFFFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFF0D4
-    B9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFCCE3CBFF52A7
-    5AFFD6E7D3FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFB48F6AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B5906BFFFFFFFFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFB5906BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B6906BFFFFFFFFFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFC
-    FBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFAFFFEFCFAFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFB6906BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B7916CFFFFFFFFFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFB7916CFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B7926CFFFFFFFFFFFEFDFCFFFAF1E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFD
-    FCFFFEFDFCFFFAF1E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFDFCFFFEFDFCFFFAF1
-    E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFDFCFFFEFDFCFFFAF1E9FFF2D9C1FFF2D9
-    C1FFFAF1E9FFFEFDFCFFFEFDFCFFFAF1E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFD
-    FCFFFEFDFCFFFAF1E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFDFCFFFEFDFCFFFAF1
-    E9FFF2D9C1FFF2D9C1FFFAF1E9FFFEFDFCFFFEFDFCFFB7926CFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B8936DFFFFFFFFFFFFFEFDFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFE
-    FDFFFFFEFDFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFEFDFFFFFEFDFFF2D9
-    C0FFC5AB94FFA17E5FFFF2D9C1FFFFFEFDFFFFFEFDFFF2D9C0FFC5AB94FFA17E
-    5FFFF2D9C1FFFFFEFDFFFFFEFDFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFE
-    FDFFFFFEFDFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFEFDFFFFFEFDFFF2D9
-    C0FFC5AB94FFA17E5FFFF2D9C1FFFFFEFDFFFFFEFDFFB8936DFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B9936EFFFFFFFFFFFFFEFEFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFE
-    FEFFFFFEFEFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFEFEFFFFFEFEFFF2D9
-    C0FFBFA691FF9A7657FFF2D9C1FFFFFEFEFFFFFEFEFFF2D9C0FFBFA691FF9A76
-    57FFF2D9C1FFFFFEFEFFFFFEFEFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFE
-    FEFFFFFEFEFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFEFEFFFFFEFEFFF2D9
-    C0FFBFA691FF9A7657FFF2D9C1FFFFFEFEFFFFFEFEFFB9936EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BA946EFFFFFFFFFFFFFFFFFFFBF3EBFFCBB5A1FF9A7657FFFBF3EBFFFFFF
-    FFFFFFFFFFFFFBF3EBFFCBB5A1FF9A7657FFFBF3EBFFFFFFFFFFFFFFFFFFFBF3
-    EBFFCBB5A1FF9A7657FFFBF3EBFFFFFFFFFFFFFFFFFFFBF3EBFFCBB5A1FF9A76
-    57FFFBF3EBFFFFFFFFFFFFFFFFFFFBF3EAFFCBB5A1FF9A7657FFFBF3EAFFFFFF
-    FEFFFFFFFEFFFBF3EAFFCBB5A1FF9A7657FFFBF3EAFFFFFFFEFFFFFFFEFFFBF3
-    EAFFCBB5A1FF9A7657FFFBF3EAFFFFFFFEFFFFFFFEFFBA946EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BB956FFFFFFFFFFFFFFFFFFFFFFFFFFFD8C3B0FF9A7657FFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFD8C3B0FF9A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFD8C3B0FF9A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8C3B0FF9A76
-    57FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8C3B0FF9A7657FFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFD8C3B0FF9A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFD8C3B0FF9A7657FFFFFFFFFFFFFFFFFFFFFFFFFFBB956FFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BB966FFFBB966FFFBB966FFFBB966FFFCCB5A1FF9A7657FFBB966FFFBB96
-    6FFFBB966FFFBB966FFFCCB5A1FF9A7657FFBB966FFFBB966FFFBB966FFFBB96
-    6FFFCCB5A1FF9A7657FFBB966FFFBB966FFFBB966FFFBB966FFFCCB5A1FF9A76
-    57FFBB966FFFBB966FFFBB966FFFBB966FFFCCB5A1FF9A7657FFBB966FFFBB96
-    6FFFBB966FFFBB966FFFCCB5A1FF9A7657FFBB966FFFBB966FFFBB966FFFBB96
-    6FFFCCB5A1FF9A7657FFBB966FFFBB966FFFBB966FFFBB966FFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000BFA791FF9A7657FF000000000000
-    00000000000000000000BFA791FF9A7657FF0000000000000000000000000000
-    0000BFA791FF9A7657FF00000000000000000000000000000000BFA791FF9A76
-    57FF00000000000000000000000000000000BFA791FF9A7657FF000000000000
-    00000000000000000000BFA791FF9A7657FF0000000000000000000000000000
-    0000BFA791FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000BFA691FF9A7657FF000000000000
-    00000000000000000000BFA691FF9A7657FF0000000000000000000000000000
-    0000BFA691FF9A7657FF00000000000000000000000000000000BFA691FF9A76
-    57FF00000000000000000000000000000000BFA691FF9A7657FF000000000000
-    00000000000000000000BFA691FF9A7657FF0000000000000000000000000000
-    0000BFA691FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000CAB29FD5A17E61F4000000000000
-    00000000000000000000CAB29FD5A17E61F40000000000000000000000000000
-    0000CAB29FD5A17E61F400000000000000000000000000000000CAB29FD5A17E
-    61F400000000000000000000000000000000CAB29FD5A17E61F4000000000000
-    00000000000000000000CAB29FD5A17E61F40000000000000000000000000000
-    0000CAB29FD5A17E61F400000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000000000000000000000000000FFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFF800000000001FFFF800000000001FFFF80
-    0000000001FFFF800000000001FFFFF9E79E79E79FFFFFF9E79E79E79FFFFFF9
-    E79E79E79FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2800
-    0000300000006000000001002000000000008025000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFAEFE5FFF6E5D5FFF6E5D5FFF6E5D5FFF6E5D5FFF0D4B9FFF6E5
-    D5FFF6E5D5FFF6E5D5FFF6E5D5FFF6E5D4FFF6E5D4FFF6E5D4FFF6E5D4FFF6E5
-    D4FFF6E5D4FFF6E5D4FFF6E5D4FFF6E5D4FFF6E5D4FFF6E5D4FF8C83B9FF7971
-    B5FFF6E5D4FFF6E5D4FFF6E5D4FFF5E4D4FF645EAFFFA197BFFFF6E5D4FFF6E5
-    D4FFF6E5D4FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFAF0E6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF0D4B9FFF6E6
-    D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6
-    D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFF6E6D6FFB5AAC5FF0D0E99FF0D0E
-    99FF7972B5FFF6E6D6FFF5E5D6FF625DAFFF0D0E99FF0E0F9AFFD0C3CCFFF6E5
-    D5FFF6E5D5FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFBF1E8FFF7E7D7FFF7E7D7FFF7E7D7FFF7E7D7FFF0D4B9FFF6E7
-    D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7D7FFF6E7
-    D7FFF6E7D7FFF6E6D7FFF6E6D7FFF6E6D7FFF6E6D7FFF5E5D7FF645EB0FF0D0E
-    99FF0D0E99FF7871B6FF625DB0FF0D0E99FF0D0E99FF8A82BBFFF6E6D7FFF6E6
-    D7FFF6E6D7FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF7E6D7FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEFD3B9FF6158
-    A5FF0D0E99FF0D0E99FF0D0E99FF0D0E99FF8778AAFFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFBF2EBFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF0D4B9FFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF5E6
-    D9FF2C2BA2FF0D0E99FF0D0E99FF4744A9FFF7E8D9FFF7E8D9FFF7E8D9FFF7E8
-    D9FFF7E8D9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFBF3ECFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF0D4B9FFF7E9
-    DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9
-    DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF7E9DBFFF6E8DBFF625E
-    B1FF0D0E99FF0D0E99FF0D0E99FF0D0E99FF7973B8FFF7E9DBFFF7E9DBFFF7E9
-    DBFFF7E9DAFF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF8E9DAFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEFD3B9FF6056A5FF0D0E
-    99FF0D0E99FF8678AAFF6158A5FF0D0E99FF0D0E99FF766AA8FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF5EEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF0D4B9FFF8EB
-    DEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EA
-    DEFFF8EADEFFF8EADEFFF8EADEFFF8EADEFFF8EADEFFB5ABCBFF0D0E99FF0D0E
-    99FF8B84BEFFF8EADEFFF7E9DDFF6460B3FF0D0E99FF12139BFFD2C6D2FFF8EA
-    DDFFF8EADDFF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF6EFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF0D4B9FFF8EB
-    DFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EB
-    DFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFF8F88C0FF8B85
-    BFFFF8EBDFFFF8EBDFFFF8EBDFFFF7EADFFF6A65B5FFAFA7CAFFF8EBDFFFF8EB
-    DFFFF8EBDFFF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF8EBDEFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF7F2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF0D4B9FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE1FFF9EDE1FFF9EDE1FFF9EDE1FFF9ED
-    E1FFF9EDE1FFF9EDE1FFF9EDE1FFF9EDE1FFF9EDE1FFF9EDE1FFF9EDE1FFF9ED
-    E1FFF9EDE1FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF8F3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF0D4B9FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFF9EE
-    E3FFB5D0AAFFAACBA1FFE2E4CFFFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF9EDE1FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9DB8
-    80FF138821FF128720FF459943FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009C7858FFFDF9F5FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE6FFF0D4B9FFFAEF
-    E6FFFAEFE6FFFAEFE6FFFAEFE6FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEF
-    E5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFA3C99CFF1388
-    21FF128720FF128720FF128720FFA5C99DFFF9EFE5FFF9EFE5FFF9EFE5FFF9EF
-    E5FFF9EFE5FF9C7858FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009D7959FFFEFAF6FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFF0D4B9FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFBED5B4FF138821FF1287
-    20FF56A65AFF67AD68FF128720FF269031FFEEEBDCFFFAF0E7FFFAF0E7FFFAF0
-    E6FFFAF0E6FF9D7959FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009E7A5AFFFAEFE5FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEBD3B6FF559E4EFF539E
-    4DFFEBD3B6FFDDCEACFF208C29FF128720FF71A861FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FF9E7A5AFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A07C5BFFFEFBF8FFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFF0D4B9FFFAF2
-    EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2
-    E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFF5F0E5FFF5F0
-    E5FFFAF2E9FFFAF2E9FF99C595FF128720FF158923FFD2E0C7FFFAF2E9FFFAF2
-    E9FFFAF2E9FFA07C5BFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A17D5CFFFEFBF9FFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFF0D4B9FFFBF3
-    EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3
-    EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF3EBFFFBF2
-    EAFFFBF2EAFFFBF2EAFFFAF2E9FF3C9A44FF128720FF48A04FFFFBF2EAFFFBF2
-    EAFFFBF2EAFFA17D5CFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A37E5DFFFBF1E8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFC1C499FF138821FF128720FF9FB881FFF0D4
-    B9FFF0D4B9FFA37E5DFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A47F5EFFFEFCFAFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFF0D4B9FFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFF6BB16EFF128720FF4EA355FFFBF4
-    EDFFFBF4EDFFA47F5EFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A5815FFFFFFDFBFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5EFFFF0D4B9FFFCF5
-    EFFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5EFFFFCF5
-    EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5
-    EFFFFBF5EFFFFBF5EFFFFBF5EFFFFBF5EEFFE7ECDDFF93C492FFF8F4EBFFFBF5
-    EEFFFBF5EEFFA5815FFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A78260FFFBF3ECFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFD6CBA7FFD5CBA7FFEFD4B8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFA78260FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A88361FFFFFDFCFFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F2FFF0D4B9FFFCF7
-    F2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7
-    F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF6F1FFC7DD
-    C2FF1D8C29FF128720FF67B06CFFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FFFCF6F1FFA88361FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A98562FFFFFEFDFFFCF8F3FFFCF8F3FFFCF8F3FFFCF8F3FFF0D4B9FFFCF8
-    F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7
-    F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F2FFFCF7F2FFFCF7F2FFC7DEC2FF1D8C
-    2AFF128720FF128720FF128720FFC6DDC2FFFCF7F2FFFCF7F2FFFCF7F2FFFCF7
-    F2FFFCF7F2FFA98562FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AB8663FFFCF6F0FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFC2C499FF1C8B27FF1287
-    20FF2C9032FF409740FF128720FF38943AFFEDD3B7FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFAB8663FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AC8764FFFFFEFEFFFDF9F6FFFDF9F5FFFDF9F5FFFDF9F5FFF0D4B9FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFEBF0E5FF399A44FF2D94
-    39FFE2ECDCFFD5E6D1FF158923FF128720FF99C99AFFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFAC8764FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AE8965FFFFFFFEFFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFF0D4B9FFFDFA
-    F7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF7FFFDFAF6FFFDFAF6FFFDFAF6FFFDFA
-    F6FFFDFAF6FFFDFAF6FFFDFAF6FFFDFAF6FFFDFAF6FFFDFAF6FFEBF1E6FFE2ED
-    DDFFFDFAF6FFFDFAF6FF78B97DFF128720FF1F8D2BFFE9F1E4FFFDFAF6FFFDFA
-    F6FFFDFAF6FFAE8965FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AF8A66FFFDF8F3FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFE4D0B1FF258E2DFF128720FF63A358FFF0D4B9FFF0D4
-    B9FFF0D4B9FFAF8A66FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B08B67FFFFFFFFFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFF0D4B9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFA8D1AAFF128720FF128720FFC8E1C7FFFEFB
-    F9FFFEFBF9FFB08B67FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B28C68FFFFFFFFFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFF0D4B9FFFEFC
-    FBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFC
-    FAFFFEFCFAFFFEFCFAFFFEFCFAFFFEFCFAFF4AA354FF128720FF429F4CFFFEFC
-    FAFFFEFCFAFFB28C68FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B38E69FFFEFAF7FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFCAC79FFF5AA052FFD5CBA7FFF0D4
-    B9FFF0D4B9FFB38E69FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B48F6AFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFE
-    FDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFE
-    FDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFE
-    FDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFEFDFFFFFE
-    FDFFFEFDFDFFB48F6AFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B6906BFFFFFFFFFFFFFFFFFFFBF3EBFFF2D9C1FFF2D9C1FFFBF3EBFFFFFF
-    FFFFFBF3EAFFF2D9C1FFF2D9C1FFFBF3EBFFFFFFFEFFFBF3EAFFF2D9C1FFF2D9
-    C1FFFBF3EBFFFFFFFEFFFBF3EAFFF2D9C1FFF2D9C1FFFBF2EBFFFFFEFEFFFBF2
-    EAFFF2D9C1FFF2D9C1FFFBF2EBFFFFFEFEFFFBF2EAFFF2D9C1FFF2D9C1FFFBF2
-    EBFFFFFEFEFFB6906BFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B7916CFFFFFFFFFFFFFFFFFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFF
-    FFFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFFFFFFF2D9C0FFC5AB94FFA17E
-    5FFFF2D9C1FFFFFFFFFFF2D9C0FFC5AB94FFA17E5FFFF2D9C1FFFFFFFFFFF2D9
-    C0FFC5AB94FFA17E5FFFF2D9C1FFFFFFFFFFF2D9C0FFC5AB94FFA17E5FFFF2D9
-    C1FFFFFFFFFFB7916CFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B8936DFFFFFFFFFFFFFFFFFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFF
-    FFFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFFFFFFF2D9C0FFBFA691FF9A76
-    57FFF2D9C1FFFFFFFFFFF2D9C0FFBFA691FF9A7657FFF2D9C1FFFFFFFFFFF2D9
-    C0FFBFA691FF9A7657FFF2D9C1FFFFFFFFFFF2D9C0FFBFA691FF9A7657FFF2D9
-    C1FFFFFFFFFFB8936DFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BA946EFFFFFFFFFFFFFFFFFFFBF3EBFFCBB5A1FF9A7657FFFBF3EBFFFFFF
-    FFFFFBF3EBFFCBB5A1FF9A7657FFFBF3EBFFFFFFFFFFFBF3EBFFCBB5A1FF9A76
-    57FFFBF3EBFFFFFFFFFFFBF3EBFFCBB5A1FF9A7657FFFBF3EBFFFFFFFFFFFBF3
-    EBFFCBB5A1FF9A7657FFFBF3EBFFFFFFFFFFFBF3EBFFCBB5A1FF9A7657FFFBF3
-    EBFFFFFFFFFFBA946EFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BB956FFFBB956FFFBB956FFFBB956FFFD8C3B0FF9A7657FFBB956FFFBB95
-    6FFFBB956FFFD8C3B0FF9A7657FFBB956FFFBB956FFFBB956FFFD8C3B0FF9A76
-    57FFBB956FFFBB956FFFBB956FFFD8C3B0FF9A7657FFBB956FFFBB956FFFBB95
-    6FFFD8C3B0FF9A7657FFBB956FFFBB956FFFBB956FFFD8C3B0FF9A7657FFBB95
-    6FFFBB956FFFBB956FFF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000CCB5A1FF9A7657FF000000000000
-    000000000000CCB5A1FF9A7657FF000000000000000000000000CCB5A1FF9A76
-    57FF000000000000000000000000CCB5A1FF9A7657FF00000000000000000000
-    0000CCB5A1FF9A7657FF000000000000000000000000CCB5A1FF9A7657FF0000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000BFA791FF9A7657FF000000000000
-    000000000000BFA791FF9A7657FF000000000000000000000000BFA791FF9A76
-    57FF000000000000000000000000BFA791FF9A7657FF00000000000000000000
-    0000BFA791FF9A7657FF000000000000000000000000BFA791FF9A7657FF0000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000B99F89C79C795AF1000000000000
-    000000000000B99F89C79C795AF1000000000000000000000000B99F89C79C79
-    5AF1000000000000000000000000B99F89C79C795AF100000000000000000000
-    0000B99F89C79C795AF1000000000000000000000000B99F89C79C795AF10000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000FFFFFFFFFFFF0000FFFFFFFFFFFF0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FE00
-    0000007F0000FE000000007F0000FE000000007F0000FE000000007F0000FFE7
-    39CE73FF0000FFE739CE73FF0000FFE739CE73FF0000FFFFFFFFFFFF0000FFFF
-    FFFFFFFF00002800000028000000500000000100200000000000401A00000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A76
-    57FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFBF1E9FFF7E7D9FFF7E7D9FFF0D4B9FFF7E7D9FFF7E7D9FFF7E7
-    D9FFF7E7D9FFF7E7D9FFF7E7D9FFF7E7D9FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7
-    D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7
-    D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFBF2EAFFF7E8DAFFF7E8DAFFF0D4B9FFF7E8DAFFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFCEC2CFFF625DB1FFF2E3D8FFF7E8D9FFF7E8D9FFB2A8
-    C6FF6A64B3FFF6E7D9FFF7E8D9FFF7E8D9FFF7E8D9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF7E7D8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FF4740A1FF0D0E99FF5048A3FFEBD0B8FFAD9AB0FF1212
-    9AFF0E0F99FFBBA6B2FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF4EDFFF8EADDFFF8EADDFFF0D4B9FFF8EADCFFF8EADCFFF8EA
-    DCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EADCFFF8EA
-    DCFFF8EADCFFF8EADCFFE6D9D7FF3635A5FF0D0E99FF3D3CA7FF12139BFF0E0F
-    9AFF9F96C3FFF8EADCFFF7E9DCFFF7E9DCFFF7E9DCFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF5EEFFF8EBDEFFF8EBDEFFF0D4B9FFF8EBDEFFF8EBDEFFF8EB
-    DEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EBDEFFF8EADEFFF8EADEFFF8EADEFFF8EA
-    DEFFF8EADEFFF8EADEFFF8EADEFFE6D9D9FF2A29A2FF0D0E99FF0D0E99FF9C93
-    C3FFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF8E9DCFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFB5A1B1FF12129AFF0D0E99FF0D0E99FF5048
-    A3FFEBD0B8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFCF6F1FFF8ECE1FFF8ECE1FFF0D4B9FFF8ECE1FFF8ECE1FFF8EC
-    E0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8ECE0FFF8EC
-    E0FFF8ECE0FFF8ECE0FFBFB6CFFF18189CFF0E0F9AFF948DC2FF3635A6FF0D0E
-    99FF524FAEFFF3E7DFFFF8ECE0FFF8ECE0FFF8ECE0FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF7F2FFF9EDE2FFF9EDE2FFF0D4B9FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFF9EDE1FFF9EDE1FF5D5AB2FF0E0F9AFF9F98C6FFF9EDE1FFE7DCDCFF3635
-    A6FF12139BFFC5BCD2FFF9EDE1FFF9EDE1FFF9EDE1FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFF9ECDFFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFEBD0B8FFB19DB0FFF0D4B9FFF0D4B9FFF0D4B9FFDFC5
-    B7FFB39FB1FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009A7657FFFDF8F3FFF9EFE4FFF9EFE4FFF0D4B9FFF9EFE4FFF9EFE4FFF9EF
-    E4FFF9EFE4FFF9EFE4FFF9EFE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FF9A7657FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009C7858FFFDF9F5FFFAEFE6FFFAEFE6FFF0D4B9FFFAEFE6FFFAEFE6FFFAEF
-    E6FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEF
-    E5FFFAEFE5FFFAEFE5FFFAEFE5FFFAEFE5FFD9E1C9FFD7E0C8FFF8EFE4FFF9EF
-    E5FFF9EFE5FFF9EFE5FFF9EFE5FFF9EFE5FFF9EFE5FF9C7858FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009D7959FFF9EEE3FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFBEC396FF1E8B28FF128720FF93B479FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF9D7959FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    00009E7A5AFFFEFAF6FFFAF1E8FFFAF1E8FFF0D4B9FFFAF1E8FFFAF1E8FFFAF1
-    E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1
-    E8FFFAF1E8FFFAF1E8FFC5D9BBFF1E8D2BFF128720FF138821FF208E2CFFE6E8
-    D7FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FFFAF1E8FF9E7A5AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A07C5BFFFEFBF8FFFAF2EAFFFAF2EAFFF0D4B9FFFAF2EAFFFAF2EAFFFAF2
-    EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2EAFFFAF2E9FFFAF2E9FFFAF2E9FFFAF2
-    E9FFFAF2E9FFFAF2E9FF53A559FF128720FF8FC18CFF7CB87BFF128720FF6AB0
-    6CFFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFFAF2E9FFA07C5BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A17D5CFFFAF0E6FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFE6D1B2FFA0B882FFF0D4B9FFE6D1B2FF288F2FFF1388
-    21FFC1C499FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFA17D5CFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A37E5DFFFEFCF9FFFBF4ECFFFBF4ECFFF0D4B9FFFBF4ECFFFBF4ECFFFBF3
-    ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3
-    ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFACCEA7FF1287
-    20FF3C9B45FFFAF3EBFFFBF3ECFFFBF3ECFFFBF3ECFFA37E5DFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A47F5EFFFEFCFAFFFBF4EEFFFBF4EEFFF0D4B9FFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4
-    EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFFFBF4EDFF4BA2
-    52FF128720FF99C797FFFBF4EDFFFBF4EDFFFBF4EDFFA47F5EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A5815FFFFBF2EAFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFCDC8
-    A1FF158822FF559E4EFFF0D4B9FFF0D4B9FFF0D4B9FFA5815FFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A78260FFFFFDFBFFFCF6F0FFFCF6F0FFF0D4B9FFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6
-    F0FFCCDFC5FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFA78260FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000A88361FFFFFDFCFFFCF7F2FFFCF7F2FFF0D4B9FFFCF7F2FFFCF7F2FFFCF7
-    F2FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF7
-    F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF6F1FF8FC290FF75B678FFE3EADAFFFCF6
-    F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFA88361FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AA8562FFFCF4EDFFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FF75AA64FF128720FF128720FF5BA052FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFAA8562FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AB8663FFFFFEFDFFFDF8F4FFFDF8F4FFF0D4B9FFFDF8F4FFFDF8F4FFFDF8
-    F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8
-    F4FFFDF8F4FFFDF8F4FF7BBA7FFF128720FF249030FF2F953AFF128720FFBEDA
-    BBFFFDF8F4FFFDF8F3FFFDF8F3FFFDF8F3FFFDF8F3FFAB8663FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AC8764FFFFFEFDFFFDF9F5FFFDF9F5FFF0D4B9FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FF94C696FF249030FFD6E6D1FFB9D8B7FF128720FF3397
-    3EFFF8F7F0FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFAC8764FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AE8965FFFCF7F1FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFE0CFAEFFF0D4B9FFF0D4B9FF549E4DFF1287
-    20FF88B071FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFAE8965FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000AF8A66FFFFFFFEFFFEFBF8FFFEFBF8FFF0D4B9FFFEFBF8FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFAF8FFE2EDDFFF198B
-    26FF1B8C28FFE4EEE1FFFDFAF8FFFDFAF8FFFDFAF8FFAF8A66FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B08B67FFFFFFFFFFFEFCFAFFFEFCFAFFF0D4B9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FF8BC3
-    90FF128720FF60AD67FFFEFBF9FFFEFBF9FFFEFBF9FFB08B67FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B28C68FFFDF9F4FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFE9D2
-    B4FF499A46FFA3B984FFF0D4B9FFF0D4B9FFF0D4B9FFB28C68FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B38E69FFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFD
-    FCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFD
-    FCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFCFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFB38E69FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B48F6AFFFFFEFDFFFFFEFDFFFBF2E9FFF2D9C1FFF2D9C1FFFBF2E9FFFFFE
-    FDFFFBF2E9FFF2D9C1FFF2D9C1FFFBF2E9FFFFFEFDFFFBF2E9FFF2D9C1FFF2D9
-    C1FFFBF2E9FFFFFEFDFFFBF2E9FFF2D9C1FFF2D9C1FFFBF2E9FFFFFEFDFFFBF2
-    E9FFF2D9C1FFF2D9C1FFFBF2E9FFFFFEFDFFFFFEFDFFB48F6AFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B6906BFFFFFFFFFFFFFFFFFFF2D9C1FFD5C1AEFFA48264FFF2D9C1FFFFFF
-    FEFFF2D9C1FFD5C1AEFFA48264FFF2D9C1FFFFFFFEFFF2D9C1FFD5C1AEFFA482
-    64FFF2D9C1FFFFFEFEFFF2D9C1FFD5C1AEFFA48264FFF2D9C1FFFFFEFEFFF2D9
-    C1FFD5C1AEFFA48264FFF2D9C1FFFFFEFEFFFFFEFEFFB6906BFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B7916CFFFFFFFFFFFFFFFFFFF2D9C1FFD2C0B0FF9A7657FFF2D9C1FFFFFF
-    FFFFF2D9C1FFD2C0B0FF9A7657FFF2D9C1FFFFFFFFFFF2D9C1FFD2C0B0FF9A76
-    57FFF2D9C1FFFFFFFFFFF2D9C1FFD2C0B0FF9A7657FFF2D9C1FFFFFFFFFFF2D9
-    C1FFD2C0B0FF9A7657FFF2D9C1FFFFFFFFFFFFFFFFFFB7916CFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000B8936DFFFFFFFFFFFFFFFFFFFBF3EBFFD2C0B0FF9A7657FFFBF3EBFFFFFF
-    FFFFFBF3EBFFD2C0B0FF9A7657FFFBF3EBFFFFFFFFFFFBF3EBFFD2C0B0FF9A76
-    57FFFBF3EBFFFFFFFFFFFBF3EBFFD2C0B0FF9A7657FFFBF3EBFFFFFFFFFFFBF3
-    EBFFD2C0B0FF9A7657FFFBF3EBFFFFFFFFFFFFFFFFFFB8936DFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000BA946EFFBA946EFFBA946EFFBA946EFFDAC8B8FF9A7657FFBA946EFFBA94
-    6EFFBA946EFFDAC8B8FF9A7657FFBA946EFFBA946EFFBA946EFFDAC8B8FF9A76
-    57FFBA946EFFBA946EFFBA946EFFDAC8B8FF9A7657FFBA946EFFBA946EFFBA94
-    6EFFDAC8B8FF9A7657FFBA946EFFBA946EFFBA946EFFBA946EFF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000E2D1C1FF9A7657FF000000000000
-    000000000000E2D1C1FF9A7657FF000000000000000000000000E2D1C1FF9A76
-    57FF000000000000000000000000E2D1C1FF9A7657FF00000000000000000000
-    0000E2D1C1FF9A7657FF00000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000CDBCABC5A07E61F0000000000000
-    000000000000CDBCABC5A07E61F0000000000000000000000000CDBCABC5A07E
-    61F0000000000000000000000000CDBCABC5A07E61F000000000000000000000
-    0000CDBCABC5A07E61F000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000FFFFFFFFFF000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000F80000001F000000F800
-    00001F000000F80000001F000000F80000001F000000FF9CE739FF000000FF9C
-    E739FF000000FFFFFFFFFF000000280000002000000040000000010020000000
-    0000801000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFCF4EDFFF7E7D9FFF7E7D9FFF0D4B9FFF7E7D9FFF7E7
-    D9FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7D8FFF7E7
-    D8FFB1A6C5FFF7E7D8FFF7E7D8FFF7E7D8FFB1A6C5FFF7E7D8FFF7E7D8FFF7E7
-    D8FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFCF5EFFFF7E8DAFFF7E8DAFFF0D4B9FFF7E8DAFFF7E8
-    DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFF7E8DAFFB2A8
-    C7FF0D0E99FF766FB6FFF7E8DAFF766FB6FF0D0E99FFB2A8C7FFF7E8DAFFF7E8
-    DAFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FF7266A7FF0D0E99FF3A359FFF0D0E99FF7266A7FFF0D4B9FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFDF8F4FFF8EADEFFF8EADEFFF0D4B9FFF8EADEFFF8EA
-    DEFFF8EADEFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EADDFFF8EA
-    DDFFF8EADDFF3C3AA7FF0D0E99FF3C3AA7FFF8EADDFFF8EADDFFF8EADDFFF8EA
-    DDFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFDF9F5FFF8EBDFFFF8EBDFFFF0D4B9FFF8EBDFFFF8EB
-    DFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EB
-    DFFF7671B9FF0D0E99FF3C3AA7FF0D0E99FF7671B9FFF8EBDFFFF8EBDFFFF8EB
-    DFFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFB7A2
-    B1FF0D0E99FF7266A7FFF0D4B9FF7266A7FF0D0E99FFB7A2B1FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFEFBF9FFF9EDE2FFF9EDE2FFF0D4B9FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9ED
-    E2FFBCB3CFFFF9EDE2FFF9EDE2FFF9EDE2FFBCB3CFFFF9EDE2FFF9EDE2FFF9ED
-    E2FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFEFCFAFFF9EEE4FFF9EEE4FFF0D4B9FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EE
-    E4FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFEFD4B8FF73A962FF71A861FFEFD4B8FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFEFDFFFAF0E7FFFAF0E7FFF0D4B9FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFF9F0
-    E6FF67AD68FF128720FF128720FF9EC798FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0
-    E7FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFEFEFFFAF2E9FFFAF2E9FFF0D4B9FFFAF2E9FFFAF2
-    E9FFFAF2E9FFFAF2E9FFFAF1E9FFFAF1E9FFFAF1E9FFFAF1E9FFFAF1E9FFB8D3
-    B0FF128720FF91C18EFF4BA151FF228F2EFFEAEADBFFFAF1E9FFFAF1E9FFFAF1
-    E8FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFC1C499FFF0D4B9FFCDC8A1FF158822FF68A55BFFF0D4B9FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFBF4ECFFFBF4ECFFF0D4B9FFFBF4ECFFFBF4
-    ECFFFBF4ECFFFBF4ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3
-    ECFFFBF3ECFFFBF3ECFFFBF3ECFF7CB87DFF138821FFCCDDC3FFFBF3ECFFFBF3
-    ECFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFBF5EEFFFBF5EEFFF0D4B9FFFBF5EEFFFBF5
-    EEFFFBF5EEFFFBF5EEFFFBF5EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4
-    EEFFFBF4EEFFFBF4EEFFFBF4EEFFF0EFE5FF299235FF58A85EFFFBF4EEFFFBF4
-    EDFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFC4C59AFFE6D1B2FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFCF7F1FFFCF7F1FFF0D4B9FFFCF7F1FFFCF7
-    F1FFFCF7F1FFFCF7F1FFFCF7F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FFF7F4ECFF65AF6AFF62AD67FFF9F5EEFFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFCF8F3FFFCF8F3FFF0D4B9FFFCF8F3FFFCF8
-    F3FFFCF8F3FFFCF8F3FFFCF8F3FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7F3FFF7F5
-    EEFF57A85EFF138821FF128720FF92C493FFFCF7F3FFFCF7F3FFFCF7F3FFFCF7
-    F3FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFB7C0
-    91FF158822FF9CB77FFF549E4DFF1C8B27FFDACCAAFFF0D4B9FFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFDFAF6FFFDFAF6FFF0D4B9FFFDFAF6FFFDFA
-    F6FFFDFAF6FFFDFAF6FFFDFAF6FFFDFAF6FFFDF9F6FFFDF9F6FFFDF9F6FFFDF9
-    F6FFDDEAD9FFFDF9F6FFE2ECDDFF198B26FF62AE69FFFDF9F6FFFDF9F6FFFDF9
-    F6FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFDFBF8FFFDFBF8FFF0D4B9FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFBF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFA
-    F8FFFDFAF8FFFDFAF8FFFDFAF8FF8BC28FFF128720FFC3DEC3FFFDFAF8FFFDFA
-    F8FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFE9D2B4FF319235FF559E4EFFF0D4B9FFF0D4
-    B9FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFC
-    FBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFDBEBDBFFF9FAF6FFFEFCFBFFFEFC
-    FBFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFFFEFDFFC8B4A3FFB99F89FFFFFEFDFFFFFE
-    FDFFC8B4A3FFB89E88FFFFFEFDFFFFFEFDFFC8B4A3FFB89E88FFFEFDFDFFFEFD
-    FDFFC8B4A3FFB89E88FFFEFDFDFFFEFDFDFFC8B4A3FFB89E88FFFEFDFDFFFEFD
-    FDFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFFFFFFFFFFFFFFEFFC0A893FFAF9075FFFFFFFEFFFFFF
-    FEFFC0A893FFAF9075FFFFFFFEFFFFFFFEFFC0A893FFAF9075FFFFFEFEFFFFFE
-    FEFFC0A893FFAF9075FFFFFEFEFFFFFEFEFFC0A893FFAF9075FFFFFEFEFFFFFE
-    FEFFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000AA8563FFAA8563FFAA8563FFD0BBA7FFC4A992FFAA8563FFAA85
-    63FFD0BBA7FFC4A992FFAA8563FFAA8563FFD0BBA7FFC4A992FFAA8563FFAA85
-    63FFD0BBA7FFC4A992FFAA8563FFAA8563FFD0BBA7FFC4A992FFAA8563FFAA85
-    63FFAA8563FF0000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000D0BBA7FFC4A992FF000000000000
-    0000D0BBA7FFC4A992FF0000000000000000D0BBA7FFC4A992FF000000000000
-    0000D0BBA7FFC4A992FF0000000000000000D0BBA7FFC4A992FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000C0A893FFAF9075FF000000000000
-    0000C0A893FFAF9075FF0000000000000000C0A893FFAF9075FF000000000000
-    0000C0A893FFAF9075FF0000000000000000C0A893FFAF9075FF000000000000
-    0000000000000000000000000000000000000000000000000000000000000000
-    000000000000000000000000000000000000B8A089C3A38367C3000000000000
-    0000B8A089C3A38367C30000000000000000B8A089C3A38367C3000000000000
-    0000B8A089C3A38367C30000000000000000B8A089C3A38367C3000000000000
-    00000000000000000000000000000000000000000000FFFFFFFFF000000FF000
-    000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000
-    000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000
-    000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000
-    000FF000000FF000000FFE66667FFE66667FFE66667F28000000180000003000
-    0000010020000000000060090000000000000000000000000000000000000000
-    00000000000000000000AA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBEBF7FFFEFEFFFFFFFF
-    FFFFF0F0F9FFFEFEFFFFFFFFFFFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF9EDE2FFF9EDE2FFF0D4B9FFF9EDE2FFF9ED
-    E2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FFF9EDE2FF4644ABFF6561B4FFE6DB
-    DDFF3433A5FF928CC2FFF9EDE2FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF9EEE4FFF9EEE4FFF0D4B9FFF9EEE4FFF9EE
-    E4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFF9EEE4FFDCD2DBFF2626A1FF1B1C
-    9EFF524FAFFFF4E9E3FFF9EEE4FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFDFC5B7FF2E2B9EFF1414
-    9AFF5F56A5FFEFD3B9FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFAF0E7FFFAF0E7FFF0D4B9FFFAF0E7FFFAF0
-    E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FFFAF0E7FF4746ACFF5350B0FFD8D0
-    DDFF2928A2FF8C87C3FFFAF0E7FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFD1B9B5FFEBD0B8FFF0D4
-    B9FFD6BDB5FFE6CBB8FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFBF3EBFFFBF3EBFFF0D4B9FFFBF3EBFFFBF2
-    EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFFBF2EAFFE3E7D5FFE2E7
-    D4FFFBF2EAFFFBF2EAFFFBF2EAFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFC9C79EFF238D2CFF2A90
-    30FFE8D1B3FFF0D4B9FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFBF5EEFFFBF5EEFFF0D4B9FFFBF5EEFFFBF5
-    EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFFFBF4EEFF4DA354FF7AB87CFF3A9A
-    43FF80BB81FFFBF4EEFFFBF4EEFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFE6D1B2FFF0D4B9FFC1C4
-    99FF198924FFD1C9A4FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFCF7F1FFFCF7F1FFF0D4B9FFFCF7F1FFFCF7
-    F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6F1FFFCF6
-    F1FF6BB16FFF51A558FFFCF6F1FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFDDCEACFFB6C091FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFDF9F5FFFDF9F5FFF0D4B9FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF8F4FFFDF8F4FFFDF8F4FFFDF8F4FFF8F6EFFF60AD67FF69B1
-    6EFFFDF8F4FFFDF8F4FFFDF8F4FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF58A050FF37943AFF1E8B
-    28FFAEBD8BFFF0D4B9FFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFDFBF8FFFDFBF8FFF0D4B9FFFDFBF8FFFDFB
-    F8FFFDFBF8FFFDFAF8FFFDFAF8FFFDFAF8FFFDFAF8FFBFDCBFFFEBF1E7FF97C8
-    9AFF2D9539FFF6F7F2FFFDFAF8FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEDD3
-    B7FF38943AFF7EAD6AFFF0D4B9FFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFD
-    FBFFFEFDFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFCFBFFFEFC
-    FBFFC6E0C7FF71B678FFFEFCFBFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFFFEFDFFD8CABDFFC8B4A3FFFFFEFDFFFFFE
-    FDFFD8CABDFFC8B4A3FFFEFDFDFFFEFDFDFFD8CABDFFC8B4A3FFFEFDFDFFFEFD
-    FDFFD8CABDFFC8B4A3FFFEFDFDFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFFFFFFEFFD3C1B1FFC0A893FFFFFFFEFFFFFF
-    FEFFD3C1B1FFC0A893FFFFFEFEFFFFFEFEFFD3C1B1FFC0A893FFFFFEFEFFFFFE
-    FEFFD3C1B1FFC0A893FFFFFEFEFFAA8563FF0000000000000000000000000000
-    00000000000000000000AA8563FFAA8563FFDDCCBCFFD0BBA7FFAA8563FFAA85
-    63FFDDCCBCFFD0BBA7FFAA8563FFAA8563FFDDCCBCFFD0BBA7FFAA8563FFAA85
-    63FFDDCCBCFFD0BBA7FFAA8563FFAA8563FF0000000000000000000000000000
-    000000000000000000000000000000000000DDCCBCFFD0BBA7FF000000000000
-    0000DDCCBCFFD0BBA7FF0000000000000000DDCCBCFFD0BBA7FF000000000000
-    0000DDCCBCFFD0BBA7FF00000000000000000000000000000000000000000000
-    000000000000000000000000000000000000CDBBABC3B8A089C3000000000000
-    0000CDBBABC3B8A089C30000000000000000CDBBABC3B8A089C3000000000000
-    0000CDBBABC3B8A089C30000000000000000000000000000000000000000E000
-    0700E0000700E0000700E0000700E0000700E0000700E0000700E0000700E000
-    0700E0000700E0000700E0000700E0000700E0000700E0000700E0000700E000
-    0700E0000700E0000700E0000700E0000700E0000700F9999F00F9999F002800
-    0000140000002800000001002000000000009006000000000000000000000000
-    0000000000000000000000000000AA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FF00000000000000000000000000000000AA85
-    63FFF7E9DAFFF7E9DAFFF0D4B9FFF7E9DAFFF7E9DAFFF7E9DAFFF7E9DAFFECDF
-    D7FF5C58AFFFDCD0D3FFE5D8D5FF5350ADFFDCD0D3FFF7E9DAFFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFCEB7B4FF1E1D9CFF25239DFF302D9EFF1212
-    9AFFB19DB0FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFF8EBDFFFF8EBDFFFF0D4B9FFF8EBDFFFF8EBDFFFF8EBDFFFF8EBDFFFF8EB
-    DFFFC2B8D0FF10119AFF0D0E99FFA098C5FFF8EBDFFFF8EBDFFFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFDFC5B7FF35319FFF11119AFF19189BFF2725
-    9DFFD6BDB5FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFF9EEE3FFF9EEE3FFF0D4B9FFF9EEE3FFF9EEE3FFF9EEE3FFF9EEE3FFDCD2
-    DAFF2E2DA4FFB4ACCEFFD2C9D7FF2A2AA2FFC5BDD3FFF9EEE3FFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFEDD1B9FFF0D4B9FFF0D4B9FFECD0
-    B9FFF0D4B9FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFFAF1E7FFFAF1E7FFF0D4B9FFFAF1E7FFFAF1E7FFFAF1E7FFFAF1E7FFFAF1
-    E7FFDFE5D0FF3B9A43FF5EAA61FFFAF1E7FFFAF1E7FFFAF1E7FFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFE9D2B4FF2E9133FF198924FF128720FF9FB8
-    81FFF0D4B9FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFFBF3ECFFFBF3ECFFF0D4B9FFFBF3ECFFFBF3ECFFFBF3ECFFFBF3ECFFFBF3
-    ECFFAACEA5FFD0DFC7FF439E4BFF269031FFEFEDE1FFFBF3ECFFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFC6C69CFF1388
-    21FF73A962FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFFCF6F0FFFCF6F0FFF0D4B9FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6F0FFFCF6
-    F0FFFCF6F0FFFCF6F0FFFCF6F0FF7AB87CFF84BD85FFFCF6F0FFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFD6CBA7FF39953BFF5BA052FFF0D4
-    B9FFF0D4B9FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFFDF9F5FFFDF9F5FFF0D4B9FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9F5FFF6F6
-    EFFF2F953AFF198B26FF128720FFA7D0A7FFFDF9F5FFFDF9F5FFAA8563FF0000
-    0000000000000000000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFA3B984FFC7C69DFF419740FF258E
-    2DFFE4D0B1FFF0D4B9FFAA8563FF00000000000000000000000000000000AA85
-    63FFFEFBF9FFFEFBF9FFF0D4B9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFBF9FFFEFB
-    F9FFFEFBF9FFFEFBF9FFD2E6D0FF138821FF79BA7EFFFEFBF9FFAA8563FF0000
-    0000000000000000000000000000AA8563FFFEFDFBFFFEFDFBFFF0D4B9FFFEFD
-    FBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFFFEFDFBFF7BBC
-    81FF85C18BFFFEFDFBFFAA8563FF00000000000000000000000000000000AA85
-    63FF6A523CFFFFFEFDFF6A523CFFFFFEFDFF6A523CFFFFFEFDFF6A523CFFFFFE
-    FDFF6A523CFFFFFEFDFF6A523CFFFFFEFDFF6A523CFFFFFEFDFFAA8563FF0000
-    0000000000000000000000000000AA8563FF6A523CFFAA8563FF6A523CFFAA85
-    63FF6A523CFFAA8563FF6A523CFFAA8563FF6A523CFFAA8563FF6A523CFFAA85
-    63FF6A523CFFAA8563FFAA8563FF000000000000000000000000000000000000
-    00006A523CFF000000006A523CFF000000006A523CFF000000006A523CFF0000
-    00006A523CFF000000006A523CFF000000006A523CFF00000000000000000000
-    000000000000C0003000C0003000C0003000C0003000C0003000C0003000C000
-    3000C0003000C0003000C0003000C0003000C0003000C0003000C0003000C000
-    3000C0003000C0003000C0003000C0003000EAAAF00028000000100000002000
-    0000010020000000000040040000000000000000000000000000000000000000
-    000000000000AA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA85
-    63FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FFAA8563FF000000000000
-    000000000000AA8563FFF8EBDFFFF0D4B9FFF8EBDFFFF8EBDFFFF8EBDFFFEDE1
-    DCFFBCB3CDFFF8EBDFFFEDE1DCFFC8BED1FFF8EBDFFFAA8563FF000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FF6F63
-    A7FF12129AFFA592AFFF403BA0FF1D1C9BFFE6CBB8FFAA8563FF000000000000
-    000000000000AA8563FFF9EEE3FFF0D4B9FFF9EEE3FFF9EEE3FFF9EEE3FFEEE4
-    E0FF3F3EA9FF0E0F9AFF10119AFFB2ABCDFFF9EEE3FFAA8563FF000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFE6CB
-    B8FF3E39A0FF0E0F99FF10109AFFAC98B0FFF0D4B9FFAA8563FF000000000000
-    000000000000AA8563FFFAF1E7FFF0D4B9FFFAF1E7FFFAF1E7FFFAF1E7FF7370
-    BBFF12139BFFABA6CEFF4341ABFF1D1E9FFFEFE7E4FFAA8563FF000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFE6CB
-    B8FFB6A2B1FFF0D4B9FFE6CBB8FFC2ACB3FFF0D4B9FFAA8563FF000000000000
-    000000000000AA8563FFFBF3ECFFF0D4B9FFFBF3ECFFFBF3ECFFFBF3ECFFFBF3
-    ECFFE0E7D4FF8ABF89FFDCE5D1FFFBF3ECFFFBF3ECFFAA8563FF000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFD6CB
-    A7FF2E9133FF128720FF419740FFEFD4B8FFF0D4B9FFAA8563FF000000000000
-    000000000000AA8563FFFCF6F0FFF0D4B9FFFCF6F0FFFCF6F0FFFCF6F0FFD5E4
-    CDFF2F953AFF79B87BFF128720FFA3CCA1FFFCF6F0FFAA8563FF000000000000
-    000000000000AA8563FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4B9FFF0D4
-    B9FFECD3B6FFEFD4B8FF419740FF258E2DFFE2CFB0FFAA8563FF000000000000
-    000000000000AA8563FFFDF9F5FFF0D4B9FFFDF9F5FFFDF9F5FFFDF9F5FFFDF9
-    F5FFFDF9F5FFFDF9F5FFD3E5CFFF138821FF9ECB9FFFAA8563FF000000000000
-    000000000000AA8563FFFDFAF7FFF0D4B9FFFDFAF7FFFDFAF7FFFDFAF7FFFDFA
-    F7FFFDFAF7FFFDFAF7FFFDFAF7FFD6E7D3FFFDFAF7FFAA8563FF000000000000
-    000000000000AA8563FFFEFBF9FF6A523CFFFEFBF9FF6A523CFFFEFBF9FF6A52
-    3CFFFEFBF9FF6A523CFFFEFBF9FF6A523CFFFEFBF9FFAA8563FF000000000000
-    000000000000AA8563FFAA8563FF6A523CFFAA8563FF6A523CFFAA8563FF6A52
-    3CFFAA8563FF6A523CFFAA8563FF6A523CFFAA8563FFAA8563FF000000000000
-    00000000000000000000000000006A523CFF000000006A523CFF000000006A52
-    3CFF000000006A523CFF000000006A523CFF000000000000000000000000C001
-    0000C0010000C0010000C0010000C0010000C0010000C0010000C0010000C001
-    0000C0010000C0010000C0010000C0010000C0010000C0010000F5570000}
-  OldCreateOrder = False
-  OnClose = FormClose
-  PixelsPerInch = 96
-  TextHeight = 13
-  object StatusBar: TTBXStatusBar
-    Left = 0
-    Top = 284
-    Width = 451
-    Height = 19
-    Panels = <
-      item
-        Framed = False
-        MaxSize = 200
-        Size = 200
-        StretchPriority = 100
-        Tag = 0
-      end>
-    UseSystemFont = False
-  end
-  object TopDock: TTBXDock
-    Left = 0
-    Top = 0
-    Width = 451
-    Height = 26
-    AllowDrag = False
-    object Toolbar: TTBXToolbar
-      Left = 0
-      Top = 0
-      Caption = 'Toolbar'
-      FullSize = True
-      Images = GlyphsModule.LogImages
-      ParentShowHint = False
-      ShowHint = True
-      TabOrder = 0
-      object TBXItem2: TTBXItem
-        Action = NonVisualDataModule.LogClearAction
-      end
-      object TBXItem3: TTBXItem
-        Action = NonVisualDataModule.LogCopyAction
-      end
-      object TBXItem4: TTBXItem
-        Action = NonVisualDataModule.LogSelectAllAction2
-      end
-      object TBXSeparatorItem2: TTBXSeparatorItem
-      end
-      object TBXItem5: TTBXItem
-        Action = NonVisualDataModule.LogPreferencesAction2
-      end
-    end
-  end
-end

+ 0 - 58
source/forms/Log.h

@@ -1,58 +0,0 @@
-//---------------------------------------------------------------------------
-#ifndef LogH
-#define LogH
-//---------------------------------------------------------------------------
-#include <Classes.hpp>
-#include <Controls.hpp>
-#include <StdCtrls.hpp>
-#include <Forms.hpp>
-#include <ComCtrls.hpp>
-#include <ExtCtrls.hpp>
-#include <LogMemo.h>
-#include <ToolWin.hpp>
-#include "TB2Dock.hpp"
-#include "TB2Item.hpp"
-#include "TB2Toolbar.hpp"
-#include "TBX.hpp"
-#include <ActnList.hpp>
-#include <Menus.hpp>
-#include "TBXStatusBars.hpp"
-//---------------------------------------------------------------------------
-class TLogForm : public TForm
-{
-__published: // IDE-managed Components
-  TTBXStatusBar *StatusBar;
-  TTBXDock *TopDock;
-  TTBXToolbar *Toolbar;
-  TTBXItem *TBXItem2;
-  TTBXItem *TBXItem3;
-  TTBXItem *TBXItem4;
-  TTBXSeparatorItem *TBXSeparatorItem2;
-  TTBXItem *TBXItem5;
-  void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
-private:
-  Boolean FFormRestored;
-  TLogMemo * FLogMemo;
-  TSessionLog * FSessionLog;
-  void __fastcall SetLogMemo(TLogMemo * value);
-  void __fastcall SetSessionLog(TSessionLog * value);
-  void __fastcall SessionLogStateChange(TObject * Sender);
-protected:
-  virtual void __fastcall CreateParams(TCreateParams & Params);
-  void __fastcall LogMemoChange(TObject * Sender);
-  void __fastcall UpdateControls();
-public:
-  virtual __fastcall ~TLogForm();
-  __fastcall TLogForm(TComponent* Owner);
-  __property TLogMemo * LogMemo = { read = FLogMemo, write = SetLogMemo };
-  __property TSessionLog * SessionLog = { read = FSessionLog, write = SetSessionLog };
-  void __fastcall SwitchSessionLog();
-};
-//---------------------------------------------------------------------------
-extern PACKAGE TLogForm *LogForm;
-//---------------------------------------------------------------------------
-TLogForm * __fastcall RequireLogForm(TLogMemo *ALogMemo);
-void __fastcall FreeLogForm();
-void __fastcall SwitchLogFormSessionLog();
-//---------------------------------------------------------------------------
-#endif

+ 0 - 40
source/forms/NonVisual.cpp

@@ -10,7 +10,6 @@
 #include <Tools.h>
 #include <Setup.h>
 
-#include <Log.h>
 #include <Interface.h>
 #include "WinConfiguration.h"
 #include "TerminalManager.h"
@@ -96,40 +95,6 @@ __fastcall TNonVisualDataModule::~TNonVisualDataModule()
 {
 }
 //---------------------------------------------------------------------------
-void __fastcall TNonVisualDataModule::LogActionsUpdate(
-      TBasicAction *Action, bool &Handled)
-{
-  TLogMemo * LogMemo = TTerminalManager::Instance()->LogMemo;
-  bool ValidLogMemo = LogMemo && LogMemo->Parent;
-  UPD(LogClearAction, ValidLogMemo && LogMemo->Lines->Count)
-  // removed potentially CPU intensive check for "all selected already"
-  UPD(LogSelectAllAction2, ValidLogMemo && LogMemo->Lines->Count)
-  UPD(LogCopyAction, ValidLogMemo && LogMemo->SelLength)
-
-  UPD(LogPreferencesAction2, true)
-  ;
-}
-//---------------------------------------------------------------------------
-void __fastcall TNonVisualDataModule::LogActionsExecute(
-      TBasicAction *Action, bool &Handled)
-{
-
-  {
-    TAutoNestingCounter Counter(FBusy);
-
-    TLogMemo * LogMemo = TTerminalManager::Instance()->LogMemo;
-    DebugAssert(LogMemo && LogMemo->Parent);
-    EXE(LogClearAction, LogMemo->SessionLog->Clear())
-    EXE(LogSelectAllAction2, LogMemo->SelectAll())
-    EXE(LogCopyAction, LogMemo->CopyToClipboard())
-
-    EXE(LogPreferencesAction2, PreferencesDialog(pmLogging));
-    ;
-  }
-
-  DoIdle();
-}
-//---------------------------------------------------------------------------
 void __fastcall TNonVisualDataModule::ExplorerActionsUpdate(
       TBasicAction *Action, bool &Handled)
 {
@@ -347,9 +312,6 @@ void __fastcall TNonVisualDataModule::ExplorerActionsUpdate(
 
   UPD(GoToCommandLineAction, true)
   UPD(GoToTreeAction, true)
-  UPDEX(ViewLogAction, Configuration->Logging && HasTerminal,
-    ViewLogAction->Checked = (WinConfiguration->LogView == lvWindow),
-    ViewLogAction->Checked = false )
   UPDEX(ShowHiddenFilesAction, true,
     ShowHiddenFilesAction->Checked = WinConfiguration->ShowHiddenFiles, )
   UPDEX(FormatSizeBytesNoneAction, true,
@@ -691,8 +653,6 @@ void __fastcall TNonVisualDataModule::ExplorerActionsExecute(
     EXE(GoToCommandLineAction, ScpExplorer->GoToCommandLine())
     EXE(GoToTreeAction, ScpExplorer->GoToTree())
 
-    EXE(ViewLogAction, WinConfiguration->LogView =
-      (WinConfiguration->LogView == lvNone ? lvWindow : lvNone) )
     EXE(ShowHiddenFilesAction, ScpExplorer->ToggleShowHiddenFiles())
     EXE(FormatSizeBytesNoneAction, ScpExplorer->SetFormatSizeBytes(fbNone))
     EXE(FormatSizeBytesKilobytesAction, ScpExplorer->SetFormatSizeBytes(fbKilobytes))

+ 0 - 57
source/forms/NonVisual.dfm

@@ -2,55 +2,6 @@ object NonVisualDataModule: TNonVisualDataModule
   OldCreateOrder = False
   Height = 502
   Width = 624
-  object LogActions: TActionList
-    Images = GlyphsModule.LogImages
-    OnExecute = LogActionsExecute
-    OnUpdate = LogActionsUpdate
-    Left = 32
-    Top = 104
-    object LogClearAction: TAction
-      Category = 'LogMemo'
-      Caption = 'C&lear'
-      Hint = 'Clear log'
-      ImageIndex = 0
-      ShortCut = 16430
-    end
-    object LogSelectAllAction2: TAction
-      Category = 'LogMemo'
-      Caption = 'Select &All'
-      Hint = 'Select all text'
-      ImageIndex = 2
-      ShortCut = 16449
-    end
-    object LogCopyAction: TAction
-      Category = 'LogMemo'
-      Caption = '&Copy'
-      Hint = 'Copy to clipboard'
-      ImageIndex = 1
-      ShortCut = 16451
-    end
-    object LogPreferencesAction2: TAction
-      Category = 'LogForm'
-      Caption = '&Preferences...'
-      Hint = 'Configure logging'
-      ImageIndex = 3
-    end
-  end
-  object LogMemoPopup: TTBXPopupMenu
-    Images = GlyphsModule.LogImages
-    Options = [tboShowHint]
-    Left = 32
-    Top = 152
-    object Clear1: TTBXItem
-      Action = LogClearAction
-    end
-    object Close1: TTBXItem
-      Action = LogCopyAction
-    end
-    object Selectall1: TTBXItem
-      Action = LogSelectAllAction2
-    end
-  end
   object RemoteFilePopup: TTBXPopupMenu
     Images = GlyphsModule.ExplorerImages
     Options = [tboShowHint]
@@ -649,14 +600,6 @@ object NonVisualDataModule: TNonVisualDataModule
       HelpKeyword = 'ui_toolbars'
       Hint = 'Hide/show custom commands toolbar'
     end
-    object ViewLogAction: TAction
-      Tag = 15
-      Category = 'View'
-      Caption = 'Lo&g Window'
-      Hint = 'Show/hide log window'
-      ImageIndex = 24
-      Visible = False
-    end
     object NewSessionAction: TAction
       Tag = 15
       Category = 'Session'

+ 0 - 12
source/forms/NonVisual.h

@@ -73,15 +73,6 @@
 class TNonVisualDataModule : public TDataModule
 {
 __published:    // IDE-managed Components
-  TActionList *LogActions;
-  TAction *LogClearAction;
-  TAction *LogSelectAllAction2;
-  TAction *LogCopyAction;
-  TTBXPopupMenu *LogMemoPopup;
-  TTBXItem *Clear1;
-  TTBXItem *Close1;
-  TTBXItem *Selectall1;
-  TAction *LogPreferencesAction2;
   TAction *LocalSortByNameAction;
   TAction *LocalSortAscendingAction;
   TAction *LocalSortBySizeAction;
@@ -117,7 +108,6 @@ __published:    // IDE-managed Components
   TAction *ExplorerSelectionBandAction;
   TAction *ClearSelectionAction;
   TTimer *SessionIdleTimer;
-  TAction *ViewLogAction;
   TAction *NewSessionAction;
   TAction *SiteManagerAction;
   TAction *CloseSessionAction;
@@ -620,8 +610,6 @@ __published:    // IDE-managed Components
   TAction *ChangePasswordAction;
   TAction *RemoteNewFileAction;
   TAction *LocalNewFileAction;
-  void __fastcall LogActionsUpdate(TBasicAction *Action, bool &Handled);
-  void __fastcall LogActionsExecute(TBasicAction *Action, bool &Handled);
   void __fastcall ExplorerActionsUpdate(TBasicAction *Action, bool &Handled);
   void __fastcall ExplorerActionsExecute(TBasicAction *Action, bool &Handled);
   void __fastcall SessionIdleTimerTimer(TObject *Sender);

+ 3 - 5
source/forms/Preferences.cpp

@@ -587,7 +587,6 @@ void __fastcall TPreferencesDialog::LoadConfiguration()
     // logging
     EnableLoggingCheck->Checked = Configuration->Logging;
     LogProtocolCombo->ItemIndex = Configuration->LogProtocol;
-    LogToFileCheck->Checked = Configuration->LogToFile;
     LogFileNameEdit3->Text =
       !Configuration->LogFileName.IsEmpty() ? Configuration->LogFileName : Configuration->DefaultLogFileName;
     if (Configuration->LogFileAppend)
@@ -879,9 +878,9 @@ void __fastcall TPreferencesDialog::SaveConfiguration()
     GUIConfiguration->SessionRememberPassword = SessionRememberPasswordCheck->Checked;
 
     // logging
-    Configuration->Logging = EnableLoggingCheck->Checked;
+    Configuration->Logging = EnableLoggingCheck->Checked && !LogFileNameEdit3->Text.IsEmpty();
     Configuration->LogProtocol = LogProtocolCombo->ItemIndex;
-    Configuration->LogFileName = LogToFileCheck->Checked ? LogFileNameEdit3->Text : UnicodeString();
+    Configuration->LogFileName = LogFileNameEdit3->Text;
     Configuration->LogFileAppend = LogFileAppendButton->Checked;
     __int64 LogMaxSize;
     if (LogMaxSizeCheck->Checked && DebugAlwaysTrue(TryStrToSize(LogMaxSizeCombo->Text, LogMaxSize)))
@@ -1286,8 +1285,7 @@ void __fastcall TPreferencesDialog::UpdateControls()
 
     // logging
     EnableControl(LogProtocolCombo, EnableLoggingCheck->Checked);
-    EnableControl(LogToFileCheck, LogProtocolCombo->Enabled);
-    EnableControl(LogFileNameEdit3, LogToFileCheck->Enabled && LogToFileCheck->Checked);
+    EnableControl(LogFileNameEdit3, LogProtocolCombo->Enabled);
     EnableControl(LogFileNameHintText, LogFileNameEdit3->Enabled);
     EnableControl(LogFileAppendButton, LogFileNameEdit3->Enabled);
     EnableControl(LogFileOverwriteButton, LogFileNameEdit3->Enabled);

+ 27 - 28
source/forms/Preferences.dfm

@@ -264,34 +264,33 @@ object PreferencesDialog: TPreferencesDialog
           Left = 8
           Top = 8
           Width = 389
-          Height = 203
+          Height = 196
           Anchors = [akLeft, akTop, akRight]
           Caption = 'Session log'
           TabOrder = 0
           DesignSize = (
             389
-            203)
+            196)
           object LogMaxSizeCountFilesLabel: TLabel
             Left = 327
-            Top = 150
+            Top = 143
             Width = 19
             Height = 13
             Caption = 'files'
             FocusControl = LogMaxSizeCountEdit
           end
-          object LogToFileCheck: TCheckBox
-            Left = 16
+          object LogFileNameLabel: TLabel
+            Left = 40
             Top = 46
-            Width = 359
-            Height = 17
+            Width = 46
+            Height = 13
             Anchors = [akLeft, akTop, akRight]
-            Caption = 'Log to &file:'
-            TabOrder = 2
+            Caption = '&Log path:'
             OnClick = ControlChange
           end
           object LogFileNameEdit3: TFilenameEdit
             Left = 40
-            Top = 69
+            Top = 62
             Width = 335
             Height = 21
             AcceptFiles = True
@@ -304,18 +303,18 @@ object PreferencesDialog: TPreferencesDialog
             DialogTitle = 'Select file for session log'
             ClickKey = 16397
             Anchors = [akLeft, akTop, akRight]
-            TabOrder = 3
+            TabOrder = 2
             Text = 'LogFileNameEdit3'
             OnChange = ControlChange
           end
           object LogFilePanel: TPanel
             Left = 40
-            Top = 93
+            Top = 86
             Width = 265
             Height = 25
             Anchors = [akLeft, akTop, akRight]
             BevelOuter = bvNone
-            TabOrder = 5
+            TabOrder = 4
             object LogFileAppendButton: TRadioButton
               Left = 0
               Top = 4
@@ -351,14 +350,14 @@ object PreferencesDialog: TPreferencesDialog
           end
           object LogFileNameHintText: TStaticText
             Left = 293
-            Top = 91
+            Top = 84
             Width = 82
             Height = 16
             Alignment = taRightJustify
             Anchors = [akTop, akRight]
             AutoSize = False
             Caption = '&patterns'
-            TabOrder = 4
+            TabOrder = 3
             TabStop = True
           end
           object EnableLoggingCheck: TCheckBox
@@ -372,32 +371,32 @@ object PreferencesDialog: TPreferencesDialog
             OnClick = ControlChange
           end
           object LogSensitiveCheck: TCheckBox
-            Left = 16
-            Top = 174
-            Width = 359
+            Left = 40
+            Top = 167
+            Width = 335
             Height = 17
             Anchors = [akLeft, akTop, akRight]
             Caption = 'Log passwor&ds and other sensitive information'
-            TabOrder = 10
+            TabOrder = 9
             OnClick = ControlChange
           end
           object LogMaxSizeCheck: TCheckBox
             Left = 40
-            Top = 122
+            Top = 115
             Width = 210
             Height = 17
             Anchors = [akLeft, akTop, akRight]
             Caption = '&Roll log files after reaching'
-            TabOrder = 6
+            TabOrder = 5
             OnClick = ControlChange
           end
           object LogMaxSizeCombo: TComboBox
             Left = 256
-            Top = 120
+            Top = 113
             Width = 119
             Height = 21
             Anchors = [akTop, akRight]
-            TabOrder = 7
+            TabOrder = 6
             OnChange = ControlChange
             OnExit = LogMaxSizeComboExit
             Items.Strings = (
@@ -408,28 +407,28 @@ object PreferencesDialog: TPreferencesDialog
           end
           object LogMaxSizeCountCheck: TCheckBox
             Left = 64
-            Top = 149
+            Top = 142
             Width = 186
             Height = 17
             Anchors = [akLeft, akTop, akRight]
             Caption = '&Delete old log files, keep'
-            TabOrder = 8
+            TabOrder = 7
             OnClick = ControlChange
           end
           object LogMaxSizeCountEdit: TUpDownEdit
             Left = 256
-            Top = 147
+            Top = 140
             Width = 65
             Height = 21
             MaxValue = 999.000000000000000000
             MinValue = 1.000000000000000000
-            TabOrder = 9
+            TabOrder = 8
             OnChange = ControlChange
           end
         end
         object ActionsLoggingGroup: TGroupBox
           Left = 8
-          Top = 217
+          Top = 210
           Width = 389
           Height = 86
           Anchors = [akLeft, akTop, akRight]

+ 1 - 1
source/forms/Preferences.h

@@ -254,7 +254,7 @@ __published:
   TLabel *LanguageChangeLabel;
   TButton *LanguagesGetMoreButton;
   TGroupBox *LoggingGroup;
-  TCheckBox *LogToFileCheck;
+  TLabel *LogFileNameLabel;
   TFilenameEdit *LogFileNameEdit3;
   TPanel *LogFilePanel;
   TRadioButton *LogFileAppendButton;

+ 0 - 6
source/forms/ScpCommander.dfm

@@ -553,9 +553,6 @@ inherited ScpCommanderForm: TScpCommanderForm
         object TBXItem75: TTBXItem
           Action = NonVisualDataModule.StatusBarAction
         end
-        object TBXItem76: TTBXItem
-          Action = NonVisualDataModule.ViewLogAction
-        end
         object TBXSubmenuItem14: TTBXSubmenuItem
           Caption = '&Queue'
           HelpKeyword = 'ui_queue'
@@ -797,9 +794,6 @@ inherited ScpCommanderForm: TScpCommanderForm
       end
       object TBXSeparatorItem36: TTBXSeparatorItem
       end
-      object TBXItem127: TTBXItem
-        Action = NonVisualDataModule.ViewLogAction
-      end
       object TBXSubmenuItem24: TTBXSubmenuItem
         Action = NonVisualDataModule.QueueToggleShowAction
         DisplayMode = nbdmImageAndText

+ 0 - 6
source/forms/ScpExplorer.dfm

@@ -371,9 +371,6 @@ inherited ScpExplorerForm: TScpExplorerForm
         object TBXItem13: TTBXItem
           Action = NonVisualDataModule.StatusBarAction
         end
-        object TBXItem14: TTBXItem
-          Action = NonVisualDataModule.ViewLogAction
-        end
         object TBXSubmenuItem14: TTBXSubmenuItem
           Caption = '&Queue'
           HelpKeyword = 'ui_queue'
@@ -801,9 +798,6 @@ inherited ScpExplorerForm: TScpExplorerForm
           Action = NonVisualDataModule.CurrentReportAction
         end
       end
-      object TBXItem127: TTBXItem
-        Action = NonVisualDataModule.ViewLogAction
-      end
       object TBXSubmenuItem24: TTBXSubmenuItem
         Action = NonVisualDataModule.QueueToggleShowAction
         DisplayMode = nbdmImageAndText

+ 0 - 4
source/resource/TextsWin.h

@@ -287,10 +287,6 @@
 #define PASSWORD_CHANGED        1576
 
 #define WIN_FORMS_STRINGS       1600
-#define LOG_NOLOG               1601
-#define LOG_NOLOGFILE           1602
-#define LOG_NOLOGCAPTION        1603
-#define LOG_CAPTION             1604
 #define COPY_FILE               1605
 #define COPY_FILES              1606
 #define COPY_TOLOCAL            1609

+ 0 - 4
source/resource/TextsWin1.rc

@@ -290,10 +290,6 @@ BEGIN
         PASSWORD_CHANGED, "Password has been changed."
 
         WIN_FORMS_STRINGS, "WIN_FORMS_STRINGS"
-        LOG_NOLOG, "No session log."
-        LOG_NOLOGFILE, "Logging to file disabled."
-        LOG_NOLOGCAPTION, "No log"
-        LOG_CAPTION, "Session '%s' log"
         COPY_FILE, "%s file '%s' to %s:"
         COPY_FILES, "%s %d files to %s:"
         COPY_TOLOCAL, "local directory"

+ 0 - 9
source/windows/CustomWinConfiguration.cpp

@@ -103,7 +103,6 @@ void __fastcall TCustomWinConfiguration::Default()
   TGUIConfiguration::Default();
 
   FInterface = FDefaultInterface;
-  FLogView = lvNone;
   // 0 means no "custom-pos"
   FSynchronizeChecklist.WindowParams = L"0;" + FormatDefaultWindowParams(600, 450);
   FSynchronizeChecklist.ListParams = L"1;1|150,1;100,1;80,1;130,1;25,1;100,1;80,1;130,1;@" + SaveDefaultPixelsPerInch() + L"|0;1;2;3;4;5;6;7";
@@ -145,9 +144,6 @@ void __fastcall TCustomWinConfiguration::Saved()
     KEY(String,   SessionColors); \
     KEY(Bool,     CopyShortCutHintShown); \
   ) \
-  BLOCK(L"Logging", CANCREATE, \
-    KEY(Integer, LogView); \
-  ) \
   BLOCK(L"Interface\\SynchronizeChecklist", CANCREATE, \
     KEY(String,   SynchronizeChecklist.WindowParams); \
     KEY(String,   SynchronizeChecklist.ListParams); \
@@ -390,11 +386,6 @@ void __fastcall TCustomWinConfiguration::AskForMasterPasswordIfNotSetAndNeededTo
     AskForMasterPasswordIfNotSet();
   }
 }
-//---------------------------------------------------------------------
-void __fastcall TCustomWinConfiguration::SetLogView(TLogView value)
-{
-  SET_CONFIG_PROPERTY(LogView);
-}
 //---------------------------------------------------------------------------
 void __fastcall TCustomWinConfiguration::SetInterface(TInterface value)
 {

+ 1 - 4
source/windows/CustomWinConfiguration.h

@@ -8,7 +8,7 @@
 // WM_INTERUPT_IDLE = WM_WINSCP_USER + 3 (in windows/ConsoleRunner.cpp)
 // WM_COMPONENT_HIDE = WM_WINSCP_USER + 4 (forms/CustomScpExplorer.cpp)
 // WM_TRAY_ICON = WM_WINSCP_USER + 5 (forms/CustomScpExplorer.cpp)
-// WM_LOG_UPDATE = WM_WINSCP_USER + 6 (components/LogMemo.cpp)
+// WM_WINSCP_USER + 6 was WM_LOG_UPDATE
 #define WM_MANAGES_CAPTION (WM_WINSCP_USER + 7)
 #define WM_WANTS_MOUSEWHEEL (WM_WINSCP_USER + 8)
 #define WM_CAN_DISPLAY_UPDATES (WM_WINSCP_USER + 9)
@@ -43,7 +43,6 @@ class TCustomWinConfiguration : public TGUIConfiguration
 {
 static const int MaxHistoryCount = 50;
 private:
-  TLogView FLogView;
   TInterface FInterface;
   TInterface FAppliedInterface;
   TStringList * FHistory;
@@ -61,7 +60,6 @@ private:
   TNotifyEvent FOnMasterPasswordRecrypt;
 
   void __fastcall SetInterface(TInterface value);
-  void __fastcall SetLogView(TLogView value);
   void __fastcall SetHistory(const UnicodeString Index, TStrings * value);
   TStrings * __fastcall GetHistory(const UnicodeString Index);
   void __fastcall SetSynchronizeChecklist(TSynchronizeChecklistConfiguration value);
@@ -92,7 +90,6 @@ public:
   void __fastcall AskForMasterPasswordIfNotSetAndNeededToPersistSessionData(TSessionData * SessionData);
   static UnicodeString __fastcall GetValidHistoryKey(UnicodeString Key);
 
-  __property TLogView LogView = { read = FLogView, write = SetLogView };
   __property TInterface Interface = { read = FInterface, write = SetInterface };
   __property TInterface AppliedInterface = { read = FAppliedInterface, write = FAppliedInterface };
   __property bool CanApplyInterfaceImmediately = { read = FCanApplyInterfaceImmediately, write = FCanApplyInterfaceImmediately };

+ 0 - 1
source/windows/GUIConfiguration.h

@@ -7,7 +7,6 @@
 //---------------------------------------------------------------------------
 class TGUIConfiguration;
 class TStoredSessionList;
-enum TLogView { lvNone, lvWindow, pvPanel };
 enum TInterface { ifCommander, ifExplorer };
 //---------------------------------------------------------------------------
 extern const int ccLocal;

+ 0 - 36
source/windows/TerminalManager.cpp

@@ -6,11 +6,9 @@
 #include "TerminalManager.h"
 #include <Authenticate.h>
 #include "CustomScpExplorer.h"
-#include "LogMemo.h"
 #include "NonVisual.h"
 #include "WinConfiguration.h"
 #include "Tools.h"
-#include <Log.h>
 #include <Common.h>
 #include <CoreMain.h>
 #include <GUITools.h>
@@ -63,7 +61,6 @@ __fastcall TTerminalManager::TTerminalManager() :
   TTerminalList(Configuration)
 {
   FQueueSection = new TCriticalSection();
-  FLogMemo = NULL;
   FActiveTerminal = NULL;
   FScpExplorer = NULL;
   FDestroying = false;
@@ -577,14 +574,6 @@ void __fastcall TTerminalManager::DoSetActiveTerminal(TTerminal * value, bool Au
 
     if (ActiveTerminal)
     {
-      if (!PActiveTerminal)
-      {
-        CreateLogMemo();
-      }
-      DebugAssert(LogMemo);
-      LogMemo->SessionLog = ActiveTerminal->Log;
-      SwitchLogFormSessionLog();
-
       int Index = ActiveTerminalIndex;
       if (!ActiveTerminal->Active && !FTerminationMessages->Strings[Index].IsEmpty())
       {
@@ -612,7 +601,6 @@ void __fastcall TTerminalManager::DoSetActiveTerminal(TTerminal * value, bool Au
     }
     else
     {
-      FreeLogMemo();
       if (OnLastTerminalClosed)
       {
         OnLastTerminalClosed(this);
@@ -708,30 +696,6 @@ void __fastcall TTerminalManager::SaveTerminal(TTerminal * Terminal)
   }
 }
 //---------------------------------------------------------------------------
-void __fastcall TTerminalManager::CreateLogMemo()
-{
-  DebugAssert(!FLogMemo);
-  DebugAssert(ActiveTerminal);
-  FLogMemo = new TLogMemo(Application);
-  try
-  {
-    FLogMemo->SessionLog = ActiveTerminal->Log;
-    FLogMemo->PopupMenu = NonVisualDataModule->LogMemoPopup;
-  }
-  catch (...)
-  {
-    delete FLogMemo;
-    throw;
-  }
-}
-//---------------------------------------------------------------------------
-void __fastcall TTerminalManager::FreeLogMemo()
-{
-  DebugAssert(LogMemo);
-  LogMemo->PopupMenu = NULL;
-  SAFE_DESTROY(FLogMemo);
-}
-//---------------------------------------------------------------------------
 void __fastcall TTerminalManager::HandleException(Exception * E)
 {
   // can be null for example when exception is thrown on login dialog

+ 0 - 6
source/windows/TerminalManager.h

@@ -9,7 +9,6 @@
 #include <Vcl.AppEvnts.hpp>
 //---------------------------------------------------------------------------
 class TCustomScpExplorerForm;
-class TLogMemo;
 class TTerminalQueue;
 class TAuthenticateForm;
 class ITaskbarList3;
@@ -70,7 +69,6 @@ public:
   __property int ActiveTerminalIndex = { read = GetActiveTerminalIndex, write = SetActiveTerminalIndex };
   __property UnicodeString ActiveTerminalTitle = { read = GetActiveTerminalTitle };
   __property TStrings * TerminalList = { read = GetTerminalList };
-  __property TLogMemo * LogMemo = { read = FLogMemo };
   __property TNotifyEvent OnLastTerminalClosed = { read = FOnLastTerminalClosed, write = FOnLastTerminalClosed };
   __property TNotifyEvent OnTerminalListChanged = { read = FOnTerminalListChanged, write = FOnTerminalListChanged };
 
@@ -81,7 +79,6 @@ private:
   static TTerminalManager * FInstance;
   TCustomScpExplorerForm * FScpExplorer;
   TTerminal * FActiveTerminal;
-  TLogMemo * FLogMemo;
   bool FDestroying;
   TTerminalPendingAction FTerminalPendingAction;
   TNotifyEvent FOnLastTerminalClosed;
@@ -108,12 +105,9 @@ private:
   bool __fastcall ConnectActiveTerminalImpl(bool Reopen);
   bool __fastcall ConnectActiveTerminal();
   TTerminalQueue * __fastcall NewQueue(TTerminal * Terminal);
-  void __fastcall CreateLogMemo();
-  void __fastcall FreeLogMemo();
   void __fastcall SetScpExplorer(TCustomScpExplorerForm * value);
   void __fastcall DoSetActiveTerminal(TTerminal * value, bool AutoReconnect);
   void __fastcall SetActiveTerminal(TTerminal * value);
-  void __fastcall SetLogMemo(TLogMemo * value);
   void __fastcall UpdateAll();
   void __fastcall ApplicationException(TObject * Sender, Exception * E);
   void __fastcall ApplicationShowHint(UnicodeString & HintStr, bool & CanShow,

+ 0 - 17
source/windows/WinConfiguration.cpp

@@ -623,9 +623,6 @@ void __fastcall TWinConfiguration::Default()
   FUpdates.DotNetVersion = L"";
   FUpdates.ConsoleVersion = L"";
 
-  FLogWindowOnStartup = true;
-  FLogWindowParams = FormatDefaultWindowParams(500, 400);
-
   int ExplorerWidth = Min(WorkAreaWidthScaled - 40, 960);
   int ExplorerHeight = Min(WorkAreaHeightScaled - 30, 720);
   FScpExplorer.WindowParams = FormatDefaultWindowParams(ExplorerWidth, ExplorerHeight);
@@ -1086,10 +1083,6 @@ THierarchicalStorage * TWinConfiguration::CreateScpStorage(bool & SessionList)
     KEY(Integer, ScpCommander.RemotePanel.DriveViewWidth); \
     KEY(Integer, ScpCommander.RemotePanel.DriveViewWidthPixelsPerInch); \
   ); \
-  BLOCK(L"Logging", CANCREATE, \
-    KEY(Bool,    LogWindowOnStartup); \
-    KEY(String,  LogWindowParams); \
-  ); \
   BLOCK(L"Security", CANCREATE, \
     KEYEX(Bool,  FUseMasterPassword, L"UseMasterPassword"); \
     KEYEX(String,FMasterPasswordVerifier, L"MasterPasswordVerifier"); \
@@ -1791,16 +1784,6 @@ void __fastcall TWinConfiguration::EndMasterPasswordSession()
   FMasterPasswordSessionAsked = false;
 }
 //---------------------------------------------------------------------------
-void __fastcall TWinConfiguration::SetLogWindowOnStartup(bool value)
-{
-  SET_CONFIG_PROPERTY(LogWindowOnStartup);
-}
-//---------------------------------------------------------------------------
-void __fastcall TWinConfiguration::SetLogWindowParams(UnicodeString value)
-{
-  SET_CONFIG_PROPERTY(LogWindowParams);
-}
-//---------------------------------------------------------------------------
 void __fastcall TWinConfiguration::SetDDAllowMove(bool value)
 {
   SET_CONFIG_PROPERTY(DDAllowMove);

+ 0 - 6
source/windows/WinConfiguration.h

@@ -340,8 +340,6 @@ private:
   bool FDeleteToRecycleBin;
   bool FDimmHiddenFiles;
   bool FRenameWholeName;
-  bool FLogWindowOnStartup;
-  UnicodeString FLogWindowParams;
   TScpCommanderConfiguration FScpCommander;
   TScpExplorerConfiguration FScpExplorer;
   bool FSelectDirectories;
@@ -452,8 +450,6 @@ private:
   void __fastcall SetDeleteToRecycleBin(bool value);
   void __fastcall SetDimmHiddenFiles(bool value);
   void __fastcall SetRenameWholeName(bool value);
-  void __fastcall SetLogWindowOnStartup(bool value);
-  void __fastcall SetLogWindowParams(UnicodeString value);
   void __fastcall SetScpCommander(TScpCommanderConfiguration value);
   void __fastcall SetScpExplorer(TScpExplorerConfiguration value);
   void __fastcall SetSelectDirectories(bool value);
@@ -641,11 +637,9 @@ public:
   __property bool DDAllowMove = { read = FDDAllowMove, write = SetDDAllowMove };
   __property bool DDAllowMoveInit = { read = FDDAllowMoveInit, write = SetDDAllowMoveInit };
   __property TAutoSwitch DDTransferConfirmation = { read = FDDTransferConfirmation, write = SetDDTransferConfirmation };
-  __property bool LogWindowOnStartup = { read = FLogWindowOnStartup, write = SetLogWindowOnStartup };
   __property bool DeleteToRecycleBin = { read = FDeleteToRecycleBin, write = SetDeleteToRecycleBin };
   __property bool DimmHiddenFiles = { read = FDimmHiddenFiles, write = SetDimmHiddenFiles };
   __property bool RenameWholeName = { read = FRenameWholeName, write = SetRenameWholeName };
-  __property UnicodeString LogWindowParams = { read = FLogWindowParams, write = SetLogWindowParams };
   __property bool ConfirmTransferring = { read = FConfirmTransferring, write = SetConfirmTransferring};
   __property bool ConfirmDeleting = { read = FConfirmDeleting, write = SetConfirmDeleting};
   __property bool ConfirmRecycling = { read = FConfirmRecycling, write = SetConfirmRecycling};

+ 0 - 3
source/windows/WinMain.cpp

@@ -4,7 +4,6 @@
 
 #include <CoreMain.h>
 
-#include <Log.h>
 #include <TextsWin.h>
 #include <TextsCore.h>
 #include <HelpWin.h>
@@ -800,8 +799,6 @@ int __fastcall Execute()
     }
     NonVisualDataModule = new TNonVisualDataModule(Application);
 
-    LogForm = NULL;
-
     // The default is 2.5s.
     // 20s is used by Office 2010 and Windows 10 Explorer.
     // Some applications use an infinite (Thunderbird, Firefox).