diff --git a/tim2view.lpi b/tim2view.lpi
index 0991418..91672d8 100644
--- a/tim2view.lpi
+++ b/tim2view.lpi
@@ -4,10 +4,15 @@
+
+
+
+
+
+
-
@@ -110,7 +115,7 @@
-
+
@@ -118,6 +123,11 @@
+
+
+
+
+
diff --git a/tim2view.lps b/tim2view.lps
index 6629cd4..df2529e 100644
--- a/tim2view.lps
+++ b/tim2view.lps
@@ -4,15 +4,12 @@
-
+
-
-
-
-
+
@@ -23,9 +20,9 @@
-
-
-
+
+
+
@@ -33,458 +30,98 @@
-
-
-
-
+
-
-
-
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
+
-
-
-
+
+
+
+
-
-
-
-
+
-
+
-
-
-
+
+
+
-
-
-
-
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ucdimage.pas b/ucdimage.pas
index d3a6890..bc7622e 100644
--- a/ucdimage.pas
+++ b/ucdimage.pas
@@ -40,7 +40,7 @@ procedure ReplaceTimInFileFromMemory(const FileName: string; TIM: PTIM;
implementation
uses
- ucommon, ecc, edc, classes, FileUtil, sysutils, lazutf8classes;
+ ucommon, ecc, edc, classes, FileUtil, sysutils;
function bin2bcd(P: Integer): byte;
begin
@@ -69,18 +69,17 @@ const
var
Sz: cardinal;
pFile: PBytesArray;
- tmp: TFileStreamUTF8;
+ tmp: TFileStream;
begin
Result := False;
Sz := FileSize(FileName);
- if (Sz > cMaxFileSize) or (Sz = 0) then
- Exit;
+ if (Sz > cMaxFileSize) or (Sz = 0) then Exit;
pFile := GetMemory(cSectorHeaderSize);
try
- tmp := TFileStreamUTF8.Create(FileName, fmOpenRead or fmShareDenyWrite);
+ tmp := TFileStream.Create(Utf8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
tmp.Read(pFile^[0], cSectorHeaderSize);
Result := ((Sz mod cSectorSize) = 0) and (CompareMem(@cSectorHeader, pFile, cSectorHeaderSize));
finally
@@ -94,7 +93,7 @@ procedure ReplaceTimInFileFromMemory(const FileName: string; TIM: PTIM;
type
TSecAddrAndMode = array [0 .. cSectorAddressSize + cSectorModeSize - 1] of byte;
var
- sImageStream: TFileStreamUTF8;
+ sImageStream: TFileStream;
TimOffsetInSector, FirstPartSize, LastPartSize: Integer;
TimSectorNumber, TimStartSectorPos: Integer;
Sector: TCDSector;
@@ -102,7 +101,7 @@ var
P, TIM_FULL_SECTORS: Integer;
SecAddrAndMode: TSecAddrAndMode;
begin
- sImageStream := TFileStreamUTF8.Create(FileName, fmOpenReadWrite or fmShareDenyWrite);
+ sImageStream := TFileStream.Create(UTF8ToSys(FileName), fmOpenReadWrite or fmShareDenyWrite);
if not ImageScan then
begin
diff --git a/ucommon.pas b/ucommon.pas
index 6325df1..a9089f5 100644
--- a/ucommon.pas
+++ b/ucommon.pas
@@ -3,7 +3,7 @@ unit ucommon;
interface
const
- cProgramName = 'Tim2View SVN.r63 by [Lab 313] (for ' +
+ cProgramName = 'Tim2View SVN.r65 by [Lab 313] (for ' +
{$IFDEF Linux}'Linux' + {$IFEND}
{$IFDEF Darwin}'Mac OS X' + {$IFEND}
{$IFDEF Windows}'Windows' + {$IFEND}
diff --git a/umain.lfm b/umain.lfm
index 6aea1a3..6e91cd4 100644
--- a/umain.lfm
+++ b/umain.lfm
@@ -508,17 +508,17 @@ object frmMain: TfrmMain
Left = 76
Height = 28
Top = 1
- Width = 164
+ Width = 182
Align = alClient
Alignment = taRightJustify
Layout = tlCenter
ParentColor = False
end
object pbProgress: TProgressBar
- Left = 240
+ Left = 258
Height = 28
Top = 1
- Width = 539
+ Width = 521
Align = alRight
Anchors = [akTop, akLeft, akRight, akBottom]
Smooth = True
@@ -529,9 +529,8 @@ object frmMain: TfrmMain
Height = 28
Top = 1
Width = 75
+ Action = actStopScan
Align = alLeft
- Caption = 'Stop Scan'
- Enabled = False
TabOrder = 0
end
end
@@ -560,7 +559,7 @@ object frmMain: TfrmMain
ClientWidth = 780
TabOrder = 1
object splMain: TSplitter
- Left = 240
+ Left = 253
Height = 519
Top = 0
Width = 5
@@ -569,17 +568,17 @@ object frmMain: TfrmMain
Left = 0
Height = 519
Top = 0
- Width = 240
+ Width = 253
Align = alLeft
BevelOuter = bvNone
ClientHeight = 519
- ClientWidth = 240
+ ClientWidth = 253
TabOrder = 0
object lvList: TListView
Left = 0
Height = 491
Top = 28
- Width = 240
+ Width = 253
Align = alClient
Columns = <
item
@@ -602,7 +601,6 @@ object frmMain: TfrmMain
Width = 57
end>
ColumnClick = False
- Enabled = False
GridLines = True
HideSelection = False
OwnerData = True
@@ -618,14 +616,14 @@ object frmMain: TfrmMain
Left = 0
Height = 28
Top = 0
- Width = 240
+ Width = 253
Align = alTop
BevelOuter = bvLowered
ClientHeight = 28
- ClientWidth = 240
+ ClientWidth = 253
TabOrder = 1
object btnExtractAllTims: TButton
- Left = 139
+ Left = 152
Height = 26
Top = 1
Width = 100
@@ -645,30 +643,34 @@ object frmMain: TfrmMain
end
end
object pnlImage: TPanel
- Left = 245
+ Left = 258
Height = 519
Top = 0
- Width = 535
+ Width = 522
Align = alClient
BevelOuter = bvLowered
ClientHeight = 519
- ClientWidth = 535
+ ClientWidth = 522
+ Color = clBtnFace
+ ParentColor = False
TabOrder = 1
object splImageClut: TSplitter
Cursor = crVSplit
Left = 1
Height = 3
Top = 1
- Width = 533
+ Width = 520
Align = alTop
Beveled = True
+ Color = clBtnFace
+ ParentColor = False
ResizeAnchor = akTop
end
object grdCurrClut: TDrawGrid
Left = 1
Height = 150
- Top = 345
- Width = 533
+ Top = 343
+ Width = 520
Align = alBottom
ColCount = 1
DefaultColWidth = 14
@@ -691,33 +693,35 @@ object frmMain: TfrmMain
end
object pnlImageOptions: TPanel
Left = 1
- Height = 23
- Top = 495
- Width = 533
+ Height = 25
+ Top = 493
+ Width = 520
Align = alBottom
AutoSize = True
BevelOuter = bvNone
- ClientHeight = 23
- ClientWidth = 533
+ ClientHeight = 25
+ ClientWidth = 520
+ Color = clBtnFace
+ ParentColor = False
TabOrder = 1
object btnShowClut: TButton
- Left = 481
+ Left = 467
Height = 23
- Top = 0
+ Top = 1
Width = 52
Align = alRight
+ BorderSpacing.Around = 1
Caption = 'CLUT'
- Enabled = False
OnClick = btnShowClutClick
TabOrder = 0
end
object cbbBitMode: TComboBox
- Left = 0
+ Left = 1
Height = 21
- Top = 0
+ Top = 1
Width = 90
Align = alLeft
- Enabled = False
+ BorderSpacing.Around = 1
ItemHeight = 13
ItemIndex = 0
Items.Strings = (
@@ -734,12 +738,12 @@ object frmMain: TfrmMain
Text = 'Real'
end
object cbbTranspMode: TComboBox
- Left = 90
+ Left = 92
Height = 21
- Top = 0
+ Top = 1
Width = 136
Align = alLeft
- Enabled = False
+ BorderSpacing.Around = 1
ItemHeight = 13
ItemIndex = 0
Items.Strings = (
@@ -755,13 +759,13 @@ object frmMain: TfrmMain
Text = 'Full transparence'
end
object cbbCLUT: TComboBox
- Left = 372
+ Left = 357
Height = 21
- Top = 0
+ Top = 1
Width = 109
Align = alRight
+ BorderSpacing.Around = 1
DropDownCount = 16
- Enabled = False
ItemHeight = 13
OnChange = actChangeClutIdxExecute
Style = csDropDownList
@@ -770,9 +774,9 @@ object frmMain: TfrmMain
end
object imgTim: TImage
Left = 1
- Height = 341
+ Height = 339
Top = 4
- Width = 533
+ Width = 520
AntialiasingMode = amOff
Align = alClient
Center = True
@@ -814,6 +818,15 @@ object frmMain: TfrmMain
end
object mnTIM: TMenuItem
Caption = '&TIM'
+ object mnExtractAllTims: TMenuItem
+ Action = actExtractTIMs
+ end
+ object mnExtractAllPngs: TMenuItem
+ Action = actExtractPNGs
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ end
object mnSaveTIM: TMenuItem
Action = actExtractTim
end
@@ -835,6 +848,16 @@ object frmMain: TfrmMain
object mnAssociate: TMenuItem
Action = actAssocTims
end
+ object N8: TMenuItem
+ Caption = '-'
+ end
+ object mnStretchImage: TMenuItem
+ Action = actStretch
+ AutoCheck = True
+ end
+ object mnChangeBackColor2: TMenuItem
+ Action = actChangeBackColor
+ end
end
object mnHelp: TMenuItem
Caption = '&Help'
@@ -956,7 +979,7 @@ object frmMain: TfrmMain
OnExecute = actStretchExecute
end
object actTimInfo: TAction
- Caption = '&TIM Info'
+ Caption = '&TIM Info...'
Enabled = False
OnExecute = actTimInfoExecute
end
@@ -966,13 +989,11 @@ object frmMain: TfrmMain
end
object actExtractTIMs: TAction
Caption = 'Extract all &TIMs'
- Enabled = False
OnExecute = actExtractTIMsExecute
ShortCut = 8305
end
object actExtractPNGs: TAction
Caption = '&Extract all PNGs'
- Enabled = False
OnExecute = actExtractPNGsExecute
ShortCut = 8307
end
@@ -985,6 +1006,15 @@ object frmMain: TfrmMain
object actChangeFile: TAction
OnExecute = actChangeFileExecute
end
+ object actStopScan: TAction
+ Caption = '&Stop Scan'
+ Enabled = False
+ OnExecute = actStopScanExecute
+ end
+ object actChangeBackColor: TAction
+ Caption = '&Background Color'
+ OnExecute = actChangeBackColorExecute
+ end
end
object pmList: TPopupMenu
left = 632
@@ -998,6 +1028,15 @@ object frmMain: TfrmMain
object SaveasPNG1: TMenuItem
Action = actTim2Png
end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object mnExtractAllTims2: TMenuItem
+ Action = actExtractTIMs
+ end
+ object mnExtractAllPngs2: TMenuItem
+ Action = actExtractPNGs
+ end
object N2: TMenuItem
Caption = '-'
end
@@ -1011,6 +1050,9 @@ object frmMain: TfrmMain
object mnSaveAsPng: TMenuItem
Action = actTim2Png
end
+ object mnSaveAsTim: TMenuItem
+ Action = actExtractTim
+ end
object N5: TMenuItem
Caption = '-'
end
@@ -1018,6 +1060,9 @@ object frmMain: TfrmMain
Action = actStretch
AutoCheck = True
end
+ object mnChangeBackColor: TMenuItem
+ Action = actChangeBackColor
+ end
end
object dlgSelectDir: TSelectDirectoryDialog
Options = [ofNoChangeDir, ofPathMustExist, ofNoNetworkButton, ofEnableSizing, ofViewDetail]
diff --git a/umain.lrs b/umain.lrs
deleted file mode 100644
index f517cc1..0000000
--- a/umain.lrs
+++ /dev/null
@@ -1,821 +0,0 @@
-{ This is an automatically generated lazarus resource file }
-
-LazarusResources.Add('TfrmMain','FORMDATA',[
- 'TPF0'#8'TfrmMain'#7'frmMain'#4'Left'#3#207#1#6'Height'#3'N'#2#3'Top'#3#134#0
- +#5'Width'#3#12#3#18'HorzScrollBar.Page'#3#12#3#18'VertScrollBar.Page'#3':'#2
- +#13'ActiveControl'#7#7'pnlList'#10'AutoScroll'#9#12'ClientHeight'#3':'#2#11
- +'ClientWidth'#3#12#3#5'Color'#7#9'clBtnFace'#10'Font.Color'#7#12'clWindowTex'
- +'t'#11'Font.Height'#2#245#9'Font.Name'#6#6'Tahoma'#9'Icon.Data'#10#242':'#0#0
- +#238':'#0#0#0#0#1#0#3#0'00'#0#0#0#0#0#0#168'%'#0#0'6'#0#0#0' '#0#0#0#0#0#0
- +#168#16#0#0#222'%'#0#0#16#16#0#0#0#0#0#0'h'#4#0#0#134'6'#0#0'('#0#0#0'0'#0#0
- +#0'`'#0#0#0#1#0' '#0#0#0#0#0#128'%'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('
- +#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('
- +#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255
- +#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255
- +#255#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('
- +#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0
- +#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255
- +#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4
- +#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- ,#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252
- +'('#4#255#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('
- +#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230
- +#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255
- +#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4
- +#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255
- +#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4
- +#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255
- +#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4
- +#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252
- +'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255
- +#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0
- +#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252
- +'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255
- +#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('
- +#4#255#252'('#4#255#252'('#4#255#255#255#255#0#252'('#4#255#252'('#4#255#252
- +'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0
- +#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4
- +#255#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('
- +#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#252'('#4#255#252
- +'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255
- +#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255
- +#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4
- ,#255#252'('#4#255#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252
- +'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255
- +#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('
- +#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255
- +#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255#255#255#255
- +#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252
- +'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4
- +#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230
- +#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252
- +'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255
- +#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('
- +#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4
- +#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252
- +'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4
- +#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230
- +#0#255#255#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252
- +'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('
- +#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255
- +#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#252'('
- +#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- ,'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255
- +#255#230#0#255#255#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252
- +'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('
- +#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#230#0#255#255#230#0#255#255#230#0#255#255#230#0#255#255#255#255
- +#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#252
- +'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('
- +#4#255#252'('#4#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255
- +#230#0#255#255#230#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#252'('#4#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#230
- +#0#255#255#230#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#252'('#4#255#252'('#4#255#255#255#255#0#255#255#255#0#6#6#255#255#6#6
- +#255#255#6#6#255#255#0#175#231#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#252'('#4#255#252'('#4#255#252'('#4#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#230#0#255#255#230#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255
- +#0#175#231#255#0#175#231#255#141#157'5'#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255#0#175#231#255
- +#0#175#231#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#0#175#231#255
- +#141#157'5'#255#141#157'5'#255#141#157'5'#255#141#157'5'#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#175#231
- +#255#0#175#231#255#0#175#231#255#0#175#231#255#0#175#231#255#0#175#231#255#6
- +#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#141#157'5'#255
- +#141#157'5'#255#141#157'5'#255#141#157'5'#255#141#157'5'#255#155'^:'#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- ,#255#0#255#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255#0#175#231#255
- +#0#175#231#255#0#175#231#255#255#255#255#0#141#157'5'#255#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#141#157'5'#255#255#255#255#0#255#255#255#0#141
- +#157'5'#255#141#157'5'#255#155'^:'#255#155'^:'#255#155'^:'#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255#0#175#231#255#141#157'5'
- +#255#141#157'5'#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255
- +#255#141#157'5'#255#141#157'5'#255#155'^:'#255#155'^:'#255#155'^:'#255#155'^'
- +':'#255#155'^:'#255#155'^:'#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#141#157'5'#255#141#157'5'#255#141#157'5'#255#141#157'5'
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#155'^:'#255#155'^:'#255
- +#155'^:'#255#155'^:'#255#155'^:'#255#155'^:'#255#155'^:'#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#155'^:'#255#155'^:'#255#6#6#255#255#6#6#255#255#6#6#255
- +#255#6#6#255#255#255#255#255#0#255#255#255#0#155'^:'#255#155'^:'#255#155'^:'
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255
- +#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6
- +#6#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255
- ,#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255
- +#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6
- +#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6
- +#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- ,#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#199#255#255#255#207#0#0#255#129#241#243#255#135#0#0
- +#255#0#240#225#255#131#0#0#255#0#240#225#255#131#0#0#255#0#240#225#255#135#0
- +#0#255#0#240#225#255#199#0#0#255#0#248#240#199#199#0#0#255#0#248'p'#195#195#0
- +#0#255#128#248'x'#193#227#0#0#255#128#252'x'#193#227#0#0#255#128#252'x@'#227
- +#0#0#255#128#252'8@c'#0#0#255#128#254'<@c'#0#0#255#192#254'<'#6'1'#0#0#255
- +#192#254#28#7#17#0#0#255#192#254#28#7#1#0#0#255#192#255#30#7#129#0#0#255#192
- +#255#14#7#193#0#0#255#224#255#14#7#193#0#0#255#224#255#14#15#224#0#0#255#224
- +#255#14#15#224#0#0#255#224#255#6#15#240#0#0#255#224#255#134#15#240#0#0#255
- +#240#127#135#15#240#0#0#255#240#127#135#152'x'#0#0#255#240#127#159#240#31#0#0
- +#255#240#127#255#0#7#0#0#255#240'?'#252#0#129#0#0#255#248'?'#248' `'#0#0#255
- +#248'?'#252#16#0#0#0#255#248#31#255#0#1#0#0#255#248#31#255#192#199#0#0#255
- +#248#31#255#240#135#0#0#255#252#15#255#240#131#0#0#255#252#15#255#240#129#0#0
- +#255#252#15#255#240#129#0#0#255#252#7#255#240#129#0#0#255#252#7#255#240#129#0
- +#0#255#252#7#255#240#129#0#0#255#252#3#255#240#131#0#0#135#248#3#199#240#3#0
- +#0#0#0#0#0#240#7#0#0#0#0#0#0'0?'#0#0#0#0#0#0#31#255#0#0#0#0#0#0#15#255#0#0#0
- +#0#0#0#15#255#0#0#0#0#0#0#15#255#0#0#135#255#255#0#31#255#0#0'('#0#0#0' '#0#0
- +#0'@'#0#0#0#1#0' '#0#0#0#0#0#128#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#220#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255
- ,#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'
- +#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#220#0
- +#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255#255#255#0#255'&'#0#255
- +#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255
- +'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255#255#220
- +#0#255#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255#255#255#255
- +#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255
- +#255#255#0#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0
- +#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255'&'#0
- +#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255'&'#0#255#255
- +'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255#255#255#0#255'&'
- +#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255'&'#0#255#255'&'#0#255#255
- +'&'#0#255#255'&'#0#255#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#220#0
- +#255#255#220#0#255#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255
- +#255'&'#0#255#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0
- +#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255
- +#255#220#0#255#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255
- +#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255
- +#255#255#255#0#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255
- +#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0
- +#255#255'&'#0#255#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'
- +#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255#255
- +#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255
- +#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255
- +#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255'&'#0#255
- +#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#220#0#255
- +#255#220#0#255#255#220#0#255#255#255#255#255#0#255'&'#0#255#255'&'#0#255#255
- ,'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255#255
- +#220#0#255#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255
- +#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255'&'#0#255
- +#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0
- +#255#255#255#0#255'&'#0#255#255'&'#0#255#255'&'#0#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255
- +#255'&'#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#220#0#255#255#220#0#255#255#220#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255
- +#255#0#175#231#255#255#255#255#0#255#255#255#0#255'&'#0#255#255'&'#0#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255
- +#0#175#231#255#0#175#231#255#6#6#255#255#6#6#255#255#6#6#255#255#0#175#231
- +#255#141#157'5'#255#141#157'5'#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255#0#175#231#255#0#175#231
- +#255#0#175#231#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#141#157
- +'5'#255#141#157'5'#255#141#157'5'#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#0#175#231#255#0#175#231#255#141#157'5'#255#255#255
- +#255#0#6#6#255#255#6#6#255#255#6#6#255#255#141#157'5'#255#255#255#255#0#155
- +'^:'#255#155'^:'#255#155'^:'#255#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#141#157'5'#255#141#157'5'#255#141#157'5'#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#155'^:'#255#155'^:'#255#155'^:'#255#155'^:'#255
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#155'^:'#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#255
- +#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- ,#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255
- +#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6
- +#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255
- +#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0
- +#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#6#6#255#255#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#6#6#255#255#6#6
- +#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0
- +#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'
- +#0#255#255'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0'w'#0#255#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0'w'#0#255#255'w'#0#255#255'w'#0#255#255
- +'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255#255'w'#0#255
- +#255'w'#0#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#252'='#255#243#248#24
- +#199#225#248#24#199#225#248#24#199#243#248#28#198'q'#252#28'b1'#252#28'b'#17
- +#252#30'b'#25#252#30'2'#9#252#30'0A'#252#30'0`'#254#31#16'p'#254#31#16'p'#254
- +#31#24#248#254#31#16#248#255#31#24#248#255#31#31#140#255#15#240#3#255#15#224
- +#17#255#15#241#8#255#7#248#1#255#135#254#19#255#135#255#17#255#131#255#17#255
- +#131#255#17#255#131#255#17#143#129#255#1#0#0#3#3#0#0#1#7#0#0#0#255#0#0#0#255
- +#159#252#0#255'('#0#0#0#16#0#0#0' '#0#0#0#1#0' '#0#0#0#0#0'@'#4#0#0#0#0#0#0#0
- +#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255
- +#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#0
- +#175#231#255#0#175#231#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#0#175#231#255#0#175#231#255#0#175#231#255#0#175#231#255
- +#0#175#231#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#141#157'5'#255
- +#141#157'5'#255#141#157'5'#255#141#157'5'#255#255#255#255#0#255#255#255#0#0
- +#175#231#255#0#175#231#255#0#175#231#255#0#175#231#255#0#175#231#255#0#175
- +#231#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#141
- ,#157'5'#255#141#157'5'#255#141#157'5'#255#155'^:'#255#255#255#255#0#0#175#231
- +#255#0#175#231#255#0#175#231#255#0#175#231#255#141#157'5'#255#255#255#255#0#6
- +#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#141#157'5'#255#255#255#255#0
- +#155'^:'#255#155'^:'#255#155'^:'#255#155'^:'#255#255#255#255#0#255#255#255#0
- +#141#157'5'#255#141#157'5'#255#141#157'5'#255#141#157'5'#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#6#6#255#255#155'^:'#255#155'^:'#255#155'^:'#255#155'^:'
- +#255#155'^:'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#141#157'5'#255#155'^:'#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#155'^:'#255#155'^:'#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255
- +#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6
- +#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255
- +#6#6#255#255#6#6#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6
- +#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255
- +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
- +#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255#0#255#255
- +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6
- +#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
- +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255
- +#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#6#6#255#255#255#255#255
- +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
- +#255#255#0#255#255#255#0#255#255#255#0#6#6#255#255#6#6#255#255#6#6#255#255#6
- +#6#255#255#6#6#255#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
- +#0#255#255#255#0#254'?'#0#0#252#15#0#0#128#3#0#0#0'!'#0#0#4#16#0#0#192#1#0#0
- +#240''''#0#0#252'#'#0#0#252'!'#0#0#252'!'#0#0#252'!'#0#0#252'!'#0#0#252#1#0#0
- +#252#3#0#0#252#7#0#0#252#31#0#0#4'Menu'#7#6'mmMain'#7'OnClose'#7#9'FormClose'
- +#8'OnCreate'#7#10'FormCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'
- +#6#3'1.3'#0#6'TPanel'#9'pnlStatus'#4'Left'#2#0#6'Height'#2#30#3'Top'#3#28#2#5
- +'Width'#3#12#3#5'Align'#7#8'alBottom'#10'BevelOuter'#7#9'bvLowered'#12'Clien'
- +'tHeight'#2#30#11'ClientWidth'#3#12#3#8'TabOrder'#2#2#0#6'TLabel'#9'lblStatu'
- +'s'#4'Left'#2'L'#6'Height'#2#28#3'Top'#2#1#5'Width'#3#164#0#5'Align'#7#8'alC'
- +'lient'#9'Alignment'#7#14'taRightJustify'#6'Layout'#7#8'tlCenter'#11'ParentC'
- +'olor'#8#0#0#12'TProgressBar'#10'pbProgress'#4'Left'#3#240#0#6'Height'#2#28#3
- +'Top'#2#1#5'Width'#3#27#2#5'Align'#7#7'alRight'#7'Anchors'#11#5'akTop'#6'akL'
- +'eft'#7'akRight'#8'akBottom'#0#6'Smooth'#9#8'TabOrder'#2#1#0#0#7'TButton'#11
- +'btnStopScan'#4'Left'#2#1#6'Height'#2#28#3'Top'#2#1#5'Width'#2'K'#5'Align'#7
- +#6'alLeft'#7'Caption'#6#9'Stop Scan'#7'Enabled'#8#7'OnClick'#7#16'btnStopSca'
- +'nClick'#8'TabOrder'#2#0#0#0#0#9'TComboBox'#8'cbbFiles'#4'Left'#2#0#6'Height'
- +#2#21#3'Top'#2#0#5'Width'#3#12#3#5'Align'#7#5'alTop'#13'DropDownCount'#2#30#7
- +'Enabled'#8#10'ItemHeight'#2#13#8'OnChange'#7#14'cbbFilesChange'#9'OnCloseUp'
- +#7#21'actReturnFocusExecute'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0
- +#0#6'TPanel'#7'pnlMain'#4'Left'#2#0#6'Height'#3#7#2#3'Top'#2#21#5'Width'#3#12
- +#3#5'Align'#7#8'alClient'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#7#2
- +#11'ClientWidth'#3#12#3#8'TabOrder'#2#1#0#9'TSplitter'#7'splMain'#4'Left'#3
- +#240#0#6'Height'#3#7#2#3'Top'#2#0#5'Width'#2#5#0#0#6'TPanel'#7'pnlList'#4'Le'
- +'ft'#2#0#6'Height'#3#7#2#3'Top'#2#0#5'Width'#3#240#0#5'Align'#7#6'alLeft'#10
- +'BevelOuter'#7#6'bvNone'#12'ClientHeight'#3#7#2#11'ClientWidth'#3#240#0#8'Ta'
- +'bOrder'#2#0#0#9'TListView'#6'lvList'#4'Left'#2#0#6'Height'#3#230#1#3'Top'#2
- +'!'#5'Width'#3#240#0#5'Align'#7#8'alClient'#7'Columns'#14#1#7'Caption'#6#5'#'
- +' / 0'#5'Width'#2'<'#0#1#9'Alignment'#7#8'taCenter'#7'Caption'#6#5'W x H'#5
- +'Width'#2'F'#0#1#9'Alignment'#7#8'taCenter'#7'Caption'#6#3'BPP'#5'Width'#2'#'
- +#0#1#9'Alignment'#7#8'taCenter'#7'Caption'#6#5'CLUTs'#0#0#11'ColumnClick'#8#7
- +'Enabled'#8#9'GridLines'#9#13'HideSelection'#8#9'OwnerData'#9#9'PopupMenu'#7
- ,#6'pmList'#8'ReadOnly'#9#9'RowSelect'#9#8'TabOrder'#2#0#9'ViewStyle'#7#8'vsR'
- +'eport'#0#0#6'TPanel'#13'pnlExtractAll'#4'Left'#2#0#6'Height'#2'!'#3'Top'#2#0
- +#5'Width'#3#240#0#5'Align'#7#5'alTop'#10'BevelOuter'#7#9'bvLowered'#12'Clien'
- +'tHeight'#2'!'#11'ClientWidth'#3#240#0#8'TabOrder'#2#1#0#7'TButton'#17'btnEx'
- +'tractAllTims'#4'Left'#3#139#0#6'Height'#2#31#3'Top'#2#1#5'Width'#2'd'#6'Act'
- +'ion'#7#14'actExtractPNGs'#5'Align'#7#7'alRight'#8'TabOrder'#2#0#0#0#7'TButt'
- +'on'#14'btnExtractPNGs'#4'Left'#2#1#6'Height'#2#31#3'Top'#2#1#5'Width'#2'd'#6
- +'Action'#7#14'actExtractTIMs'#5'Align'#7#6'alLeft'#8'TabOrder'#2#1#0#0#0#0#6
- +'TPanel'#8'pnlImage'#4'Left'#3#245#0#6'Height'#3#7#2#3'Top'#2#0#5'Width'#3#23
- +#2#5'Align'#7#8'alClient'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#3#7
- +#2#11'ClientWidth'#3#23#2#8'TabOrder'#2#1#0#9'TSplitter'#12'splImageClut'#6
- +'Cursor'#7#8'crVSplit'#4'Left'#2#1#6'Height'#2#3#3'Top'#2#1#5'Width'#3#21#2#5
- +'Align'#7#5'alTop'#7'Beveled'#9#12'ResizeAnchor'#7#5'akTop'#0#0#6'TImage'#5
- +'pbTim'#4'Left'#2#1#6'Height'#3'U'#1#3'Top'#2#4#5'Width'#3#21#2#5'Align'#7#8
- +'alClient'#6'Center'#9#9'PopupMenu'#7#7'pmImage'#12'Proportional'#9#0#0#9'TD'
- +'rawGrid'#11'grdCurrClut'#4'Left'#2#1#6'Height'#3#150#0#3'Top'#3'Y'#1#5'Widt'
- +'h'#3#21#2#5'Align'#7#8'alBottom'#8'ColCount'#2#1#15'DefaultColWidth'#2#14#16
- +'DefaultRowHeight'#2#14#7'Enabled'#8#14'ExtendedSelect'#8#9'FixedCols'#2#0#9
- +'FixedRows'#2#0#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10'goV'
- +'ertLine'#10'goHorzLine'#19'goDrawFocusSelected'#0#8'RowCount'#2#1#10'Scroll'
- +'Bars'#7#6'ssNone'#8'TabOrder'#2#0#15'TitleFont.Color'#7#12'clWindowText'#16
- +'TitleFont.Height'#2#245#14'TitleFont.Name'#6#6'Tahoma'#7'Visible'#8#10'OnDb'
- +'lClick'#7#19'grdCurrClutDblClick'#10'OnDrawCell'#7#19'grdCurrClutDrawCell'#0
- +#0#6'TPanel'#15'pnlImageOptions'#4'Left'#2#1#6'Height'#2#23#3'Top'#3#239#1#5
- +'Width'#3#21#2#5'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNon'
- +'e'#12'ClientHeight'#2#23#11'ClientWidth'#3#21#2#8'TabOrder'#2#1#0#7'TButton'
- +#11'btnShowClut'#4'Left'#3#225#1#6'Height'#2#23#3'Top'#2#0#5'Width'#2'4'#5'A'
- +'lign'#7#7'alRight'#7'Caption'#6#4'CLUT'#7'OnClick'#7#16'btnShowClutClick'#8
- +'TabOrder'#2#0#0#0#9'TComboBox'#10'cbbBitMode'#4'Left'#2#0#6'Height'#2#21#3
- +'Top'#2#0#5'Width'#2'J'#5'Align'#7#6'alLeft'#7'Enabled'#8#10'ItemHeight'#2#13
- +#9'ItemIndex'#2#0#13'Items.Strings'#1#6#4'Real'#6#5'4 BPP'#6#5'8 BPP'#6#6'16'
- +' BPP'#6#6'24 BPP'#0#8'OnChange'#7#25'actDrawSelectedTimExecute'#9'OnCloseUp'
- +#7#21'actReturnFocusExecute'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#1#4
- +'Text'#6#4'Real'#0#0#9'TComboBox'#13'cbbTranspMode'#4'Left'#2'J'#6'Height'#2
- +#21#3'Top'#2#0#5'Width'#2'z'#5'Align'#7#6'alLeft'#7'Enabled'#8#10'ItemHeight'
- +#2#13#9'ItemIndex'#2#0#13'Items.Strings'#1#6#17'Full transparence'#6#18'Blac'
- +'k Transparence'#6#17'Semi Transparence'#6#15'No Transparence'#0#8'OnChange'
- +#7#19'cbbTranspModeChange'#9'OnCloseUp'#7#21'actReturnFocusExecute'#5'Style'
- +#7#14'csDropDownList'#8'TabOrder'#2#2#4'Text'#6#17'Full transparence'#0#0#9
- +'TComboBox'#7'cbbCLUT'#4'Left'#3't'#1#6'Height'#2#21#3'Top'#2#0#5'Width'#2'm'
- +#5'Align'#7#7'alRight'#13'DropDownCount'#2#16#10'ItemHeight'#2#13#8'OnChange'
- +#7#13'cbbCLUTChange'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#3#0#0#0#0#0
- +#11'TOpenDialog'#11'dlgOpenFile'#5'Title'#6#22'Please, select File...'#10'De'
- +'faultExt'#6#4'.bin'#6'Filter'#6#19'All Files (*.*)|*.*'#7'Options'#11#14'of'
- +'HideReadOnly'#13'ofNoChangeDir'#18'ofAllowMultiSelect'#15'ofFileMustExist'
- +#17'ofNoNetworkButton'#14'ofEnableSizing'#17'ofForceShowHidden'#0#4'left'#3
- +#156#2#3'top'#3#246#1#0#0#9'TMainMenu'#6'mmMain'#4'left'#3'`'#2#3'top'#3#248
- +#1#0#9'TMenuItem'#6'mnFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#10'mnScanFi'
- +'le'#6'Action'#7#11'actScanFile'#0#0#9'TMenuItem'#9'mnScanDir'#6'Action'#7#10
- +'actScanDir'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#11'mn'
- +'CloseFile'#6'Action'#7#12'actCloseFile'#0#0#9'TMenuItem'#15'mnCloseAllFiles'
- +#6'Action'#7#13'actCloseFiles'#0#0#9'TMenuItem'#6'mnExit'#6'Action'#7#7'actE'
- +'xit'#0#0#0#9'TMenuItem'#5'mnTIM'#7'Caption'#6#4'&TIM'#0#9'TMenuItem'#9'mnSa'
- +'veTIM'#6'Action'#7#13'actExtractTim'#0#0#9'TMenuItem'#11'mnReplaceIn'#6'Act'
- +'ion'#7#13'actReplaceTim'#0#0#9'TMenuItem'#11'mnSaveToPNG'#6'Action'#7#10'ac'
- +'tTim2Png'#0#0#9'TMenuItem'#2'N4'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'mnTi'
- +'mInfoMain'#6'Action'#7#10'actTimInfo'#0#0#0#9'TMenuItem'#9'mnOptions'#7'Cap'
- +'tion'#6#8'&Options'#0#9'TMenuItem'#11'mnAssociate'#6'Action'#7#12'actAssocT'
- +'ims'#0#0#0#9'TMenuItem'#6'mnHelp'#7'Caption'#6#5'&Help'#0#9'TMenuItem'#5'mn'
- +'SVN'#6'Action'#7#11'actOpenRepo'#0#0#9'TMenuItem'#6'mnSite'#6'Action'#7#10
- +'actOpenLab'#0#0#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#7'mnA'
- +'bout'#6'Action'#7#8'actAbout'#0#0#0#0#18'TSavePictureDialog'#10'dlgSavePNG'
- +#5'Title'#6'"Please, select filename for PNG...'#10'DefaultExt'#6#4'.png'#6
- +'Filter'#6'''Portable Network Graphics (*.png)|*.png'#7'Options'#11#14'ofHid'
- ,'eReadOnly'#13'ofNoChangeDir'#17'ofNoNetworkButton'#14'ofEnableSizing'#0#4'l'
- +'eft'#3#192#2#3'top'#3#248#1#0#0#11'TSaveDialog'#10'dlgSaveTIM'#5'Title'#6'('
- +'Please, select where to save TIM file...'#10'DefaultExt'#6#4'.tim'#6'Filter'
- +#6'/PSX TIM Files (*.tim)|*.tim|All Files (*.*)|*.*'#7'Options'#11#17'ofOver'
- +'writePrompt'#14'ofHideReadOnly'#13'ofNoChangeDir'#17'ofNoNetworkButton'#14
- +'ofEnableSizing'#0#4'left'#3'@'#2#3'top'#3#248#1#0#0#12'TColorDialog'#8'dlgC'
- +'olor'#5'Color'#7#7'clBlack'#20'CustomColors.Strings'#1#6#13'ColorA=000000'#6
- +#13'ColorB=000080'#6#13'ColorC=008000'#6#13'ColorD=008080'#6#13'ColorE=80000'
- +'0'#6#13'ColorF=800080'#6#13'ColorG=808000'#6#13'ColorH=808080'#6#13'ColorI='
- +'C0C0C0'#6#13'ColorJ=0000FF'#6#13'ColorK=00FF00'#6#13'ColorL=00FFFF'#6#13'Co'
- +'lorM=FF0000'#6#13'ColorN=FF00FF'#6#13'ColorO=FFFF00'#6#13'ColorP=FFFFFF'#6
- +#13'ColorQ=C0DCC0'#6#13'ColorR=F0CAA6'#6#13'ColorS=F0FBFF'#6#13'ColorT=A4A0A'
- +'0'#0#4'left'#3' '#2#3'top'#3#246#1#0#0#11'TActionList'#7'actList'#4'left'#3
- +#0#2#3'top'#3#246#1#0#7'TAction'#11'actScanFile'#7'Caption'#6#13'Scan &File.'
- +'..'#9'OnExecute'#7#18'actScanFileExecute'#8'ShortCut'#2't'#0#0#7'TAction'#10
- +'actScanDir'#7'Caption'#6#18'Scan &Directory...'#9'OnExecute'#7#17'actScanDi'
- +'rExecute'#8'ShortCut'#2'u'#0#0#7'TAction'#12'actCloseFile'#7'Caption'#6#16
- +'Close &this File'#9'OnExecute'#7#19'actCloseFileExecute'#8'ShortCut'#2'w'#0
- +#0#7'TAction'#13'actCloseFiles'#7'Caption'#6#16'Close &all Files'#9'OnExecut'
- +'e'#7#20'actCloseFilesExecute'#8'ShortCut'#2'x'#0#0#7'TAction'#7'actExit'#7
- +'Caption'#6#8'&Exit...'#9'OnExecute'#7#14'actExitExecute'#8'ShortCut'#2'y'#0
- +#0#7'TAction'#13'actExtractTim'#7'Caption'#6#15'&Extract TIM...'#9'OnExecute'
- +#7#20'actExtractTimExecute'#8'ShortCut'#2'q'#0#0#7'TAction'#13'actReplaceTim'
- +#7'Caption'#6#15'&Replace TIM...'#9'OnExecute'#7#20'actReplaceTimExecute'#8
- +'ShortCut'#2'r'#0#0#7'TAction'#10'actTim2Png'#7'Caption'#6#15'Save as &PNG..'
- +'.'#9'OnExecute'#7#17'actTim2PngExecute'#8'ShortCut'#2's'#0#0#7'TAction'#11
- +'actOpenRepo'#7'Caption'#6#17'Tim2Vew &SVN Repo'#9'OnExecute'#7#18'actOpenRe'
- +'poExecute'#0#0#7'TAction'#10'actOpenLab'#7'Caption'#6#15'[&Lab313] Forum'#9
- +'OnExecute'#7#17'actOpenLabExecute'#0#0#7'TAction'#8'actAbout'#7'Caption'#6#9
- +'&About...'#9'OnExecute'#7#15'actAboutExecute'#0#0#7'TAction'#10'actStretch'
- +#9'AutoCheck'#9#7'Caption'#6#14'&Stretch Image'#9'OnExecute'#7#17'actStretch'
- +'Execute'#0#0#7'TAction'#10'actTimInfo'#7'Caption'#6#9'&TIM Info'#7'Enabled'
- +#8#9'OnExecute'#7#17'actTimInfoExecute'#0#0#7'TAction'#12'actAssocTims'#7'Ca'
- +'ption'#6#19'&Open TIMs with T2V'#9'OnExecute'#7#19'actAssocTimsExecute'#0#0
- +#7'TAction'#14'actExtractTIMs'#7'Caption'#6#17'Extract all &TIMs'#7'Enabled'
- +#8#9'OnExecute'#7#21'actExtractTIMsExecute'#8'ShortCut'#3'q '#0#0#7'TAction'
- +#14'actExtractPNGs'#7'Caption'#6#19'&Extract all PNGs'#13#10#7'Enabled'#8#9
- +'OnExecute'#7#21'actExtractPNGsExecute'#8'ShortCut'#3's '#0#0#7'TAction'#16
- +'actChangeClutIdx'#0#0#7'TAction'#14'actReturnFocus'#9'OnExecute'#7#21'actRe'
- +'turnFocusExecute'#0#0#7'TAction'#18'actDrawSelectedTim'#9'OnExecute'#7#25'a'
- +'ctDrawSelectedTimExecute'#0#0#0#10'TPopupMenu'#6'pmList'#4'left'#3#128#2#3
- +'top'#3#246#1#0#9'TMenuItem'#11'ExtractTIM1'#6'Action'#7#13'actExtractTim'#0
- +#0#9'TMenuItem'#11'ReplaceTIM1'#6'Action'#7#13'actReplaceTim'#0#0#9'TMenuIte'
- +'m'#10'SaveasPNG1'#6'Action'#7#10'actTim2Png'#0#0#9'TMenuItem'#2'N2'#7'Capti'
- +'on'#6#1'-'#0#0#9'TMenuItem'#9'mnTIMInfo'#6'Action'#7#10'actTimInfo'#0#0#0#10
- +'TPopupMenu'#7'pmImage'#4'left'#3#224#1#3'top'#3#246#1#0#9'TMenuItem'#11'mnS'
- +'aveAsPng'#6'Action'#7#10'actTim2Png'#0#0#9'TMenuItem'#2'N5'#7'Caption'#6#1
- +'-'#0#0#9'TMenuItem'#9'mnStretch'#6'Action'#7#10'actStretch'#9'AutoCheck'#9#0
- +#0#0#0
-]);
diff --git a/umain.pas b/umain.pas
index fe2b59b..5fce833 100644
--- a/umain.pas
+++ b/umain.pas
@@ -25,6 +25,8 @@ type
actExtractTim: TAction;
actExtractTIMs: TAction;
actChangeFile: TAction;
+ actChangeBackColor: TAction;
+ actStopScan: TAction;
actOpenLab: TAction;
actOpenRepo: TAction;
actReplaceTim: TAction;
@@ -52,6 +54,17 @@ type
imgTim: TImage;
lblStatus: TLabel;
lvList: TListView;
+ mnChangeBackColor2: TMenuItem;
+ N8: TMenuItem;
+ mnChangeBackColor: TMenuItem;
+ mnSaveAsTim: TMenuItem;
+ mnExtractAllPngs2: TMenuItem;
+ mnExtractAllTims2: TMenuItem;
+ N7: TMenuItem;
+ mnStretchImage: TMenuItem;
+ mnExtractAllPngs: TMenuItem;
+ mnExtractAllTims: TMenuItem;
+ N6: TMenuItem;
mnSaveAsPng: TMenuItem;
mnAbout: TMenuItem;
mnAssociate: TMenuItem;
@@ -94,6 +107,7 @@ type
splMain: TSplitter;
procedure actAboutExecute(Sender: TObject);
procedure actAssocTimsExecute(Sender: TObject);
+ procedure actChangeBackColorExecute(Sender: TObject);
procedure actChangeClutIdxExecute(Sender: TObject);
procedure actChangeFileExecute(Sender: TObject);
procedure actCloseFileExecute(Sender: TObject);
@@ -108,6 +122,7 @@ type
procedure actReturnFocusExecute(Sender: TObject);
procedure actScanDirExecute(Sender: TObject);
procedure actScanFileExecute(Sender: TObject);
+ procedure actStopScanExecute(Sender: TObject);
procedure actStretchExecute(Sender: TObject);
procedure actTim2PngExecute(Sender: TObject);
procedure actTimInfoExecute(Sender: TObject);
@@ -116,7 +131,7 @@ type
procedure cbbTranspModeChange(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
- procedure FormDropFiles(Sender: TObject; const FileNames: array of String);
+ procedure FormDropFiles(Sender: TObject; const FileNames: array of string);
procedure grdCurrClutDblClick(Sender: TObject);
procedure grdCurrClutDrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
@@ -192,6 +207,24 @@ begin
ScanPath(dlgOpenFile.Files.Strings[I - 1]);
end;
+procedure TfrmMain.actStopScanExecute(Sender: TObject);
+var
+ I: Integer;
+begin
+ if ScanThreads.Count = 0 then Exit;
+
+ for I := 1 to ScanThreads.Count do
+ ScanThreads[I - 1].StopScan := True;
+
+ ScanThreads.Clear;
+ StartedScans := 0;
+ actStopScan.Tag := NativeInt(True);
+
+ ScanFinished(nil);
+
+ actReturnFocus.Execute;
+end;
+
procedure TfrmMain.actStretchExecute(Sender: TObject);
begin
Settings.StretchMode := actStretch.Checked;
@@ -204,7 +237,7 @@ begin
if not dlgSavePNG.Execute then Exit;
- Surf^.SaveToFileUTF8(dlgSavePNG.FileName);
+ Surf^.SaveToFile(UTF8ToSys(dlgSavePNG.FileName));
end;
procedure TfrmMain.actTimInfoExecute(Sender: TObject);
@@ -327,6 +360,14 @@ begin
{$ENDIF}
end;
+procedure TfrmMain.actChangeBackColorExecute(Sender: TObject);
+begin
+ if not dlgColor.Execute then Exit;
+
+ pnlImage.Color := dlgColor.Color;
+ Settings.BackColor := dlgColor.Color;
+end;
+
procedure TfrmMain.actChangeClutIdxExecute(Sender: TObject);
begin
DrawSelTim;
@@ -396,7 +437,7 @@ begin
SIZE := ScanTim.Size;
BIT_MODE := ScanTim.BitMode;
- Path := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStrUTF8(0)) + cExtractedPngsDir);
+ Path := SysToUTF8(IncludeTrailingPathDelimiter(ExtractFilePath(ParamStrUTF8(0)) + cExtractedPngsDir));
CreateDirUTF8(Path);
Path := IncludeTrailingPathDelimiter(Path + ExtractFileName(FName));
CreateDirUTF8(Path);
@@ -404,7 +445,7 @@ begin
TIM := LoadTimFromFile(FName, OFFSET, IsImage, SIZE);
TimToPNG(TIM, cbbCLUT.ItemIndex, Surf_, cbbTranspMode.ItemIndex);
- Surf_^.SaveToFileUTF8(Path + FormatPngName(FName, I - 1, BIT_MODE, 0));
+ Surf_^.SaveToFile(UTF8ToSys(Path + FormatPngName(FName, I - 1, BIT_MODE, 0)));
Surf_^.Free;
Surf_^ := nil;
@@ -453,7 +494,7 @@ begin
SIZE := ScanTim.Size;
BIT_MODE := ScanTim.BitMode;
- Path := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStrUTF8(0)) + cExtractedTimsDir);
+ Path := SysToUTF8(IncludeTrailingPathDelimiter(ExtractFilePath(ParamStrUTF8(0)) + cExtractedTimsDir));
CreateDirUTF8(Path);
Path := IncludeTrailingPathDelimiter(Path + ExtractFileName(FName));
CreateDirUTF8(Path);
@@ -491,7 +532,7 @@ end;
procedure TfrmMain.actReturnFocusExecute(Sender: TObject);
begin
- if lvList.Enabled then lvList.SetFocus;
+ if pnlList.Enabled then lvList.SetFocus;
end;
procedure TfrmMain.actScanDirExecute(Sender: TObject);
@@ -504,7 +545,7 @@ begin
if not dlgSelectDir.Execute then Exit;
SelectedDir := dlgSelectDir.FileName;
- if DirectoryExists(SelectedDir) then
+ if DirectoryExistsUTF8(SelectedDir) then
begin
ScanPath(SelectedDir);
LastDir := SelectedDir;
@@ -535,6 +576,7 @@ begin
actStretch.Checked := Settings.StretchMode;
cbbTranspMode.ItemIndex := Settings.TranspMode;
LastDir := Settings.LastDir;
+ pnlImage.Color := Settings.BackColor;
hGridRect.Top := -1;
hGridRect.Left := -1;
@@ -558,7 +600,7 @@ begin
end;
procedure TfrmMain.FormDropFiles(Sender: TObject;
- const FileNames: array of String);
+ const FileNames: array of string);
var
i: Integer;
begin
@@ -721,8 +763,8 @@ procedure TfrmMain.ScanPath(const Path: string);
begin
if Path = '' then Exit;
- btnStopScan.Enabled := True;
- btnStopScan.Tag := NativeInt(False);
+ actStopScan.Enabled := True;
+ actStopScan.Tag := NativeInt(False);
if FileExistsUTF8(Path) then
ScanFile(Path)
@@ -732,17 +774,20 @@ end;
procedure TfrmMain.ScanFile(const FileName: string);
begin
+ LastDir := ExtractFilePath(FileName);
+ Settings.LastDir := LastDir;
+
if CheckForFileOpened(FileName) then
begin
cbbFiles.ItemIndex := cbbFiles.Items.IndexOf(FileName);
actChangeFile.Execute;
- btnStopScan.Enabled := False;
- btnStopScan.Tag := NativeInt(True);
+ actStopScan.Enabled := False;
+ actStopScan.Tag := NativeInt(True);
CheckButtonsAndMainMenu;
Exit;
end;
- if not Boolean(btnStopScan.Tag) then
+ if not Boolean(actStopScan.Tag) then
begin
ScanThreads.Add(TScanThread.Create(FileName, GetImageScan(FileName)));
ScanThreads.Last.FreeOnTerminate := True;
@@ -784,9 +829,7 @@ procedure TfrmMain.CheckButtonsAndMainMenu;
begin
cbbFiles.Enabled := (cbbFiles.Items.Count <> 0);
- lvList.Enabled := cbbFiles.Enabled;
- actExtractTIMs.Enabled := cbbFiles.Enabled;
- actExtractPNGs.Enabled := cbbFiles.Enabled;
+ pnlList.Enabled := cbbFiles.Enabled;
actCloseFile.Enabled := cbbFiles.Enabled;
actCloseFiles.Enabled := cbbFiles.Enabled;
actReplaceTim.Enabled := (lvList.Selected <> nil) and (lvList.Selected.Index <> -1);
@@ -794,10 +837,7 @@ begin
actTim2Png.Enabled := (Surf^ <> nil) and actReplaceTim.Enabled;
actExtractTim.Enabled := actReplaceTim.Enabled;
- cbbCLUT.Enabled := actReplaceTim.Enabled;
- btnShowClut.Enabled := actReplaceTim.Enabled;
- cbbTranspMode.Enabled := actReplaceTim.Enabled;
- cbbBitMode.Enabled := actReplaceTim.Enabled;
+ pnlImageOptions.Enabled := actReplaceTim.Enabled;
end;
procedure TfrmMain.ScanFinished(Sender: TObject);
@@ -830,8 +870,8 @@ begin
actChangeFile.Execute;
end;
- btnStopScan.Enabled := False;
- btnStopScan.Tag := NativeInt(True);
+ actStopScan.Enabled := False;
+ actStopScan.Tag := NativeInt(True);
end;
procedure TfrmMain.SetTimsListCount(Count: Integer);
@@ -971,7 +1011,6 @@ begin
DrawSelTim;
DrawSelClut;
- actTimInfo.Caption := Format('[OFFSET: 0x%x | SIZE: 0x%x]', [SelectedTimInfo.Position, SelectedTimInfo.Size]);
actTimInfo.Enabled := True;
CheckButtonsAndMainMenu;
diff --git a/uscanthread.pas b/uscanthread.pas
index 014f06b..da98c9c 100644
--- a/uscanthread.pas
+++ b/uscanthread.pas
@@ -3,7 +3,7 @@ unit uscanthread;
interface
uses
- ucommon, utim, uscanresult, classes, fgl, lazutf8classes;
+ ucommon, utim, uscanresult, classes, fgl;
type
TScanThread = class(TThread)
@@ -16,7 +16,7 @@ type
pClearBufferPosition: Integer;
pClearBufferSize: Integer;
pSectorBufferSize: Integer;
- pSrcFileStream: TFileStreamUTF8;
+ pSrcFileStream: TFileStream;
pStopScan: boolean;
procedure SetStatusText;
procedure StartScan;
@@ -100,7 +100,7 @@ begin
SectorBuffer := GetMemory(pSectorBufferSize);
ClearBuffer := GetMemory(pClearBufferSize);
- pSrcFileStream := TFileStreamUTF8.Create(pScanResult.ScanFile, fmOpenRead or fmShareDenyWrite);
+ pSrcFileStream := TFileStream.Create(UTF8ToSys(pScanResult.ScanFile), fmOpenRead or fmShareDenyWrite);
pSrcFileStream.Position := 0;
@@ -203,9 +203,7 @@ end;
procedure TScanThread.StartScan;
begin
frmMain.cbbFiles.Enabled := False;
- frmMain.lvList.Enabled := False;
- frmMain.actExtractTIMs.Enabled := False;
- frmMain.actExtractPNGs.Enabled := False;
+ frmMain.pnlList.Enabled := False;
frmMain.pbProgress.Max := FileSize(pScanResult.ScanFile);
frmMain.pbProgress.Position := 0;
diff --git a/usettings.pas b/usettings.pas
index 7b656bb..d3784f6 100644
--- a/usettings.pas
+++ b/usettings.pas
@@ -5,7 +5,7 @@ unit usettings;
interface
uses
- Classes, SysUtils, IniFiles;
+ Classes, SysUtils, IniFiles, Graphics;
type
@@ -20,16 +20,21 @@ type
function FStretchModeRead(): Boolean;
procedure FLastDirWrite(const Value: string);
function FLastDirRead(): string;
+ procedure FBackColorWrite(Color: TColor);
+ function FBackColorRead(): TColor;
public
constructor Create(const DirPath: string);
destructor Destroy; override;
property TranspMode: Integer read FTranspModeRead write FTranspModeWrite;
property StretchMode: Boolean read FStretchModeRead write FStretchModeWrite;
property LastDir: string read FLastDirRead write FLastDirWrite;
+ property BackColor: TColor read FBackColorRead write FBackColorWrite;
end;
implementation
+uses FileUtil;
+
const sMain = 'main';
{ TSettings }
@@ -56,12 +61,22 @@ end;
procedure TSettings.FLastDirWrite(const Value: string);
begin
- FIniFile.WriteString(sMain, 'LastDir', Value);
+ FIniFile.WriteString(sMain, 'LastDir', UTF8ToSys(Value));
end;
function TSettings.FLastDirRead: string;
begin
- Result := FIniFile.ReadString(sMain, 'LastDir', '');
+ Result := SysToUtf8(FIniFile.ReadString(sMain, 'LastDir', ''));
+end;
+
+procedure TSettings.FBackColorWrite(Color: TColor);
+begin
+ FIniFile.WriteInteger(sMain, 'BackColor', Color);
+end;
+
+function TSettings.FBackColorRead: TColor;
+begin
+ Result := FIniFile.ReadInteger(sMain, 'BackColor', clBtnFace);
end;
constructor TSettings.Create(const DirPath: string);
diff --git a/utim.pas b/utim.pas
index 01d1c27..7a13465 100644
--- a/utim.pas
+++ b/utim.pas
@@ -145,7 +145,7 @@ function ConvertCLUTColor(COLOR: TCLUT_COLOR): word;
implementation
uses
- ucdimage, classes, sysutils, lazutf8classes;
+ ucdimage, classes, sysutils, FileUtil;
function ConvertTIMColor(COLOR: word): TCLUT_COLOR;
begin
@@ -366,12 +366,12 @@ var
TimOffsetInSector, FirstPartSize, LastPartSize: Integer;
TimSectorNumber, TimStartSectorPos: Integer;
TIM_BUF: PTIMDataArray;
- sImageStream: TFileStreamUTF8;
+ sImageStream: TFileStream;
Sector: TCDSector;
P, TIM_FULL_SECTORS: Integer;
begin
try
- sImageStream := TFileStreamUTF8.Create(FileName, fmOpenRead or fmShareDenyWrite);
+ sImageStream := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
TimSectorNumber := Position div cSectorSize + 1;
TimOffsetInSector := Position mod cSectorSize - cSectorInfoSize;
@@ -451,12 +451,12 @@ end;
function LoadTimFromFile(const FileName: string; var Position: Integer;
ImageScan: Boolean; dwSize: Integer): PTIM;
var
- sTIM: TFileStreamUTF8;
+ sTIM: TFileStream;
begin
if not ImageScan then
begin
try
- sTIM := TFileStreamUTF8.Create(FileName, fmOpenRead or fmShareDenyWrite);
+ sTIM := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
Result := LoadTimFromStream(sTIM, Position, dwSize);
finally
sTIM.Free;
@@ -469,11 +469,11 @@ end;
procedure SaveTimToFile(const FileName: string; TIM: PTIM);
var
- tmp: TFileStreamUTF8;
+ tmp: TFileStream;
begin
if TIM = nil then Exit;
- tmp := TFileStreamUTF8.Create(FileName, fmOpenWrite or fmCreate, fmShareDenyRead);
+ tmp := TFileStream.Create(UTF8ToSys(FileName), fmOpenWrite or fmCreate, fmShareDenyRead);
tmp.Write(TIM^.DATA^[0], TIM^.dwSize);
tmp.Free;
end;