From 239633cb519a4c1c76fad0612bb86092254c7e4e Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 22 May 2014 21:54:24 +0000 Subject: [PATCH] fpspreadsheet: Rename number format codes "nfCurrencyDash"/"nfCurrencyDashRed" to "nfAccounting"/"nfAccountingRed" and implement alignment of currency symbols as in Excel. Fix number format parser bug causing a failure in the corresponding test case. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3080 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../examples/excel8demo/excel8write.lpr | 17 +- .../examples/fpsgrid/fpsgrid.lpi | 262 +- .../examples/fpsgrid/mainform.lfm | 1 + .../examples/fpsgrid/mainform.lrs | 2954 ++++++++--------- .../fpspreadsheet/fpsnumformatparser.pas | 91 +- components/fpspreadsheet/fpspreadsheet.pas | 15 +- .../fpspreadsheet/fpspreadsheetgrid.pas | 292 +- components/fpspreadsheet/fpsutils.pas | 528 +-- .../tests/numformatparsertests.pas | 4 +- components/fpspreadsheet/xlsbiff2.pas | 100 +- components/fpspreadsheet/xlscommon.pas | 8 +- 11 files changed, 2189 insertions(+), 2083 deletions(-) diff --git a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr index db55817c0..a02252bc4 100644 --- a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr +++ b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr @@ -213,6 +213,7 @@ begin // Write formatted numbers s := '31415.9265359'; val(s, number, i); + inc(r, 2); MyWorksheet.WriteUTF8Text(r, 0, 'The number '+s+' is displayed in various formats:'); inc(r,2); @@ -310,15 +311,15 @@ begin MyWorksheet.WriteNumber(r, 2, -number, nfCurrencyRed, 0, 'USD'); MyWorksheet.WriteNumber(r, 3, 0.0, nfCurrencyRed, 0, 'USD'); inc(r); - MyWorksheet.WriteUTF8Text(r, 0, 'nfCurrencyDash, 0 decs'); - MyWorksheet.WriteNumber(r, 1, number, nfCurrencyDash, 0, 'USD'); - MyWorksheet.WriteNumber(r, 2, -number, nfCurrencyDash, 0, 'USD'); - MyWorksheet.WriteNumber(r, 3, 0.0, nfCurrencyDash, 0, 'USD'); + MyWorksheet.WriteUTF8Text(r, 0, 'nfAccounting, 0 decs'); + MyWorksheet.WriteNumber(r, 1, number, nfAccounting, 0, 'USD'); + MyWorksheet.WriteNumber(r, 2, -number, nfAccounting, 0, 'USD'); + MyWorksheet.WriteNumber(r, 3, 0.0, nfAccounting, 0, 'USD'); inc(r); - MyWorksheet.WriteUTF8Text(r, 0, 'nfCurrencyDashRed, 0 decs'); - MyWorksheet.WriteNumber(r, 1, number, nfCurrencyDashRed, 0, 'USD'); - MyWorksheet.WriteNumber(r, 2, -number, nfCurrencyDashRed, 0, 'USD'); - MyWorksheet.WriteNumber(r, 3, 0.0, nfCurrencyDashRed, 0, 'USD'); + MyWorksheet.WriteUTF8Text(r, 0, 'nfAccountingRed, 0 decs'); + MyWorksheet.WriteNumber(r, 1, -number, nfAccountingRed, 0, 'USD'); + MyWorksheet.WriteNumber(r, 2, number, nfAccountingRed, 0, 'USD'); + MyWorksheet.WriteNumber(r, 3, 0.0, nfAccountingRed, 0, 'USD'); inc(r,2); MyWorksheet.WriteUTF8Text(r, 0, 'nfCustom, "EUR "#,##0_);("EUR "#,##0)'); diff --git a/components/fpspreadsheet/examples/fpsgrid/fpsgrid.lpi b/components/fpspreadsheet/examples/fpsgrid/fpsgrid.lpi index cd91bb6de..133d2b8ff 100644 --- a/components/fpspreadsheet/examples/fpsgrid/fpsgrid.lpi +++ b/components/fpspreadsheet/examples/fpsgrid/fpsgrid.lpi @@ -128,8 +128,8 @@ - - + + @@ -139,18 +139,19 @@ - - + + + - - + + @@ -160,7 +161,7 @@ - + @@ -168,7 +169,7 @@ - + @@ -176,7 +177,7 @@ - + @@ -184,14 +185,14 @@ - + - + @@ -199,7 +200,7 @@ - + @@ -207,7 +208,7 @@ - + @@ -215,7 +216,7 @@ - + @@ -223,16 +224,16 @@ - + - - - + + + @@ -240,22 +241,26 @@ - + + - - - + + + + + - - - + + + + @@ -264,7 +269,7 @@ - + @@ -273,24 +278,23 @@ - + - + - - - + + @@ -302,7 +306,7 @@ - + @@ -310,7 +314,7 @@ - + @@ -318,7 +322,7 @@ - + @@ -326,14 +330,14 @@ - + - + @@ -341,14 +345,14 @@ - + - + @@ -356,14 +360,14 @@ - + - + @@ -371,7 +375,7 @@ - + @@ -379,7 +383,7 @@ - + @@ -387,7 +391,7 @@ - + @@ -395,7 +399,7 @@ - + @@ -403,7 +407,7 @@ - + @@ -411,7 +415,7 @@ - + @@ -419,14 +423,14 @@ - + - + @@ -434,7 +438,7 @@ - + @@ -442,7 +446,7 @@ - + @@ -450,7 +454,7 @@ - + @@ -458,7 +462,7 @@ - + @@ -466,14 +470,14 @@ - + - + @@ -481,7 +485,7 @@ - + @@ -489,227 +493,227 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + diff --git a/components/fpspreadsheet/examples/fpsgrid/mainform.lfm b/components/fpspreadsheet/examples/fpsgrid/mainform.lfm index 9bdaaf1de..a9c176b62 100644 --- a/components/fpspreadsheet/examples/fpsgrid/mainform.lfm +++ b/components/fpspreadsheet/examples/fpsgrid/mainform.lfm @@ -102,6 +102,7 @@ object Form1: TForm1 Align = alClient ColCount = 2 ExtendedSelect = False + MouseWheelOption = mwGrid Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSizing, goColSizing, goThumbTracking, goSmoothScroll, goFixedColSizing] RowCount = 2 TabOrder = 0 diff --git a/components/fpspreadsheet/examples/fpsgrid/mainform.lrs b/components/fpspreadsheet/examples/fpsgrid/mainform.lrs index 417edc280..b40d73c01 100644 --- a/components/fpspreadsheet/examples/fpsgrid/mainform.lrs +++ b/components/fpspreadsheet/examples/fpsgrid/mainform.lrs @@ -27,382 +27,291 @@ LazarusResources.Add('TForm1','FORMDATA',[ +'heet'#9'TabSheet1'#7'Caption'#6#6'Sheet1'#12'ClientHeight'#3#216#1#11'Clien' +'tWidth'#3'l'#3#0#15'TsWorksheetGrid'#15'sWorksheetGrid1'#4'Left'#2#0#6'Heig' +'ht'#3#216#1#3'Top'#2#0#5'Width'#3'l'#3#10'FrozenCols'#2#0#10'FrozenRows'#2#0 - +#5'Align'#7#8'alClient'#8'ColCount'#2#2#14'ExtendedSelect'#8#7'Options'#11#15 - +'goFixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRan' - +'geSelect'#11'goRowSizing'#11'goColSizing'#15'goThumbTracking'#14'goSmoothSc' - +'roll'#16'goFixedColSizing'#0#8'RowCount'#2#2#8'TabOrder'#2#0#10'TitleStyle' - +#7#8'tsNative'#11'OnSelection'#7#24'sWorksheetGrid1Selection'#9'ColWidths'#1 - +#2'*'#2'@'#0#0#0#0#0#8'TToolBar'#8'ToolBar1'#4'Left'#2#0#6'Height'#2#26#3'To' - +'p'#2#0#5'Width'#3't'#3#12'ButtonHeight'#2#24#7'Caption'#6#8'ToolBar1'#11'Ed' - +'geBorders'#11#0#6'Images'#7#10'ImageList1'#8'TabOrder'#2#2#0#11'TToolButton' - +#11'ToolButton1'#4'Left'#2#1#3'Top'#2#0#6'Action'#7#6'AcOpen'#0#0#11'TToolBu' - +'tton'#11'ToolButton2'#4'Left'#2#24#3'Top'#2#0#6'Action'#7#8'AcSaveAs'#0#0#11 - +'TToolButton'#11'ToolButton3'#4'Left'#2'P'#3'Top'#2#0#6'Action'#7#6'AcQuit'#0 - +#0#11'TToolButton'#11'ToolButton5'#4'Left'#2'/'#3'Top'#2#0#5'Width'#2#5#7'Ca' - +'ption'#6#11'ToolButton5'#5'Style'#7#10'tbsDivider'#0#0#11'TToolButton'#11'T' - +'oolButton4'#4'Left'#2'4'#3'Top'#2#0#6'Action'#7#6'AcEdit'#0#0#11'TToolButto' - +'n'#11'ToolButton6'#4'Left'#2'K'#3'Top'#2#0#5'Width'#2#5#7'Caption'#6#11'Too' - +'lButton6'#5'Style'#7#10'tbsDivider'#0#0#0#8'TToolBar'#13'FormatToolBar'#4'L' - +'eft'#2#0#6'Height'#2#27#3'Top'#2#26#5'Width'#3't'#3#12'ButtonHeight'#2#23#7 - +'Caption'#6#13'FormatToolBar'#6'Images'#7#10'ImageList1'#8'TabOrder'#2#3#0#11 - +'TToolButton'#12'ToolButton10'#4'Left'#3'D'#1#3'Top'#2#2#6'Action'#7#11'AcLe' - +'ftAlign'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolButton12'#4'Left'#3'['#1#3'To' - +'p'#2#2#6'Action'#7#16'AcHorCenterAlign'#0#0#11'TToolButton'#12'ToolButton13' - +#4'Left'#3'r'#1#3'Top'#2#2#6'Action'#7#12'AcRightAlign'#0#0#9'TComboBox'#12 - +'FontComboBox'#4'Left'#2'4'#6'Height'#2#23#3'Top'#2#2#5'Width'#2#127#10'Item' - +'Height'#2#15#8'OnSelect'#7#18'FontComboBoxSelect'#8'TabOrder'#2#0#0#0#9'TCo' - +'mboBox'#16'FontSizeComboBox'#4'Left'#3#179#0#6'Height'#2#23#3'Top'#2#2#5'Wi' - +'dth'#2'0'#10'ItemHeight'#2#15#13'Items.Strings'#1#6#1'8'#6#1'9'#6#2'10'#6#2 - +'11'#6#2'12'#6#2'14'#6#2'16'#6#2'18'#6#2'20'#6#2'24'#0#8'OnSelect'#7#22'Font' - +'SizeComboBoxSelect'#8'TabOrder'#2#1#0#0#11'TToolButton'#11'ToolButton7'#4'L' - +'eft'#3#227#0#3'Top'#2#2#6'Action'#7#10'AcFontBold'#0#0#11'TToolButton'#11'T' - +'oolButton8'#4'Left'#3#250#0#3'Top'#2#2#6'Action'#7#12'AcFontItalic'#0#0#11 - +'TToolButton'#11'ToolButton9'#4'Left'#3#17#1#3'Top'#2#2#6'Action'#7#15'AcFon' - +'tUnderline'#0#0#11'TToolButton'#12'ToolButton11'#4'Left'#3'('#1#3'Top'#2#2#6 - +'Action'#7#15'AcFontStrikeout'#0#0#11'TToolButton'#12'ToolButton14'#4'Left'#3 - +'?'#1#3'Top'#2#2#5'Width'#2#5#7'Caption'#6#12'ToolButton14'#5'Style'#7#10'tb' - +'sDivider'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolButton15'#4'Left'#3#137#1#3 - +'Top'#2#2#5'Width'#2#5#7'Caption'#6#12'ToolButton15'#5'Style'#7#10'tbsDivide' - +'r'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolButton16'#4'Left'#3#142#1#3'Top'#2#2 - +#6'Action'#7#11'AcVAlignTop'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolButton17'#4 - ,'Left'#3#165#1#3'Top'#2#2#6'Action'#7#14'AcVAlignCenter'#0#0#11'TToolButton' - +#12'ToolButton18'#4'Left'#3#188#1#3'Top'#2#2#6'Action'#7#14'AcVAlignBottom'#0 - +#0#11'TToolButton'#12'ToolButton19'#4'Left'#3#211#1#3'Top'#2#2#5'Width'#2#5#7 - +'Caption'#6#12'ToolButton19'#5'Style'#7#10'tbsDivider'#4'Wrap'#9#0#0#11'TToo' - +'lButton'#9'TbBorders'#4'Left'#3#216#1#3'Top'#2#2#6'Action'#7#12'AcBorderNon' - +'e'#12'DropdownMenu'#7#16'BordersPopupMenu'#5'Style'#7#11'tbsDropDown'#4'Wra' - +'p'#9#0#0#9'TColorBox'#17'CbBackgroundColor'#4'Left'#3#251#1#6'Height'#2#22#3 - +'Top'#2#2#5'Width'#3#132#0#5'Style'#11#13'cbPrettyNames'#14'cbCustomColors'#0 - +#11'OnGetColors'#7#26'CbBackgroundColorGetColors'#10'ItemHeight'#2#16#8'OnSe' - +'lect'#7#23'CbBackgroundColorSelect'#8'TabOrder'#2#2#0#0#11'TToolButton'#12 - +'ToolButton21'#4'Left'#2#29#3'Top'#2#2#6'Action'#7#6'AcFont'#0#0#11'TToolBut' - +'ton'#12'TbNumFormats'#4'Left'#3#127#2#4'Hint'#6#20'Change number format'#3 - +'Top'#2#2#7'Caption'#6#5'Fixed'#12'DropdownMenu'#7#18'NumFormatPopupMenu'#10 - +'ImageIndex'#2'!'#5'Style'#7#11'tbsDropDown'#0#0#11'TToolButton'#12'ToolButt' - +'on24'#4'Left'#3#185#2#3'Top'#2#2#6'Action'#7#13'AcDecDecimals'#0#0#11'TTool' - +'Button'#12'ToolButton25'#4'Left'#3#162#2#3'Top'#2#2#6'Action'#7#13'AcIncDec' - +'imals'#0#0#11'TToolButton'#12'ToolButton26'#4'Left'#2#24#3'Top'#2#2#5'Width' - +#2#5#7'Caption'#6#12'ToolButton26'#5'Style'#7#10'tbsDivider'#4'Wrap'#9#0#0#11 - +'TToolButton'#12'ToolButton20'#4'Left'#2#1#3'Top'#2#2#6'Action'#7#12'AcCopyF' - +'ormat'#0#0#0#11'TOpenDialog'#11'OpenDialog1'#10'DefaultExt'#6#4'.xls'#6'Fil' - +'ter'#6#192'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*' - +'.xlxs|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (pipes) (.' - +'wikitable_pipes)|.wikitable_pipes|All files (*.*)|*.*'#7'Options'#11#20'ofE' - +'xtensionDifferent'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#2'@'#3'top' - +#3#176#0#0#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.xls'#6'Filt' - +'er'#6#185'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.' - +'xlsx|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (wikimedia)' - +' (.wikitable_wikimedia)|*.wikitable_wikimedia'#7'Options'#11#17'ofOverwrite' - +'Prompt'#20'ofExtensionDifferent'#14'ofEnableSizing'#12'ofViewDetail'#0#4'le' - +'ft'#3#176#0#3'top'#3#176#0#0#0#9'TMainMenu'#9'MainMenu1'#6'Images'#7#10'Ima' - +'geList1'#4'left'#3' '#1#3'top'#2'@'#0#9'TMenuItem'#7'mnuFile'#7'Caption'#6#5 - +'&File'#0#9'TMenuItem'#7'mnuOpen'#6'Action'#7#6'AcOpen'#11'Bitmap.Data'#10':' - +#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' ' - +#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0','#134#216#0'-'#136#216 - +#247'-'#135#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216 - +#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#135#216 - +#247'-'#136#216#247','#134#216#0#255#255#255#0#255#255#255#0'3'#142#217#251 - +#220#240#250#255#152#225#246#255#149#224#246#255#146#223#246#255#142#222#245 - +#255#137#220#245#255#133#218#244#255#128#217#244#255'z'#215#243#255't'#213 - +#243#255'p'#211#242#255#194#234#248#255'5'#148#218#255#255#255#255#0#255#255 - +#255#0'5'#148#218#247#239#250#254#255#147#229#248#255#143#228#248#255#137#227 - +#248#255#130#225#247#255'z'#223#247#255'q'#222#246#255'g'#219#245#255'['#216 - +#244#255'M'#212#243#255'@'#209#242#255#202#242#251#255'5'#148#218#255#255#255 - +#255#0#255#255#255#0'6'#154#218#248#242#250#253#255#148#230#248#255#146#229 - +#248#255#144#229#248#255#139#227#248#255#134#226#247#255#127#225#247#255'w' - +#222#246#255'l'#220#246#255'^'#217#244#255'O'#213#243#255#204#242#251#255'5' - +#148#218#255#255#255#255#0#255#255#255#0'6'#161#218#249#246#252#254#255#148 - +#229#248#255#147#229#248#255#147#229#248#255#145#229#248#255#147#219#233#255 - +#147#215#227#255#147#210#220#255#144#206#215#255#140#200#207#255#134#193#198 - +#255#201#216#214#255'5'#148#218#255#197'tD'#232#202#127'S'#241'7'#166#218#250 - +#254#255#255#255#248#253#255#255#246#253#255#255#245#252#255#255#243#252#254 - +#255#154#228#244#255#154#230#247#255#155#230#246#255#157#229#245#255#158#229 - +#245#255#159#229#244#255#218#243#248#255'5'#148#218#255#253#244#238#255#202 - +#128'T'#249'5'#171#218#250#232#246#251#255'p'#188#231#255'U'#170#226#255'M' - +#165#224#255#145#201#235#255#250#243#239#255#253#254#253#255#255#253#252#255 - +#255#253#252#255#254#253#252#255#254#252#251#255#254#254#253#255'5'#148#218 - +#255#239#242#232#255#206#129'V'#255'6'#170#218#242#241#250#253#255#148#222 - +#245#255#147#220#244#255'd'#188#233#255'5'#148#218#255'5'#148#218#255'5'#148 - +#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148 - +#218#255'5'#148#218#255#251#246#239#255#204#131'U'#254'5'#175#218#240#247#252 - +#254#255#142#228#248#255#145#222#245#255#159#224#245#255#172#225#246#255#202 - +#132'R'#255#255#247#241#255#255#233#217#255#255#234#219#255#255#233#217#255 - +#255#231#215#255#255#229#210#255#255#226#203#255#255#247#241#255#203#133'U' - +#254'6'#179#218#248#253#254#254#255#254#255#255#255#254#254#255#255#253#254 - ,#255#255#254#255#255#255#228#186#145#255#255#247#240#255#255#231#213#255#253 - +#231#214#255#253#230#212#255#252#228#208#255#251#227#203#255#250#220#194#255 - +#254#243#232#255#204#134'V'#254'4'#180#217#208'^'#194#225#250'`'#195#226#250 - +'`'#195#226#250'`'#195#226#250'_'#195#226#250#228#187#145#255#255#247#242#255 - +#254#231#213#255#254#231#213#255#253#229#209#255#250#224#202#255#249#222#196 - +#255#247#217#188#255#253#242#231#255#204#135'W'#254#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255 - +#254#247#241#255#252#229#210#255#252#228#209#255#251#226#204#255#249#221#196 - +#255#246#215#187#255#243#209#175#255#250#239#228#255#204#135'X'#254#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#228#187#146#255#254#246#240#255#252#226#205#255#252#227#205#255#250#223#200 - +#255#247#217#188#255#245#233#221#255#250#243#235#255#251#248#243#255#202#131 - +'S'#254#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#228#187#147#255#254#245#237#255#252#222#197#255#251#224#199 - +#255#249#220#194#255#245#211#180#255#254#249#243#255#250#226#196#255#236#193 - +#147#255#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#229#190#150#255#255#255#254#255#253#243#233#255 - +#253#243#234#255#252#242#232#255#250#239#227#255#250#242#231#255#234#187#136 - +#255#207#133'U'#179#180'i='#12#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#234#195#157#255#230#191#150#255#228 - +#187#146#255#228#187#146#255#209#160'l'#245#208#158'm'#246#204#150'_'#218#196 - +'yB~'#178'g<'#9#255#255#255#0#7'OnClick'#7#13'acOpenExecute'#0#0#9'TMenuItem' - +#9'mnuSaveAs'#6'Action'#7#8'AcSaveAs'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'B' - +'M6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0 - +#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#186'j6'#0#185'i5'#181#184'i5'#238#183'h' - +'5'#255#181'h5'#255#180'g4'#255#178'f4'#255#176'e3'#255#174'd3'#255#172'c2' - +#255#170'b2'#255#169'a2'#255#168'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196 - +#186'j5'#222#235#198#173#255#234#197#173#255#254#251#248#255#254#251#248#255 - +#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 - +#255#254#251#248#255#254#251#248#255#254#251#248#255#200#154'|'#255#199#152 - +'y'#255#167'`1'#237#186'k7'#254#237#202#179#255#224#162'z'#255#254#250#247 - +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 - +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#202#141'e' - +#255#201#155'|'#255#167'`1'#254#187'l8'#255#238#204#182#255#225#162'z'#255 - +#254#250#247#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194 - +#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#253#249 - +#246#255#205#144'h'#255#204#158#129#255#168'a2'#255#187'k8'#255#239#206#184 - +#255#225#162'y'#255#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136 - +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 - +#255#253#249#246#255#207#147'j'#255#206#163#132#255#170'a2'#255#186'j6'#255 - +#239#208#187#255#226#162'z'#255#254#251#248#255#254#251#248#255#254#251#248 - +#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251 - +#248#255#254#251#248#255#254#251#248#255#211#150'm'#255#210#167#138#255#171 - +'b2'#255#187'j6'#255#240#210#190#255#226#163'z'#255#226#163'z'#255#225#163'z' - +#255#226#163'{'#255#225#163'{'#255#224#161'x'#255#222#159'w'#255#221#159'v' - +#255#220#157't'#255#217#155'r'#255#216#153'q'#255#214#153'p'#255#213#171#142 - +#255#173'c3'#255#187'j6'#255#242#213#194#255#227#163'z'#255#227#163'z'#255 - +#226#163'{'#255#226#163'{'#255#226#164'{'#255#225#162'y'#255#224#161'x'#255 - +#222#160'w'#255#222#158'u'#255#220#157't'#255#218#155's'#255#217#155's'#255 - +#218#176#149#255#175'd3'#255#187'j6'#255#242#216#197#255#227#164'{'#255#227 - +#163'z'#255#227#164'z'#255#226#164'{'#255#226#163'{'#255#225#163'{'#255#225 - +#162'y'#255#223#160'w'#255#222#159'v'#255#221#158't'#255#219#156'r'#255#220 - +#157't'#255#221#181#154#255#177'e4'#255#187'k6'#255#244#217#199#255#230#166 - +'}'#255#200#140'd'#255#201#141'e'#255#201#142'g'#255#203#146'l'#255#203#146 - +'m'#255#202#144'i'#255#200#140'e'#255#200#140'd'#255#200#140'd'#255#200#140 - +'d'#255#218#156't'#255#225#186#159#255#179'f4'#255#187'k6'#254#244#220#201 - +#255#231#167'}'#255#249#236#225#255#249#236#225#255#249#237#227#255#252#244 - +#238#255#253#250#247#255#253#247#243#255#250#237#229#255#247#231#219#255#247 - +#229#217#255#246#229#216#255#222#160'w'#255#228#190#164#255#180'g4'#255#188 - +'k6'#250#245#221#204#255#231#168'~'#255#250#240#232#255#250#240#232#255#201 - +#141'f'#255#250#240#233#255#253#248#243#255#254#250#248#255#252#244#239#255 - +#249#233#223#255#247#231#219#255#247#229#217#255#224#162'x'#255#231#194#169 - +#255#182'h5'#255#188'k6'#240#246#223#208#255#232#168'~'#255#252#246#241#255 - +#252#246#241#255#200#140'd'#255#250#241#233#255#251#244#238#255#253#250#247 - ,#255#253#249#246#255#250#240#232#255#248#232#221#255#247#230#219#255#225#163 - +'z'#255#239#213#195#255#183'i5'#254#188'k6'#216#246#223#209#255#233#170#128 - +#255#254#250#246#255#253#250#246#255#200#140'd'#255#251#243#238#255#251#241 - +#234#255#252#246#242#255#254#251#248#255#252#246#241#255#249#236#226#255#248 - +#231#219#255#238#208#186#255#236#208#189#255#187'p>'#248#188'k6'#155#246#224 - +#209#255#247#224#209#255#254#251#248#255#254#251#247#255#253#249#246#255#252 - +#245#240#255#250#240#234#255#251#242#237#255#253#249#246#255#253#250#247#255 - +#251#241#235#255#248#233#223#254#236#208#189#251#201#137'^'#236#181'i5c'#188 - +'k6q'#188'k6'#144#188'k6'#204#188'k6'#238#188'k6'#250#187'k6'#254#187'k6'#255 - +#187'j6'#255#187'j6'#255#188'l9'#255#189'n;'#255#187'm:'#255#187'k8'#239#187 - +'p>'#203#182'i5T'#255#255#255#0#7'OnClick'#7#15'acSaveAsExecute'#0#0#9'TMenu' - +'Item'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#7'mnuQuit'#6'Action'#7 - +#6'AcQuit'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0 - +'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#29'c'#155#22 - +#25'`'#152'9'#20']'#149'b'#16'Z'#146#136#13'X'#144#164#19'\'#146#252#12'W' - +#143#237#153#153#153#255'qqq'#255'TTT'#255'QQQ'#255'OOO'#255'LLL'#255'JJJ' - +#255'GGG'#255'EEE'#255'%g'#157#255'2t'#168#255'=|'#175#255'G'#132#181#255'N' - +#138#186#255'>~'#173#255#12'W'#143#234#255#255#255#0#255#255#255#0'XXX'#255 - +#162#162#162#255#162#162#162#255#163#163#163#255#164#164#164#255#164#164#164 - +#255#165#165#165#255'/o'#165#255'x'#171#210#255'x'#171#211#255's'#167#209#255 - +'i'#160#205#255'@'#127#174#255#15'Y'#145#234#255#255#255#0#255#255#255#0'\\\' - +#255#161#161#161#255''#255'4~;'#255'1y7'#255'.u4' - +#255'I'#145'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162#162#255'E~' - +#180#255#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204#255'E'#131 - +#177#255#31'd'#156#234';'#135'B'#255#137#203#146#255#132#200#141#255#128#198 - +#136#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161#255 - +'L'#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'#180#223#255 - +'G'#133#177#255'%i'#161#234'>'#139'F'#255#143#206#153#255'}'#198#135#255'x' - +#195#129#255's'#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'#255'T'#127 - +'W'#255'T'#137#191#255#148#191#221#255'u'#173#212#255'c'#184#225#255'K'#212 - +#255#255'B'#139#184#255',n'#166#234'A'#144'J'#255#148#210#159#255#145#208#154 - +#255#141#205#150#255#137#203#146#255#132#200#141#255'Q'#152'X'#255'A|F'#255 - +#159#159#159#255'Z'#142#196#255#152#195#224#255'|'#179#215#255't'#175#214#255 - +'^'#196#237#255'K'#136#179#255'4s'#171#234'D'#148'M'#255'B'#145'K'#255'?'#141 - +'H'#255'='#137'E'#255']'#164'e'#255'Z'#160'a'#255'E'#131'K'#255#158#158#158 - +#255#158#158#158#255'`'#146#201#255#158#199#226#255#131#184#218#255'}'#180 - +#215#255'~'#179#215#255'O'#137#180#255';y'#177#234#255#255#255#0#255#255#255 - +#0'www'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255#156#156#156#255#157 - +#157#157#255#157#157#157#255'f'#150#204#255#162#203#227#255#137#189#220#255 - +#131#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182#234#255#255#255#0#255 - +#255#255#0'zzz'#255#153#153#153#255'R'#145'Y'#255#153#154#153#255#155#155#155 - +#255#156#156#156#255#156#156#156#255'l'#154#208#255#167#206#229#255#143#193 - +#223#255#137#189#220#255#139#189#220#255'S'#141#182#255'K'#132#188#234#255 - +#255#255#0#255#255#255#0'}}}'#255#153#153#153#255#153#153#153#255#154#154#154 - +#255#154#154#154#255#155#155#155#255#155#155#155#255'o'#157#211#255#170#209 - +#231#255#171#209#231#255#152#199#225#255#145#194#222#255'V'#143#183#255'R' - +#137#193#234#255#255#255#0#255#255#255#0#128#128#128#255'~~~'#255'|||'#255'z' - +'zz'#255'www'#255'uuu'#255'rrr'#255'q'#158#212#255'o'#158#214#255#135#178#220 - +#255#171#211#232#255#169#208#230#255'X'#144#184#255'Y'#142#198#234#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'p'#158 - +#214#219'm'#156#212#255#133#177#218#255'Z'#145#185#255'`'#147#203#234#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#5'Align'#7#8'alClient'#8'ColCount'#2#2#14'ExtendedSelect'#8#16'MouseWheelOp' + +'tion'#7#6'mwGrid'#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine'#10 + +'goVertLine'#10'goHorzLine'#13'goRangeSelect'#11'goRowSizing'#11'goColSizing' + +#15'goThumbTracking'#14'goSmoothScroll'#16'goFixedColSizing'#0#8'RowCount'#2 + +#2#8'TabOrder'#2#0#10'TitleStyle'#7#8'tsNative'#11'OnSelection'#7#24'sWorksh' + +'eetGrid1Selection'#9'ColWidths'#1#2'*'#2'@'#0#0#0#0#0#8'TToolBar'#8'ToolBar' + +'1'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Width'#3't'#3#12'ButtonHeight'#2 + +#24#7'Caption'#6#8'ToolBar1'#11'EdgeBorders'#11#0#6'Images'#7#10'ImageList1' + +#8'TabOrder'#2#2#0#11'TToolButton'#11'ToolButton1'#4'Left'#2#1#3'Top'#2#0#6 + +'Action'#7#6'AcOpen'#0#0#11'TToolButton'#11'ToolButton2'#4'Left'#2#24#3'Top' + +#2#0#6'Action'#7#8'AcSaveAs'#0#0#11'TToolButton'#11'ToolButton3'#4'Left'#2'P' + +#3'Top'#2#0#6'Action'#7#6'AcQuit'#0#0#11'TToolButton'#11'ToolButton5'#4'Left' + +#2'/'#3'Top'#2#0#5'Width'#2#5#7'Caption'#6#11'ToolButton5'#5'Style'#7#10'tbs' + +'Divider'#0#0#11'TToolButton'#11'ToolButton4'#4'Left'#2'4'#3'Top'#2#0#6'Acti' + +'on'#7#6'AcEdit'#0#0#11'TToolButton'#11'ToolButton6'#4'Left'#2'K'#3'Top'#2#0 + +#5'Width'#2#5#7'Caption'#6#11'ToolButton6'#5'Style'#7#10'tbsDivider'#0#0#0#8 + +'TToolBar'#13'FormatToolBar'#4'Left'#2#0#6'Height'#2#27#3'Top'#2#26#5'Width' + +#3't'#3#12'ButtonHeight'#2#23#7'Caption'#6#13'FormatToolBar'#6'Images'#7#10 + +'ImageList1'#8'TabOrder'#2#3#0#11'TToolButton'#12'ToolButton10'#4'Left'#3'D' + +#1#3'Top'#2#2#6'Action'#7#11'AcLeftAlign'#4'Wrap'#9#0#0#11'TToolButton'#12'T' + +'oolButton12'#4'Left'#3'['#1#3'Top'#2#2#6'Action'#7#16'AcHorCenterAlign'#0#0 + +#11'TToolButton'#12'ToolButton13'#4'Left'#3'r'#1#3'Top'#2#2#6'Action'#7#12'A' + +'cRightAlign'#0#0#9'TComboBox'#12'FontComboBox'#4'Left'#2'4'#6'Height'#2#23#3 + +'Top'#2#2#5'Width'#2#127#10'ItemHeight'#2#15#8'OnSelect'#7#18'FontComboBoxSe' + +'lect'#8'TabOrder'#2#0#0#0#9'TComboBox'#16'FontSizeComboBox'#4'Left'#3#179#0 + +#6'Height'#2#23#3'Top'#2#2#5'Width'#2'0'#10'ItemHeight'#2#15#13'Items.String' + +'s'#1#6#1'8'#6#1'9'#6#2'10'#6#2'11'#6#2'12'#6#2'14'#6#2'16'#6#2'18'#6#2'20'#6 + +#2'24'#0#8'OnSelect'#7#22'FontSizeComboBoxSelect'#8'TabOrder'#2#1#0#0#11'TTo' + +'olButton'#11'ToolButton7'#4'Left'#3#227#0#3'Top'#2#2#6'Action'#7#10'AcFontB' + +'old'#0#0#11'TToolButton'#11'ToolButton8'#4'Left'#3#250#0#3'Top'#2#2#6'Actio' + +'n'#7#12'AcFontItalic'#0#0#11'TToolButton'#11'ToolButton9'#4'Left'#3#17#1#3 + +'Top'#2#2#6'Action'#7#15'AcFontUnderline'#0#0#11'TToolButton'#12'ToolButton1' + +'1'#4'Left'#3'('#1#3'Top'#2#2#6'Action'#7#15'AcFontStrikeout'#0#0#11'TToolBu' + +'tton'#12'ToolButton14'#4'Left'#3'?'#1#3'Top'#2#2#5'Width'#2#5#7'Caption'#6 + +#12'ToolButton14'#5'Style'#7#10'tbsDivider'#4'Wrap'#9#0#0#11'TToolButton'#12 + +'ToolButton15'#4'Left'#3#137#1#3'Top'#2#2#5'Width'#2#5#7'Caption'#6#12'ToolB' + +'utton15'#5'Style'#7#10'tbsDivider'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolBut' + +'ton16'#4'Left'#3#142#1#3'Top'#2#2#6'Action'#7#11'AcVAlignTop'#4'Wrap'#9#0#0 + ,#11'TToolButton'#12'ToolButton17'#4'Left'#3#165#1#3'Top'#2#2#6'Action'#7#14 + +'AcVAlignCenter'#0#0#11'TToolButton'#12'ToolButton18'#4'Left'#3#188#1#3'Top' + +#2#2#6'Action'#7#14'AcVAlignBottom'#0#0#11'TToolButton'#12'ToolButton19'#4'L' + +'eft'#3#211#1#3'Top'#2#2#5'Width'#2#5#7'Caption'#6#12'ToolButton19'#5'Style' + +#7#10'tbsDivider'#4'Wrap'#9#0#0#11'TToolButton'#9'TbBorders'#4'Left'#3#216#1 + +#3'Top'#2#2#6'Action'#7#12'AcBorderNone'#12'DropdownMenu'#7#16'BordersPopupM' + +'enu'#5'Style'#7#11'tbsDropDown'#4'Wrap'#9#0#0#9'TColorBox'#17'CbBackgroundC' + +'olor'#4'Left'#3#251#1#6'Height'#2#22#3'Top'#2#2#5'Width'#3#132#0#5'Style'#11 + +#13'cbPrettyNames'#14'cbCustomColors'#0#11'OnGetColors'#7#26'CbBackgroundCol' + +'orGetColors'#10'ItemHeight'#2#16#8'OnSelect'#7#23'CbBackgroundColorSelect'#8 + +'TabOrder'#2#2#0#0#11'TToolButton'#12'ToolButton21'#4'Left'#2#29#3'Top'#2#2#6 + +'Action'#7#6'AcFont'#0#0#11'TToolButton'#12'TbNumFormats'#4'Left'#3#127#2#4 + +'Hint'#6#20'Change number format'#3'Top'#2#2#7'Caption'#6#5'Fixed'#12'Dropdo' + +'wnMenu'#7#18'NumFormatPopupMenu'#10'ImageIndex'#2'!'#5'Style'#7#11'tbsDropD' + +'own'#0#0#11'TToolButton'#12'ToolButton24'#4'Left'#3#185#2#3'Top'#2#2#6'Acti' + +'on'#7#13'AcDecDecimals'#0#0#11'TToolButton'#12'ToolButton25'#4'Left'#3#162#2 + +#3'Top'#2#2#6'Action'#7#13'AcIncDecimals'#0#0#11'TToolButton'#12'ToolButton2' + +'6'#4'Left'#2#24#3'Top'#2#2#5'Width'#2#5#7'Caption'#6#12'ToolButton26'#5'Sty' + +'le'#7#10'tbsDivider'#4'Wrap'#9#0#0#11'TToolButton'#12'ToolButton20'#4'Left' + +#2#1#3'Top'#2#2#6'Action'#7#12'AcCopyFormat'#0#0#0#11'TOpenDialog'#11'OpenDi' + +'alog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#192'Excel spreadsheet (*.xls)|*' + +'.xls|Excel XML spreadsheet (*.xlsx)|*.xlxs|LibreOffice/OpenOffice spreadshe' + +'et (*.ods)|*.ods|Wikitable (pipes) (.wikitable_pipes)|.wikitable_pipes|All ' + +'files (*.*)|*.*'#7'Options'#11#20'ofExtensionDifferent'#14'ofEnableSizing' + +#12'ofViewDetail'#0#4'left'#2'@'#3'top'#3#176#0#0#0#11'TSaveDialog'#11'SaveD' + +'ialog1'#10'DefaultExt'#6#4'.xls'#6'Filter'#6#185'Excel spreadsheet (*.xls)|' + +'*.xls|Excel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/OpenOffice spreadsh' + +'eet (*.ods)|*.ods|Wikitable (wikimedia) (.wikitable_wikimedia)|*.wikitable_' + +'wikimedia'#7'Options'#11#17'ofOverwritePrompt'#20'ofExtensionDifferent'#14 + +'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#176#0#3'top'#3#176#0#0#0#9'TMa' + +'inMenu'#9'MainMenu1'#6'Images'#7#10'ImageList1'#4'left'#3' '#1#3'top'#2'@'#0 + +#9'TMenuItem'#7'mnuFile'#7'Caption'#6#5'&File'#0#9'TMenuItem'#7'mnuOpen'#6'A' + +'ction'#7#6'AcOpen'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0 + +'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0 + +#0#0#0#0#0#0#0#0#0','#134#216#0'-'#136#216#247'-'#135#216#247'-'#136#216#247 + +'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247 + +'-'#136#216#247'-'#136#216#247'-'#135#216#247'-'#136#216#247','#134#216#0#255 + +#255#255#0#255#255#255#0'3'#142#217#251#220#240#250#255#152#225#246#255#149 + +#224#246#255#146#223#246#255#142#222#245#255#137#220#245#255#133#218#244#255 + +#128#217#244#255'z'#215#243#255't'#213#243#255'p'#211#242#255#194#234#248#255 + +'5'#148#218#255#255#255#255#0#255#255#255#0'5'#148#218#247#239#250#254#255 + +#147#229#248#255#143#228#248#255#137#227#248#255#130#225#247#255'z'#223#247 + +#255'q'#222#246#255'g'#219#245#255'['#216#244#255'M'#212#243#255'@'#209#242 + +#255#202#242#251#255'5'#148#218#255#255#255#255#0#255#255#255#0'6'#154#218 + +#248#242#250#253#255#148#230#248#255#146#229#248#255#144#229#248#255#139#227 + +#248#255#134#226#247#255#127#225#247#255'w'#222#246#255'l'#220#246#255'^'#217 + +#244#255'O'#213#243#255#204#242#251#255'5'#148#218#255#255#255#255#0#255#255 + +#255#0'6'#161#218#249#246#252#254#255#148#229#248#255#147#229#248#255#147#229 + +#248#255#145#229#248#255#147#219#233#255#147#215#227#255#147#210#220#255#144 + +#206#215#255#140#200#207#255#134#193#198#255#201#216#214#255'5'#148#218#255 + +#197'tD'#232#202#127'S'#241'7'#166#218#250#254#255#255#255#248#253#255#255 + +#246#253#255#255#245#252#255#255#243#252#254#255#154#228#244#255#154#230#247 + +#255#155#230#246#255#157#229#245#255#158#229#245#255#159#229#244#255#218#243 + +#248#255'5'#148#218#255#253#244#238#255#202#128'T'#249'5'#171#218#250#232#246 + +#251#255'p'#188#231#255'U'#170#226#255'M'#165#224#255#145#201#235#255#250#243 + +#239#255#253#254#253#255#255#253#252#255#255#253#252#255#254#253#252#255#254 + +#252#251#255#254#254#253#255'5'#148#218#255#239#242#232#255#206#129'V'#255'6' + +#170#218#242#241#250#253#255#148#222#245#255#147#220#244#255'd'#188#233#255 + +'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255 + +'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255#251#246#239#255 + +#204#131'U'#254'5'#175#218#240#247#252#254#255#142#228#248#255#145#222#245 + +#255#159#224#245#255#172#225#246#255#202#132'R'#255#255#247#241#255#255#233 + +#217#255#255#234#219#255#255#233#217#255#255#231#215#255#255#229#210#255#255 + +#226#203#255#255#247#241#255#203#133'U'#254'6'#179#218#248#253#254#254#255 + ,#254#255#255#255#254#254#255#255#253#254#255#255#254#255#255#255#228#186#145 + +#255#255#247#240#255#255#231#213#255#253#231#214#255#253#230#212#255#252#228 + +#208#255#251#227#203#255#250#220#194#255#254#243#232#255#204#134'V'#254'4' + +#180#217#208'^'#194#225#250'`'#195#226#250'`'#195#226#250'`'#195#226#250'_' + +#195#226#250#228#187#145#255#255#247#242#255#254#231#213#255#254#231#213#255 + +#253#229#209#255#250#224#202#255#249#222#196#255#247#217#188#255#253#242#231 + +#255#204#135'W'#254#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#228#187#146#255#254#247#241#255#252#229#210#255 + +#252#228#209#255#251#226#204#255#249#221#196#255#246#215#187#255#243#209#175 + +#255#250#239#228#255#204#135'X'#254#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255#254#246#240#255 + +#252#226#205#255#252#227#205#255#250#223#200#255#247#217#188#255#245#233#221 + +#255#250#243#235#255#251#248#243#255#202#131'S'#254#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#147#255 + +#254#245#237#255#252#222#197#255#251#224#199#255#249#220#194#255#245#211#180 + +#255#254#249#243#255#250#226#196#255#236#193#147#255#195'}H'#147#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#229 + +#190#150#255#255#255#254#255#253#243#233#255#253#243#234#255#252#242#232#255 + +#250#239#227#255#250#242#231#255#234#187#136#255#207#133'U'#179#180'i='#12 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'm'#156#212#137'j'#154#210#251'f'#151#207#238#7'OnCl' - +'ick'#7#13'acQuitExecute'#0#0#0#9'TMenuItem'#7'mnuEdit'#7'Caption'#6#4'Edit' - +#0#9'TMenuItem'#9'MenuItem2'#6'Action'#7#6'AcEdit'#9'AutoCheck'#9#11'Bitmap.' - ,'Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16 - +#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#234#195#157#255#230#191#150#255#228#187#146#255#228#187#146#255 + +#209#160'l'#245#208#158'm'#246#204#150'_'#218#196'yB~'#178'g<'#9#255#255#255 + +#0#7'OnClick'#7#13'acOpenExecute'#0#0#9'TMenuItem'#9'mnuSaveAs'#6'Action'#7#8 + +'AcSaveAs'#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0 + +'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0 + +#0#0#0#0#0#186'j6'#0#185'i5'#181#184'i5'#238#183'h5'#255#181'h5'#255#180'g4' + +#255#178'f4'#255#176'e3'#255#174'd3'#255#172'c2'#255#170'b2'#255#169'a2'#255 + +#168'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196#186'j5'#222#235#198#173#255 + +#234#197#173#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 + +#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251 + +#248#255#254#251#248#255#200#154'|'#255#199#152'y'#255#167'`1'#237#186'k7' + +#254#237#202#179#255#224#162'z'#255#254#250#247#255'b'#192#136#255'b'#192#136 + +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 + +#255'b'#192#136#255#253#249#246#255#202#141'e'#255#201#155'|'#255#167'`1'#254 + +#187'l8'#255#238#204#182#255#225#162'z'#255#254#250#247#255#191#220#194#255 + +#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194 + +#255#191#220#194#255#191#220#194#255#253#249#246#255#205#144'h'#255#204#158 + +#129#255#168'a2'#255#187'k8'#255#239#206#184#255#225#162'y'#255#254#250#247 + +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 + +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#207#147'j' + +#255#206#163#132#255#170'a2'#255#186'j6'#255#239#208#187#255#226#162'z'#255 + +#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 + +#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251 + +#248#255#211#150'm'#255#210#167#138#255#171'b2'#255#187'j6'#255#240#210#190 + +#255#226#163'z'#255#226#163'z'#255#225#163'z'#255#226#163'{'#255#225#163'{' + +#255#224#161'x'#255#222#159'w'#255#221#159'v'#255#220#157't'#255#217#155'r' + +#255#216#153'q'#255#214#153'p'#255#213#171#142#255#173'c3'#255#187'j6'#255 + +#242#213#194#255#227#163'z'#255#227#163'z'#255#226#163'{'#255#226#163'{'#255 + +#226#164'{'#255#225#162'y'#255#224#161'x'#255#222#160'w'#255#222#158'u'#255 + +#220#157't'#255#218#155's'#255#217#155's'#255#218#176#149#255#175'd3'#255#187 + +'j6'#255#242#216#197#255#227#164'{'#255#227#163'z'#255#227#164'z'#255#226#164 + +'{'#255#226#163'{'#255#225#163'{'#255#225#162'y'#255#223#160'w'#255#222#159 + +'v'#255#221#158't'#255#219#156'r'#255#220#157't'#255#221#181#154#255#177'e4' + +#255#187'k6'#255#244#217#199#255#230#166'}'#255#200#140'd'#255#201#141'e'#255 + +#201#142'g'#255#203#146'l'#255#203#146'm'#255#202#144'i'#255#200#140'e'#255 + +#200#140'd'#255#200#140'd'#255#200#140'd'#255#218#156't'#255#225#186#159#255 + +#179'f4'#255#187'k6'#254#244#220#201#255#231#167'}'#255#249#236#225#255#249 + +#236#225#255#249#237#227#255#252#244#238#255#253#250#247#255#253#247#243#255 + +#250#237#229#255#247#231#219#255#247#229#217#255#246#229#216#255#222#160'w' + +#255#228#190#164#255#180'g4'#255#188'k6'#250#245#221#204#255#231#168'~'#255 + +#250#240#232#255#250#240#232#255#201#141'f'#255#250#240#233#255#253#248#243 + +#255#254#250#248#255#252#244#239#255#249#233#223#255#247#231#219#255#247#229 + +#217#255#224#162'x'#255#231#194#169#255#182'h5'#255#188'k6'#240#246#223#208 + +#255#232#168'~'#255#252#246#241#255#252#246#241#255#200#140'd'#255#250#241 + ,#233#255#251#244#238#255#253#250#247#255#253#249#246#255#250#240#232#255#248 + +#232#221#255#247#230#219#255#225#163'z'#255#239#213#195#255#183'i5'#254#188 + +'k6'#216#246#223#209#255#233#170#128#255#254#250#246#255#253#250#246#255#200 + +#140'd'#255#251#243#238#255#251#241#234#255#252#246#242#255#254#251#248#255 + +#252#246#241#255#249#236#226#255#248#231#219#255#238#208#186#255#236#208#189 + +#255#187'p>'#248#188'k6'#155#246#224#209#255#247#224#209#255#254#251#248#255 + +#254#251#247#255#253#249#246#255#252#245#240#255#250#240#234#255#251#242#237 + +#255#253#249#246#255#253#250#247#255#251#241#235#255#248#233#223#254#236#208 + +#189#251#201#137'^'#236#181'i5c'#188'k6q'#188'k6'#144#188'k6'#204#188'k6'#238 + +#188'k6'#250#187'k6'#254#187'k6'#255#187'j6'#255#187'j6'#255#188'l9'#255#189 + +'n;'#255#187'm:'#255#187'k8'#239#187'p>'#203#182'i5T'#255#255#255#0#7'OnClic' + +'k'#7#15'acSaveAsExecute'#0#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0 + +#9'TMenuItem'#7'mnuQuit'#6'Action'#7#6'AcQuit'#11'Bitmap.Data'#10':'#4#0#0'6' + +#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0 + +#0#0#4#0#0'd'#0#0#0'd'#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#29'c'#155#22#25'`'#152'9'#20']'#149'b'#16'Z'#146#136#13 + +'X'#144#164#19'\'#146#252#12'W'#143#237#153#153#153#255'qqq'#255'TTT'#255'QQ' + +'Q'#255'OOO'#255'LLL'#255'JJJ'#255'GGG'#255'EEE'#255'%g'#157#255'2t'#168#255 + +'=|'#175#255'G'#132#181#255'N'#138#186#255'>~'#173#255#12'W'#143#234#255#255 + +#255#0#255#255#255#0'XXX'#255#162#162#162#255#162#162#162#255#163#163#163#255 + +#164#164#164#255#164#164#164#255#165#165#165#255'/o'#165#255'x'#171#210#255 + +'x'#171#211#255's'#167#209#255'i'#160#205#255'@'#127#174#255#15'Y'#145#234 + +#255#255#255#0#255#255#255#0'\\\'#255#161#161#161#255''#255'4~;'#255'1y7'#255'.u4'#255'I'#145'P'#255'F'#143'L'#255'9s='#255 + +#161#161#161#255#162#162#162#255'E~'#180#255#136#183#217#255'g'#163#207#255 + +'a'#158#204#255'c'#159#204#255'E'#131#177#255#31'd'#156#234';'#135'B'#255#137 + +#203#146#255#132#200#141#255#128#198#136#255'{'#195#131#255'w'#193#127#255'G' + +#143'M'#255';t?'#255#161#161#161#255'L'#132#186#255#141#187#219#255'n'#168 + +#209#255'f'#166#209#255'_'#180#223#255'G'#133#177#255'%i'#161#234'>'#139'F' + +#255#143#206#153#255'}'#198#135#255'x'#195#129#255's'#192'|'#255't'#192'|' + +#255'y'#194#129#255'I'#144'O'#255'T'#127'W'#255'T'#137#191#255#148#191#221 + +#255'u'#173#212#255'c'#184#225#255'K'#212#255#255'B'#139#184#255',n'#166#234 + +'A'#144'J'#255#148#210#159#255#145#208#154#255#141#205#150#255#137#203#146 + +#255#132#200#141#255'Q'#152'X'#255'A|F'#255#159#159#159#255'Z'#142#196#255 + +#152#195#224#255'|'#179#215#255't'#175#214#255'^'#196#237#255'K'#136#179#255 + +'4s'#171#234'D'#148'M'#255'B'#145'K'#255'?'#141'H'#255'='#137'E'#255']'#164 + +'e'#255'Z'#160'a'#255'E'#131'K'#255#158#158#158#255#158#158#158#255'`'#146 + +#201#255#158#199#226#255#131#184#218#255'}'#180#215#255'~'#179#215#255'O'#137 + +#180#255';y'#177#234#255#255#255#0#255#255#255#0'www'#255#154#154#154#255'=' + +#138'E'#255'I'#138'O'#255#156#156#156#255#157#157#157#255#157#157#157#255'f' + +#150#204#255#162#203#227#255#137#189#220#255#131#185#218#255#132#185#218#255 + +'Q'#139#181#255'C~'#182#234#255#255#255#0#255#255#255#0'zzz'#255#153#153#153 + +#255'R'#145'Y'#255#153#154#153#255#155#155#155#255#156#156#156#255#156#156 + +#156#255'l'#154#208#255#167#206#229#255#143#193#223#255#137#189#220#255#139 + +#189#220#255'S'#141#182#255'K'#132#188#234#255#255#255#0#255#255#255#0'}}}' + +#255#153#153#153#255#153#153#153#255#154#154#154#255#154#154#154#255#155#155 + +#155#255#155#155#155#255'o'#157#211#255#170#209#231#255#171#209#231#255#152 + +#199#225#255#145#194#222#255'V'#143#183#255'R'#137#193#234#255#255#255#0#255 + +#255#255#0#128#128#128#255'~~~'#255'|||'#255'zzz'#255'www'#255'uuu'#255'rrr' + +#255'q'#158#212#255'o'#158#214#255#135#178#220#255#171#211#232#255#169#208 + +#230#255'X'#144#184#255'Y'#142#198#234#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'p'#158#214#219'm'#156#212#255#133 + +#177#218#255'Z'#145#185#255'`'#147#203#234#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#19'@X'#255#21'B^'#255'%i'#156#255',v'#180#255';'#139#186#173#255#255#255#0 + +'m'#156#212#137'j'#154#210#251'f'#151#207#238#7'OnClick'#7#13'acQuitExecute' + +#0#0#0#9'TMenuItem'#7'mnuEdit'#7'Caption'#6#4'Edit'#0#9'TMenuItem'#9'MenuIte' + ,'m2'#6'Action'#7#6'AcEdit'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0 + +#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0 + +#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#18'BY'#255 - +']'#156#212#255#166#207#245#255#169#207#236#255'H'#139#193#255',v'#180#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#30'm'#147 - +#255#203#227#249#255'a'#170#236#255'@'#152#232#255#21'g'#194#255#22'`'#170 - +#255',v'#180#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#30'm'#147 - +#255#200#225#242#255#209#231#250#255'4}'#181#255'1'#153#195#255'm'#196#220 - +#255'J'#156#207#255'4'#131#199#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' c' - +#152' &'#137#185#255#176#203#225#255'g'#169#200#255'`'#220#245#255'D'#214#244 - +#255#142#238#250#255']'#180#230#255';'#143#217#255#255#255#255#0#255#255#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#19'@X'#255#21'B^'#255'%' + +'i'#156#255',v'#180#255';'#139#186#173#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#18'BY'#255']'#156#212#255#166#207 + +#245#255#169#207#236#255'H'#139#193#255',v'#180#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'&'#137#185#255#190#230#242#255#179#244#252#255'`' + +#255#255#0#255#255#255#0#255#255#255#0#30'm'#147#255#203#227#249#255'a'#170 + +#236#255'@'#152#232#255#21'g'#194#255#22'`'#170#255',v'#180#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#30'm'#147#255#200#225#242#255#209#231 + +#250#255'4}'#181#255'1'#153#195#255'm'#196#220#255'J'#156#207#255'4'#131#199 + +#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' c'#152' &'#137#185#255#176#203 + +#225#255'g'#169#200#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180 + +#230#255';'#143#217#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'&' + +#137#185#255#190#230#242#255#179#244#252#255'`'#220#245#255'D'#214#244#255 + +#142#238#250#255']'#180#230#255';'#143#217#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''''#144#191#255#195#237#248#255#179#244#252#255'`' +#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#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''''#144#191#255#195#237#248 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#255#195#237#248 +#255#179#244#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230 +#255';'#143#217#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'/'#186 +#228#255#195#237#248#255#179#244#252#255'`'#220#245#255'D'#214#244#255#142 +#238#250#255']'#180#230#255';'#143#217#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'/'#186#228#255#195#237#248#255#179#244#252#255'`'#220 - +#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#255#255#255 + +#255#0#255#255#255#0'/'#186#228#255#195#237#248#255#179#244#252#255'h'#217 + +#245#255'o'#207#243#255'Y'#157#208#255's'#171#221#255'O'#145#201#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'/'#186#228#255#195#237#248#255#179 - +#244#252#255'h'#217#245#255'o'#207#243#255'Y'#157#208#255's'#171#221#255'O' - +#145#201#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'/'#186#228#255 - +#195#237#248#255#168#226#248#255'l'#174#221#255#165#207#244#255#165#207#244 - +#255#189#219#247#255'S'#147#203#247#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0'/'#186#228#255#167#212#244#255#197#225#248#255#204#227#249#255#204 - +#227#249#255#189#219#247#255'O'#144#201#253#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0'P'#168#217#255'j'#165#216#255#201#225#247 - +#255#203#227#248#255'B'#149#202#255'1'#130#194#174#255#255#255#0#255#255#255 + +#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#255#195#237#248#255#168 + +#226#248#255'l'#174#221#255#165#207#244#255#165#207#244#255#189#219#247#255 + +'S'#147#203#247#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228 + +#255#167#212#244#255#197#225#248#255#204#227#249#255#204#227#249#255#189#219 + +#247#255'O'#144#201#253#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'/'#186#228#9'O'#170#219#234'P'#147#202 - +#253'N'#144#200#255'/'#157#210#223'5'#164#222#25#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#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#0#0#9'TMenuItem'#9'mnuFor' - +'mat'#7'Caption'#6#6'Format'#0#9'TMenuItem'#7'MnuFOnt'#6'Action'#7#6'AcFont' - +#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16 - +#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255 + +#255#255#0'P'#168#217#255'j'#165#216#255#201#225#247#255#203#227#248#255'B' + +#149#202#255'1'#130#194#174#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'/'#186#228#9'O'#170#219#234'P'#147#202#253'N'#144#200#255'/' + +#157#210#223'5'#164#222#25#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#206'h8'#174#218#143']'#254#219#144'`'#255#215#131'P'#237#196 - ,'P+'#141#189'B#'#16#188'?"*'#195'M+'#162#208'qB'#234#214'~Q'#255#213'|M'#255 - +#198'U1'#189#182'9'#29'1'#255#255#255#0#255#255#255#0#255#255#255#0#202'\/' - +#10#203'_0D'#225#164'u'#255#218#140'X'#236#198'R,='#255#255#255#0#255#255#255 - +#0#191'E$'#19#195'H'''#127#220#150'k'#255#219#143'`'#255#189'?!T'#182'8'#30#2 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#203']0'#1#211't?' - +#155#226#169'|'#255#204'f7'#153#255#255#255#0#255#255#255#0#255#255#255#0#204 - +'c7'#177#223#160'w'#255#218#137'Z'#255#187'>""'#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#204'c2'#21#219#147 - +'^'#234#226#167'y'#255#216#131'J'#211#207'j:'#178#206'h9'#181#213'zE'#216#227 - +#168#129#255#217#134'V'#249#190'A#'#27#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#207'j6\'#223 - +#157'h'#246#218#139'R'#209#203'_1N'#199'Y.*'#205'g7'#160#225#166'z'#255#216 - +#134'S'#242#191'F%'#13#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#208'j5'#3#215#128'B'#170#223#159 - +'j'#247#205'f4f'#201']/'#10#204'a3'#136#225#166'y'#255#213'zD'#210#194'J'''#6 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#209'q8"'#222#155'c'#226#220#150'^'#223 - +#207'i5T'#207'i5'#128#226#169'|'#255#209'l:'#165#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#212'y'#152#203'_0'#8#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#215#131'>S'#226#167'l'#222#233#188#145#255#231#186#143 - +#255#231#183#139#255#226#164'q'#251#214'~B'#182#203'\/'#10#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#216#135'@@'#216#139'C'#133#218#142'I'#148#217#137'C'#143 - +#216#132'@'#144#216#132'A'#154#211's:'#138#204'b2'#13#201'[.'#1#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#9'TMenuItem'#15'MnuTextRotation'#7'Caption'#6#13'Text rotation'#0#9'TMe' - +'nuItem'#10'MenuItem29'#6'Action'#7#11'AcTextHoriz'#9'AutoCheck'#9#0#0#9'TMe' - +'nuItem'#10'MenuItem30'#6'Action'#7#12'AcTextVertCW'#9'AutoCheck'#9#0#0#9'TM' - +'enuItem'#10'MenuItem31'#6'Action'#7#13'AcTextVertCCW'#9'AutoCheck'#9#0#0#9 - +'TMenuItem'#10'MenuItem32'#6'Action'#7#13'AcTextStacked'#9'AutoCheck'#9#0#0#0 - +#9'TMenuItem'#15'MnuHorAlignment'#7'Caption'#6#20'Horizontal alignment'#0#9 - +'TMenuItem'#13'MnuHorDefault'#6'Action'#7#17'AcHorDefaultAlign'#9'AutoCheck' - +#9#0#0#9'TMenuItem'#9'MenuItem6'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuIt' - +'em3'#6'Action'#7#11'AcLeftAlign'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0 - +'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0 - +#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'<<<'#255'555'#255'///'#255')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20 - +#20#255#15#15#15#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'JJJ'#255'DDD'#255'>>>'#255'888' - +#255'222'#255',,,'#255'&&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17 - +#255#12#12#12#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'XXX' - ,#255'RRR'#255'LLL'#255'FFF'#255'@@@'#255':::'#255'444'#255'...'#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'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III' - +#255'CCC'#255'==='#255'777'#255'111'#255'+++'#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'ooo'#255'kkk'#255'fff'#255'aaa'#255'\' - +'\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE'#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'vvv'#255 - +'ttt'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN' - +#255'HHH'#255'BBB'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 + +#255#255#0#255#255#255#0#0#0#0#9'TMenuItem'#9'mnuFormat'#7'Caption'#6#6'Form' + +'at'#0#9'TMenuItem'#7'MnuFOnt'#6'Action'#7#6'AcFont'#11'Bitmap.Data'#10':'#4 + +#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0 + +#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 @@ -411,45 +320,89 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#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#0#9'TMenuItem'#9'MenuItem' - +'4'#6'Action'#7#16'AcHorCenterAlign'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0 - +#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0 - +#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#206'h8'#174 + ,#218#143']'#254#219#144'`'#255#215#131'P'#237#196'P+'#141#189'B#'#16#188'?"*' + +#195'M+'#162#208'qB'#234#214'~Q'#255#213'|M'#255#198'U1'#189#182'9'#29'1'#255 + +#255#255#0#255#255#255#0#255#255#255#0#202'\/'#10#203'_0D'#225#164'u'#255#218 + +#140'X'#236#198'R,='#255#255#255#0#255#255#255#0#191'E$'#19#195'H'''#127#220 + +#150'k'#255#219#143'`'#255#189'?!T'#182'8'#30#2#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#203']0'#1#211't?'#155#226#169'|'#255#204'f7'#153 + +#255#255#255#0#255#255#255#0#255#255#255#0#204'c7'#177#223#160'w'#255#218#137 + +'Z'#255#187'>""'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#204'c2'#21#219#147'^'#234#226#167'y'#255#216#131'J' + +#211#207'j:'#178#206'h9'#181#213'zE'#216#227#168#129#255#217#134'V'#249#190 + +'A#'#27#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#207'j6\'#223#157'h'#246#218#139'R'#209#203'_1N' + +#199'Y.*'#205'g7'#160#225#166'z'#255#216#134'S'#242#191'F%'#13#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#208'j5'#3#215#128'B'#170#223#159'j'#247#205'f4f'#201']/'#10#204'a' + +'3'#136#225#166'y'#255#213'zD'#210#194'J'''#6#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#209'q8"'#222#155'c'#226#220#150'^'#223#207'i5T'#207'i5'#128#226#169'|' + +#255#209'l:'#165#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#212'y' + +#152#203'_0'#8#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#215#131'>' + +'S'#226#167'l'#222#233#188#145#255#231#186#143#255#231#183#139#255#226#164'q' + +#251#214'~B'#182#203'\/'#10#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#216#135'@@' + +#216#139'C'#133#218#142'I'#148#217#137'C'#143#216#132'@'#144#216#132'A'#154 + +#211's:'#138#204'b2'#13#201'[.'#1#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'555k///'#255')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20 - +#20#255#15#15#15#255#11#11#11#255#7#7#7'k'#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'2' - +'22'#255',,,'#255'&&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12 - +#12#12#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'RRRkLLL'#255'FFF'#255'@@@'#255':::'#255'444'#255'...'#255'((('#255'##' - +'#'#255#29#29#29'k'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#9'TMenuItem'#15'MnuText' + +'Rotation'#7'Caption'#6#13'Text rotation'#0#9'TMenuItem'#10'MenuItem29'#6'Ac' + +'tion'#7#11'AcTextHoriz'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem30'#6'Ac' + +'tion'#7#12'AcTextVertCW'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem31'#6'A' + +'ction'#7#13'AcTextVertCCW'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem32'#6 + +'Action'#7#13'AcTextStacked'#9'AutoCheck'#9#0#0#0#9'TMenuItem'#15'MnuHorAlig' + +'nment'#7'Caption'#6#20'Horizontal alignment'#0#9'TMenuItem'#13'MnuHorDefaul' + +'t'#6'Action'#7#17'AcHorDefaultAlign'#9'AutoCheck'#9#0#0#9'TMenuItem'#9'Menu' + +'Item6'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#9'MenuItem3'#6'Action'#7#11'AcLef' + +'tAlign'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0 + +#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255 - +'==='#255'777'#255'111'#255'+++'#255'%%%'#255#255#255#255#0#255#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#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'<<<'#255'555'#255'///'#255 + +')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20#20#255#15#15#15#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'kkkkfff'#255'aaa'#255'\\\'#255'WWW' - +#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999k'#255#255#255#0#255#255#255#0 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,,'#255'&' + +'&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#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'XXX'#255'RRR'#255'LLL'#255 + +'FFF'#255'@@@'#255':::'#255'444'#255'...'#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'vvv'#255'ttt'#255'ppp'#255'lll' - +#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#255 - ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777' + +#255'111'#255'+++'#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'ooo'#255'kkk'#255'fff'#255'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KK' + +'K'#255'EEE'#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'vvv'#255'ttt'#255'ppp'#255'lll'#255'h' + +'hh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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 @@ -458,8 +411,9 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#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#0#9'TMenuItem'#9'MenuItem5'#6'Action'#7#12'Ac' - +'RightAlign'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#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#0#0#9'TMenuItem'#9'MenuItem4'#6'Action'#7#16'AcHorC' + +'enterAlign'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0 +#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0 +'d'#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 @@ -467,36 +421,82 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20#20#255 - +#15#15#15#255#11#11#11#255#7#7#7#255#3#3#3#255#255#255#255#0#255#255#255#0 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'555k///' + +#255')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20#20#255#15#15#15#255#11 + +#11#11#255#7#7#7'k'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,' - +','#255'&&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#255 + +#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,,'#255'&&&'#255 + +' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#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'RRRkLLL'#255'FFF' + +#255'@@@'#255':::'#255'444'#255'...'#255'((('#255'###'#255#29#29#29'k'#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'ddd'#255 + +'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777'#255'111' + +#255'+++'#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'kkkkfff'#255'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE' + +#255'???'#255'999k'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'vvv'#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255 + ,'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'FFF'#255'@@@'#255':::'#255'444'#255'...'#255'(((' - +#255'###'#255#29#29#29#255#24#24#24#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'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'C' - +'CC'#255'==='#255'777'#255'111'#255'+++'#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#0#9 + +'TMenuItem'#9'MenuItem5'#6'Action'#7#12'AcRightAlign'#9'AutoCheck'#9#11'Bitm' + +'ap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0 + +#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999'#255'333' + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0')))'#255'$$$' + +#255#30#30#30#255#25#25#25#255#20#20#20#255#15#15#15#255#11#11#11#255#7#7#7 + +#255#3#3#3#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'JJJ' + +#255'DDD'#255'>>>'#255'888'#255'222'#255',,,'#255'&&&'#255' '#255#27#27#27 + +#255#22#22#22#255#17#17#17#255#12#12#12#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'FFF'#255 + +'@@@'#255':::'#255'444'#255'...'#255'((('#255'###'#255#29#29#29#255#24#24#24 +#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'vvv'#255'ttt' - +#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255 - +'HHH'#255'BBB'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'ddd'#255'___' + +#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777'#255'111'#255 + +'+++'#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'aaa'#255'\\\'#255'WWW'#255'QQQ' + +#255'KKK'#255'EEE'#255'???'#255'999'#255'333'#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'vvv'#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'cc' + +'c'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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 @@ -505,30 +505,122 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#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#0#0#9'TMenuItem'#16'MnuVe' - +'rtAlignment'#7'Caption'#6#18'Vertical alignment'#0#9'TMenuItem'#14'MnuVertD' - +'efault'#6'Action'#7#15'AcVAlignDefault'#9'AutoCheck'#9#0#0#9'TMenuItem'#9'M' - +'enuItem7'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#10'MnuVertTop'#6'Action'#7#11 - +'AcVAlignTop'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0 - +#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0 - +#0'd'#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#0#0#0#9'TMenuItem'#16'MnuVertAlignment'#7'Caption'#6#18'Verti' + +'cal alignment'#0#9'TMenuItem'#14'MnuVertDefault'#6'Action'#7#15'AcVAlignDef' + +'ault'#9'AutoCheck'#9#0#0#9'TMenuItem'#9'MenuItem7'#7'Caption'#6#1'-'#0#0#9 + +'TMenuItem'#10'MnuVertTop'#6'Action'#7#11'AcVAlignTop'#9'AutoCheck'#9#11'Bit' + +'map.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0 + +#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#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'444'#0'...'#0'((' - +'('#0'###'#0#29#29#29#0#24#24#24#0#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0#3 - +#3#3#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#0#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'444'#0'...'#0'((('#0'###'#0#29#29#29#0#24#24#24#0 + +#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0#3#3#3#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'III'#0'CCC'#0'==='#0'777'#0'111'#0'+++'#0'%%%'#0 + +#31#31#31#0#26#26#26#0#21#21#21#0#17#17#17#0#12#12#12#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0 + +'333'#0'---'#0''''''''#0'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0'HHH'#0 + +'BBB'#0'<<<'#0'666'#0'000'#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#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'nnn'#255'jjj'#255'eee'#255'```'#255'[[['#255'VVV' + +#255'PPP'#255'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#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'uuu'#255'sss'#255'ooo'#255'kkk'#255'g' + +'gg'#255'bbb'#255']]]'#255'XXX'#255'RRR'#255'MMM'#255'GGG'#255'AAA'#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#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#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#0#9'TMenuItem'#15'MnuVertCentered'#6'Action'#7#14 + +'AcVAlignCenter'#9'AutoCheck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0 + +#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0 + +#0#0'd'#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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'444'#0'...'#0 + +'((('#0'###'#0#29#29#29#0#24#24#24#0#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0 + +#3#3#3#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'III'#0'CCC'#0 +'==='#0'777'#0'111'#0'+++'#0'%%%'#0#31#31#31#0#26#26#26#0#21#21#21#0#17#17#17 +#0#12#12#12#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'WWW'#0'QQ' - +'Q'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0'---'#0''''''''#0'"""'#0#28#28#28#0 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'WWW'#255 + +'QQQ'#255'KKK'#255'EEE'#255'???'#255'999'#255'333'#255'---'#255''''''''#255 + +'"""'#255#28#28#28#255#23#23#23#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'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#255 + +'<<<'#255'666'#255'000'#255'***'#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'nnn'#0'jjj'#0'eee'#0'```'#0'[[['#0'VVV'#0'PPP'#0'JJ' + +'J'#0'DDD'#0'>>>'#0'888'#0'222'#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'uuu'#0'sss'#0'ooo'#0'kkk'#0'ggg'#0'bbb'#0']]]'#0'XXX'#0'RRR'#0 + +'MMM'#0'GGG'#0'AAA'#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#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#0#9'TMenuItem'#13'MnuVert' + +'Bottom'#6'Action'#7#14'AcVAlignBottom'#9'AutoCheck'#9#11'Bitmap.Data'#10':' + +#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' ' + +#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0';;;'#255'444'#255'...'#255'((('#255'###'#255#29#29#29#255#24#24#24#255 + +#19#19#19#255#15#15#15#255#11#11#11#255#7#7#7#255#3#3#3#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'III'#255'CCC'#255'==='#255'777'#255'1' + +'11'#255'+++'#255'%%%'#255#31#31#31#255#26#26#26#255#21#21#21#255#17#17#17 + +#255#12#12#12#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'WWW'#0 + +'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0'---'#0''''''''#0'"""'#0#28#28#28#0 +#23#23#23#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 @@ -537,52 +629,6 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'nnn'#255'jjj'#255'e' - +'ee'#255'```'#255'[[['#255'VVV'#255'PPP'#255'JJJ'#255'DDD'#255'>>>'#255'888' - +#255'222'#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'uuu'#255 - +'sss'#255'ooo'#255'kkk'#255'ggg'#255'bbb'#255']]]'#255'XXX'#255'RRR'#255'MMM' - +#255'GGG'#255'AAA'#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#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#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#0#9'TMenuItem'#15'MnuVert' - +'Centered'#6'Action'#7#14'AcVAlignCenter'#9'AutoCheck'#9#11'Bitmap.Data'#10 - +':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0 - +' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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'444'#0'...'#0'((('#0'###'#0#29#29#29#0#24#24#24#0#19#19#19#0#15 - +#15#15#0#11#11#11#0#7#7#7#0#3#3#3#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'III'#0'CCC'#0'==='#0'777'#0'111'#0'+++'#0'%%%'#0#31#31#31#0#26 - +#26#26#0#21#21#21#0#17#17#17#0#12#12#12#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999'#255'3' - +'33'#255'---'#255''''''''#255'"""'#255#28#28#28#255#23#23#23#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'ccc'#255'^^^'#255'YYY'#255'SSS' - +#255'NNN'#255'HHH'#255'BBB'#255'<<<'#255'666'#255'000'#255'***'#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'nnn'#0'jjj'#0'eee'#0 +'```'#0'[[['#0'VVV'#0'PPP'#0'JJJ'#0'DDD'#0'>>>'#0'888'#0'222'#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 @@ -595,37 +641,626 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#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#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#9'TMenuItem'#13'MnuVertBottom'#6'Action'#7#14'AcVAlignBottom'#9'AutoChe' - +'ck'#9#11'Bitmap.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0 - +#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#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 + +#0#0#0#9'TMenuItem'#11'MnuWordwrap'#6'Action'#7#10'AcWordwrap'#9'AutoCheck'#9 + +#0#0#9'TMenuItem'#15'MnuNumberFormat'#7'Caption'#6#13'Number format'#0#9'TMe' + +'nuItem'#10'MenuItem33'#6'Action'#7#11'AcNFGeneral'#9'AutoCheck'#9#0#0#9'TMe' + +'nuItem'#10'MenuItem34'#6'Action'#7#9'AcNFFixed'#9'AutoCheck'#9#0#0#9'TMenuI' + +'tem'#10'MenuItem35'#6'Action'#7#11'AcNFFixedTh'#9'AutoCheck'#9#0#0#9'TMenuI' + +'tem'#10'MenuItem36'#6'Action'#7#14'AcNFPercentage'#9'AutoCheck'#9#0#0#9'TMe' + +'nuItem'#10'MenuItem37'#6'Action'#7#7'AcNFExp'#9'AutoCheck'#9#0#0#9'TMenuIte' + +'m'#10'MenuItem38'#6'Action'#7#7'AcNFSci'#9'AutoCheck'#9#0#0#0#0#0#10'TImage' + +'List'#10'ImageList1'#4'left'#3#176#0#3'top'#2'x'#6'Bitmap'#10#14#136#0#0'Li' + +'"'#0#0#0#16#0#0#0#16#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#234#195#157#255#230#191#150#255#228#187 + +#146#255#228#187#146#255#209#160'l'#245#208#158'm'#246#204#150'_'#218#196'yB' + +'~'#178'g<'#9#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#229#190#150#255#255#255#254#255#253#243 + +#233#255#253#243#234#255#252#242#232#255#250#239#227#255#250#242#231#255#234 + +#187#136#255#207#133'U'#179#180'i='#12#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#147#255#254#245#237 + +#255#252#222#197#255#251#224#199#255#249#220#194#255#245#211#180#255#254#249 + +#243#255#250#226#196#255#236#193#147#255#195'}H'#147#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#228#187#146 + +#255#254#246#240#255#252#226#205#255#252#227#205#255#250#223#200#255#247#217 + +#188#255#245#233#221#255#250#243#235#255#251#248#243#255#202#131'S'#254#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#228#187#146#255#254#247#241#255#252#229#210#255#252#228#209#255#251 + +#226#204#255#249#221#196#255#246#215#187#255#243#209#175#255#250#239#228#255 + +#204#135'X'#254'4'#180#217#208'^'#194#225#250'`'#195#226#250'`'#195#226#250 + +'`'#195#226#250'_'#195#226#250#228#187#145#255#255#247#242#255#254#231#213 + +#255#254#231#213#255#253#229#209#255#250#224#202#255#249#222#196#255#247#217 + +#188#255#253#242#231#255#204#135'W'#254'6'#179#218#248#253#254#254#255#254 + +#255#255#255#254#254#255#255#253#254#255#255#254#255#255#255#228#186#145#255 + +#255#247#240#255#255#231#213#255#253#231#214#255#253#230#212#255#252#228#208 + +#255#251#227#203#255#250#220#194#255#254#243#232#255#204#134'V'#254'5'#175 + +#218#240#247#252#254#255#142#228#248#255#145#222#245#255#159#224#245#255#172 + +#225#246#255#202#132'R'#255#255#247#241#255#255#233#217#255#255#234#219#255 + +#255#233#217#255#255#231#215#255#255#229#210#255#255#226#203#255#255#247#241 + +#255#203#133'U'#254'6'#170#218#242#241#250#253#255#148#222#245#255#147#220 + +#244#255'd'#188#233#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148 + +#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148 + +#218#255#251#246#239#255#204#131'U'#254'5'#171#218#250#232#246#251#255'p'#188 + +#231#255'U'#170#226#255'M'#165#224#255#145#201#235#255#250#243#239#255#253 + +#254#253#255#255#253#252#255#255#253#252#255#254#253#252#255#254#252#251#255 + +#254#254#253#255'5'#148#218#255#239#242#232#255#206#129'V'#255'7'#166#218#250 + +#254#255#255#255#248#253#255#255#246#253#255#255#245#252#255#255#243#252#254 + +#255#154#228#244#255#154#230#247#255#155#230#246#255#157#229#245#255#158#229 + +#245#255#159#229#244#255#218#243#248#255'5'#148#218#255#253#244#238#255#202 + +#128'T'#249'6'#161#218#249#246#252#254#255#148#229#248#255#147#229#248#255 + +#147#229#248#255#145#229#248#255#147#219#233#255#147#215#227#255#147#210#220 + +#255#144#206#215#255#140#200#207#255#134#193#198#255#201#216#214#255'5'#148 + +#218#255#197'tD'#232#202#127'S'#241'6'#154#218#248#242#250#253#255#148#230 + +#248#255#146#229#248#255#144#229#248#255#139#227#248#255#134#226#247#255#127 + +#225#247#255'w'#222#246#255'l'#220#246#255'^'#217#244#255'O'#213#243#255#204 + +#242#251#255'5'#148#218#255#255#255#255#0#255#255#255#0'5'#148#218#247#239 + +#250#254#255#147#229#248#255#143#228#248#255#137#227#248#255#130#225#247#255 + +'z'#223#247#255'q'#222#246#255'g'#219#245#255'['#216#244#255'M'#212#243#255 + +'@'#209#242#255#202#242#251#255'5'#148#218#255#255#255#255#0#255#255#255#0'3' + +#142#217#251#220#240#250#255#152#225#246#255#149#224#246#255#146#223#246#255 + +#142#222#245#255#137#220#245#255#133#218#244#255#128#217#244#255'z'#215#243 + +#255't'#213#243#255'p'#211#242#255#194#234#248#255'5'#148#218#255#255#255#255 + +#0#255#255#255#0','#134#216#0'-'#136#216#247'-'#135#216#247'-'#136#216#247'-' + +#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-' + ,#136#216#247'-'#136#216#247'-'#135#216#247'-'#136#216#247','#134#216#0#255 + +#255#255#0#255#255#255#0#188'k6q'#188'k6'#144#188'k6'#204#188'k6'#238#188'k6' + +#250#187'k6'#254#187'k6'#255#187'j6'#255#187'j6'#255#188'l9'#255#189'n;'#255 + +#187'm:'#255#187'k8'#239#187'p>'#203#182'i5T'#255#255#255#0#188'k6'#155#246 + +#224#209#255#247#224#209#255#254#251#248#255#254#251#247#255#253#249#246#255 + +#252#245#240#255#250#240#234#255#251#242#237#255#253#249#246#255#253#250#247 + +#255#251#241#235#255#248#233#223#254#236#208#189#251#201#137'^'#236#181'i5c' + +#188'k6'#216#246#223#209#255#233#170#128#255#254#250#246#255#253#250#246#255 + +#200#140'd'#255#251#243#238#255#251#241#234#255#252#246#242#255#254#251#248 + +#255#252#246#241#255#249#236#226#255#248#231#219#255#238#208#186#255#236#208 + +#189#255#187'p>'#248#188'k6'#240#246#223#208#255#232#168'~'#255#252#246#241 + +#255#252#246#241#255#200#140'd'#255#250#241#233#255#251#244#238#255#253#250 + +#247#255#253#249#246#255#250#240#232#255#248#232#221#255#247#230#219#255#225 + +#163'z'#255#239#213#195#255#183'i5'#254#188'k6'#250#245#221#204#255#231#168 + +'~'#255#250#240#232#255#250#240#232#255#201#141'f'#255#250#240#233#255#253 + +#248#243#255#254#250#248#255#252#244#239#255#249#233#223#255#247#231#219#255 + +#247#229#217#255#224#162'x'#255#231#194#169#255#182'h5'#255#187'k6'#254#244 + +#220#201#255#231#167'}'#255#249#236#225#255#249#236#225#255#249#237#227#255 + +#252#244#238#255#253#250#247#255#253#247#243#255#250#237#229#255#247#231#219 + +#255#247#229#217#255#246#229#216#255#222#160'w'#255#228#190#164#255#180'g4' + +#255#187'k6'#255#244#217#199#255#230#166'}'#255#200#140'd'#255#201#141'e'#255 + +#201#142'g'#255#203#146'l'#255#203#146'm'#255#202#144'i'#255#200#140'e'#255 + +#200#140'd'#255#200#140'd'#255#200#140'd'#255#218#156't'#255#225#186#159#255 + +#179'f4'#255#187'j6'#255#242#216#197#255#227#164'{'#255#227#163'z'#255#227 + +#164'z'#255#226#164'{'#255#226#163'{'#255#225#163'{'#255#225#162'y'#255#223 + +#160'w'#255#222#159'v'#255#221#158't'#255#219#156'r'#255#220#157't'#255#221 + +#181#154#255#177'e4'#255#187'j6'#255#242#213#194#255#227#163'z'#255#227#163 + +'z'#255#226#163'{'#255#226#163'{'#255#226#164'{'#255#225#162'y'#255#224#161 + +'x'#255#222#160'w'#255#222#158'u'#255#220#157't'#255#218#155's'#255#217#155 + +'s'#255#218#176#149#255#175'd3'#255#187'j6'#255#240#210#190#255#226#163'z' + +#255#226#163'z'#255#225#163'z'#255#226#163'{'#255#225#163'{'#255#224#161'x' + +#255#222#159'w'#255#221#159'v'#255#220#157't'#255#217#155'r'#255#216#153'q' + +#255#214#153'p'#255#213#171#142#255#173'c3'#255#186'j6'#255#239#208#187#255 + +#226#162'z'#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 + +#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251 + +#248#255#254#251#248#255#211#150'm'#255#210#167#138#255#171'b2'#255#187'k8' + +#255#239#206#184#255#225#162'y'#255#254#250#247#255'b'#192#136#255'b'#192#136 + +#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136 + +#255'b'#192#136#255#253#249#246#255#207#147'j'#255#206#163#132#255#170'a2' + +#255#187'l8'#255#238#204#182#255#225#162'z'#255#254#250#247#255#191#220#194 + +#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220 + +#194#255#191#220#194#255#191#220#194#255#253#249#246#255#205#144'h'#255#204 + +#158#129#255#168'a2'#255#186'k7'#254#237#202#179#255#224#162'z'#255#254#250 + +#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192 + +#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#202#141 + +'e'#255#201#155'|'#255#167'`1'#254#186'j5'#222#235#198#173#255#234#197#173 + +#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251 + +#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254 + +#251#248#255#200#154'|'#255#199#152'y'#255#167'`1'#237#186'j6'#0#185'i5'#181 + +#184'i5'#238#183'h5'#255#181'h5'#255#180'g4'#255#178'f4'#255#176'e3'#255#174 + +'d3'#255#172'c2'#255#170'b2'#255#169'a2'#255#168'`1'#255#167'`1'#254#166'`1' + +#241#168'a1'#196#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'm'#156#212#137'j'#154#210 + +#251'f'#151#207#238#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'p'#158#214#219'm'#156#212#255#133#177#218#255'Z'#145 + +#185#255'`'#147#203#234#255#255#255#0#255#255#255#0#128#128#128#255'~~~'#255 + +'|||'#255'zzz'#255'www'#255'uuu'#255'rrr'#255'q'#158#212#255'o'#158#214#255 + +#135#178#220#255#171#211#232#255#169#208#230#255'X'#144#184#255'Y'#142#198 + +#234#255#255#255#0#255#255#255#0'}}}'#255#153#153#153#255#153#153#153#255#154 + +#154#154#255#154#154#154#255#155#155#155#255#155#155#155#255'o'#157#211#255 + +#170#209#231#255#171#209#231#255#152#199#225#255#145#194#222#255'V'#143#183 + +#255'R'#137#193#234#255#255#255#0#255#255#255#0'zzz'#255#153#153#153#255'R' + ,#145'Y'#255#153#154#153#255#155#155#155#255#156#156#156#255#156#156#156#255 + +'l'#154#208#255#167#206#229#255#143#193#223#255#137#189#220#255#139#189#220 + +#255'S'#141#182#255'K'#132#188#234#255#255#255#0#255#255#255#0'www'#255#154 + +#154#154#255'='#138'E'#255'I'#138'O'#255#156#156#156#255#157#157#157#255#157 + +#157#157#255'f'#150#204#255#162#203#227#255#137#189#220#255#131#185#218#255 + +#132#185#218#255'Q'#139#181#255'C~'#182#234'D'#148'M'#255'B'#145'K'#255'?' + +#141'H'#255'='#137'E'#255']'#164'e'#255'Z'#160'a'#255'E'#131'K'#255#158#158 + +#158#255#158#158#158#255'`'#146#201#255#158#199#226#255#131#184#218#255'}' + +#180#215#255'~'#179#215#255'O'#137#180#255';y'#177#234'A'#144'J'#255#148#210 + +#159#255#145#208#154#255#141#205#150#255#137#203#146#255#132#200#141#255'Q' + +#152'X'#255'A|F'#255#159#159#159#255'Z'#142#196#255#152#195#224#255'|'#179 + +#215#255't'#175#214#255'^'#196#237#255'K'#136#179#255'4s'#171#234'>'#139'F' + +#255#143#206#153#255'}'#198#135#255'x'#195#129#255's'#192'|'#255't'#192'|' + +#255'y'#194#129#255'I'#144'O'#255'T'#127'W'#255'T'#137#191#255#148#191#221 + +#255'u'#173#212#255'c'#184#225#255'K'#212#255#255'B'#139#184#255',n'#166#234 + +';'#135'B'#255#137#203#146#255#132#200#141#255#128#198#136#255'{'#195#131#255 + +'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161#255'L'#132#186#255#141#187 + +#219#255'n'#168#209#255'f'#166#209#255'_'#180#223#255'G'#133#177#255'%i'#161 + +#234'7'#130'>'#255'4~;'#255'1y7'#255'.u4'#255'I'#145'P'#255'F'#143'L'#255'9s' + +'='#255#161#161#161#255#162#162#162#255'E~'#180#255#136#183#217#255'g'#163 + +#207#255'a'#158#204#255'c'#159#204#255'E'#131#177#255#31'd'#156#234#255#255 + +#255#0#255#255#255#0'```'#255#160#160#160#255'=vA'#255'6q9'#255#162#162#162 + +#255#162#162#162#255#163#163#163#255'=y'#176#255#130#179#215#255'b'#159#204 + +#255'Z'#154#201#255'^'#155#202#255'C'#129#175#255#25'`'#152#234#255#255#255#0 + +#255#255#255#0'\\\'#255#161#161#161#255'~'#173#255#12'W'#143#234#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#29'c'#155#22#25'`'#152'9'#20']'#149'b'#16'Z'#146#136#13'X'#144#164#19'\'#146 + +#252#12'W'#143#237#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'/'#186#228#9'O'#170#219#234'P'#147#202#253'N'#144#200#255'/'#157 + +#210#223'5'#164#222#25#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'P'#168#217#255'j'#165#216#255#201#225#247#255#203#227#248#255'B' + +#149#202#255'1'#130#194#174#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +'/'#186#228#255#167#212#244#255#197#225#248#255#204#227#249#255#204#227#249 + +#255#189#219#247#255'O'#144#201#253#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186 + +#228#255#195#237#248#255#168#226#248#255'l'#174#221#255#165#207#244#255#165 + +#207#244#255#189#219#247#255'S'#147#203#247#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'/'#186#228 + +#255#195#237#248#255#179#244#252#255'h'#217#245#255'o'#207#243#255'Y'#157#208 + +#255's'#171#221#255'O'#145#201#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'/'#186#228#255#195 + +#237#248#255#179#244#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']' + +#180#230#255';'#143#217#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'/'#186#228#255#195#237#248 + +#255#179#244#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230 + +#255';'#143#217#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''''#144#191#255#195#237#248#255 + +#179#244#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255 + +';'#143#217#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'&'#137#185#255#190#230#242#255#179#244 + ,#252#255'`'#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143 + +#217#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' c'#152' &'#137#185#255#176#203#225#255'g'#169#200#255'`' + +#220#245#255'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#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#30'm'#147#255#200#225#242#255#209#231#250#255'4}'#181 + +#255'1'#153#195#255'm'#196#220#255'J'#156#207#255'4'#131#199#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#30'm'#147#255#203#227#249#255'a'#170#236#255'@'#152 + +#232#255#21'g'#194#255#22'`'#170#255',v'#180#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#18'BY'#255']'#156#212#255#166#207#245#255#169#207 + +#236#255'H'#139#193#255',v'#180#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#19'@X'#255#21'B^'#255'%i'#156#255',v'#180#255';'#139 + +#186#173#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0';;;'#255'444'#255'...'#255'((('#255'###' - +#255#29#29#29#255#24#24#24#255#19#19#19#255#15#15#15#255#11#11#11#255#7#7#7 - +#255#3#3#3#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'III' - +#255'CCC'#255'==='#255'777'#255'111'#255'+++'#255'%%%'#255#31#31#31#255#26#26 - +#26#255#21#21#21#255#17#17#17#255#12#12#12#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'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0 - +'---'#0''''''''#0'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'vvv'#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'ccc' + +#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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'ooo'#255'kkk'#255'fff'#255'aaa'#255'\' + +'\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE'#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'ddd'#255 + +'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777'#255'111' + +#255'+++'#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 + +'XXX'#255'RRR'#255'LLL'#255'FFF'#255'@@@'#255':::'#255'444'#255'...'#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'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0'HHH'#0'BBB'#0 - +'<<<'#0'666'#0'000'#0'***'#0'$$$'#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,' + +','#255'&&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#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'555'#255'/' + +'//'#255')))'#255'$$$'#255#30#30#30#255#25#25#25#255#20#20#20#255#15#15#15 + +#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#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'vvv'#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'cc' + +'c'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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'kkkkfff'#255'aaa' + +#255'\\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999k'#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'ddd'#255'___'#255'Z' + +'ZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777'#255'111'#255'+++' + +#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'RRRkLLL'#255'FFF'#255'@@@'#255':::'#255'444'#255'...'#255'((('#255'##' + +'#'#255#29#29#29'k'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,,'#255'&&&'#255 + +' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#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'555k///'#255')))' + +#255'$$$'#255#30#30#30#255#25#25#25#255#20#20#20#255#15#15#15#255#11#11#11 + +#255#7#7#7'k'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0'vvv'#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY' + +#255'SSS'#255'NNN'#255'HHH'#255'BBB'#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'aaa'#255'\\\' + +#255'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999'#255'333'#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'ddd'#255'___'#255'ZZZ'#255 + ,'TTT'#255'OOO'#255'III'#255'CCC'#255'==='#255'777'#255'111'#255'+++'#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'FFF'#255'@@@'#255':::'#255'444'#255'...'#255'((' + +'('#255'###'#255#29#29#29#255#24#24#24#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'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#255',,,' + +#255'&&&'#255' '#255#27#27#27#255#22#22#22#255#17#17#17#255#12#12#12#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#30#30#30#255#25#25#25#255#20#20#20 + +#255#15#15#15#255#11#11#11#255#7#7#7#255#3#3#3#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'www`www'#207'ttt'#255'ppp'#239'kk' + +'k'#127'eee'#175'```'#239'YYY'#159'SSS'#16#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0'sss'#127'iii'#255'jjj'#191#255#255#255#0#255#255#255#0'XXX'#159'TTT' + +#255'JJJ'#207#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'mmm'#127'eee'#255'ccc'#191 + +#255#255#255#0#255#255#255#0'OOO'#127'NNN'#255'AAA'#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'ggg'#127'___'#255'[[['#191#255#255#255#0'MMM'#16'FFF'#223'FFF' + +#255'888'#159#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'```'#127'YYY'#255'SSS'#223 + +'LLL'#127'EEE'#207'DDD'#255'666'#191#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'XXX'#127'SSS'#255'JJJ'#191#255#255#255#0#255#255#255#0'444'#159'8' + +'88'#255'&&&'#207#31#31#31#16#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'OOO'#127'MMM'#255'AAA' + +#191#255#255#255#0#255#255#255#0'+++'#16'&&&'#255'---'#255#23#23#23'p'#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0'FFF'#127'FFF'#255'888'#191#255#255#255#0#255#255#255#0 + +#255#255#255#0#28#28#28#255')))'#255#16#16#16#127#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'===' + +#127'@@@'#255'///'#207#255#255#255#0#255#255#255#0#27#27#27'p$$$'#255#15#15 + +#15#239#10#10#10' '#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'<<<`444'#175'---'#191'&&&'#191#31#31#31#143#25 + +#25#25#143#19#19#19#191#13#13#13#143#9#9#9' '#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'kkk'#128'eee'#240'```'#255 + +'YYY'#240'SSS'#192#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0'^^^'#224'YYY'#255'QQQ`'#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0'\\\0WWW'#255'OOO'#240#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'TTT'#144'RRR' + +#255'FFF'#160#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'LLL'#224'III'#255'===P'#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'JJJ0EEE'#255'<<<'#240#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'AAA'#144 + +'DDD'#255'222'#160#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'888'#224'888'#255'***P' + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0'666@555'#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'444'#128'---' + +#192'&&&'#192#31#31#31#192#25#25#25#176#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'ttt'#17'ppp'#153'kk' + +'kfeeew```'#153'YYY'#187#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'nnn'#238'jjjw'#255#255#255#0#255#255#255#0'XXXwQQQ'#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'mmmffff'#255'ccc'#136#255 + ,#255#255#0#255#255#255#0#255#255#255#0'HHH'#187#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'gggD```'#255'[[['#255'TTT'#153'MMM3'#255#255#255#0 + +'???D'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'YYY' + +#187'UUU'#255'QQQ'#255'HHH'#255'==='#204'666D'#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'wwwuwww'#255'www' + +#255'www'#255'www'#255'www'#255'___'#255'<<<'#255#24#24#24#255#0#0#0#255#0#0 + +#0#255#0#0#0#255#0#0#0#255#0#0#0't'#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'OOO'#17#255#255#255#0#255#255#255#0#255#255#255 + +#0'222f+++'#221'222'#255#30#30#30#204#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'FFF' + +'f???w'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#28#28#28#255 + +#22#22#22#221#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'===f777'#255'///'#17#255#255 + +#255#0#255#255#255#0#255#255#255#0#20#20#20#238#15#15#15'w'#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0'444f---'#238'&&&'#204#31#31#31'w'#25#25#25'f'#19#19#19 + +'w'#13#13#13#136#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'www`www'#239'www'#255'u' + +'uu'#143#255#255#255#0#255#255#255#0#255#255#255#0'aaa'#175'[[['#255'TTTp' + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'www'#191'ttt'#255#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'YYY'#16'SSS'#207#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +'sss'#191'nnn'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'JJJ'#191#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'mmm'#191'hhh'#255 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'AAA' + +#191#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'ggg'#191'aaa'#255#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'888'#191#255#255#255 + +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'```'#191'YYY'#255#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0'///'#191#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'XXX'#191'QQQ'#255#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0'&&&'#191#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'OOO' + +#143'KKK'#255'AAAP'#255#255#255#0#255#255#255#0#255#255#255#0'$$$@'#30#30#30 + +#143#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'FFF ???'#239'888'#207'111 '#255 + +#255#255#0'###@'#28#28#28#207#22#22#22' '#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'666 ///'#159'((('#191'!!!'#191#27#27#27#143#20#20#20'0'#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0'+++'#255'$$$'#255#30#30#30 + +#255#23#23#23#255#18#18#18#255#12#12#12#255#7#7#7#255#3#3#3#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#216#135'@@'#216#139'C' + +#133#218#142'I'#148#217#137'C'#143#216#132'@'#144#216#132'A'#154#211's:'#138 + +#204'b2'#13#201'[.'#1#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#215#131'>S'#226#167'l'#222#233#188 + +#145#255#231#186#143#255#231#183#139#255#226#164'q'#251#214'~B'#182#203'\/' + +#10#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#214'};'#28#221#150'V'#186#227#169's' + +#242#225#168's'#245#225#164'q'#247#211'w>'#152#203'_0'#8#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#212'y""'#255#255#255#0#255#255#255 + +#0#255#255#255#0#255#255#255#0#202'\/'#10#203'_0D'#225#164'u'#255#218#140'X' + +#236#198'R,='#255#255#255#0#255#255#255#0#191'E$'#19#195'H'''#127#220#150'k' + +#255#219#143'`'#255#189'?!T'#182'8'#30#2#255#255#255#0#255#255#255#0#255#255 + +#255#0#206'h8'#174#218#143']'#254#219#144'`'#255#215#131'P'#237#196'P+'#141 + +#189'B#'#16#188'?"*'#195'M+'#162#208'qB'#234#214'~Q'#255#213'|M'#255#198'U1' + +#189#182'9'#29'1'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'uuu' + ,#255'sss'#255'ooo'#255'kkk'#255'ggg'#255'bbb'#255']]]'#255'XXX'#255'RRR'#255 + +'MMM'#255'GGG'#255'AAA'#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'nnn'#255'jjj'#255'eee'#255'```'#255'[[['#255'VVV'#255'PPP'#255'JJJ' + +#255'DDD'#255'>>>'#255'888'#255'222'#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'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0'HHH'#0'BBB'#0'<<<'#0 + +'666'#0'000'#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0'---'#0''''''''#0 + +'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0'III'#0'CCC'#0'==='#0'777'#0'111'#0'+++'#0'%%%'#0#31#31#31#0#26#26 + +#26#0#21#21#21#0#17#17#17#0#12#12#12#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#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'444'#0'...'#0'((('#0'###'#0#29#29#29#0#24#24#24#0 + +#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0#3#3#3#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'uuu'#0'sss'#0'ooo'#0'kkk'#0'ggg'#0'bbb'#0']]]'#0 + +'XXX'#0'RRR'#0'MMM'#0'GGG'#0'AAA'#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 @@ -634,9 +1269,206 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'uuu'#0'sss'#0'ooo'#0'kkk'#0'ggg'#0'bbb'#0']]]'#0'XXX'#0'RRR'#0'MMM'#0'GGG'#0 - +'AAA'#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#255'<<<'#255'666' + +#255'000'#255'***'#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'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999'#255'333'#255'--' + +'-'#255''''''''#255'"""'#255#28#28#28#255#23#23#23#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'III'#0'CCC'#0'==='#0'777'#0'111'#0'+++'#0 + +'%%%'#0#31#31#31#0#26#26#26#0#21#21#21#0#17#17#17#0#12#12#12#0#255#255#255#0 + ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#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'444'#0'...'#0'((('#0'###'#0 + +#29#29#29#0#24#24#24#0#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0#3#3#3#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'uuu'#0'sss'#0'ooo'#0'kk' + +'k'#0'ggg'#0'bbb'#0']]]'#0'XXX'#0'RRR'#0'MMM'#0'GGG'#0'AAA'#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0'nnn'#0'jjj'#0'eee'#0'```'#0'[[['#0 + +'VVV'#0'PPP'#0'JJJ'#0'DDD'#0'>>>'#0'888'#0'222'#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0'HHH'#0'BBB'#0 + +'<<<'#0'666'#0'000'#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0'---'#0'''''' + +''''#0'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0'III'#255'CCC'#255'==='#255'777'#255'111'#255'+++'#255'%%%'#255 + +#31#31#31#255#26#26#26#255#21#21#21#255#17#17#17#255#12#12#12#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'444'#255'...'#255'(((' + +#255'###'#255#29#29#29#255#24#24#24#255#19#19#19#255#15#15#15#255#11#11#11 + +#255#7#7#7#255#3#3#3#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#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0 + +#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0 + +#13#0#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0 + +#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 + +'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + ,#0#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0 + +#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x' + +#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#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#0 + +#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0 + +#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1 + +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1 + +#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1 + +#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1 + +#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#129#0#0#0#13#0 + +#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0 + +'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#174#1#1 + +#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#176#1#1#1#0 + +#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#179#1#1#1#0#1#1 + +#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#182#1#1#1#0#1#1#1#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#185#1#1#1#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#15#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#188#0#0#0#15#0#0#0'x'#0#0 + +#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15 + +#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#192#1#1#1#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#16#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#196#1#1#1#0#1#1#1#0#0#0 + +#0#0#0#0#0#0#0#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#0#0#0#0#0 + +#128#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#199#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0 + +#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#204#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#137#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#217#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#19#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#172#1#1#1#21#1#1#1#164#1 + +#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1 + +#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0#13#0 + +#0#0'g'#0#0#0#13#0#0#0'g'#1#1#1#13#1#1#1#172#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0 + ,'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#174#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0 + +#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#176#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0 + +#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#179#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0 + +#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0 + +#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#182#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#185#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0 + +'x'#0#0#0#15#0#0#0'x'#1#1#1#15#1#1#1#188#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x' + +#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#192#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0 + +#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#196#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#199#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0 + +#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#204#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0 + +#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0 + +#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#217#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1 + +#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164 + +#1#1#1#21#1#1#1#164#1#1#1#21#0#0#0#230#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164 + +#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0 + +#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0 + +#0#0'g'#1#1#1#13#1#1#1#129#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#1#1#1#0#1#1#1#174#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0 + +#1#1#1#0#1#1#1#176#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#179#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0 + +#1#1#1#182#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1 + +#1#185#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0 + +#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#1#1#1 + +#15#1#1#1#188#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0 + +#1#1#1#192#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0 + +#1#1#1#196#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0 + +#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1 + +#1#199#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1 + +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1 + +#1#204#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0 + +#217#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1 + +#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1 + +#1#1#21#0#0#0#172#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 @@ -644,690 +1476,139 @@ LazarusResources.Add('TForm1','FORMDATA',[ ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#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#0#0#9'TMenuItem'#11'MnuWordwrap'#6'Acti' - +'on'#7#10'AcWordwrap'#9'AutoCheck'#9#0#0#9'TMenuItem'#15'MnuNumberFormat'#7 - +'Caption'#6#13'Number format'#0#9'TMenuItem'#10'MenuItem33'#6'Action'#7#11'A' - +'cNFGeneral'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem34'#6'Action'#7#9'Ac' - +'NFFixed'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem35'#6'Action'#7#11'AcNF' - +'FixedTh'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem36'#6'Action'#7#14'AcNF' - +'Percentage'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem37'#6'Action'#7#7'Ac' - +'NFExp'#9'AutoCheck'#9#0#0#9'TMenuItem'#10'MenuItem38'#6'Action'#7#7'AcNFSci' - +#9'AutoCheck'#9#0#0#0#0#0#10'TImageList'#10'ImageList1'#4'left'#3#176#0#3'to' - +'p'#2'x'#6'Bitmap'#10#14#136#0#0'Li"'#0#0#0#16#0#0#0#16#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#234 - +#195#157#255#230#191#150#255#228#187#146#255#228#187#146#255#209#160'l'#245 - +#208#158'm'#246#204#150'_'#218#196'yB~'#178'g<'#9#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#229 - +#190#150#255#255#255#254#255#253#243#233#255#253#243#234#255#252#242#232#255 - +#250#239#227#255#250#242#231#255#234#187#136#255#207#133'U'#179#180'i='#12 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#228#187#147#255#254#245#237#255#252#222#197#255#251#224#199#255 - +#249#220#194#255#245#211#180#255#254#249#243#255#250#226#196#255#236#193#147 - +#255#195'}H'#147#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#228#187#146#255#254#246#240#255#252#226#205#255#252 - +#227#205#255#250#223#200#255#247#217#188#255#245#233#221#255#250#243#235#255 - +#251#248#243#255#202#131'S'#254#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#228#187#146#255#254#247#241#255#252 - +#229#210#255#252#228#209#255#251#226#204#255#249#221#196#255#246#215#187#255 - +#243#209#175#255#250#239#228#255#204#135'X'#254'4'#180#217#208'^'#194#225#250 - +'`'#195#226#250'`'#195#226#250'`'#195#226#250'_'#195#226#250#228#187#145#255 - +#255#247#242#255#254#231#213#255#254#231#213#255#253#229#209#255#250#224#202 - +#255#249#222#196#255#247#217#188#255#253#242#231#255#204#135'W'#254'6'#179 - +#218#248#253#254#254#255#254#255#255#255#254#254#255#255#253#254#255#255#254 - +#255#255#255#228#186#145#255#255#247#240#255#255#231#213#255#253#231#214#255 - +#253#230#212#255#252#228#208#255#251#227#203#255#250#220#194#255#254#243#232 - +#255#204#134'V'#254'5'#175#218#240#247#252#254#255#142#228#248#255#145#222 - +#245#255#159#224#245#255#172#225#246#255#202#132'R'#255#255#247#241#255#255 - +#233#217#255#255#234#219#255#255#233#217#255#255#231#215#255#255#229#210#255 - +#255#226#203#255#255#247#241#255#203#133'U'#254'6'#170#218#242#241#250#253 - +#255#148#222#245#255#147#220#244#255'd'#188#233#255'5'#148#218#255'5'#148#218 - +#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218#255'5'#148#218 - +#255'5'#148#218#255'5'#148#218#255#251#246#239#255#204#131'U'#254'5'#171#218 - +#250#232#246#251#255'p'#188#231#255'U'#170#226#255'M'#165#224#255#145#201#235 - +#255#250#243#239#255#253#254#253#255#255#253#252#255#255#253#252#255#254#253 - +#252#255#254#252#251#255#254#254#253#255'5'#148#218#255#239#242#232#255#206 - +#129'V'#255'7'#166#218#250#254#255#255#255#248#253#255#255#246#253#255#255 - +#245#252#255#255#243#252#254#255#154#228#244#255#154#230#247#255#155#230#246 - +#255#157#229#245#255#158#229#245#255#159#229#244#255#218#243#248#255'5'#148 - +#218#255#253#244#238#255#202#128'T'#249'6'#161#218#249#246#252#254#255#148 - +#229#248#255#147#229#248#255#147#229#248#255#145#229#248#255#147#219#233#255 - +#147#215#227#255#147#210#220#255#144#206#215#255#140#200#207#255#134#193#198 - +#255#201#216#214#255'5'#148#218#255#197'tD'#232#202#127'S'#241'6'#154#218#248 - +#242#250#253#255#148#230#248#255#146#229#248#255#144#229#248#255#139#227#248 - +#255#134#226#247#255#127#225#247#255'w'#222#246#255'l'#220#246#255'^'#217#244 - +#255'O'#213#243#255#204#242#251#255'5'#148#218#255#255#255#255#0#255#255#255 - +#0'5'#148#218#247#239#250#254#255#147#229#248#255#143#228#248#255#137#227#248 - +#255#130#225#247#255'z'#223#247#255'q'#222#246#255'g'#219#245#255'['#216#244 - +#255'M'#212#243#255'@'#209#242#255#202#242#251#255'5'#148#218#255#255#255#255 - +#0#255#255#255#0'3'#142#217#251#220#240#250#255#152#225#246#255#149#224#246 - +#255#146#223#246#255#142#222#245#255#137#220#245#255#133#218#244#255#128#217 - +#244#255'z'#215#243#255't'#213#243#255'p'#211#242#255#194#234#248#255'5'#148 - +#218#255#255#255#255#0#255#255#255#0','#134#216#0'-'#136#216#247'-'#135#216 - +#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#136#216 - +#247'-'#136#216#247'-'#136#216#247'-'#136#216#247'-'#135#216#247'-'#136#216 - ,#247','#134#216#0#255#255#255#0#255#255#255#0#188'k6q'#188'k6'#144#188'k6' - +#204#188'k6'#238#188'k6'#250#187'k6'#254#187'k6'#255#187'j6'#255#187'j6'#255 - +#188'l9'#255#189'n;'#255#187'm:'#255#187'k8'#239#187'p>'#203#182'i5T'#255#255 - +#255#0#188'k6'#155#246#224#209#255#247#224#209#255#254#251#248#255#254#251 - +#247#255#253#249#246#255#252#245#240#255#250#240#234#255#251#242#237#255#253 - +#249#246#255#253#250#247#255#251#241#235#255#248#233#223#254#236#208#189#251 - +#201#137'^'#236#181'i5c'#188'k6'#216#246#223#209#255#233#170#128#255#254#250 - +#246#255#253#250#246#255#200#140'd'#255#251#243#238#255#251#241#234#255#252 - +#246#242#255#254#251#248#255#252#246#241#255#249#236#226#255#248#231#219#255 - +#238#208#186#255#236#208#189#255#187'p>'#248#188'k6'#240#246#223#208#255#232 - +#168'~'#255#252#246#241#255#252#246#241#255#200#140'd'#255#250#241#233#255 - +#251#244#238#255#253#250#247#255#253#249#246#255#250#240#232#255#248#232#221 - +#255#247#230#219#255#225#163'z'#255#239#213#195#255#183'i5'#254#188'k6'#250 - +#245#221#204#255#231#168'~'#255#250#240#232#255#250#240#232#255#201#141'f' - +#255#250#240#233#255#253#248#243#255#254#250#248#255#252#244#239#255#249#233 - +#223#255#247#231#219#255#247#229#217#255#224#162'x'#255#231#194#169#255#182 - +'h5'#255#187'k6'#254#244#220#201#255#231#167'}'#255#249#236#225#255#249#236 - +#225#255#249#237#227#255#252#244#238#255#253#250#247#255#253#247#243#255#250 - +#237#229#255#247#231#219#255#247#229#217#255#246#229#216#255#222#160'w'#255 - +#228#190#164#255#180'g4'#255#187'k6'#255#244#217#199#255#230#166'}'#255#200 - +#140'd'#255#201#141'e'#255#201#142'g'#255#203#146'l'#255#203#146'm'#255#202 - +#144'i'#255#200#140'e'#255#200#140'd'#255#200#140'd'#255#200#140'd'#255#218 - +#156't'#255#225#186#159#255#179'f4'#255#187'j6'#255#242#216#197#255#227#164 - +'{'#255#227#163'z'#255#227#164'z'#255#226#164'{'#255#226#163'{'#255#225#163 - +'{'#255#225#162'y'#255#223#160'w'#255#222#159'v'#255#221#158't'#255#219#156 - +'r'#255#220#157't'#255#221#181#154#255#177'e4'#255#187'j6'#255#242#213#194 - +#255#227#163'z'#255#227#163'z'#255#226#163'{'#255#226#163'{'#255#226#164'{' - +#255#225#162'y'#255#224#161'x'#255#222#160'w'#255#222#158'u'#255#220#157't' - +#255#218#155's'#255#217#155's'#255#218#176#149#255#175'd3'#255#187'j6'#255 - +#240#210#190#255#226#163'z'#255#226#163'z'#255#225#163'z'#255#226#163'{'#255 - +#225#163'{'#255#224#161'x'#255#222#159'w'#255#221#159'v'#255#220#157't'#255 - +#217#155'r'#255#216#153'q'#255#214#153'p'#255#213#171#142#255#173'c3'#255#186 - +'j6'#255#239#208#187#255#226#162'z'#255#254#251#248#255#254#251#248#255#254 - +#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255 - +#254#251#248#255#254#251#248#255#254#251#248#255#211#150'm'#255#210#167#138 - +#255#171'b2'#255#187'k8'#255#239#206#184#255#225#162'y'#255#254#250#247#255 - +'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255 - +'b'#192#136#255'b'#192#136#255'b'#192#136#255#253#249#246#255#207#147'j'#255 - +#206#163#132#255#170'a2'#255#187'l8'#255#238#204#182#255#225#162'z'#255#254 - +#250#247#255#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255 - +#191#220#194#255#191#220#194#255#191#220#194#255#191#220#194#255#253#249#246 - +#255#205#144'h'#255#204#158#129#255#168'a2'#255#186'k7'#254#237#202#179#255 - +#224#162'z'#255#254#250#247#255'b'#192#136#255'b'#192#136#255'b'#192#136#255 - +'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255'b'#192#136#255 - +#253#249#246#255#202#141'e'#255#201#155'|'#255#167'`1'#254#186'j5'#222#235 - +#198#173#255#234#197#173#255#254#251#248#255#254#251#248#255#254#251#248#255 - +#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248#255#254#251#248 - +#255#254#251#248#255#254#251#248#255#200#154'|'#255#199#152'y'#255#167'`1' - +#237#186'j6'#0#185'i5'#181#184'i5'#238#183'h5'#255#181'h5'#255#180'g4'#255 - +#178'f4'#255#176'e3'#255#174'd3'#255#172'c2'#255#170'b2'#255#169'a2'#255#168 - +'`1'#255#167'`1'#254#166'`1'#241#168'a1'#196#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'m'#156#212#137'j'#154#210#251'f'#151#207#238#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'p'#158#214#219'm'#156#212 - +#255#133#177#218#255'Z'#145#185#255'`'#147#203#234#255#255#255#0#255#255#255 - +#0#128#128#128#255'~~~'#255'|||'#255'zzz'#255'www'#255'uuu'#255'rrr'#255'q' - +#158#212#255'o'#158#214#255#135#178#220#255#171#211#232#255#169#208#230#255 - +'X'#144#184#255'Y'#142#198#234#255#255#255#0#255#255#255#0'}}}'#255#153#153 - +#153#255#153#153#153#255#154#154#154#255#154#154#154#255#155#155#155#255#155 - +#155#155#255'o'#157#211#255#170#209#231#255#171#209#231#255#152#199#225#255 - +#145#194#222#255'V'#143#183#255'R'#137#193#234#255#255#255#0#255#255#255#0'z' - +'zz'#255#153#153#153#255'R'#145'Y'#255#153#154#153#255#155#155#155#255#156 - ,#156#156#255#156#156#156#255'l'#154#208#255#167#206#229#255#143#193#223#255 - +#137#189#220#255#139#189#220#255'S'#141#182#255'K'#132#188#234#255#255#255#0 - +#255#255#255#0'www'#255#154#154#154#255'='#138'E'#255'I'#138'O'#255#156#156 - +#156#255#157#157#157#255#157#157#157#255'f'#150#204#255#162#203#227#255#137 - +#189#220#255#131#185#218#255#132#185#218#255'Q'#139#181#255'C~'#182#234'D' - +#148'M'#255'B'#145'K'#255'?'#141'H'#255'='#137'E'#255']'#164'e'#255'Z'#160'a' - +#255'E'#131'K'#255#158#158#158#255#158#158#158#255'`'#146#201#255#158#199#226 - +#255#131#184#218#255'}'#180#215#255'~'#179#215#255'O'#137#180#255';y'#177#234 - +'A'#144'J'#255#148#210#159#255#145#208#154#255#141#205#150#255#137#203#146 - +#255#132#200#141#255'Q'#152'X'#255'A|F'#255#159#159#159#255'Z'#142#196#255 - +#152#195#224#255'|'#179#215#255't'#175#214#255'^'#196#237#255'K'#136#179#255 - +'4s'#171#234'>'#139'F'#255#143#206#153#255'}'#198#135#255'x'#195#129#255's' - +#192'|'#255't'#192'|'#255'y'#194#129#255'I'#144'O'#255'T'#127'W'#255'T'#137 - +#191#255#148#191#221#255'u'#173#212#255'c'#184#225#255'K'#212#255#255'B'#139 - +#184#255',n'#166#234';'#135'B'#255#137#203#146#255#132#200#141#255#128#198 - +#136#255'{'#195#131#255'w'#193#127#255'G'#143'M'#255';t?'#255#161#161#161#255 - +'L'#132#186#255#141#187#219#255'n'#168#209#255'f'#166#209#255'_'#180#223#255 - +'G'#133#177#255'%i'#161#234'7'#130'>'#255'4~;'#255'1y7'#255'.u4'#255'I'#145 - +'P'#255'F'#143'L'#255'9s='#255#161#161#161#255#162#162#162#255'E~'#180#255 - +#136#183#217#255'g'#163#207#255'a'#158#204#255'c'#159#204#255'E'#131#177#255 - +#31'd'#156#234#255#255#255#0#255#255#255#0'```'#255#160#160#160#255'=vA'#255 - +'6q9'#255#162#162#162#255#162#162#162#255#163#163#163#255'=y'#176#255#130#179 - +#215#255'b'#159#204#255'Z'#154#201#255'^'#155#202#255'C'#129#175#255#25'`' - +#152#234#255#255#255#0#255#255#255#0'\\\'#255#161#161#161#255'~'#173#255#12'W'#143#234#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#29'c'#155#22#25'`'#152'9'#20']'#149'b'#16'Z'#146#136 - +#13'X'#144#164#19'\'#146#252#12'W'#143#237#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0'/'#186#228#9'O'#170#219#234'P'#147#202#253 - +'N'#144#200#255'/'#157#210#223'5'#164#222#25#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0'P'#168#217#255'j'#165#216#255#201#225#247 - +#255#203#227#248#255'B'#149#202#255'1'#130#194#174#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'/'#186#228#255#167#212#244#255#197#225#248#255#204 - +#227#249#255#204#227#249#255#189#219#247#255'O'#144#201#253#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0'/'#186#228#255#195#237#248#255#168#226#248#255'l'#174 - +#221#255#165#207#244#255#165#207#244#255#189#219#247#255'S'#147#203#247#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0'/'#186#228#255#195#237#248#255#179#244#252#255'h'#217 - +#245#255'o'#207#243#255'Y'#157#208#255's'#171#221#255'O'#145#201#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'/'#186#228#255#195#237#248#255#179#244#252#255'`'#220#245#255 - +'D'#214#244#255#142#238#250#255']'#180#230#255';'#143#217#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'/'#186#228#255#195#237#248#255#179#244#252#255'`'#220#245#255'D' - +#214#244#255#142#238#250#255']'#180#230#255';'#143#217#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''''#144#191#255#195#237#248#255#179#244#252#255'`'#220#245#255'D'#214 - +#244#255#142#238#250#255']'#180#230#255';'#143#217#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 - +'&'#137#185#255#190#230#242#255#179#244#252#255'`'#220#245#255'D'#214#244#255 - ,#142#238#250#255']'#180#230#255';'#143#217#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' c'#152' &'#137#185 - +#255#176#203#225#255'g'#169#200#255'`'#220#245#255'D'#214#244#255#142#238#250 - +#255']'#180#230#255';'#143#217#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#30'm'#147#255#200 - +#225#242#255#209#231#250#255'4}'#181#255'1'#153#195#255'm'#196#220#255'J'#156 - +#207#255'4'#131#199#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#30'm'#147#255#203 - +#227#249#255'a'#170#236#255'@'#152#232#255#21'g'#194#255#22'`'#170#255',v' - +#180#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#18'BY'#255']'#156 - +#212#255#166#207#245#255#169#207#236#255'H'#139#193#255',v'#180#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#19'@X'#255#21'B^' - +#255'%i'#156#255',v'#180#255';'#139#186#173#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'vvv'#255'ttt' - +#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255 - +'HHH'#255'BBB'#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 - +'ooo'#255'kkk'#255'fff'#255'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KKK'#255'EEE' - +#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'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'II' - +'I'#255'CCC'#255'==='#255'777'#255'111'#255'+++'#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'XXX'#255'RRR'#255'LLL'#255'FFF' - +#255'@@@'#255':::'#255'444'#255'...'#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'JJJ' - +#255'DDD'#255'>>>'#255'888'#255'222'#255',,,'#255'&&&'#255' '#255#27#27#27 - +#255#22#22#22#255#17#17#17#255#12#12#12#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'555'#255'///'#255')))'#255'$$$'#255#30#30 - +#30#255#25#25#25#255#20#20#20#255#15#15#15#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#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'vvv' - +#255'ttt'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255 - +'NNN'#255'HHH'#255'BBB'#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'kkkkfff'#255'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KKK' - +#255'EEE'#255'???'#255'999k'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III' - +#255'CCC'#255'==='#255'777'#255'111'#255'+++'#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'RRRkLLL'#255'FFF'#255'@' - +'@@'#255':::'#255'444'#255'...'#255'((('#255'###'#255#29#29#29'k'#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'JJJ'#255'DDD'#255'>' - +'>>'#255'888'#255'222'#255',,,'#255'&&&'#255' '#255#27#27#27#255#22#22#22 - +#255#17#17#17#255#12#12#12#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'555k///'#255')))'#255'$$$'#255#30#30#30#255#25#25#25 - +#255#20#20#20#255#15#15#15#255#11#11#11#255#7#7#7'k'#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'vvv'#255'ttt'#255'ppp'#255 - +'lll'#255'hhh'#255'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB' - +#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'aaa'#255'\\\'#255'WWW'#255'QQQ'#255'KKK'#255'EE' - +'E'#255'???'#255'999'#255'333'#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'ddd'#255'___'#255'ZZZ'#255'TTT'#255'OOO'#255'III'#255'CCC'#255 - ,'==='#255'777'#255'111'#255'+++'#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'FFF'#255 - +'@@@'#255':::'#255'444'#255'...'#255'((('#255'###'#255#29#29#29#255#24#24#24 - +#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'JJJ'#255'DDD' - +#255'>>>'#255'888'#255'222'#255',,,'#255'&&&'#255' '#255#27#27#27#255#22#22 - +#22#255#17#17#17#255#12#12#12#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#30 - +#30#30#255#25#25#25#255#20#20#20#255#15#15#15#255#11#11#11#255#7#7#7#255#3#3 - +#3#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#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'www`www'#207'ttt'#255'ppp'#239'kkk'#127'eee'#175'```'#239'YYY'#159'SSS'#16 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'sss'#127'iii'#255'jjj'#191#255#255#255 - +#0#255#255#255#0'XXX'#159'TTT'#255'JJJ'#207#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'mmm'#127'eee'#255'ccc'#191#255#255#255#0#255#255#255#0'OOO'#127'NNN' - +#255'AAA'#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'ggg'#127'___'#255'[[['#191 - +#255#255#255#0'MMM'#16'FFF'#223'FFF'#255'888'#159#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0'```'#127'YYY'#255'SSS'#223'LLL'#127'EEE'#207'DDD'#255'666'#191#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'XXX'#127'SSS'#255'JJJ'#191 - +#255#255#255#0#255#255#255#0'444'#159'888'#255'&&&'#207#31#31#31#16#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'OOO'#127'MMM'#255'AAA'#191#255#255#255#0#255#255#255#0'+++'#16 - +'&&&'#255'---'#255#23#23#23'p'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'FFF'#127'FFF'#255'888' - +#191#255#255#255#0#255#255#255#0#255#255#255#0#28#28#28#255')))'#255#16#16#16 - +#127#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'==='#127'@@@'#255'///'#207#255#255#255#0#255#255 - +#255#0#27#27#27'p$$$'#255#15#15#15#239#10#10#10' '#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'<<<`444'#175'---' - +#191'&&&'#191#31#31#31#143#25#25#25#143#19#19#19#191#13#13#13#143#9#9#9' ' - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'kkk'#128'eee'#240'```'#255'YYY'#240'SSS'#192#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'^^^'#224 - +'YYY'#255'QQQ`'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0'\\\0WWW'#255'OOO'#240#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'TTT'#144'RRR'#255'FFF'#160#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'LLL' - +#224'III'#255'===P'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'JJJ0EEE'#255'<<<'#240#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0'AAA'#144'DDD'#255'222'#160#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'888'#224'888'#255'***P'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'666@555'#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'444'#128'---'#192'&&&'#192#31#31#31#192#25#25#25#176#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0'ttt'#17'ppp'#153'kkkfeeew```'#153'YYY'#187#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0'nnn'#238'jjjw'#255#255#255#0#255 - +#255#255#0'XXXwQQQ'#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'mmm' - +'ffff'#255'ccc'#136#255#255#255#0#255#255#255#0#255#255#255#0'HHH'#187#255 - ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'gggD```'#255'[[['#255'TTT' - +#153'MMM3'#255#255#255#0'???D'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0'YYY'#187'UUU'#255'QQQ'#255'HHH'#255'==='#204'666D'#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'wwwuwww'#255'www'#255'www'#255'www'#255'www'#255'___'#255'<<<'#255#24 - +#24#24#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0't'#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'OOO'#17#255#255#255#0 - +#255#255#255#0#255#255#255#0'222f+++'#221'222'#255#30#30#30#204#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'FFFf???w'#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#28#28#28#255#22#22#22#221#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +'===f777'#255'///'#17#255#255#255#0#255#255#255#0#255#255#255#0#20#20#20#238 - +#15#15#15'w'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'444f---'#238'&&&'#204#31#31 - +#31'w'#25#25#25'f'#19#19#19'w'#13#13#13#136#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'www`www'#239'www'#255'uuu'#143#255#255#255#0#255#255#255#0#255#255#255 - +#0'aaa'#175'[[['#255'TTTp'#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'www'#191'ttt'#255#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0'YYY'#16'SSS'#207#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'sss'#191'nnn'#255#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'JJJ'#191#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0'mmm'#191'hhh'#255#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'AAA'#191#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'ggg' - +#191'aaa'#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0'888'#191#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'```'#191'YYY'#255#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'///'#191 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0'XXX'#191'QQQ'#255#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'&&&'#191#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0'OOO'#143'KKK'#255'AAAP'#255#255#255#0#255#255#255#0 - +#255#255#255#0'$$$@'#30#30#30#143#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'FFF ?' - +'??'#239'888'#207'111 '#255#255#255#0'###@'#28#28#28#207#22#22#22' '#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0'666 ///'#159'((('#191'!!!'#191#27 - +#27#27#143#20#20#20'0'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'+++' - ,#255'$$$'#255#30#30#30#255#23#23#23#255#18#18#18#255#12#12#12#255#7#7#7#255#3 - +#3#3#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#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#216 - +#135'@@'#216#139'C'#133#218#142'I'#148#217#137'C'#143#216#132'@'#144#216#132 - +'A'#154#211's:'#138#204'b2'#13#201'[.'#1#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#215#131'>S' - +#226#167'l'#222#233#188#145#255#231#186#143#255#231#183#139#255#226#164'q' - +#251#214'~B'#182#203'\/'#10#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#214'};'#28#221 - +#150'V'#186#227#169's'#242#225#168's'#245#225#164'q'#247#211'w>'#152#203'_0' - +#8#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#212'y""'#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#202'\/'#10#203'_0D'#225#164'u' - +#255#218#140'X'#236#198'R,='#255#255#255#0#255#255#255#0#191'E$'#19#195'H''' - +#127#220#150'k'#255#219#143'`'#255#189'?!T'#182'8'#30#2#255#255#255#0#255#255 - +#255#0#255#255#255#0#206'h8'#174#218#143']'#254#219#144'`'#255#215#131'P'#237 - +#196'P+'#141#189'B#'#16#188'?"*'#195'M+'#162#208'qB'#234#214'~Q'#255#213'|M' - +#255#198'U1'#189#182'9'#29'1'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0'uuu'#255'sss'#255'ooo'#255'kkk'#255'ggg'#255'bbb'#255']]]'#255'XX' - ,'X'#255'RRR'#255'MMM'#255'GGG'#255'AAA'#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'nnn'#255'jjj'#255'eee'#255'```'#255'[[['#255'VVV' - +#255'PPP'#255'JJJ'#255'DDD'#255'>>>'#255'888'#255'222'#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'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0'HH' - +'H'#0'BBB'#0'<<<'#0'666'#0'000'#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#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0 - +'---'#0''''''''#0'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'III'#0'CCC'#0'==='#0'777'#0'111'#0'+++'#0'%%%'#0 - +#31#31#31#0#26#26#26#0#21#21#21#0#17#17#17#0#12#12#12#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#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'444'#0'...'#0'((('#0'###'#0#29#29 - +#29#0#24#24#24#0#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0#3#3#3#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0'uuu'#0'sss'#0'ooo'#0'kkk'#0'ggg'#0 - +'bbb'#0']]]'#0'XXX'#0'RRR'#0'MMM'#0'GGG'#0'AAA'#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'nnn'#0'jjj'#0'eee'#0'```'#0'[[['#0'VVV'#0'PPP'#0 - +'JJJ'#0'DDD'#0'>>>'#0'888'#0'222'#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0'ccc'#255'^^^'#255'YYY'#255'SSS'#255'NNN'#255'HHH'#255'BBB'#255 - +'<<<'#255'666'#255'000'#255'***'#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'WWW'#255'QQQ'#255'KKK'#255'EEE'#255'???'#255'999' - +#255'333'#255'---'#255''''''''#255'"""'#255#28#28#28#255#23#23#23#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'III'#0'CCC'#0'==='#0'777'#0 - +'111'#0'+++'#0'%%%'#0#31#31#31#0#26#26#26#0#21#21#21#0#17#17#17#0#12#12#12#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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'444'#0'...'#0 - +'((('#0'###'#0#29#29#29#0#24#24#24#0#19#19#19#0#15#15#15#0#11#11#11#0#7#7#7#0 - +#3#3#3#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'uuu'#0'sss'#0 - +'ooo'#0'kkk'#0'ggg'#0'bbb'#0']]]'#0'XXX'#0'RRR'#0'MMM'#0'GGG'#0'AAA'#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'nnn'#0'jjj'#0'eee'#0'``' - +'`'#0'[[['#0'VVV'#0'PPP'#0'JJJ'#0'DDD'#0'>>>'#0'888'#0'222'#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0'ccc'#0'^^^'#0'YYY'#0'SSS'#0'NNN'#0 - +'HHH'#0'BBB'#0'<<<'#0'666'#0'000'#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#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'WWW'#0'QQQ'#0'KKK'#0'EEE'#0'???'#0'999'#0'333'#0 - +'---'#0''''''''#0'"""'#0#28#28#28#0#23#23#23#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0'III'#255'CCC'#255'==='#255'777'#255'111'#255'++' - +'+'#255'%%%'#255#31#31#31#255#26#26#26#255#21#21#21#255#17#17#17#255#12#12#12 - +#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'444' - +#255'...'#255'((('#255'###'#255#29#29#29#255#24#24#24#255#19#19#19#255#15#15 - +#15#255#11#11#11#255#7#7#7#255#3#3#3#255#255#255#255#0#255#255#255#0#255#255 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#129#1#1#1#172 + +#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1 + +#172#1#1#1#172#1#1#1#172#1#1#1#129#255#255#255#0#255#255#255#0#255#255#255#0 + +#1#1#1#14#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#13#1#1#1#0#1#1#1#0#1 + +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0 + +#0'k'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'k'#0#0#0#0#1#1#1#0#1#1#1 + +#0#1#1#1#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 + +#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#1#1#1#0 + +#1#1#1#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q' + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15 + +#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0 + +#0'x'#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#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#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0 + +#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0 + +#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1 + +#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164 + +#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164 + +#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0 + +#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0 + +#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0 + +#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0 + +#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'q'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0 + +#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#15#1#1#1#0#1#1#1#0 + +#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#15#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1 + +#1#15#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#188#1#1#1#188#1#1#1#188 + +#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1 + +#188#1#1#1#188#1#1#1#188#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#16#1 + +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#16#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0 + +#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0 + +#0#0#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0 + +#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0 + +#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1 + +#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164 + ,#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164 + +#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0 + +#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0 + +#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0 + +#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0 + +#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#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#0#0#0#0 + +#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#1#1#1#0#1#1#1#137#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1 + +#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#1#1#1#19#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#19 + +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#172#0#0#0#230#0#0#0#230#0#0 + +#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230 + +#0#0#0#230#0#0#0#172#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 + +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 + +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0 + +#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0 + +#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0 + +#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0 + +#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#1#1#1#0#1 + +#1#1#0#1#1#1#0#0#0#0#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0 + +#0#128#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#17#1#1#1#0#1#1#1#0#1#1 + ,#1#0#1#1#1#0#1#1#1#0#1#1#1#17#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#204#1#1#1#204#1#1#1#204#1 + +#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1 + +#204#1#1#1#204#1#1#1#204#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#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#0#0#0#172#0#0#0 + +#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0 + +#0#0#230#0#0#0#230#0#0#0#230#0#0#0#172#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 @@ -1345,7 +1626,7 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255 +#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255 - ,#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0 + +#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0 +#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0 +#0#0#0#0#0#0#0#0#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 @@ -1355,295 +1636,14 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0 +#0#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#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#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0 - +#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#0#0#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1 - +#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#1#1#1#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1 - +#20#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0 - +#1#1#1#0#1#1#1#0#1#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{' - +#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164 - +#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#1#1#1#129#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0 - +#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255 - +#255#0#1#1#1#174#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255 - +#0#1#1#1#176#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#1 - +#1#1#179#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1 - +#182#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#185 - +#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#188#0#0 - +#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15 - +#0#0#0'x'#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1 - +#192#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#196 - +#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#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#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#199 - +#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1 - +#1#0#0#0#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#204#1#1 - +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#217#1#1 - +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0 - +#1#1#1#0#1#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#172#1#1#1 - +#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1 - +#21#1#1#1#164#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0 - +'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#1#1#1#13#1#1#1#172#0#0#0#13#0#0#0'g' - +#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255 - ,#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#174#1#1#1#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0 - +#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#176#1#1#1#0#1#1#1#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 - +#14#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#179#1#1#1#0#1#1#1#0#1#1#1#0 - +#0#0#0#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q' - +#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#182#1#1#1#0#1#1#1#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#185#1#1#1#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0 - +#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#1#1#1#15#1#1#1#188#0#0#0#15#0#0#0'x'#0#0#0 - +#15#0#0#0'x'#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0 - +#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#192#1#1#1#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 - +#128#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#196#1#1#1#0#1#1#1#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 - +#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#199#1#1#1#0#1#1#1#0#1#1#1#0 - +#1#1#1#0#0#0#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137 - +#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#204#1#1#1#0#1#1#1#0#1#1#1#0#1 - +#1#1#0#1#1#1#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1 - +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#217#1#1#1#0#1#1#1#0#1#1#1#0#1#1 - +#1#0#1#1#1#0#1#1#1#19#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1 - +#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#0#0#0#230#1#1#1#21#1#1#1#164#1#1 - +#1#21#1#1#1#164#1#1#1#21#1#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0 - +#0'g'#0#0#0#13#0#0#0'g'#1#1#1#13#1#1#1#129#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#174#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0 - +#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#176#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0 - +#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#179#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0 - +#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#182#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#185#255#255#255#0#255#255#255#0#255 - +#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0 - +#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#1#1#1#15#1#1#1#188#255#255#255#0#255#255#255 - +#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#192#255#255#255#0#255#255#255#0 - +#255#255#255#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128#0 - +#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#196#255#255#255#0#255#255#255#0 - +#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0 - +#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#199#255#255#255#0#255#255#255#0 - +#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#1 - +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#204#255#255#255#0#255#255#255#0 - +#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#1#1 - +#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#217#255#255#255#0#255#255#255#0 - +#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1 - +#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#0#0#0#172#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#1#1#1#129#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1 - +#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1#1#1#172#1 - +#1#1#129#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#14#1#1#1#0#1#1#1#0#1 - +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#13#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#0#0#0#0#0#0#0'k'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'k' - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1 - +#1#1#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#255#255#255 - +#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0 - +#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#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#0#0#0#0#0#128#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0 - +#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#255#255#255 - +#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1 - +#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#255#255#255 - +#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#255#255#255#0 - +#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1 - +#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1'{'#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0 - +#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0 - +'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13 - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1 - +#0#0#0#0#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0 - +#0#0#0#0#0#0'q'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'q'#255#255#255 - +#0#255#255#255#0#255#255#255#0#1#1#1#15#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#0#1#1#1#15#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#15#255#255#255#0 - +#255#255#255#0#255#255#255#0#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1 - +#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1 - +#1#1#188#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#16#1#1#1#0#1#1#1#0#1 - +#1#1#0#1#1#1#0#1#1#1#0#1#1#1#16#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#0#0#0#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0 - +#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#0#0#0#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17 - +#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0 - +#1#1#1#0#1#1#1#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137 - +#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1#1#0#1 - +#1#1#0#1#1#1#0#1#1#1#19#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#255 - +#255#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1#1#21#1 - ,#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1 - +#1#1'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0#13#0#0#0'g'#0 - +#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0 - +#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14 - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0 - +'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x' - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#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#0#0#0#0#0#128#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#17#255#255 - +#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#1#1#1#0#1#1#1#137#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#137#255#255 - +#255#0#255#255#255#0#255#255#255#0#1#1#1#20#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#1#1#1#19#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#19#255#255#255 - +#0#255#255#255#0#255#255#255#0#0#0#0#172#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0 - +#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0 - +#0#0#172#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255 - +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#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#0#0'M'#0#0#0#13#0#0#0'g'#0 - +#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0 - +#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14 - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#255#255 - +#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0 - +'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x' - +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1 - +#1#0#0#0#0#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#128#255 - +#255#255#0#255#255#255#0#255#255#255#0#1#1#1#17#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - ,#0#1#1#1#0#1#1#1#17#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#17#255#255 - +#255#0#255#255#255#0#255#255#255#0#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1 - +#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1#204#1#1#1 - +#204#1#1#1#204#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#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#0#0#0#172#0#0#0#230#0#0#0 - +#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0 - +#0#0#230#0#0#0#230#0#0#0#172#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 - +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 - +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#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#0#0 - +'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0 - +#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0#255#255#255#0#255#255#255#0 - +#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#0#0 - +#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 - +#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'q' - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'q'#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#15#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#15#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#15#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'x'#0#0#0#15 - +#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0#0'x'#0#0#0#15#0#0 - +#0'x'#0#0#0#15#0#0#0'x'#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#16#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#16#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#16#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#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#0#0#0#0#0#128#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#0#0#0#0#0#0 - +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#137#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 - +#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#217#0#0#0#217#0 - +#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0 - +#217#0#0#0#217#0#0#0#217#0#0#0#217#255#255#255#0#255#255#255#0#255#255#255#0 - +#0#0#0#172#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0 - +#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#172#255#255#255#0#255#255 + +#0#17#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#17#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#17#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1 + +#137#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#137#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#1#1#1#137#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0 + +#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0 + +#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#0#0#0#217#255#255#255#0#255#255#255#0 + +#255#255#255#0#0#0#0#172#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0 + +#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#230#0#0#0#172#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 @@ -1653,33 +1653,33 @@ LazarusResources.Add('TForm1','FORMDATA',[ +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#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#0#0'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#1#1#1#13#1 - +#1#1#172#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'M'#255#255#255#0 - +#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0 - +#1#1#1#174#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#255#255#255#0#255 - +#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1#0#1#1#1#0#1#1 - +#1#176#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255#255#0#255#255 - +#255#0#255#255#255#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#179#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#255#255#255#0#255#255 - +#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#182#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'q'#255#255#255#0#255#255 - +#255#0#255#255#255#0#1#1#1#15#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 - +#185#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#15#255#255#255#0#255#255 - ,#255#0#255#255#255#0#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1 - +#188#1#1#1#142#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188 - +#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#16#1#1#1#0#1#1#1#0#1#1#1#0#1 - +#1#1#0#1#1#1#0#1#1#1#192#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#16#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0#1#1 - +#1#0#1#1#1#0#1#1#1#196#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#128#255 - +#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1 - +#0#1#1#1#0#1#1#1#199#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#255#255 - +#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0 - +#1#1#1#0#1#1#1#204#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#255#255 - +#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1 - +#1#1#0#0#0#0#217#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#255#255#255 - +#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164 - +#1#1#1#21#0#0#0#230#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1'{' - +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 + +#255#0#255#255#255#0#255#255#255#0#0#0#0'M'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0 + +'g'#1#1#1#13#1#1#1#172#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'g'#0#0#0#13#0#0#0'M' + +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#1#1#1#0#1#1#1#174#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#13#255 + +#255#255#0#255#255#255#0#255#255#255#0#0#0#0'k'#0#0#0#0#0#0#0#0#0#0#0#0#1#1#1 + +#0#1#1#1#0#1#1#1#176#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'k'#255#255 + +#255#0#255#255#255#0#255#255#255#0#0#0#0#14#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1 + +#1#1#0#1#1#1#179#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#14#255#255#255 + +#0#255#255#255#0#255#255#255#0#0#0#0'q'#0#0#0#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#182#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0'q'#255#255#255#0 + +#255#255#255#0#255#255#255#0#1#1#1#15#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0 + +#1#1#1#185#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#15#255#255#255#0#255 + ,#255#255#0#255#255#255#0#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1 + +#1#1#188#1#1#1#142#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1#188#1#1#1 + +#188#255#255#255#0#255#255#255#0#255#255#255#0#1#1#1#16#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#0#1#1#1#0#1#1#1#192#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#16 + +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#128#0#0#0#0#1#1#1#0#1#1#1#0 + +#1#1#1#0#1#1#1#0#1#1#1#196#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#128 + +#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#17#0#0#0#0#1#1#1#0#1#1#1#0#1 + +#1#1#0#1#1#1#0#1#1#1#199#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#0#0#0#0#0#0#0#17#255 + +#255#255#0#255#255#255#0#255#255#255#0#1#1#1#137#1#1#1#0#1#1#1#0#1#1#1#0#1#1 + +#1#0#1#1#1#0#1#1#1#204#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#137#255 + +#255#255#0#255#255#255#0#255#255#255#0#1#1#1#20#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1 + +#0#1#1#1#0#0#0#0#217#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#0#1#1#1#19#255#255 + +#255#0#255#255#255#0#255#255#255#0#1#1#1'{'#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1 + +#164#1#1#1#21#0#0#0#230#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1#164#1#1#1#21#1#1#1 + +'{'#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255 +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0 +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255 diff --git a/components/fpspreadsheet/fpsnumformatparser.pas b/components/fpspreadsheet/fpsnumformatparser.pas index 02d24e4a9..3c463bc11 100644 --- a/components/fpspreadsheet/fpsnumformatparser.pas +++ b/components/fpspreadsheet/fpsnumformatparser.pas @@ -57,6 +57,7 @@ type FNumFormat: TsNumberFormat; FConversionDirection: TsConversionDirection; FIsTime: Boolean; + FIsAccounting: Boolean; FStatus: Integer; function GetFormatString: String; function GetParsedSectionCount: Integer; @@ -139,6 +140,7 @@ begin FFormatSettings := DefaultFormatSettings; FFormatSettings.DecimalSeparator := '.'; FFormatSettings.ThousandSeparator := ','; + FIsAccounting := (ANumFormat in [nfAccounting, nfAccountingRed]); Parse(AFormatString); end; @@ -283,14 +285,18 @@ var i: Integer; ns: Integer; s: String; + isCurr: Boolean; begin ns := Length(FSections); + if (ns > 1) and (FNumFormat in [nfCurrencyRed, nfAccountingRed]) then + FSections[1].Color := scRed; + for i:=0 to ns-1 do begin if FSections[i].FormatString = '' then FSections[i].NumFormat := nfGeneral; - if (FSections[i].CurrencySymbol <> '') {and (FSections[i].NumFormat in [nfFixed, nfFixedTh])} then + if (FSections[i].CurrencySymbol <> '') or FIsAccounting then FSections[i].NumFormat := nfCurrency; if FSections[i].CompareOperation <> coNotUsed then begin @@ -300,7 +306,7 @@ begin // Check format strings case FSections[i].NumFormat of - nfGeneral, nfFixed, nfFixedTh, nfPercentage, nfExp, nfSci, nfCurrency: + nfGeneral, nfFixed, nfFixedTh, nfPercentage, nfExp, nfSci, nfCurrency, nfAccounting: try s := FormatFloat(FSections[i].FormatString, 1.0, FWorkBook.FormatSettings); except @@ -319,39 +325,33 @@ begin end; end; - if (ns > 1) and (FNumFormat in [nfCurrencyRed, nfCurrencyDashRed]) then - FSections[1].Color := scRed; - // Extract built-in NumFormat identifier for currency (needs several entries in // three sections). - if (ns = 3) and - (FSections[0].NumFormat = nfCurrency) and - (FSections[1].NumFormat = nfCurrency) and - ((FSections[2].NumFormat = nfCurrency) or (FSections[2].FormatString = '-')) - then begin - FNumFormat := nfCurrency; - if ((FSections[2].FormatString = '-') or (FSections[2].FormatString = '"-"')) then begin - if (FSections[1].Color = scRed) then - FNumFormat := nfCurrencyDashRed - else - FNumFormat := nfCurrencyDash; - end else begin - if (FSections[1].Color = scRed) then - FNumFormat := nfCurrencyRed; - end; - end else + isCurr := ((ns = 2) and (FSections[0].NumFormat = nfCurrency) and (FSections[1].NumFormat = nfCurrency)) + or ((ns = 3) and (FSections[0].NumFormat = nfCurrency) and (FSections[1].NumFormat = nfCurrency) and + ((FSections[2].NumFormat = nfCurrency) or (FSections[2].FormatString = '-')) ); + + if isCurr then begin + if FIsAccounting then + FNumFormat := IfThen(FSections[1].Color = scRed, nfAccountingRed, nfAccounting) + else + FNumFormat := IfThen(FSections[1].Color = scRed, nfCurrency, nfCurrencyRed); + end; + // If there are other multi-section formatstrings they must be a custom format - if (ns > 1) then begin - for i:=1 to ns-1 do - if FSections[i].FormatString <> '' then begin - FNumFormat := nfCustom; - break; - end; - if fNumFormat <> nfCustom then + if not isCurr then begin + if (ns > 1) then begin + for i:=1 to ns-1 do + if FSections[i].FormatString <> '' then begin + FNumFormat := nfCustom; + break; + end; + if fNumFormat <> nfCustom then + FNumFormat := FSections[0].NumFormat; + end + else FNumFormat := FSections[0].NumFormat; - end - else - FNumFormat := FSections[0].NumFormat; + end; // Add colors to section format strings if (FConversionDirection = cdFromFPSpreadsheet) then @@ -660,11 +660,17 @@ begin if s = FWorkbook.FormatSettings.ShortDateFormat then nf := nfShortDate else - if s = StripAMPM(FWorkbook.FormatSettings.LongTimeFormat) then - nf := IfThen(isAMPM, nfLongTimeAM, nfLongTime) + if (s = StripAMPM(FWorkbook.FormatSettings.LongTimeFormat)) and (not isAMPM) then + nf := nfLongTime else - if s = StripAMPM(FWorkbook.FormatSettings.ShortTimeFormat) then - nf := IfThen(isAMPM, nfShortTimeAM, nfShortTime) + if (s = AddAMPM(FWorkbook.FormatSettings.LongTimeFormat, FWorkbook.FormatSettings)) and isAMPM then + nf := nfLongTimeAM + else + if (s = StripAMPM(FWorkbook.FormatSettings.ShortTimeFormat)) and (not isAMPM) then + nf := nfShortTime + else + if (s = AddAMPM(FWorkbook.FormatSettings.ShortTimeFormat, FWorkbook.FormatSettings)) and isAMPM then + nf := nfShortTimeAM else if s[1] = '[' then nf := nfTimeInterval @@ -719,8 +725,17 @@ begin token := FCurrent^; case token of // Strip Excel's formatting symbols - '\', '*': - ; + '\': ; + '*': + begin + FIsAccounting := true; + AddChar('*'); + inc(FCurrent); + if (FCurrent <= FEnd) then begin + token := FCurrent^; + AddChar(token); + end; + end; '_': inc(FCurrent); '"': @@ -820,6 +835,8 @@ begin nf := nfPercentage else if hasThSep then nf := nfFixedTh + else if FIsAccounting then + nf := nfAccounting else nf := nfFixed; end else diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index 6b82ca103..8083c9ca2 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -159,7 +159,7 @@ type // numbers nfFixed, nfFixedTh, nfExp, nfSci, nfPercentage, // currency - nfCurrency, nfCurrencyRed, nfCurrencyDash, nfCurrencyDashRed, + nfCurrency, nfCurrencyRed, nfAccounting, nfAccountingRed, // dates and times nfShortDateTime, nfFmtDateTime, nfShortDate, nfLongDate, nfShortTime, nfLongTime, nfShortTimeAM, nfLongTimeAM, nfTimeInterval, @@ -1249,6 +1249,8 @@ function TsWorksheet.ReadAsUTF8Text(ARow, ACol: Cardinal): ansistring; ANumberFormat: TsNumberFormat; ANumberFormatStr: string; ADecimals: byte): ansistring; var fs: TFormatSettings; + left, right: String; + i: Integer; begin fs := FWorkbook.FormatSettings; if IsNan(Value) then @@ -1262,6 +1264,13 @@ function TsWorksheet.ReadAsUTF8Text(ARow, ACol: Cardinal): ansistring; else if (ANumberFormat = nfPercentage) then Result := FormatFloat(ANumberFormatStr, Value*100, fs) + else + if (ANumberFormat in [nfAccounting, nfAccountingRed]) then + case SplitAccountingFormatString(ANumberFormatStr, Sign(Value), left, right) of + 0: Result := FormatFloat(ANumberFormatStr, Value, fs); + 1: Result := FormatFloat(left, abs(Value), fs) + ' ' + Right; + 2: Result := Left + ' ' + FormatFloat(right, abs(Value), fs); + end else Result := FormatFloat(ANumberFormatStr, Value, fs) end; @@ -2862,7 +2871,7 @@ begin and (item.NumFormat = ANumFormat) and (item.FormatString = AFormatString) and (item.Decimals = ADecimals) - and (not (item.NumFormat in [nfCurrency, nfCurrencyRed, nfCurrencyDash, nfCurrencyDashRed]) + and (not (item.NumFormat in [nfCurrency, nfCurrencyRed, nfAccounting, nfAccountingRed]) or (item.CurrencySymbol = ACurrencySymbol)) then exit; @@ -3094,7 +3103,7 @@ begin case AFormat^.NumberFormat of nfFixed, nfFixedTh, nfPercentage, nfExp, nfSci: if (FFormattingStyles[i].Decimals <> AFormat^.Decimals) then Continue; - nfCurrency, nfCurrencyRed, nfCurrencyDash, nfCurrencyDashRed: + nfCurrency, nfCurrencyRed, nfAccounting, nfAccountingRed: begin if (FFormattingStyles[i].Decimals <> AFormat^.Decimals) then Continue; if (FFormattingStyles[i].CurrencySymbol <> AFormat^.CurrencySymbol) then Continue; diff --git a/components/fpspreadsheet/fpspreadsheetgrid.pas b/components/fpspreadsheet/fpspreadsheetgrid.pas index 2edb14d9e..0d5607f11 100644 --- a/components/fpspreadsheet/fpspreadsheetgrid.pas +++ b/components/fpspreadsheet/fpspreadsheetgrid.pas @@ -105,6 +105,7 @@ type { Protected declarations } procedure DefaultDrawCell(ACol, ARow: Integer; var ARect: TRect; AState: TGridDrawState); override; procedure DoPrepareCanvas(ACol, ARow: Integer; AState: TGridDrawState); override; +// procedure DrawAccountingCell(ACell: PCell; ARect: TRect; AState: TGridDrawState); procedure DrawAllRows; override; procedure DrawCellBorders; overload; procedure DrawCellBorders(ACol, ARow: Integer; ARect: TRect); overload; @@ -118,6 +119,10 @@ type function GetEditText(ACol, ARow: Integer): String; override; function HasBorder(ACell: PCell; ABorder: TsCellBorder): Boolean; procedure HeaderSized(IsColumn: Boolean; index: Integer); override; + procedure InternalDrawTextInCell(AText, AMeasureText: String; ARect: TRect; + AJustification: Byte; ACellHorAlign: TsHorAlignment; + ACellVertAlign: TsVertAlignment; ATextRot: TsTextRotation; + ATextWrap, ReplaceTooLong: Boolean); procedure KeyDown(var Key : Word; Shift : TShiftState); override; procedure Loaded; override; procedure LoadFromWorksheet(AWorksheet: TsWorksheet); @@ -321,6 +326,14 @@ implementation uses Types, LCLType, LCLIntf, Math, fpCanvas, GraphUtil, fpsUtils; +const + HOR_ALIGNMENTS: array[haLeft..haRight] of TAlignment = ( + taLeftJustify, taCenter, taRightJustify + ); + VERT_ALIGNMENTS: array[TsVertAlignment] of TTextLayout = ( + tlBottom, tlTop, tlCenter, tlBottom + ); + var FillPattern_BIFF2: TBitmap = nil; @@ -665,7 +678,7 @@ begin Canvas.Font.Size := round(fnt.Size); end; end; - if (lCell^.NumberFormat in [nfCurrencyRed, nfCurrencyDashRed]) and + if (lCell^.NumberFormat in [nfCurrencyRed, nfAccountingRed]) and not IsNaN(lCell^.NumberValue) and (lCell^.NumberValue < 0) then Canvas.Font.Color := FWorkbook.GetPaletteColor(scRed); @@ -859,17 +872,11 @@ end; text wrapping } procedure TsCustomWorksheetGrid.DrawTextInCell(ACol, ARow: Integer; ARect: TRect; AState: TGridDrawState); -const - HOR_ALIGNMENTS: array[haLeft..haRight] of TAlignment = ( - taLeftJustify, taCenter, taRightJustify - ); - VERT_ALIGNMENTS: array[TsVertAlignment] of TTextLayout = ( - tlBottom, tlTop, tlCenter, tlBottom - ); var ts: TTextStyle; flags: Cardinal; txt: String; + txtL, txtR: String; txtRect: TRect; P: TPoint; w, h, h0, hline: Integer; @@ -879,7 +886,10 @@ var wrapped: Boolean; horAlign: TsHorAlignment; vertAlign: TsVertAlignment; + txtRot: TsTextRotation; lCell: PCell; + txtLeft, txtRight: String; + justif: Byte; begin if FWorksheet = nil then exit; @@ -887,6 +897,8 @@ begin c := ACol - FHeaderCount; r := ARow - FHeaderCount; lCell := FWorksheet.FindCell(r, c); + + // Header if lCell = nil then begin if ShowHeaders and ((ACol = 0) or (ARow = 0)) then begin ts.Alignment := taCenter; @@ -898,27 +910,71 @@ begin exit; end; - txt := GetCellText(ACol, ARow); - if txt = '' then - exit; - + // Cells + wrapped := (uffWordWrap in lCell^.UsedFormattingFields) or (lCell^.TextRotation = rtStacked); + txtRot := lCell^.TextRotation; + vertAlign := lCell^.VertAlignment; if lCell^.HorAlignment <> haDefault then horAlign := lCell^.HorAlignment else begin - if lCell^.ContentType = cctNumber then + if (lCell^.ContentType in [cctNumber, cctDateTime]) then horAlign := haRight else horAlign := haLeft; - if lCell^.TextRotation = rt90DegreeCounterClockwiseRotation then begin + if txtRot = rt90DegreeCounterClockwiseRotation then begin if horAlign = haRight then horAlign := haLeft else horAlign := haRight; end; end; - vertAlign := lCell^.VertAlignment; - wrapped := (uffWordWrap in lCell^.UsedFormattingFields) - or (lCell^.TextRotation = rtStacked); InflateRect(ARect, -constCellPadding, -constCellPadding); + if (lCell^.NumberFormat in [nfAccounting, nfAccountingRed]) and not IsNaN(lCell^.Numbervalue) + then begin + case SplitAccountingFormatString(lCell^.NumberFormatStr, Sign(lCell^.NumberValue), + txtLeft, txtRight) of + 1: begin + txtLeft := FormatFloat(txtLeft, lCell^.NumberValue); + if txtLeft = '' then exit; + txt := txtLeft + ' ' + txtRight; + end; + 2: begin + txtRight := FormatFloat(txtRight, lCell^.NumberValue); + if txtRight = '' then exit; + txt := txtLeft + ' ' + txtRight; + end; + end; + InternalDrawTextInCell(txtLeft, txt, ARect, 0, horAlign, vertAlign, + txtRot, wrapped, true); + InternalDrawTextInCell(txtRight, txt, ARect, 2, horAlign, vertAlign, + txtRot, wrapped, true); + end else begin + txt := GetCellText(ACol, ARow); + if txt = '' then + exit; + case horAlign of + haLeft : justif := 0; + haCenter : justif := 1; + haRight : justif := 2; + end; + InternalDrawTextInCell(txt, txt, ARect, justif, horAlign, vertAlign, + txtRot, wrapped, false); + end; +end; + +(* + + + + + + procedure InternalDrawTextInCell(AText, AMeasureText: String; ARect: TRect; + AJustification: Byte; ACellHorAlign: TsHorAlignment; + ACellVertAlign: TsVertAlignment; ATextRot: TsTextRotation; + ATextWrap, ReplaceTooLong: Boolean); + + + + if (lCell^.TextRotation in [trHorizontal, rtStacked]) or (not (uffTextRotation in lCell^.UsedFormattingFields)) then begin @@ -1023,6 +1079,7 @@ begin end; end; end; +*) procedure TsCustomWorksheetGrid.EditingDone; var @@ -1805,6 +1862,207 @@ begin end; end; + +{ Internal generl text drawing method. + - AText: text to be drawn + - AMeasureText: text used for checking if the text fits into the text rectangle. + If too large and ReplaceTooLong = true, a series of # is drawn. + - ARect: Rectangle in which the text is drawn + - AJustification: determines whether the text is drawn at the "start" (0), + "center" (1) or "end" (2) of the drawing rectangle. Start/center/end are + seen along the text drawing direction. + - ACellHorAlign: Is the HorAlignment property stored in the cell + - ACellVertAlign: Is the VertAlignment property stored in the cell + - ATextRot: determines the rotation angle of the text. + - ATextWrap: determines if the text can wrap over multiple lines + - ReplaceTooLang: if true too-long texts are replaced by a series of # filling + the cell. } +procedure TsCustomWorksheetGrid.InternalDrawTextInCell(AText, AMeasureText: String; + ARect: TRect; AJustification: Byte; ACellHorAlign: TsHorAlignment; + ACellVertAlign: TsVertAlignment; ATextRot: TsTextRotation; + ATextWrap, ReplaceTooLong: Boolean); +var + ts: TTextStyle; + flags: Cardinal; + txt: String; + txtL, txtR: String; + txtRect: TRect; + P: TPoint; + w, h, h0, hline: Integer; + i: Integer; + L: TStrings; + c, r: Integer; + wrapped: Boolean; +begin + wrapped := ATextWrap or (ATextRot = rtStacked); + if AMeasureText = '' then txt := AText else txt := AMeasureText; + flags := DT_WORDBREAK and not DT_SINGLELINE or DT_CALCRECT; + txtRect := ARect; + + if (ATextRot in [trHorizontal, rtStacked]) then begin + // HORIZONAL TEXT DRAWING DIRECTION + Canvas.Font.Orientation := 0; + ts := Canvas.TextStyle; + ts.Opaque := false; + if wrapped then begin + ts.Wordbreak := true; + ts.SingleLine := false; + LCLIntf.DrawText(Canvas.Handle, PChar(txt), Length(txt), txtRect, flags); + w := txtRect.Right - txtRect.Left; + h := txtRect.Bottom - txtRect.Top; + end else begin + ts.WordBreak := false; + ts.SingleLine := false; + w := Canvas.TextWidth(AMeasureText); + h := Canvas.TextHeight('Tg'); + end; + + if ATextRot = rtStacked then begin + // Stacked + ts.Alignment := HOR_ALIGNMENTS[ACellHorAlign]; + if h > ARect.Bottom - ARect.Top then begin + if ReplaceTooLong then begin + txt := '#'; + repeat + txt := txt + '#'; + LCLIntf.DrawText(Canvas.Handle, PChar(txt), Length(txt), txtRect, flags); + until txtRect.Bottom - txtRect.Top > ARect.Bottom - ARect.Top; + AText := copy(txt, 1, Length(txt)-1); + end; + ts.Layout := tlTop; + end else + case AJustification of + 0: ts.Layout := tlTop; + 1: ts.Layout := tlCenter; + 2: ts.Layout := tlBottom; + end; + Canvas.TextStyle := ts; + Canvas.TextRect(ARect, ARect.Left, ARect.Top, AText); + end else begin + // Horizontal + if h > ARect.Bottom - ARect.Top then + ts.Layout := tlTop + else + ts.Layout := VERT_ALIGNMENTS[ACellVertAlign]; + if w > ARect.Right - ARect.Left then begin + if ReplaceTooLong then begin + txt := ''; + repeat + txt := txt + '#'; + LCLIntf.DrawText(Canvas.Handle, PChar(txt), Length(txt), txtRect, flags); + until txtRect.Right - txtRect.Left > ARect.Right - ARect.Left; + AText := Copy(txt, 1, Length(txt)-1); + end; + ts.Alignment := taLeftJustify; + end else + case AJustification of + 0: ts.Alignment := taLeftJustify; + 1: ts.Alignment := taCenter; + 2: ts.Alignment := taRightJustify; + end; + Canvas.TextStyle := ts; + Canvas.TextRect(ARect,ARect.Left, ARect.Top, AText); + end; + end + else + begin + // ROTATED TEXT DRAWING DIRECTION + // Since there is not good API for multiline rotated text, we draw the text + // line by line. + L := TStringList.Create; + try + txtRect := Bounds(ARect.Left, ARect.Top, ARect.Bottom - ARect.Top, ARect.Right - ARect.Left); + hline := Canvas.TextHeight('Tg'); + if wrapped then begin + // Extract wrapped lines + L.Text := WrapText(Canvas, txt, txtRect.Right - txtRect.Left); + // Calculate size of wrapped text + flags := DT_WORDBREAK and not DT_SINGLELINE or DT_CALCRECT; + LCLIntf.DrawText(Canvas.Handle, PChar(L.Text), Length(L.Text), txtRect, flags); + w := txtRect.Right - txtRect.Left; + h := txtRect.Bottom - txtRect.Top; + h0 := hline; + end + else begin + L.Text := txt; + w := Canvas.TextWidth(txt); + h := hline; + h0 := 0; + end; + + if w > ARect.Bottom - ARect.Top then begin + if ReplaceTooLong then begin + txt := '#'; + repeat + txt := txt + '#'; + until Canvas.TextWidth(txt) > ARect.Bottom - ARect.Top; + L.Text := Copy(txt, 1, Length(txt)-1); + end; + end; + + ts := Canvas.TextStyle; + ts.SingleLine := true; // Draw text line by line + ts.Clipping := false; + ts.Layout := tlTop; + ts.Alignment := taLeftJustify; + ts.Opaque := false; + + if ATextRot = rt90DegreeClockwiseRotation then begin + // Clockwise + Canvas.Font.Orientation := -900; + case ACellHorAlign of + haLeft : P.X := Min(ARect.Right-1, ARect.Left + h - h0); + haCenter : P.X := Min(ARect.Right-1, (ARect.Left + ARect.Right + h) div 2); + haRight : P.X := ARect.Right - 1; + end; + for i:= 0 to L.Count-1 do begin + w := Canvas.TextWidth(L[i]); + case AJustification of + 0: P.Y := ARect.Top; // corresponds to "top" + 1: P.Y := Max(ARect.Top, (Arect.Top + ARect.Bottom - w) div 2); // "center" + 2: P.Y := Max(ARect.Top, ARect.Bottom -w); // "bottom" + end; { + case vertAlign of + vaTop : P.Y := ARect.Top; + vaCenter : P.Y := Max(ARect.Top, (ARect.Top + ARect.Bottom - w) div 2); + vaBottom : P.Y := Max(ARect.Top, ARect.Bottom - w); + end;} + Canvas.TextRect(ARect, P.X, P.Y, L[i], ts); + dec(P.X, hline); + end + end + else begin + // Counter-clockwise + Canvas.Font.Orientation := +900; + case ACellHorAlign of + haLeft : P.X := ARect.Left; + haCenter : P.X := Max(ARect.Left, (ARect.Left + ARect.Right - h + h0) div 2); + haRight : P.X := MAx(ARect.Left, ARect.Right - h + h0); + end; + for i:= 0 to L.Count-1 do begin + w := Canvas.TextWidth(L[i]); + case AJustification of + 0: P.Y := ARect.Bottom; // like "Bottom" + 1: P.Y := Min(ARect.Bottom, (ARect.Top + ARect.Bottom + w) div 2); // "Center" + 2: P.Y := Min(ARect.Bottom, ARect.Top + w); // like "top" + end; { + case vertAlign of + vaTop : P.Y := Min(ARect.Bottom, ARect.Top + w); + vaCenter : P.Y := Min(ARect.Bottom, (ARect.Top + ARect.Bottom + w) div 2); + vaBottom : P.Y := ARect.Bottom; + end;} + Canvas.TextRect(ARect, P.X, P.Y, L[i], ts); + inc(P.X, hline); + end; + end; + finally + L.Free; + end; + end; +end; + + + { Catches the ESC key during editing in order to restore the old cell text } procedure TsCustomWorksheetGrid.KeyDown(var Key : Word; Shift : TShiftState); begin diff --git a/components/fpspreadsheet/fpsutils.pas b/components/fpspreadsheet/fpsutils.pas index e77f296ee..4bc7ffe60 100644 --- a/components/fpspreadsheet/fpsutils.pas +++ b/components/fpspreadsheet/fpsutils.pas @@ -68,24 +68,15 @@ function MillimetersToTwips(AValue: Single): Integer; function IfThen(ACondition: Boolean; AValue1,AValue2: TsNumberFormat): TsNumberFormat; overload; function IsDateTimeFormat(AFormat: TsNumberFormat): Boolean; - (* -function IsCurrencyFormat(s: String; out Decimals: Byte; out CurrSymbol: String; - out IsCurrencyRedFmt, IsCurrencyDashFmt: Boolean): Boolean; -function IsExpNumberFormat(s: String; out Decimals: Byte; out IsSci: Boolean): Boolean; -function IsFixedNumberFormat(s: String; out Decimals: Byte): Boolean; -function IsPercentNumberFormat(s: String; out Decimals: Byte): Boolean; -function IsThousandSepNumberFormat(s: String; out Decimals: Byte): Boolean; - -function IsDateFormat(s: String; out IsLong: Boolean): Boolean; -{function IsTimeFormat(s: String; out isLong, isAMPM, isInterval: Boolean; - out SecDecimals: Byte): Boolean; -*) function BuildNumberFormatString(ANumberFormat: TsNumberFormat; const AFormatSettings: TFormatSettings; ADecimals: Integer = -1; ACurrencySymbol: String = '?'): String; function BuildDateTimeFormatString(ANumberFormat: TsNumberFormat; const AFormatSettings: TFormatSettings; AFormatString: String = ''): String; +function BuildCurrencyFormatString(const AFormatSettings: TFormatSettings; + ADecimals: Integer; ANegativeValuesRed: Boolean; AAccountingStyle: Boolean; + ACurrencySymbol: String = '?'): String; function AddAMPM(const ATimeFormatString: String; const AFormatSettings: TFormatSettings): String; @@ -94,12 +85,14 @@ function CountDecs(AFormatString: String; ADecChars: TsDecsChars = ['0']): Byte; function AddIntervalBrackets(AFormatString: String): String; function SpecialDateTimeFormat(ACode: String; const AFormatSettings: TFormatSettings; ForWriting: Boolean): String; +function SplitAccountingFormatString(const AFormatString: String; ASection: ShortInt; + var ALeft, ARight: String): Byte; function SciFloat(AValue: Double; ADecimals: Byte): String; //function TimeIntervalToString(AValue: TDateTime; AFormatStr: String): String; procedure MakeTimeIntervalMask(Src: String; var Dest: String); -// These two functions are copies of fpc trunk until they are available in "stable" +// These two functions are copies of fpc trunk until they are available in stable fpc. function FormatDateTime(const FormatStr: string; DateTime: TDateTime; Options : TFormatDateTimeOptions = []): string; function FormatDateTime(const FormatStr: string; DateTime: TDateTime; @@ -516,7 +509,6 @@ begin Result := Round((AValue * 20 * 72) / 25.4); end; - { Returns either AValue1 or AValue2, depending on the condition. For reduciton of typing... } function IfThen(ACondition: Boolean; AValue1, AValue2: TsNumberFormat): TsNumberFormat; @@ -524,262 +516,12 @@ begin if ACondition then Result := AValue1 else Result := AValue2; end; -{ Format checking procedures } - +{ Checks whether the given number format code is for date/times. } function IsDateTimeFormat(AFormat: TsNumberFormat): Boolean; begin Result := AFormat in [nfFmtDateTime, nfShortDateTime, nfShortDate, nfLongDate, nfShortTime, nfLongTime, nfShortTimeAM, nfLongTimeAM, nfTimeInterval]; end; - (* -{ This simple parsing procedure of the Excel format string checks for a fixed - float format s, i.e. s can be '0', '0.00', '000', '0,000', and returns the - number of decimals, i.e. number of zeros behind the decimal point } -function IsFixedNumberFormat(s: String; out Decimals: Byte): Boolean; -var - i: Integer; - p: Integer; - decs: String; -begin - Decimals := 0; - - // Excel time formats with milliseconds ("mm:ss.000") can be incorrectly - // detected as fixed number formats. Check this case at first. - if pos('s.0', s) > 0 then begin - Result := false; - exit; - end; - - // Check if s is a valid format mask. - try - FormatFloat(s, 1.0); - except - on EConvertError do begin - Result := false; - exit; - end; - end; - - // If it is count the zeros - each one is a decimal. - if s = '0' then - Result := true - else begin - p := pos('.', s); // position of decimal point; - if p = 0 then begin - Result := false; - end else begin - Result := true; - for i:= p+1 to Length(s) do - if s[i] = '0' then begin - inc(Decimals) - end - else - exit; // ignore characters after the last 0 - end; - end; -end; - -{ This function checks whether the format string corresponds to a thousand - separator format like "#,##0.000' and returns the number of fixed decimals - (i.e. zeros after the decimal point) } -function IsThousandSepNumberFormat(s: String; out Decimals: Byte): Boolean; -var - i, p: Integer; -begin - Decimals := 0; - - // Check if s is a valid format string - try - FormatFloat(s, 1.0); - except - on EConvertError do begin - Result := false; - exit; - end; - end; - - // If it is look for the thousand separator. If found count decimals. - Result := (Pos(',', s) > 0); - if Result then begin - p := pos('.', s); - if p > 0 then - for i := p+1 to Length(s) do - if s[i] = '0' then - inc(Decimals) - else - exit; // ignore format characters after the last 0 - end; -end; - -{ This function checks whether the format string corresponds to percent - formatting and determines the number of decimals } -function IsPercentNumberFormat(s: String; out Decimals: Byte): Boolean; -var - i, p: Integer; -begin - Decimals := 0; - // The signature of the percent format is a percent sign at the end of the - // format string. - Result := (s <> '') and (s[Length(s)] = '%'); - if Result then begin - // Check for a valid format string - try - FormatDateTime(s, 1.0); - except - on EConvertError do begin - Result := false; - exit; - end; - end; - // Count decimals - p := pos('.', s); - if p > 0 then - for i := p+1 to Length(s)-1 do - if s[i] = '0' then - inc(Decimals) - else - exit; // ignore characters after last 0 - end; -end; - -{ This function checks whether the format string corresponds to a currency format. } -function IsCurrencyFormat(s: String; out Decimals: Byte; out CurrSymbol: String; - out IsCurrencyRedFmt, IsCurrencyDashFmt: Boolean): Boolean; -begin - Result := false; // TO DO !!!! -end; - -{ This function checks whether the format string corresponds to exponential - formatting and determines the number of decimals. If it contains a # character - the function assumes a "scientific" format rounding the exponent to multiples - of 2. } -function IsExpNumberFormat(s: String; out Decimals: Byte; - out IsSci: Boolean): Boolean; -var - i, pdp, pe, ph: Integer; -begin - Result := false; - Decimals := 0; - IsSci := false; - - if SameText(s, 'General') then - exit; - - // Check for a valid format string - try - FormatDateTime(s, 1.0); - except - on EConvertError do begin - exit; - end; - end; - - pe := pos('e', lowercase(s)); - result := pe > 0; - if Result then begin - // The next character must be a "+", "-", or "0" - if (pe = Length(s)) or not (s[pe+1] in ['+', '-', '0']) then begin - Result := false; - exit; - end; - // Count decimals - pdp := pos('.', s); - if (pdp > 0) then begin - if pdp < pe then - for i:=pdp+1 to pe-1 do - if s[i] = '0' then - inc(Decimals) - else - break; // ignore characters after last 0 - end; - // Look for hash signs # as indicator of the "scientific" format - ph := pos('#', s); - if ph > 0 then IsSci := true; - end; -end; - -{ IsDateFormat checks if the format string s corresponds to a date format } -function IsDateFormat(s: String; out IsLong: Boolean): Boolean; -begin - s := Lowercase(s); - // Day, month, year are separated by a slash - // We also check part of the year/month/day symbol because there may be - // other control code with a slash. - Result := (pos('y/', s) > 0) or (pos('m/', s) > 0) or (pos('/m', s) > 0) or (pos('/d', s) > 0); - if Result then - // Check validity of format string - try - FormatDateTime(s, now); - s := Lowercase(s); - isLong := (pos('mmm', s) <> 0) or (pos('mmmm', s) <> 0); - except on EConvertError do - Result := false; - end; -end; - -{ IsTimeFormat checks if the format string s is a time format. isLong is - true if the string contains hours, minutes and seconds (two colons). - isAMPM is true if the string contains "AM/PM", "A/P" or "AMPM". - isInterval is true if the string contains square bracket codes for time intervals. - SecDecimals is the number of decimals for the seconds. } -function IsTimeFormat(s: String; out isLong, isAMPM, isInterval: Boolean; - out SecDecimals: Byte): Boolean; -var - p, pdp, i, count: Integer; -begin - isLong := false; - isAMPM := false; - SecDecimals := 0; - - // Time parts are separated by a colon - p := pos(':', s); - result := p > 0; - - if Result then begin - count := 1; - s := Uppercase(s); - - // Seek for "H:MM:SS" or "H:MM" to see if it is a long or short time format. - if pos('H:MM:SS', s) <> 0 then - isLong := true - else - if pos('H:MM', s) <> 0 then - isLong := false - else - // If there are is a second colon s is a "long" time format - for i:=p+1 to Length(s) do - if s[i] = ':' then begin - isLong := true; - break; - end; - - // Seek for "AM/PM" etc to detect that specific format - isAMPM := (pos('AM/PM', s) > 0) or (pos('A/P', s) > 0) or (pos('AMPM', s) > 0); - - // Look for special square bracket symbols indicating the interval format. - isInterval := (pos('[H]', s) <> 0) or (pos('[HH]', s) <> 0) or - (pos('[M]', s) <> 0) or (pos('[MM]', s) <> 0) or - (pos('[N]', s) <> 0) or (pos('[NN]', s) <> 0) or - (pos('[S]', s) <> 0) or (pos('[SS]', s) <> 0); - - // Count decimals - pdp := pos('.', s); - if (pdp > 0) then - for i:=pdp+1 to Length(s) do - if (s[i] in ['0', 'z', 'Z']) then - inc(SecDecimals) - else - break; // ignore characters after last 0 - - // Check validity of format string - try - FormatDateTime(s, now); - except on EConvertError do - Result := false; - end; - end; -end; - *) { Builds a date/time format string from the numberformat code. If the format code is nfFmtDateTime the given AFormatString is used. AFormatString can use the @@ -824,36 +566,88 @@ begin end; end; +{ Builds a currency format string. The presentation of negative values (brackets, + or minus signs) is taken from the provided format settings. The format string + consists of three sections, separated by semicolons. + Additional code is inserted for the destination file format: + - AAccountingStyle = true adds code to align the currency symbols below each + other. + - ANegativeValuesRed adds code to the second section of the format code (for + negative values) to apply a red font color. + This code has to be removed by StripAccountingSymbols before applying to + FormatFloat. } +function BuildCurrencyFormatString(const AFormatSettings: TFormatSettings; + ADecimals: Integer; ANegativeValuesRed: Boolean; AAccountingStyle: Boolean; + ACurrencySymbol: String = '?'): String; +const + POS_FMT: array[0..3, boolean] of string = ( //0: value, 1: currency symbol + ('"%1:s"%0:s', '"%1:s"* %0:s'), // 0: $1 + ('%0:s"%1:s"', '%0:s* "%1:s"'), // 1: 1$ + ('"%1:s" %0:s', '"%1:s"* %0:s'), // 2: $ 1 + ('%0:s "%1:s"', '%0:s* "%1:s"') // 3: 1 $ + ); + NEG_FMT: array[0..15, boolean] of string = ( + ('("%1:s"%0:s)', '"%1:s"* (%0:s)'), // 0: ($1) + ('-"%1:s"%0:s', '"%1:s"* -%0:s'), // 1: -$1 + ('"%1:s"-%0:s', '"%1:s"* -%0:s'), // 2: $-1 + ('"%1:s"%0:s-', '"%1:s"* %0:s-'), // 3: $1- + ('(%0:s"%1:s")', '(%0:s)"%1:s"'), // 4: (1$) + ('-%0:s"%1:s"', '-%0:s"%1:s"'), // 5: -1$ + ('%0:s-"%1:s"', '%0:s-"%1:s"'), // 6: 1-$ + ('%0:s"%1:s"-', '%0:s-"%1:s"'), // 7: 1$- + ('-%0:s "%1:s"', '-%0:s"%1:s"'), // 8: -1 $ + ('-"%1:s" %0:s', '"%1:s"* -%0:s'), // 9: -$ 1 + ('%0:s "%1:s"-', '%0:s- "%1:s"'), // 10: 1 $- + ('"%1:s" %0:s-', '"%1:s"* %0:s-'), // 11: $ 1- + ('"%1:s" -%0:s', '"%1:s"* -%0:s'), // 12: $ -1 + ('%0:s- "%1:s"', '%0:s- "%1:s"'), // 13: 1- $ + ('("%1:s" %0:s)', '"%1:s"* (%0:s)'), // 14: ($ 1) + ('(%0:s "%1:s")', '(%0:s) "%1:s"') // 15: (1 $) + ); +var + decs: String; + cf, ncf: Byte; + p, n: String; +begin + cf := AFormatSettings.CurrencyFormat; + ncf := AFormatSettings.NegCurrFormat; + if ADecimals < 0 then ADecimals := AFormatSettings.CurrencyDecimals; + if ACurrencySymbol = '?' then ACurrencySymbol := AFormatSettings.CurrencyString; + decs := DupeString('0', ADecimals); + if ADecimals > 0 then decs := '.' + decs; + + p := POS_FMT[cf, AAccountingStyle]; + n := NEG_FMT[ncf, AAccountingStyle]; + // add extra space for the sign of the number for perfect alignment in Excel + if AAccountingStyle then + case ncf of + 0, 14: p := p + '_)'; + 3, 11: p := p + '_-'; + 4, 15: p := '_(' + p; + 5, 8 : p := '_-' + p; + end; + + if ACurrencySymbol <> '' then begin + Result := Format(p, ['#,##0' + decs, ACurrencySymbol]) + ';' + + Format(n, ['#,##0' + decs, ACurrencySymbol]) + ';' + + Format(p, [IfThen(AAccountingStyle, '-', '0'+decs), ACurrencySymbol]); + end + else begin + Result := '#,##0' + decs; + case ncf of + 0, 14, 15 : Result := Result + ';(#,##0' + decs + ')'; + 1, 2, 5, 6, 8, 9, 12: Result := Result + ';-#,##0' + decs; + else Result := Result + ';#,##0' + decs + '-'; + end; + Result := Result + ';' + IfThen(AAccountingStyle, '-', '0'+decs); + end; +end; + { Builds a number format string from the numberformat code, the count of decimals, and the currencysymbol (if not empty). } function BuildNumberFormatString(ANumberFormat: TsNumberFormat; const AFormatSettings: TFormatSettings; ADecimals: Integer = -1; ACurrencySymbol: String = '?'): String; -const - POS_FMT: array[0..3] of string = ( //0: value, 1: currency symbol - '"%1:s"%0:s', - '%0:s"%1:s"', - '"%1:s" %0:s', - '%0:s "%1:s"' - ); - NEG_FMT: array[0..15] of string = ( - '("%1:s"%0:s)', // 0 - '-"%1:s"%0:s', // 1 - '"%1:s"-%0:s', // 2 - '"%1:s"%0:s-', // 3 - '(%0:s"%1:s")', // 4 - '-%0:s"%1:s"', // 5 - '-%0:s-"%1:s"', // 6 - '%0:s"%1:s"-', // 7 - '-%0:s "%1:s"', // 8 - '-"%1:s" %0:s', // 9 - '%0:s "%1:s"-', // 10 - '"%1:s" %0:s-', // 11 - '"%1:s" -%0:s', // 12 - '%0:s- "%1:s"', // 13 - '("%1:s" %0:s)', // 14 - '(%0:s "%1:s")' // 15 - ); var decs: String; cf, ncf: Byte; @@ -876,28 +670,14 @@ begin Result := '##0' + decs + 'E+0'; nfPercentage: Result := '0' + decs + '%'; - nfCurrency, - nfCurrencyRed, - nfCurrencyDash, - nfCurrencyDashRed: - begin - Result := ''; - if ACurrencySymbol <> '' then - Result := Format(POS_FMT[cf], ['#,##0' + decs, ACurrencySymbol]) + ';' - + Format(NEG_FMT[ncf], ['#,##0' + decs, ACurrencySymbol]) - else begin - Result := '#,##0' + decs; - case ncf of - 0, 14, 15 : Result := Result + ';(#,##0' + decs + ')'; - 1, 5, 6, 8, 9, 12: Result := Result + ';-#,##0' + decs; - else Result := Result + ';#,##0' + decs + '-'; - end; - end; - if ANumberFormat in [nfCurrency, nfCurrencyRed] then - Result := Result +';' + Format(POS_FMT[cf], ['0' + decs, ACurrencySymbol]) - else - Result := Result + ';-'; - end; + nfCurrency, nfCurrencyRed, nfAccounting, nfAccountingRed: + Result := BuildCurrencyFormatString( + AFormatSettings, + ADecimals, + ANumberFormat in [nfCurrencyRed, nfAccountingRed], + ANumberFormat in [nfAccounting, nfAccountingRed], + ACurrencySymbol + ); end; end; @@ -998,6 +778,84 @@ begin Result := ACode; end; +{ Splits the sections +1 (positive) or -1 (negative values) or 0 (zero values) + of the accounting format string at the position of the '*' into a left + and right part and returns 1 if the format string is in the left, and 2 if + it is in the right part. Additionally removes Excel format codes '_' } +function SplitAccountingFormatString(const AFormatString: String; ASection: ShortInt; + var ALeft, ARight: String): Byte; +var + P: PChar; + PStart, PEnd: PChar; + token: Char; + done: Boolean; + i: Integer; +begin + Result := 0; + PStart := PChar(@AFormatString[1]); + PEnd := PStart + Length(AFormatString); + P := PStart; + + done := false; + case ASection of + -1 : while (P < PEnd) and not done do begin + token := P^; + if token = ';' then done := true; + inc(P); + end; + 0 : for i := 1 to 2 do begin + done := false; + while (P < PEnd) and not done do begin + token := P^; + if token = ';' then done := true; + inc(P); + end; + end; + +1: ; + end; + + ALeft := ''; + done := false; + + while (P < PEnd) and not done do begin + token := P^; + case token of + '_': inc(P); + ';': done := true; + '"': ; + '*': begin + inc(P); + done := true; + end; + '0', + '#': begin + ALeft := ALeft + token; + Result := 1; + end; + else ALeft := ALeft + token; + end; + inc(P); + end; + + ARight := ''; + done := false; + while (P < PEnd) and not done do begin + token := P^; + case token of + '_': inc(P); + ';': done := true; + '"': ; + '0', + '#': begin + ARight := ARight + token; + Result := 2; + end; + else ARight := ARight + token; + end; + inc(P); + end; +end; + { Formats the number AValue in "scientific" format with the given number of decimals. "Scientific" is the same as "exponential", but with exponents rounded to multiples of 3 (like for "kilo" - "Mega" - "Giga" etc.). } @@ -1017,45 +875,7 @@ begin Result := Format('%.*fE%d', [ADecimals, m, ex]); end; end; - (* -{ Formats the number AValue as a time string according to the format string. - If the hour part is between square brackets it can be greater than 24 hours. - Dto for the minutes or seconds part, with the higher-value part being added - and no longer being shown explicitly. - Example: - AValue = 1:30:02, FormatStr = "[mm]:ss]" --> "90:02" } -function TimeIntervalToString(AValue: TDateTime; AFormatStr: String): String; -var - hrs, mins, secs: Integer; - diff: Double; - h,m,s,z: Word; - ts: String; - fmt: String; - p: Integer; -begin { - fmt := Lowercase(AFormatStr); - p := pos('h]', fmt); - if p > 0 then begin - System.Delete(fmt, 1, p+2); - Result := FormatDateTime(fmt, AValue); - DecodeTime(frac(abs(AValue)), h, m, s, z); - hrs := h + trunc(abs(AValue))*24; - Result := FormatDateTime(fmt, AValue); - end; - for i - p := pos('h - } - ts := DefaultFormatSettings.TimeSeparator; - DecodeTime(frac(abs(AValue)), h, m, s, z); - hrs := h + trunc(abs(AValue))*24; - if z > 499 then inc(s); - if hrs > 0 then - Result := Format('%d%s%.2d%s%.2d', [hrs, ts, m, ts, s]) - else - Result := Format('%d%s%.2d', [m, ts, s]); - if AValue < 0.0 then Result := '-' + Result; -end; - *) + { Creates a "time interval" format string having the first code identifier in square brackets. } procedure MakeTimeIntervalMask(Src: String; var Dest: String); @@ -1079,12 +899,11 @@ end; {******************************************************************************} {******************************************************************************} { Patch for SysUtils.FormatDateTime } -{ Remove when the feature of square brackets in time format masks is in rtl } +{ Remove when the feature of square brackets in time format masks is in rtl } {******************************************************************************} {******************************************************************************} // Copied from "fpc/rtl/objpas/sysutils/datei.inc" -{ DateTimeToString formats DateTime to the given format in FormatStr } procedure DateTimeToString(out Result: string; const FormatStr: string; const DateTime: TDateTime; const FormatSettings: TFormatSettings; Options : TFormatDateTimeOptions = []); @@ -1428,9 +1247,6 @@ begin DateTimeToString(Result, FormatStr, DateTime, DefaultFormatSettings, Options); end; - -{ FormatDateTime formats DateTime to the given format string FormatStr } - function FormatDateTime(const FormatStr: string; DateTime: TDateTime; Options : TFormatDateTimeOptions = []): string; begin diff --git a/components/fpspreadsheet/tests/numformatparsertests.pas b/components/fpspreadsheet/tests/numformatparsertests.pas index 2e611c0eb..1455cf9c0 100644 --- a/components/fpspreadsheet/tests/numformatparsertests.pas +++ b/components/fpspreadsheet/tests/numformatparsertests.pas @@ -149,8 +149,8 @@ var begin MyWorkbook := TsWorkbook.Create; // needed to provide the FormatSettings for the parser try - for i:=0 to 6 do begin - parser := TsNumFormatParser.Create(MyWorkbook, ParserTestData[i].FormatString); + for i:=0 to 5 do begin + parser := TsNumFormatParser.Create(MyWorkbook, ParserTestData[i].FormatString, cdToFPSpreadsheet); try CheckEquals(ParserTestData[i].SollFormatString, parser.FormatString, 'Test format string ' + ParserTestData[i].FormatString + ' construction mismatch'); diff --git a/components/fpspreadsheet/xlsbiff2.pas b/components/fpspreadsheet/xlsbiff2.pas index 9778d7d99..f3623161c 100755 --- a/components/fpspreadsheet/xlsbiff2.pas +++ b/components/fpspreadsheet/xlsbiff2.pas @@ -219,7 +219,7 @@ begin nfGeneral: ; nfFixed, nfFixedTh, nfPercentage, nfExp, - nfCurrency, nfCurrencyRed, nfCurrencyDash, nfCurrencyDashRed: + nfCurrency, nfCurrencyRed, nfAccounting, nfAccountingRed: if ADecimals > 0 then ADecimals := 2; nfSci: begin @@ -266,56 +266,56 @@ var fmt: String; begin case AFormatCell^.NumberFormat of - nfGeneral : Result := 0; - nfFixed : Result := IfThen(AFormatCell^.Decimals = 0, 1, 2); - nfFixedTh : Result := IfThen(AFormatCell^.Decimals = 0, 3, 4); - nfCurrency, - nfCurrencyDash : Result := IfThen(AFormatCell^.Decimals = 0, 5, 7); - nfCurrencyRed, - nfCurrencyDashRed: Result := IfThen(AFormatCell^.Decimals = 0, 6, 8); - nfPercentage : Result := IfThen(AFormatCell^.Decimals = 0, 9, 10); - nfExp, nfSci : Result := 11; - nfShortDate : Result := 12; - nfLongDate : Result := 13; - nfShortTimeAM : Result := 16; - nfLongTimeAM : Result := 17; - nfShortTime : Result := 18; - nfLongTime : Result := 19; - nfShortDateTime : Result := 20; - nfFmtDateTime : begin - fmt := lowercase(AFormatCell^.NumberFormatStr); - if (fmt = 'd-mmm') or (fmt = 'd/mmm') or - (fmt = 'd-mm') or (fmt = 'd/mm') or - (fmt = 'dd-mm') or (fmt = 'dd/mm') or - (fmt = 'dd-mmm') or (fmt = 'dd/mmm') - then - Result := 14 - else - if (fmt = 'mmm-yy') or (fmt = 'mmm/yy') or - (fmt = 'mm-yy') or (fmt = 'mm/yy') or - (fmt = 'm-yy') or (fmt = 'm/y') or - (fmt = 'mmm-yyyy') or (fmt = 'mmm/yyyy') or - (fmt = 'mm-yyyy') or (fmt = 'mm/yyyy') or - (fmt = 'm-yyyy') or (fmt = 'm/yyyy') - then - Result := 15 - else - if (fmt = 'nn:ss') or (fmt = 'mm:ss') or - (fmt = 'n:ss') or (fmt = 'm:ss') - then - Result := 19 - else - if (fmt = 'nn:ss.z') or (fmt = 'mm:ss.z') or - (fmt = 'n:ss.z') or (fmt = 'm:ss.z') or - (fmt = 'nn:ss.zzz') or (fmt = 'mm:ss.zzz') or - (fmt = 'n:ss.zzz') or (fmt = 'm:ss.zzz') - then - Result := 19 - else - Result := 20; - end; + nfGeneral, nfCustom, - nfTimeInterval : Result := 0; + nfTimeInterval : Result := 0; + nfFixed : Result := IfThen(AFormatCell^.Decimals = 0, 1, 2); + nfFixedTh : Result := IfThen(AFormatCell^.Decimals = 0, 3, 4); + nfCurrency, + nfAccounting : Result := IfThen(AFormatCell^.Decimals = 0, 5, 7); + nfCurrencyRed, + nfAccountingRed : Result := IfThen(AFormatCell^.Decimals = 0, 6, 8); + nfPercentage : Result := IfThen(AFormatCell^.Decimals = 0, 9, 10); + nfExp, nfSci : Result := 11; + nfShortDate : Result := 12; + nfLongDate : Result := 13; + nfShortTimeAM : Result := 16; + nfLongTimeAM : Result := 17; + nfShortTime : Result := 18; + nfLongTime : Result := 19; + nfShortDateTime : Result := 20; + nfFmtDateTime : begin + fmt := lowercase(AFormatCell^.NumberFormatStr); + if (fmt = 'd-mmm') or (fmt = 'd/mmm') or + (fmt = 'd-mm') or (fmt = 'd/mm') or + (fmt = 'dd-mm') or (fmt = 'dd/mm') or + (fmt = 'dd-mmm') or (fmt = 'dd/mmm') + then + Result := 14 + else + if (fmt = 'mmm-yy') or (fmt = 'mmm/yy') or + (fmt = 'mm-yy') or (fmt = 'mm/yy') or + (fmt = 'm-yy') or (fmt = 'm/y') or + (fmt = 'mmm-yyyy') or (fmt = 'mmm/yyyy') or + (fmt = 'mm-yyyy') or (fmt = 'mm/yyyy') or + (fmt = 'm-yyyy') or (fmt = 'm/yyyy') + then + Result := 15 + else + if (fmt = 'nn:ss') or (fmt = 'mm:ss') or + (fmt = 'n:ss') or (fmt = 'm:ss') + then + Result := 19 + else + if (fmt = 'nn:ss.z') or (fmt = 'mm:ss.z') or + (fmt = 'n:ss.z') or (fmt = 'm:ss.z') or + (fmt = 'nn:ss.zzz') or (fmt = 'mm:ss.zzz') or + (fmt = 'n:ss.zzz') or (fmt = 'm:ss.zzz') + then + Result := 19 + else + Result := 20; + end; end; end; diff --git a/components/fpspreadsheet/xlscommon.pas b/components/fpspreadsheet/xlscommon.pas index 8e616aa6e..baedac5b6 100644 --- a/components/fpspreadsheet/xlscommon.pas +++ b/components/fpspreadsheet/xlscommon.pas @@ -567,10 +567,10 @@ begin AddFormat(38, '_(#,##0_);[Red](#,##0)', nfCurrencyRed, 0); AddFormat(39, '_(#,##0.00_);(#,##0.00)', nfCurrency, 2); AddFormat(40, '_(#,##0.00_);[Red](#,##0.00)', nfCurrencyRed, 2); - AddFormat(41, '_("'+cs+'"* #,##0_);_("'+cs+'"* (#,##0);_("'+cs+'"* "-"_);_(@_)', nfCurrencyDash, 0); - AddFormat(42, '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)', nfCurrencyDash, 0); - AddFormat(43, '_("'+cs+'"* #,##0.00_);_("'+cs+'"* (#,##0.00);_("'+cs+'"* "-"??_);_(@_)', nfCurrencyDash, 2); - AddFormat(44, '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)', nfCurrencyDash, 2); + AddFormat(41, '_("'+cs+'"* #,##0_);_("'+cs+'"* (#,##0);_("'+cs+'"* "-"_);_(@_)', nfAccounting, 0); + AddFormat(42, '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)', nfAccounting, 0); + AddFormat(43, '_("'+cs+'"* #,##0.00_);_("'+cs+'"* (#,##0.00);_("'+cs+'"* "-"??_);_(@_)', nfAccounting, 2); + AddFormat(44, '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)', nfAccounting, 2); AddFormat(45, 'mm:ss', nfFmtDateTime); AddFormat(46, '[h]:mm:ss', nfTimeInterval); AddFormat(47, 'mm:ss.0', nfFmtDateTime);