diff --git a/components/jvcllaz/design/JvCustomControls/JvCustomReg.pas b/components/jvcllaz/design/JvCustomControls/JvCustomReg.pas new file mode 100644 index 000000000..786984d2d --- /dev/null +++ b/components/jvcllaz/design/JvCustomControls/JvCustomReg.pas @@ -0,0 +1,31 @@ +unit JvCustomReg; + +{$mode objfpc}{$H+} + +interface + +uses + SysUtils; + +procedure Register; + +implementation + +{$R ../../resource/jvcustomreg.res} + +uses + Classes, JvDsgnConsts, + JvTimeLine, JvTimeLineEditor, + PropEdits, ComponentEditors, Controls; + +procedure Register; +begin + RegisterComponents(RsPaletteJvcl, [ + TJvTimeLine + ]); + RegisterComponentEditor(TJvCustomTimeLine, TJvTimeLineEditor); + RegisterPropertyEditor(TypeInfo(TDate), TJvTimeLine, 'FirstVisibledate', TDatePropertyEditor) +end; + +end. + diff --git a/components/jvcllaz/design/JvCustomControls/JvTimeLineEditor.pas b/components/jvcllaz/design/JvCustomControls/JvTimeLineEditor.pas new file mode 100644 index 000000000..cc0cd2e88 --- /dev/null +++ b/components/jvcllaz/design/JvCustomControls/JvTimeLineEditor.pas @@ -0,0 +1,101 @@ +{----------------------------------------------------------------------------- +The contents of this file are subject to the Mozilla Public License +Version 1.1 (the "License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at +http://www.mozilla.org/MPL/MPL-1.1.html + +Software distributed under the License is distributed on an "AS IS" basis, +WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for +the specific language governing rights and limitations under the License. + +The Original Code is: JvTimeLineEdit.PAS, released on 2002-05-26. + +The Initial Developer of the Original Code is Peter Thörnqvist [peter3 att users dott sourceforge dott net] +Portions created by Peter Thörnqvist are Copyright (C) 2002 Peter Thörnqvist. +All Rights Reserved. + +Contributor(s): + +You may retrieve the latest version of this file at the Project JEDI's JVCL home page, +located at http://jvcl.delphi-jedi.org + +Description: + Property editor(s) for the @link(TJvTimeLine) component + +Known Issues: +-----------------------------------------------------------------------------} +// $Id$ + +unit JvTimeLineEditor; + +//{$I jvcl.inc} + +interface + +uses + PropEdits, ComponentEditors; + +type + { a component editor that by default opens the editor for the Items property + in TTimeline } + TJvTimeLineEditor = class(TDefaultEditor) + public + procedure Edit; override; + procedure EditProperty(const Prop: TPropertyEditor; var {%H-}Continue: Boolean); override; + procedure ExecuteVerb(Index: Integer); override; + function GetVerb(Index: Integer): string; override; + function GetVerbCount: Integer; override; + end; + +implementation + +uses + SysUtils, + JvTimeLine, JvDsgnConsts; + +procedure TJvTimeLineEditor.Edit; +var + timeline: TJvTimeLine; +begin + timeline := TJvTimeLine(GetComponent); // + TCollectionPropertyEditor.ShowCollectionEditor(timeline.Items, timeline, 'Items'); +{ + tree := TVirtualTreeCast(GetComponent); + TCollectionPropertyEditor.ShowCollectionEditor(Tree.Header.Columns, Tree, 'Columns'); +} +end; + +procedure TJvTimeLineEditor.EditProperty(const Prop: TPropertyEditor; var Continue: Boolean); +var + PropName: string; +begin + PropName := Prop.GetName; + if SameText(PropName, 'Items') then + begin + Prop.Edit; + Continue := False; + end; +end; + +procedure TJvTimeLineEditor.ExecuteVerb(Index: Integer); +begin + if Index = 0 then + Edit + else + inherited ExecuteVerb(Index); +end; + +function TJvTimeLineEditor.GetVerb(Index: Integer): string; +begin + if Index = 0 then + Result := RsItemsEditorEllipsis + else + Result := inherited GetVerb(Index); +end; + +function TJvTimeLineEditor.GetVerbCount: Integer; +begin + Result := 1; +end; + +end. diff --git a/components/jvcllaz/design/JvCustomControls/images/images.txt b/components/jvcllaz/design/JvCustomControls/images/images.txt new file mode 100644 index 000000000..dcf742822 --- /dev/null +++ b/components/jvcllaz/design/JvCustomControls/images/images.txt @@ -0,0 +1 @@ +tjvtimeline.bmp diff --git a/components/jvcllaz/design/JvCustomControls/images/make_res.bat b/components/jvcllaz/design/JvCustomControls/images/make_res.bat new file mode 100644 index 000000000..137082e0a --- /dev/null +++ b/components/jvcllaz/design/JvCustomControls/images/make_res.bat @@ -0,0 +1 @@ +lazres ../../../resource/jvcustomreg.res @images.txt diff --git a/components/jvcllaz/design/JvCustomControls/images/tjvtimeline.bmp b/components/jvcllaz/design/JvCustomControls/images/tjvtimeline.bmp new file mode 100644 index 000000000..8afac3f97 Binary files /dev/null and b/components/jvcllaz/design/JvCustomControls/images/tjvtimeline.bmp differ diff --git a/components/jvcllaz/design/JvCustomControls/images/tjvtmtimeline.bmp b/components/jvcllaz/design/JvCustomControls/images/tjvtmtimeline.bmp new file mode 100644 index 000000000..ec6a7a0a8 Binary files /dev/null and b/components/jvcllaz/design/JvCustomControls/images/tjvtmtimeline.bmp differ diff --git a/components/jvcllaz/design/JvPageComps/JvPageCompsReg.pas b/components/jvcllaz/design/JvPageComps/JvPageCompsReg.pas index 7401abdc0..4c75ce493 100644 --- a/components/jvcllaz/design/JvPageComps/JvPageCompsReg.pas +++ b/components/jvcllaz/design/JvPageComps/JvPageCompsReg.pas @@ -26,9 +26,6 @@ begin TJvNavPaneStyleManager, TJvNavPaneToolPanel ]); end; - { -initialization - {$I ..\..\resource\JvNavigationPaneLaz.lrs} - } + end. diff --git a/components/jvcllaz/examples/JVTimeLine/Test.itm b/components/jvcllaz/examples/JVTimeLine/Test.itm new file mode 100644 index 000000000..7fdd1c188 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/Test.itm @@ -0,0 +1,181 @@ +Pin it up! +4210688 +1997-05-09 +Pin it up! +8 +3 +0 +16777215 +50 +@@@Something arrived +12632256 +1997-07-26 +Inbox +1 +1 +0 +0 +93 +@@@Something departed +16512 +1997-09-04 +Outbox added +2 +0 +1 +16777215 +110 +@@@Something saved +0 +1997-02-04 +Saved items +3 +0 +0 +16777215 +88 +@@@News started +8388672 +1997-03-02 +News started +7 +1 +0 +16777215 +70 +@@@Flushed it +8421376 +1997-08-09 +Recycled +4 +2 +0 +16777215 +56 +@@@Simons birthday +8404992 +1997-04-19 +Simons birthday +8 +2 +0 +16777088 +85 +@@@Elias birthday +128 +1997-07-06 +Elias birthday +8 +0 +0 +16777215 +70 +@@@Majas birthday +8388863 +1997-04-03 +Majas birthday +8 +0 +0 +16777215 +85 +@@@Folder +8404992 +1997-11-15 +Folder +3 +0 +0 +16776960 +50 +@@@Item 1 +255 +1998-01-03 + +0 +4 +0 +65535 +50 +@@@Item 2 +32768 +1998-01-04 + +1 +5 +0 +0 +50 +@@@Item 3 +4227200 +1998-01-05 + +2 +6 +0 +0 +50 +@@@Item 4 +65535 +1998-01-06 + +3 +7 +0 +0 +50 +@@@Item 5 +32768 +1998-01-07 + +4 +8 +0 +0 +50 +@@@Item 6 +16711680 +1998-01-08 + +5 +9 +0 +16777215 +50 +@@@Item 7 +16384 +1998-01-03 + +6 +2 +0 +16777215 +50 +@@@Item 8 +12615935 +1998-01-03 + +7 +3 +0 +0 +50 +@@@Item 9 +4194368 +1998-01-03 + +6 +1 +0 +16777215 +50 +@@@Item 10 +8421376 +1998-01-03 + +6 +0 +0 +16776960 +50 +@@@ diff --git a/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpi b/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpi new file mode 100644 index 000000000..a9a26d5d3 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpi @@ -0,0 +1,91 @@ + + + + + + + + + + <Scaled Value="True"/> + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <XPManifest> + <DpiAware Value="True"/> + </XPManifest> + <Icon Value="0"/> + </General> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + </PublishOptions> + <RunParams> + <FormatVersion Value="2"/> + <Modes Count="0"/> + </RunParams> + <RequiredPackages Count="3"> + <Item1> + <PackageName Value="DateTimeCtrls"/> + </Item1> + <Item2> + <PackageName Value="JvCustomLazR"/> + </Item2> + <Item3> + <PackageName Value="LCL"/> + </Item3> + </RequiredPackages> + <Units Count="3"> + <Unit0> + <Filename Value="TimeLineDemo.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="TimelineMainFormU.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="TimelineMainForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + </Unit1> + <Unit2> + <Filename Value="TimelineNotesFormU.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="TimelineNotesForm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + </Unit2> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="..\..\bin\TimeLineDemo"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpr b/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpr new file mode 100644 index 000000000..2d22170cd --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimeLineDemo.lpr @@ -0,0 +1,17 @@ +program TimeLineDemo; + +{$mode objfpc}{$H+} + +uses + Forms, datetimectrls, Interfaces, + TimelineNotesFormU in 'TimelineNotesFormU.pas' {TimelineNotesForm}, + TimelineMainFormU in 'TimelineMainFormU.pas' {TimelineMainForm}; + +{$R *.res} + +begin + Application.Scaled := True; + Application.Initialize; + Application.CreateForm(TTimelineMainForm, TimelineMainForm); + Application.Run; +end. diff --git a/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.lfm b/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.lfm new file mode 100644 index 000000000..8a4f37f73 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.lfm @@ -0,0 +1,4236 @@ +object TimelineMainForm: TTimelineMainForm + Left = 357 + Height = 607 + Top = 104 + Width = 731 + ActiveControl = TimeLine1 + Caption = 'Test program for TJvTimeLine' + ClientHeight = 607 + ClientWidth = 731 + Color = clSilver + Constraints.MinHeight = 500 + Constraints.MinWidth = 700 + DefaultMonitor = dmDesktop + Font.Color = clWindowText + OnCreate = FormCreate + OnDestroy = FormDestroy + OnResize = FormResize + Position = poScreenCenter + LCLVersion = '1.9.0.0' + Scaled = False + object Splitter1: TSplitter + Cursor = crVSplit + Left = 0 + Height = 3 + Top = 0 + Width = 731 + Align = alTop + ResizeAnchor = akTop + end + object StatusBar1: TStatusBar + Left = 0 + Height = 23 + Top = 584 + Width = 731 + Panels = < + item + Width = 50 + end> + SimplePanel = False + end + object TimeLine1: TJvTimeLine + Left = 0 + Height = 293 + Top = 3 + Width = 731 + Align = alClient + Color = clInfoBk + HelperYears = False + PopupMenu = PopupMenu1 + ParentShowHint = False + ShowHint = True + Font.CharSet = ANSI_CHARSET + Font.Color = clMaroon + TabStop = True + TabOrder = 0 + OnMouseDown = TimeLine1MouseDown + OnMouseMove = TimeLine1MouseMove + OnClick = TimeLine1Click + DragCursor = crDefault + OnDragOver = TimeLine1DragOver + OnDragDrop = TimeLine1DragDrop + YearFont.CharSet = ANSI_CHARSET + YearFont.Color = clPurple + YearFont.Height = -29 + YearFont.Name = 'Lucida Sans Unicode' + YearFont.Style = [fsBold] + YearWidth = 600 + ShowDays = True + ShowItemHint = True + ShowMonthNames = False + FirstVisibleDate = 35400 + Images = ImageList1 + Items = < + item + Left = 53 + Top = 171 + Caption = ' Pin it up!' + Color = 4210688 + Date = 35431 + Hint = 'Pin it up!' + ImageIndex = 8 + Level = 1 + TextColor = clWhite + Width = 45 + end + item + Left = 393 + Top = 171 + Caption = ' Something arrived' + Color = clBtnFace + Date = 35637 + Hint = 'Inbox' + ImageIndex = 1 + Level = 1 + Selected = True + Width = 93 + end + item + Left = 203 + Top = 171 + Caption = ' Something departed' + Color = 16512 + Date = 35521 + Hint = 'Outbox added' + ImageIndex = 2 + Level = 1 + TextColor = clWhite + Width = 110 + end + item + Left = 153 + Top = 211 + Caption = ' Something saved' + Color = cl3DDkShadow + Date = 35490 + Hint = 'Saved items' + ImageIndex = 3 + Level = 2 + TextColor = clWhite + Width = 88 + end + item + Left = 115 + Top = 171 + Caption = ' News started' + Color = 8388672 + Date = 35469 + Hint = 'News started' + ImageIndex = 7 + Level = 1 + TextColor = clWhite + Width = 70 + end + item + Left = 415 + Top = 211 + Caption = ' Flushed it' + Color = clTeal + Date = 35651 + Hint = 'Recycled' + ImageIndex = 4 + Level = 2 + TextColor = clWhite + Width = 56 + end + item + Left = 233 + Top = 211 + Caption = ' Simons birthday' + Color = 8404992 + Date = 35539 + Hint = 'Simons birthday' + ImageIndex = 8 + Level = 2 + TextColor = 16777088 + Width = 85 + end + item + Left = 361 + Top = 171 + Caption = ' Elias birthday' + Color = clMaroon + Date = 35617 + Hint = 'Elias birthday' + ImageIndex = 8 + Level = 1 + TextColor = clWhite + Width = 70 + end + item + Left = 206 + Top = 171 + Caption = ' Majas birthday' + Color = 8388863 + Date = 35523 + Hint = 'Majas birthday' + ImageIndex = 8 + Level = 1 + TextColor = clWhite + Width = 85 + end + item + Left = 576 + Top = 171 + Caption = ' Folder' + Color = 8404992 + Date = 35749 + Hint = 'Folder' + ImageIndex = 3 + Level = 1 + TextColor = clAqua + end + item + Left = 664 + Top = 171 + Caption = ' Item 6' + Color = clBlue + Date = 35803 + ImageIndex = 5 + Level = 1 + TextColor = clWhite + end + item + Left = 656 + Top = 291 + Caption = ' Item 7' + Color = 16384 + Date = 35798 + ImageIndex = 6 + Level = 4 + TextColor = clWhite + end + item + Left = 673 + Top = 251 + Caption = ' Item 8' + Color = 12615935 + Date = 35809 + ImageIndex = 7 + Level = 3 + end + item + Left = 656 + Top = 211 + Caption = ' Item 9' + Color = 4194368 + Date = 35798 + ImageIndex = 6 + Level = 2 + TextColor = clWhite + end + item + Left = 656 + Top = 171 + Caption = ' Item 10' + Color = clTeal + Date = 35798 + ImageIndex = 6 + Level = 1 + TextColor = clAqua + end> + ItemHeight = 40 + HorzSupports = True + OnItemClick = TimeLine1ItemClick + OnDrawItem = TimeLine1DrawItem + OnSaveItem = TimeLine1SaveItem + OnLoadItem = TimeLine1LoadItem + OnItemMoved = TimeLine1ItemMoved + end + object Panel2: TPanel + Left = 0 + Height = 288 + Top = 296 + Width = 731 + Align = alBottom + BevelOuter = bvNone + ClientHeight = 288 + ClientWidth = 731 + Color = clForm + ParentColor = False + TabOrder = 2 + object Label6: TLabel + Left = 8 + Height = 30 + Top = 216 + Width = 565 + Caption = 'Scrolling is done one month at a time: hold down the Ctrl key when clicking to skip ahead one year instead.'#13#10'Right-click any item to see its actions, check and uncheck boxes to see the properties at work.' + ParentColor = False + WordWrap = True + end + object GroupBox1: TGroupBox + Left = 8 + Height = 193 + Top = 16 + Width = 196 + Caption = ' New item: ' + ClientHeight = 173 + ClientWidth = 192 + TabOrder = 0 + object lblCaption: TLabel + AnchorSideLeft.Control = GroupBox1 + AnchorSideTop.Control = edCaption + AnchorSideTop.Side = asrCenter + Left = 12 + Height = 15 + Top = 4 + Width = 45 + BorderSpacing.Left = 12 + Caption = '&Caption:' + FocusControl = edCaption + ParentColor = False + end + object lblImIndex: TLabel + AnchorSideLeft.Control = lblDate + AnchorSideTop.Control = dtpItemdate + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 15 + Top = 62 + Width = 64 + BorderSpacing.Top = 8 + Caption = 'ImageInde&x:' + FocusControl = edImIndex + ParentColor = False + end + object lblDate: TLabel + AnchorSideLeft.Control = lblCaption + AnchorSideTop.Control = dtpItemdate + AnchorSideTop.Side = asrCenter + Left = 12 + Height = 15 + Top = 35 + Width = 27 + Caption = '&Date:' + FocusControl = dtpItemdate + ParentColor = False + end + object lblLevel: TLabel + AnchorSideLeft.Control = Bevel1 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = lblImIndex + Left = 104 + Height = 15 + Top = 62 + Width = 30 + Caption = 'Le&vel:' + FocusControl = edLevel + ParentColor = False + end + object btnAdd: TButton + AnchorSideLeft.Control = Bevel1 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = btnColor + Left = 104 + Height = 25 + Top = 134 + Width = 75 + Caption = '&Add' + OnClick = btnAddClick + TabOrder = 7 + end + object edCaption: TEdit + AnchorSideLeft.Control = lblCaption + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = GroupBox1 + AnchorSideRight.Control = GroupBox1 + AnchorSideRight.Side = asrBottom + Left = 65 + Height = 23 + Top = 0 + Width = 115 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 8 + BorderSpacing.Right = 12 + TabOrder = 0 + Text = 'New item' + end + object edImIndex: TEdit + AnchorSideLeft.Control = lblImIndex + AnchorSideTop.Control = lblImIndex + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = udImIndex + Left = 12 + Height = 23 + Top = 81 + Width = 61 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Top = 4 + TabOrder = 1 + Text = '0' + end + object dtpItemdate: TDateTimePicker + AnchorSideLeft.Control = edCaption + AnchorSideTop.Control = edCaption + AnchorSideTop.Side = asrBottom + Left = 65 + Height = 23 + Top = 31 + Width = 79 + CenturyFrom = 1941 + MaxDate = 2958465 + MinDate = -53780 + TabOrder = 6 + BorderSpacing.Top = 8 + TrailingSeparator = False + LeadingZeros = True + Kind = dtkDate + TimeFormat = tf24 + TimeDisplay = tdHMS + DateMode = dmComboBox + Date = 35796 + Time = 0.20616542820062 + UseDefaultSeparators = True + HideDateTimeParts = [] + MonthNames = 'Long' + CalAlignment = dtaLeft + end + object udImIndex: TUpDown + AnchorSideRight.Control = Bevel1 + Left = 73 + Height = 23 + Top = 81 + Width = 15 + Anchors = [akTop, akRight] + Associate = edImIndex + Max = 8 + Min = 0 + Position = 0 + TabOrder = 2 + Wrap = False + end + object edLevel: TEdit + AnchorSideLeft.Control = lblLevel + AnchorSideTop.Control = edImIndex + AnchorSideRight.Control = udLevel + Left = 104 + Height = 23 + Top = 81 + Width = 61 + Anchors = [akTop, akLeft, akRight] + TabOrder = 3 + Text = '0' + end + object udLevel: TUpDown + AnchorSideRight.Control = edCaption + AnchorSideRight.Side = asrBottom + Left = 165 + Height = 23 + Top = 81 + Width = 15 + Anchors = [akTop, akRight] + Associate = edLevel + Max = 8 + Min = 0 + Position = 0 + TabOrder = 4 + Wrap = False + end + object btnColor: TButton + AnchorSideRight.Control = Bevel1 + Left = 13 + Height = 25 + Top = 134 + Width = 75 + Anchors = [akTop, akRight] + BorderSpacing.Left = 16 + Caption = 'Color...' + OnClick = btnColorClick + TabOrder = 5 + end + object Bevel1: TBevel + AnchorSideLeft.Control = GroupBox1 + AnchorSideLeft.Side = asrCenter + Left = 88 + Height = 50 + Top = 64 + Width = 16 + Shape = bsSpacer + end + end + object GroupBox2: TGroupBox + Left = 240 + Height = 193 + Top = 16 + Width = 256 + Caption = ' Options: ' + ClientHeight = 173 + ClientWidth = 252 + TabOrder = 1 + object chkMonths: TCheckBox + AnchorSideLeft.Control = GroupBox2 + AnchorSideTop.Control = GroupBox2 + Left = 12 + Height = 19 + Top = 2 + Width = 93 + BorderSpacing.Left = 12 + BorderSpacing.Top = 2 + Caption = '&Show months' + OnClick = chkMonthsClick + TabOrder = 0 + end + object chkMulti: TCheckBox + AnchorSideLeft.Control = chkMonths + AnchorSideTop.Control = chkMonths + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 19 + Top = 21 + Width = 78 + Caption = '&Multiselect' + OnClick = chkMultiClick + TabOrder = 1 + end + object chkNoImages: TCheckBox + AnchorSideLeft.Control = chkMonths + AnchorSideTop.Control = chkMulti + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 19 + Top = 40 + Width = 77 + Caption = '&No images' + OnClick = chkNoImagesClick + TabOrder = 2 + end + object chkWidthAs: TCheckBox + AnchorSideLeft.Control = chkMonths + AnchorSideTop.Control = chkNoImages + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 19 + Top = 59 + Width = 93 + Caption = 'W&idth as days' + OnClick = chkWidthAsClick + TabOrder = 3 + end + object chkAutosize: TCheckBox + AnchorSideLeft.Control = Bevel2 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = GroupBox2 + Left = 128 + Height = 19 + Top = 2 + Width = 65 + BorderSpacing.Top = 2 + Caption = 'Autosi&ze' + OnClick = chkAutosizeClick + TabOrder = 5 + end + object chkSupport: TCheckBox + AnchorSideLeft.Control = chkAutosize + AnchorSideTop.Control = chkAutosize + AnchorSideTop.Side = asrBottom + Left = 128 + Height = 19 + Top = 21 + Width = 89 + Caption = 'Su&pport lines' + OnClick = chkSupportClick + TabOrder = 6 + end + object chkLarge: TCheckBox + AnchorSideLeft.Control = chkAutosize + AnchorSideTop.Control = chkSupport + AnchorSideTop.Side = asrBottom + Left = 128 + Height = 19 + Top = 40 + Width = 90 + Caption = 'Lar&ge images' + OnClick = chkLargeClick + TabOrder = 7 + end + object chkOwnerDraw: TCheckBox + AnchorSideLeft.Control = chkAutosize + AnchorSideTop.Control = chkLarge + AnchorSideTop.Side = asrBottom + Left = 128 + Height = 19 + Top = 59 + Width = 81 + Caption = '&Ownerdraw' + OnClick = chkOwnerDrawClick + TabOrder = 8 + end + object btnAuto: TButton + AnchorSideLeft.Control = GroupBox2 + Left = 12 + Height = 25 + Top = 120 + Width = 75 + BorderSpacing.Left = 12 + Caption = 'A&utoLevels' + OnClick = btnAutoClick + TabOrder = 10 + end + object chkReset: TCheckBox + AnchorSideLeft.Control = btnAuto + AnchorSideLeft.Side = asrBottom + Left = 103 + Height = 19 + Top = 112 + Width = 103 + BorderSpacing.Left = 16 + Caption = 'Reset levels &first' + TabOrder = 11 + end + object chkComplete: TCheckBox + AnchorSideLeft.Control = chkReset + AnchorSideTop.Control = chkReset + AnchorSideTop.Side = asrBottom + Left = 103 + Height = 19 + Top = 133 + Width = 130 + BorderSpacing.Top = 2 + Caption = '&Complete evaluation' + TabOrder = 12 + end + object chkFlat: TCheckBox + AnchorSideLeft.Control = chkAutosize + AnchorSideTop.Control = chkOwnerDraw + AnchorSideTop.Side = asrBottom + Left = 128 + Height = 19 + Top = 78 + Width = 39 + Caption = '&Flat' + OnClick = chkFlatClick + TabOrder = 9 + end + object chkHelpYear: TCheckBox + AnchorSideLeft.Control = chkMonths + AnchorSideTop.Control = chkWidthAs + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 19 + Top = 78 + Width = 85 + Caption = '&Helper years' + OnClick = chkHelpYearClick + TabOrder = 4 + end + object Bevel2: TBevel + AnchorSideLeft.Control = GroupBox2 + AnchorSideLeft.Side = asrCenter + Left = 124 + Height = 50 + Top = 64 + Width = 4 + Shape = bsSpacer + end + end + object GroupBox3: TGroupBox + Left = 528 + Height = 193 + Top = 16 + Width = 193 + Caption = ' Sizing: ' + ClientHeight = 173 + ClientWidth = 189 + TabOrder = 2 + object lblYrSize: TLabel + AnchorSideLeft.Control = GroupBox3 + AnchorSideTop.Control = GroupBox3 + Left = 12 + Height = 15 + Top = 4 + Width = 47 + BorderSpacing.Left = 12 + BorderSpacing.Top = 4 + Caption = '&Year size:' + FocusControl = edYrSize + ParentColor = False + end + object lblItemHeight: TLabel + AnchorSideTop.Control = lblYrSize + Left = 111 + Height = 15 + Top = 4 + Width = 61 + Caption = 'Item&height:' + FocusControl = edItemHeight + ParentColor = False + end + object lblFirstVisibleDate: TLabel + AnchorSideLeft.Control = edYrSize + AnchorSideTop.Control = edYrSize + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 15 + Top = 54 + Width = 87 + BorderSpacing.Top = 8 + Caption = '&First visible date:' + FocusControl = dtpFirstDate + ParentColor = False + end + object btnYrFont: TButton + Left = 97 + Height = 25 + Top = 104 + Width = 75 + Caption = 'Yea&r Font...' + OnClick = btnYrFontClick + TabOrder = 6 + end + object btnFont: TButton + AnchorSideLeft.Control = GroupBox3 + Left = 8 + Height = 25 + Top = 104 + Width = 75 + BorderSpacing.Left = 8 + Caption = '&Font...' + OnClick = btnFontClick + TabOrder = 4 + end + object edYrSize: TEdit + AnchorSideLeft.Control = lblYrSize + AnchorSideTop.Control = lblYrSize + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 23 + Top = 23 + Width = 50 + BorderSpacing.Top = 4 + TabOrder = 0 + Text = '600' + end + object udYrSize: TUpDown + Left = 62 + Height = 23 + Top = 23 + Width = 15 + Associate = edYrSize + Increment = 120 + Max = 32700 + Min = 24 + OnClick = udYrSizeClick + Position = 600 + TabOrder = 1 + Wrap = False + end + object edItemHeight: TEdit + AnchorSideLeft.Control = lblItemHeight + AnchorSideTop.Control = edYrSize + Left = 111 + Height = 23 + Top = 23 + Width = 50 + TabOrder = 2 + Text = '36' + end + object udItemHeight: TUpDown + Left = 161 + Height = 23 + Top = 23 + Width = 15 + Associate = edItemHeight + Min = 0 + OnClick = udItemHeightClick + Position = 36 + TabOrder = 3 + Wrap = False + end + object dtpFirstDate: TDateTimePicker + AnchorSideLeft.Control = lblFirstVisibleDate + AnchorSideTop.Control = lblFirstVisibleDate + AnchorSideTop.Side = asrBottom + Left = 12 + Height = 23 + Top = 73 + Width = 79 + CenturyFrom = 1941 + MaxDate = 2958465 + MinDate = -53780 + TabOrder = 5 + BorderSpacing.Top = 4 + TrailingSeparator = False + LeadingZeros = True + Kind = dtkDate + TimeFormat = tf24 + TimeDisplay = tdHMS + DateMode = dmComboBox + Date = 35401 + Time = 0.0483997917035595 + UseDefaultSeparators = True + HideDateTimeParts = [] + MonthNames = 'Long' + CalAlignment = dtaLeft + OnChange = dtpFirstDateChange + end + object ColorBtn: TButton + AnchorSideLeft.Control = btnFont + Left = 8 + Height = 25 + Top = 136 + Width = 75 + Caption = 'Color...' + OnClick = ColorBtnClick + TabOrder = 7 + end + object cbDragging: TComboBox + Left = 97 + Height = 23 + Top = 136 + Width = 76 + ItemHeight = 15 + Items.Strings = ( + 'No dragging' + 'Manual' + 'Automatic' + ) + OnChange = cbDraggingChange + Style = csDropDownList + TabOrder = 8 + end + end + object btnSave: TButton + Left = 536 + Height = 25 + Top = 254 + Width = 75 + Caption = 'Save...' + OnClick = btnSaveClick + TabOrder = 3 + end + object btnLoad: TButton + Left = 624 + Height = 25 + Top = 254 + Width = 75 + Caption = 'Load...' + OnClick = btnLoadClick + TabOrder = 4 + end + end + object ImageList1: TImageList + left = 200 + top = 32 + Bitmap = { + 4C69090000001000000010000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF0000000000000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000840000FF8400 + 00FF840000FF840000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000840000FF000000000000 + 000000000000840000FF840000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000840000FF840000FF840000FF840000FF840000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000840000FF840000FF840000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000848484FF8484 + 00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF + 00FF848484FFFFFFFFFF000000FF0000000000000000848484FF848400FF8484 + 00FFC6C6C6FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FF8484 + 84FFFFFFFFFF848400FF000000FF00000000848484FF848400FF848400FF8484 + 00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FFC6C6C6FFFFFF00FF848484FFFFFF + FFFF848400FF848400FF000000FF848484FFFFFFFFFF848484FF000000FF8484 + 00FF848400FF848400FF848400FF848400FF848484FF848484FFFFFFFFFF8484 + 00FF848400FF848400FF000000FF848484FFFFFF00FFFFFFFFFFFFFFFFFF0000 + 00FFFFFF00FFC6C6C6FFFFFF00FF848484FFFFFFFFFFFFFFFFFFFFFF00FF8484 + 00FF848400FF848400FF000000FF848484FFFFFF00FFFFFF00FFFFFF00FFFFFF + FFFF000000FF000000FF848484FFFFFFFFFFFFFF00FFFFFF00FFFFFF00FF8484 + 00FF848400FF848400FF000000FF848484FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FF8484 + 00FF848400FF000000FF00000000848484FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF8484 + 00FF000000FF0000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000840000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000840000FF840000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000840000FF840000FF840000FF8400 + 00FF840000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000840000FF840000FF0000 + 0000840000FF840000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000840000FF0000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000848484FF0084 + 00FFC6C6C6FF00FF00FFC6C6C6FF00FF00FFC6C6C6FF00FF00FFC6C6C6FF00FF + 00FF848484FFFFFFFFFF000000FF0000000000000000848484FF008400FF0084 + 00FFC6C6C6FFC6C6C6FF00FF00FFC6C6C6FF00FF00FFC6C6C6FF00FF00FF8484 + 84FFFFFFFFFF008400FF000000FF00000000848484FF008400FF008400FF0084 + 00FFC6C6C6FF00FF00FFC6C6C6FF00FF00FFC6C6C6FF00FF00FF848484FFFFFF + FFFF008400FF008400FF000000FF848484FFFFFFFFFF848484FF000000FF0084 + 00FF008400FF008400FF008400FF008400FF848484FF848484FFFFFFFFFF0084 + 00FF008400FF008400FF000000FF848484FF00FF00FFFFFFFFFFFFFFFFFF0000 + 00FF00FF00FFC6C6C6FF00FF00FF848484FFFFFFFFFFFFFFFFFF00FF00FF0084 + 00FF008400FF008400FF000000FF848484FF00FF00FF00FF00FF00FF00FFFFFF + FFFF000000FF000000FF848484FFFFFFFFFF00FF00FF00FF00FF00FF00FF0084 + 00FF008400FF008400FF000000FF848484FF00FF00FF00FF00FF00FF00FF00FF + 00FFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF00FF00FF00FF00FF00FF0084 + 00FF008400FF000000FF00000000848484FF00FF00FF00FF00FF00FF00FF00FF + 00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0084 + 00FF000000FF0000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF000000FFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF848484FFFF00 + 00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF000000FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFFFFFFFF000000FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF0000000000000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFF848484FFFFFFFFFFFFFFFFFF848484FF848484FF00000000000000000000 + 0000000000000000000000000000848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF848484FF0000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFF848484FF8484 + 84FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFF8484 + 84FF848484FF0000000000000000848484FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFF000000FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFF848484FF000000FF0000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF008400FF008400FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF8484 + 84FF848484FF000000FF0000000000000000848484FFC6C6C6FFC6C6C6FF0084 + 00FFC6C6C6FFC6C6C6FF008400FF008400FFC6C6C6FF848484FF848484FF8484 + 84FF848484FF000000FF0000000000000000848484FFC6C6C6FF008400FF0084 + 00FF008400FFC6C6C6FF008400FF008400FFC6C6C6FF848484FF848484FF8484 + 84FF000000FF000000000000000000000000848484FFC6C6C6FFC6C6C6FF0084 + 00FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF8484 + 84FF000000FF00000000000000000000000000000000848484FFC6C6C6FF0084 + 00FFC6C6C6FF008400FFC6C6C6FF008400FFC6C6C6FF848484FF848484FF8484 + 84FF000000FF00000000000000000000000000000000848484FFC6C6C6FFC6C6 + C6FF008400FF008400FF008400FF008400FFC6C6C6FF848484FF848484FF8484 + 84FF000000FF00000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FF008400FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 00FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF000000FFC6C6C6FFC6C6C6FF848484FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF8484 + 84FF848484FF848484FF848484FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FFFFFFFFFF848484FF848484FF848484FF8484 + 84FF848484FF848484FF0000000000000000848484FFFFFFFFFF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF848484FF000000FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF00FFFFFF848484FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FFC6C6C6FF848484FF000000FF848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFF0000 + 00FF848484FF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF8484 + 84FF000000FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF000000FF848484FF000000FF0000000000000000848484FFFFFFFFFF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF000000FF0000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF000000FF000000000000000000000000000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF000000FF000000FF000000FF848484FF00FFFFFFC6C6C6FF000000FFC6C6 + C6FF000000FFC6C6C6FF000000FFC6C6C6FF000000FFC6C6C6FFFFFFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFFFFFFFFF848484FFC6C6C6FF8484 + 84FFC6C6C6FF848484FFC6C6C6FF848484FFC6C6C6FF848484FF00FFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FF00FFFFFF000084FF000084FF0000 + 84FF000084FF000084FF000084FF000084FF000084FF000084FFFFFFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FF00FFFFFF000000FF000000FF0000 + 00FF000000FFFFFFFFFF000000FF000000FF000000FF000000FFFFFFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFFFFFFFFF000000FF00FFFFFFFFFF + FFFF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FF00FFFFFF000000FFC6C6C6FFFFFF + FFFF000000FFFFFFFFFF000000FF000000FF000000FFFFFFFFFFFFFFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFFFFFFFFF000000FF00FFFFFFC6C6 + C6FF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FF000000FFFFFFFFFF848484FF848484FF848484FF848484FFFFFFFFFFC6C6 + C6FF000000FFC6C6C6FF000000FF848484FFC6C6C6FFC6C6C6FF848484FF8484 + 84FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FFC6C6C6FF000000FF00000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF000000000000 + 0000000000000000000000000000848484FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FF000000FF0000 + 0000000000000000000000000000848484FFFFFFFFFF000000FFC6C6C6FF0000 + 00FFC6C6C6FF000000FFC6C6C6FF000000FFFFFFFFFF848484FF000000FF0000 + 0000000000000000000000000000848484FF00FFFFFF000084FF000084FF0000 + 84FF000084FF000084FF000084FF000084FF00FFFFFF848484FF000000FF8484 + 84FF848484FF848484FF00000000848484FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF848484FF000000FFC6C6 + C6FFC6C6C6FF848484FF000000FF848484FF00FFFFFF000000FF000000FF0000 + 00FF00FFFFFF000000FF000000FF000000FF00FFFFFF848484FF000000FFFFFF + FFFF848484FF848484FF000000FF848484FFFFFFFFFF000000FF00FFFFFF0000 + 00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00FF + 00FF848484FF848484FF000000FF848484FF00FFFFFF000000FFC6C6C6FF0000 + 00FF00FFFFFF848484FF848484FF848484FF00FFFFFF848484FF000000FFC6C6 + C6FF848484FF848484FF000000FF00000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF848484FFC6C6 + C6FF848484FF848484FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF000000000000000000000000000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C6C6C6FF000000FF0000000000000000000000000000 + 000000000000000000000000000000000000C6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF008484FF008484FF008484FF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF00000000000000FF000000FF000000FF0000 + 00FF000000FF00FFFFFFFFFFFFFF008484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 000000000000000000FF000000FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FFFFFF00FF848400FF848400FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF848400FFFFFF00FF848400FF000000FF0000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF00000000000000FF000000FF000000FF000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF000000FF000000FF848400FF000000FF000000FF0000 + 0000000000000000000000000000848484FFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF000000FFFFFF00FF000000FF848400FF000000FF848400FF0000 + 00FF848484FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFF00FF848400FF000000FF848400FF848400FF0000 + 00FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFF000000FFFFFF00FF848400FF848400FF000000FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFF000000FF000000FF000000FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFF000000FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF848484FFC6C6C6FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF00FF + FFFF848484FF000000FF00000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF0000000000000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000 + } + end + object PopupMenu1: TPopupMenu + OnPopup = PopupMenu1Popup + left = 16 + top = 133 + object Changecaption1: TMenuItem + Caption = '&Rename...' + OnClick = Changecaption1Click + end + object Move1: TMenuItem + Caption = '&New date...' + OnClick = Move1Click + end + object remove1: TMenuItem + Caption = '&Delete...' + OnClick = remove1Click + end + object Disable1: TMenuItem + Caption = 'Disable' + OnClick = Disable1Click + end + object N2: TMenuItem + Caption = '-' + end + object Up1: TMenuItem + Caption = '&Up' + OnClick = Up1Click + end + object Down1: TMenuItem + Caption = 'Do&wn' + OnClick = Down1Click + end + object N1: TMenuItem + Caption = '-' + end + object Notes1: TMenuItem + Caption = '&Notes...' + OnClick = Notes1Click + end + end + object ImageList2: TImageList + Height = 32 + Width = 32 + left = 328 + top = 32 + Bitmap = { + 4C69180000002000000020000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FF848484FF848484FF848484FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FF848484FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000848484FF8484 + 84FF848484FF848484FF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FF000000FF00000000848484FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 + 00FFC6C6C6FFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FF000000FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FFC6C6 + C6FFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FFC6C6 + C6FFFFFFFFFF848484FFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FFC6C6 + C6FFFFFFFFFF848484FFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FFC6C6 + C6FFFFFFFFFF848484FFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFF000000FF0000 + 00FF000000FF000000FF000000FFFFFFFFFFC6C6C6FF848484FF000000FFC6C6 + C6FFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000848484FF000000FF000000FF000000000000 + 0000000000000000000000000000000000FF000000FF848484FF000000FF8484 + 84FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FFFFFF + FFFF848400FF848400FF848400FF848400FF848400FF848400FF848400FF8484 + 00FF848400FF848400FF848400FF848400FF848400FF848400FF848400FF8484 + 00FF848400FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FF0000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000FF00000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF0000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF00000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFFFFFFFFFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00000000000000008484 + 84FFFFFFFFFFFFFFFFFF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000848484FFFFFF + FFFF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF0000000000000000848484FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF000000FFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF000000FF840084FF840084FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF840084FF840084FF840084FF000000FFFFFF + FFFFFFFFFFFF840084FF000000FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF840084FF000000FF0000 + 00FF000000FF840084FF000000FF840084FF840084FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000008400 + 84FF840084FF000000FF840084FF840084FF840084FF840084FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF848484FF8484 + 84FF000000FF00000000000000000000000000000000848484FFC6C6C6FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFC6C6C6FFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFF848484FFC6C6C6FF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFF848484FFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6C6FFC6C6C6FF848484FF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF848484FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6 + C6FFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF848484FF848484FF848484FF848484FFC6C6C6FFC6C6C6FF00FF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFF00FF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FFFFFFFFFF8484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF000000FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF000000FF0000 + 00FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF848484FF848484FFC6C6C6FF000000FFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF8484 + 84FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFF848484FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF8484 + 84FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF000000000000000000000000000000FF000000FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF848484FF848484FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF848484FFFFFFFFFF848484FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF0000000000000000000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFC6C6C6FF848484FF8484 + 84FF848484FFFFFFFFFF00FFFFFFFFFFFFFF848484FFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFF848484FF000000FF00000000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF000000FF00000000000000FFC6C6C6FFFFFFFFFFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF00000000000000FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000FFC6C6C6FFC6C6C6FFC6C6C6FF8484 + 84FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FF848484FFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF848484FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6 + C6FFC6C6C6FFC6C6C6FF840084FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF8484 + 84FF000000FF000000FF840084FF000000FF840084FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF8484 + 84FF848484FF848484FF848484FF000000FF000000FF000000FF000000FF8400 + 84FF840084FF840084FF000000FF840084FF840084FF840084FF840084FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF8484 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF000000FF0000 + 00FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF848484FF848484FFC6C6C6FF000000FFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF8484 + 84FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFF848484FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF8484 + 84FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF000000000000000000000000000000FF000000FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF848484FF848484FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF848484FFFFFFFFFF848484FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF0000000000000000000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFC6C6C6FF848484FF8484 + 84FF848484FFFFFFFFFF00FFFFFFFFFFFFFF848484FFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFF848484FF000000FF00000000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF000000FF00000000000000FFC6C6C6FFFFFFFFFFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFF848484FF000000FF00000000000000FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000FFC6C6C6FFC6C6C6FFC6C6C6FF8484 + 84FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF00000000000000FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000FF848484FFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF848484FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6 + C6FFC6C6C6FFC6C6C6FF840084FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF8484 + 84FF000000FF000000FF840084FF000000FF840084FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF8484 + 84FF848484FF848484FF848484FF000000FF000000FF000000FF000000FF8400 + 84FF840084FF840084FF000000FF840084FF840084FF840084FF840084FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF8484 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FF000000FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF8484 + 84FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFFFFFFFFFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FF8400 + 84FF000000FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF848484FF000000FF000000FF8400 + 84FF000000FF840084FF000000FF000000FF0000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFF8484 + 84FF000000FF000000FF000000FF000000FF840084FF840084FF840084FF0000 + 00FF840084FF840084FF840084FF840084FF0000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFF848400FF000000FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF848400FF000000FF848400FF848400FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF8484 + 00FF848400FF000000FF848400FF848400FF848400FF848400FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFC6C6C6FF000000FF00FFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FFFFFFFFFF848484FF8484 + 84FF848484FF848484FF848484FF848484FFC6C6C6FF000000FF848484FF8484 + 84FF848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFC6C6C6FF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6 + C6FFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFF + FFFF848484FF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFC6C6C6FFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFC6C6C6FFFFFFFFFFFFFF + FFFF848484FF000000FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FF000084FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000084FF000084FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFF000084FF000084FF000084FFFFFFFFFF8484 + 84FF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFC6C6C6FF000084FF000084FF000084FF0000 + 84FF000084FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000084FF000084FF0000 + 84FF000084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000084FF0000 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFC6C6C6FF000000FF00FFFFFFFFFF + FFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FFFFFFFFFF848484FF8484 + 84FF848484FF848484FF848484FF848484FFC6C6C6FF000000FF848484FF8484 + 84FF848484FFFFFFFFFFC6C6C6FF00FFFFFFC6C6C6FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFC6C6C6FF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6 + C6FFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFF + FFFF848484FF000000FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFC6C6C6FFFFFF + FFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFC6C6C6FFFFFFFFFFFFFF + FFFF848484FF000000FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FF000084FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000084FF000084FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFF000084FF000084FF000084FFFFFFFFFF8484 + 84FF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFC6C6C6FF000084FF000084FF000084FF0000 + 84FF000084FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000084FF000084FF0000 + 84FF000084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF000084FF0000 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF8484 + 84FF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF00FFFFFFFFFF + FFFF00FFFFFF848484FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FFFFFFFFFF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FF848484FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF8484 + 84FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FFFFFFFFFF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF0084 + 84FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FF848484FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF008484FFC6C6C6FF00FFFFFF848484FF848484FFC6C6 + C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF8484 + 84FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF008484FFFFFFFFFF00FFFFFFC6C6C6FF848484FFC6C6C6FF00FF + FFFFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FF000000000000 + 000000000000000000000000000000000000848484FF848484FF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FFC6C6C6FF8484 + 84FF00FFFFFFFFFFFFFF008484FFC6C6C6FF008484FFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF848484FF000000000000 + 0000000000000000000000000000000000FFC6C6C6FF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF0084 + 84FFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF008484FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF848484FF0000 + 0000000000000000000000000000000000FFC6C6C6FFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF008484FFC6C6 + C6FF848484FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF008484FFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 000000000000000000000000000000000000000000FF00FFFFFFFFFFFFFF00FF + FFFFFFFFFFFF008484FFC6C6C6FF00FFFFFFC6C6C6FF848484FFC6C6C6FF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF008484FF848484FF8484 + 84FFC6C6C6FFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF8484 + 84FF00000000000000000000000000000000000000FFC6C6C6FF00FFFFFFFFFF + FFFF00FFFFFFC6C6C6FF848484FFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF008484FFC6C6C6FF848484FFC6C6 + C6FF00FFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF0000000000000000000000000000000000000000000000FFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF0084 + 84FFC6C6C6FF008484FFC6C6C6FF848484FFC6C6C6FFC6C6C6FFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF008484FFC6C6C6FF00FFFFFFFFFFFFFF00FF + FFFF848484FF00000000000000000000000000000000000000FFC6C6C6FFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF00FFFFFFC6C6 + C6FF848484FFC6C6C6FF008484FFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFC6C6 + C6FF008484FFC6C6C6FF008484FFFFFFFFFFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF00000000000000000000000000000000000000FF00FF + FFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF00FFFFFFC6C6C6FF8484 + 84FFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF00FF + FFFFC6C6C6FFFFFFFFFFC6C6C6FF008484FFC6C6C6FFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF00000000000000000000000000000000000000FFC6C6 + C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FFC6C6C6FF008484FFC6C6 + C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF848484FFFFFF + FFFFC6C6C6FF848484FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF000000000000000000000000000000000000 + 00FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFC6C6C6FF008484FFFFFFFFFF00FF + FFFFFFFFFFFF00FFFFFFC6C6C6FF008484FFFFFFFFFF00FFFFFFC6C6C6FF0084 + 84FFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF000000000000000000000000000000000000 + 00FFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFF + FFFF008484FFC6C6C6FF008484FFC6C6C6FF008484FFFFFFFFFF00FFFFFFC6C6 + C6FF00FFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF000000FF000000FF000000000000000000000000000000000000 + 0000848484FF848484FF848484FF848484FFFFFFFFFF00FFFFFFC6C6C6FF0084 + 84FFC6C6C6FF848484FFC6C6C6FF00FFFFFFC6C6C6FF00FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF0000 + 00FF000000FF0000000000000000000000000000000000000000848484FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF00FFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF000000FF000000FF0000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF0084 + 84FFC6C6C6FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFF000000FF000000FF00000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF000000FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF0000 + 00FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF00FFFFFF000000FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF0000 + 00FFFFFFFFFF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FF000000FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FF848484FF848484FF848484FF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFC6C6C6FFC6C6C6FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FF848484FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFC6C6 + C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FF848484FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFC6C6C6FFC6C6 + C6FF848484FFFFFFFFFFC6C6C6FF000000FFC6C6C6FFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF000000FF848484FF8484 + 84FF848484FFC6C6C6FF848484FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFC6C6C6FF8484 + 84FFFFFFFFFFC6C6C6FF000000FFC6C6C6FFFFFFFFFF000000FFC6C6C6FFFFFF + FFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF848484FF8484 + 84FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF848484FFFFFF + FFFFC6C6C6FF000000FFC6C6C6FFFFFFFFFF000000FFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFC6C6C6FF848484FF848484FF848484FF848484FFC6C6C6FFC6C6 + C6FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFC6C6C6FFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FF848484FF848484FF848484FFC6C6C6FFC6C6C6FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FFFFFFFFFF8484 + 84FF848484FF848484FF848484FFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FF848484FF848484FFC6C6C6FFC6C6C6FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFC6C6C6FFC6C6C6FF8484 + 84FFC6C6C6FFC6C6C6FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FFC6C6 + C6FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF8484 + 84FF848484FF848484FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF8484 + 84FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FF848484FF848484FF8484 + 84FF848484FF848484FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF8484 + 84FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF848484FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF848484FFFFFF + FFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF848484FF848484FFFFFF + FFFFC6C6C6FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFF848484FF848484FF848484FF848484FF848484FF848484FFFFFF + FFFFC6C6C6FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF8484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 0000000000FF848484FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF000000FF848484FF848484FFFFFFFFFFC6C6 + C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF0000000000000000000000000000000000000000000000000000 + 000000000000000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFFFFFFFFFC6C6 + C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF00000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF000000FF848484FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF848484FF000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF848484FFC6C6C6FF848484FFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FF000000FF000000000000000000000000848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFF8484 + 84FFC6C6C6FFFFFFFFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF0000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFF848484FFC6C6 + C6FFFFFFFFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FF848484FF848484FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFF848484FFC6C6C6FFFFFF + FFFF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF848484FF848484FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF848484FFC6C6C6FFFFFFFFFF8484 + 84FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF848484FF848484FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF848484FF000000FF848484FFC6C6C6FFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF848484FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF8484 + 84FF848484FF848484FF000000FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF000000FF000000FF848484FF848484FF8484 + 84FF848484FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF000000FF000000FF0000 + 00FF000000FF0000000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF000000FF000000FF0000 + 0000000000000000000000000000848484FF000000FFC6C6C6FFC6C6C6FF8484 + 84FF848484FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF000000FF000000FF000000000000 + 00000000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000FF0000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFC6C6C6FFC6C6 + C6FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6 + C6FF848484FF848484FF848484FF848484FF848484FF848484FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFC6C6 + C6FF848484FF848484FF848484FF848484FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FF848484FF848484FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF8484 + 84FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FFFFFFFFFF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FFC6C6C6FF000000FF848484FF848484FF848484FF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FFC6C6C6FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FFC6C6C6FFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000084FF000084FFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000084FF000084FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 84FF000084FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000084FF0000 + 84FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000084FF000084FF8484 + 84FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000084FF000084FF848484FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFF000084FF000084FF000084FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF000084FF000084FF000084FFC6C6C6FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFF000084FF000084FF000084FF0000 + 84FFFFFFFFFF848484FF000084FF000084FF000084FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFC6C6C6FF000084FF000084FF0000 + 84FF000084FF000084FF000084FF000084FF848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000084FF0000 + 84FF000084FF000084FF000084FF000084FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF0000 + 84FF000084FF000084FF000084FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF0000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFC6C6 + C6FF000084FF000084FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF00000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF00000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF0000 + 0000848484FF00000000848484FF00000000848484FF00000000848484FF0000 + 0000848484FF00000000848484FF00000000848484FF00000000848484FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF000000FF8484 + 84FF000000FF848484FF000000FF848484FF000000FF848484FF000000FF8484 + 84FF000000FF848484FF000000FF848484FF000000FF848484FF000000FF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF840000FF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000084FF000084FF000000FF00000000848484FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF840000FF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 0000848484FF000084FF000084FF000084FF000000FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000084FF000084FF000084FF000000FF848484FFFFFFFFFFFFFF + FFFF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000848484FF000000FF000000FF00FFFFFF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000008484FF00FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF + FFFF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000008484FF008484FF00FFFFFF00FFFFFF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000008484FF00FFFFFFFFFFFFFF000000FFFFFF + FFFF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000008484FF008484FF00FFFFFF00FFFFFF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008484FF00FFFFFFFFFFFFFF0000 + 00FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000008484FF008484FF00FFFFFF00FF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000008484FF00FFFFFFFFFF + FFFF000000FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000008484FF008484FF00FF + FFFF00FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF008484FF00FF + FFFFFFFFFFFF000000FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FF008484FF0084 + 84FF00FFFFFF00FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFF0084 + 84FF00FFFFFFFFFFFFFF000000FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFF0084 + 84FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF0000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF0000000000000000848484FFFFFFFFFFFFFF + FFFF848484FF848484FF000000FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF00000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF00000000000000000000000000000000000000FF0000 + 00FF000000FF000000FF000000FF000000FFFFFFFFFF000000FF000000FF0000 + 00FFFFFFFFFF000000FF000000FF000000FF000000FF000000FFFFFFFFFFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000FFFFFF + 00FFFFFF00FFFFFF00FFFFFF00FF000000FFFFFFFFFF000000FFFFFF00FF0000 + 00FFC6C6C6FF000000FFFFFF00FFFFFF00FFFFFF00FF000000FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FFFFFFFFFFFFFFFFFF000000FFFFFF00FF0000 + 00FFFFFFFFFFFFFFFFFF000000FFFFFF00FF000000FFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FFFFFFFFFF000000FFFFFF00FFFFFF00FF0000 + 00FFC6C6C6FF000000FFFFFF00FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FFFFFFFFFF000000FFFFFF00FFFFFF00FF0000 + 00FFFFFFFFFF000000FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FFFFFFFFFF000000FFFFFF00FFFFFF00FF0000 + 00FF000000FFFFFF00FF000000FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FF000000FFFFFF00FFFFFF00FFFFFF00FF0000 + 00FF848484FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FF848484FFFFFF00FFFFFF00FFFFFF00FF0000 + 00FFFFFF00FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FFFFFF00FF848484FF000000FFFFFF00FFFFFF00FFFFFF + 00FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FFFFFF00FF000000FF000000FFFFFF00FFFFFF00FFFFFF + 00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FFFFFF00FF000000FFFFFFFFFF000000FFFFFF00FFFFFF00FF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FF000000FF000000FF000000FFFFFFFFFF000000FF000000FF000000FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF00000000000000000000000000000000000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF000000000000000000000000000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF + 00FFFFFF00FFFFFF00FFFFFF00FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000FF8484 + 00FFFFFF00FFFFFF00FFFFFFFFFF000000FFFFFFFFFF000000FFFFFF00FF8484 + 00FF848400FF848484FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FF848400FFFFFF00FFFFFF00FFFFFFFFFF000000FFFFFF00FF848400FF8484 + 00FF848484FF000000FFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000FF848400FFFFFF00FFFFFF00FFFFFFFFFF000000FF848400FF8484 + 84FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000000000FF848400FFFFFF00FFFFFF00FFFFFFFFFF000000FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000000000FF000000FF848400FFFFFF00FFFFFF00FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000FFFFFF00FF848400FF000000FF848400FFFFFF00FFFFFF00FFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFFFF00FF848400FF848400FF848400FF000000FF848400FFFFFF00FFFFFF + 00FFFFFFFFFF000000FF848400FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000FFFFFF + 00FF848400FF848400FF848400FF848400FF848400FF000000FF848400FFFFFF + 00FFFFFF00FFFFFFFFFF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF000000FF8484 + 00FFFFFF00FFFFFF00FFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF848400FF848400FF848400FF848400FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF0000000000000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFC6C6C6FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FFFFFF00FF0000FFFF000084FFFFFF00FF000084FF000084FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FF0000FFFF0000FFFF000084FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FF0000FFFF0000FFFF000084FF000084FF000084FF000084FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FFFFFF00FF000084FF000084FF000084FF000084FFFFFF00FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FFFFFF00FFFFFF + 00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF + 00FF848484FFC6C6C6FF000000FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000FF0000 + 00FF848484FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF0000000000000000000000000000000000000000000000FF008484FF00FF + FFFF848484FF00FFFFFF00FFFFFF008484FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF000000000000000000000000000000FF008484FF00FFFFFF0000 + 00FF848484FF00FFFFFF00FFFFFF00FFFFFF008484FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF00000000000000FF008484FF00FFFFFF000000FF8484 + 84FF000000FF00FFFFFF00FFFFFF008484FF00FFFFFF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF00FFFFFF000000FFC6C6C6FF0000 + 00FF00FFFFFF00FFFFFF008484FF00FFFFFF00FFFFFF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FF848484FF848484FF000000FF00FF + FFFF00FFFFFF008484FF00FFFFFF00FFFFFF008484FF000000FFFFFFFFFFC6C6 + C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000FF008484FF00FFFFFF00FFFFFF00FF + FFFF008484FF00FFFFFF00FFFFFF008484FF00FFFFFF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000FF008484FF00FFFFFF00FFFFFF0084 + 84FF00FFFFFF00FFFFFFC6C6C6FF000000FF00FFFFFF00FFFFFF000000FFC6C6 + C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000FF008484FF008484FF00FFFFFF00FF + FFFF00FFFFFF00FFFFFF00FFFFFFC6C6C6FF000000FF00FFFFFF00FFFFFF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000000000FF008484FF008484FF0084 + 84FF00FFFFFF000000FF008484FF00FFFFFFC6C6C6FF000000FF00FFFFFF00FF + FFFF000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF008484FFC6C6C6FF000000FF00FF + FFFF00FFFFFF000000FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFF000000FF00FFFFFFC6C6C6FF0000 + 00FF00FFFFFF00FFFFFF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFF000000FF000000FF008484FFC6C6 + C6FF000000FF00FFFFFF00FFFFFF000000FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF + FFFFC6C6C6FF000000FF00FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF008484FFC6C6C6FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FF000000FF000000FF000000FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6 + C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF848484FFFFFF + FFFFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 00FF000000FF0000000000000000000000FF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF848484FFC6C6C6FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000FF8484 + 84FF848484FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000FF0000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000FF0000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000FF0000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000FF0000 + 000000000000000000FF000000FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000848484FF0000 + 00FF000000FF848484FF848484FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000008484 + 84FF848484FF0000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFFFFFFFFF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF0000000000000000848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFFFFFFFFFFFFFFFFF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FFC6C6C6FFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FF000000FF000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFC6C6 + C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF0000 + 00FF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FF00000000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF00000000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF8484 + 84FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFF848484FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFF848484FF00000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF840000FF840000FF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF840000FF840000FF840000FF840000FF840000FF8400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000084FF000084FF000084FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF000084FFC6C6C6FFFFFFFFFFC6C6C6FF000084FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF000084FFFFFFFFFFFFFFFFFFFFFFFFFF000084FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF000084FFC6C6C6FFFFFFFFFFC6C6C6FF000084FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000084FF000084FF000084FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000848484FF848484FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000848484FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF0000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF0000000000000000848484FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFF + FFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF0000 + 00FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FF000000FF000000FF000000FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FF848484FF000000FF000000FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FF8484 + 84FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FFFFFFFFFFFFFF + FFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF848484FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF848484FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFFFFFFFFFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FFC6C6C6FFC6C6C6FFC6C6C6FF848484FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FF000000FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6C6FFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000FF848484FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000FF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFC6C6C6FF0000 + FFFF000000FF000000FF00000000000000000000000000000000000000000000 + 000000000000000000000000FFFF000000000000000000000000000000000000 + 0000000000000000000000000000000000FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF848484FF000000FF0000FFFF0000 + FFFF0000FFFF848400FF000000FF000000FF0000000000000000000000000000 + 0000C6C6C6FF0000FFFF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF000000FF000000FF000000FF000000FF840084FF840084FF840084FF0000 + FFFF0000FFFF0000FFFF848400FF840084FF0000000000000000000000000000 + FFFF0000FFFF0000000000000000000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF000000FF000000FFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FF000000FF00000000000000000000000000000000000000000000 + 0000C6C6C6FF0000FFFF0000FFFF0000000000000000000000000000FFFF0000 + FFFF0000000000000000000000000000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FF000000000000000000000000000000000000 + 000000000000000000000000FFFF0000FFFF000000000000FFFF0000FFFF0000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFFFFF + FFFFFFFFFFFF848400FF000000FF000000FF000000FF00000000000000000000 + 00000000000000000000000000000000FFFF0000FFFF0000FFFF000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848400FF0000 + 00FF000000FF848400FF000000FF848400FF848400FF000000FF000000000000 + 00000000000000000000000000000000FFFF0000FFFF0000FFFFC6C6C6FF0000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FF8484 + 00FF848400FF000000FF848400FF848400FF848400FF848400FF000000000000 + 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000FFFF0000FFFF0000FFFF00000000000000000000FFFF0000 + FFFF000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000FFFF0000FFFF0000FFFF000000000000000000000000000000000000 + FFFF0000FFFF0000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + FFFF0000FFFF0000FFFF00000000000000000000000000000000000000000000 + 00000000FFFFC6C6C6FF0000000000000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF000000000000 + 00000000000000000000000000000000000000000000000000000000FFFF0000 + FFFF0000FFFF0000000000000000000000000000000000000000000000000000 + 0000000000000000FFFF0000000000000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + FFFF0000FFFF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000FFFF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FF848484FF848484FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF0000 + 00000000000000000000000000000000000000000000840000FF840000FF8400 + 00FF840000FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFC6C6 + C6FF848484FF000000FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FF848484FF0000000000000000840000FF840000FF00000000000000000000 + 000000000000840000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FF0000 + 00FFC6C6C6FFFFFFFFFF848484FF000000FF848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFF848484FF840000FF000000000000000000000000000000000000 + 000000000000840000FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF000000000000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000848484FFFFFFFFFFFFFF + FFFF848484FF848484FF848484FFFFFFFFFFFFFFFFFFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FF848484FF848484FF000000FF0000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 000000000000000000000000000000000000848484FFFFFFFFFFFFFFFFFF8484 + 84FFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FF848484FF848484FF000000FF0000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 0000000000000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FFFFFFFFFFC6C6C6FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFC6C6C6FF0000 + 00FF000000FF000000FF000000FF000000FF0000000000000000000000008400 + 00FF840000FF840000FF840000FF840000FF840000FF840000FF000000000000 + 0000000000000000000000000000848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFF848484FF848484FF848484FFFFFFFFFFFFFFFFFFC6C6C6FF848484FF8484 + 84FF848484FF848484FF848484FF000000FF0000000000000000000000000000 + 0000840000FF840000FF840000FF840000FF840000FF00000000000000000000 + 0000000000000000000000000000848484FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF8484 + 84FF848484FF000000FF000000FF000000000000000000000000000000000000 + 000000000000840000FF840000FF840000FF0000000000000000000000000000 + 0000000000000000000000000000848484FF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FF0000 + 00FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000840000FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF000000000000000000000000000000000000 + 00FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF + FFFF848484FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FFC6C6C6FF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFC6C6 + C6FFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFFFFFFFFFF + FFFF00FFFFFF848484FF000000FF000000000000000000000000000000000000 + 000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFF848484FFC6C6C6FFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFF848484FFC6C6C6FF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF848484FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF848484FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFF848484FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFF00FF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFC6C6C6FF00FFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFC6C6C6FFFFFF + FFFF00FFFFFF848484FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFC6C6 + C6FFFFFFFFFF848484FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FF848484FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF00FF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF + FFFFFFFFFFFF848484FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000848484FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF00000000000000000000000000000000008484FF008484FF008484FF8484 + 84FF848484FFFFFFFFFFC6C6C6FF000000FF848484FF008484FF008484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF0000000000000000008484FF008484FFFFFFFFFFFFFFFFFF8484 + 84FFFFFFFFFFC6C6C6FFC6C6C6FF848484FF000000FFC6C6C6FF848484FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF00000000008484FF008484FFFFFFFFFFFFFFFFFF0000 + 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFF848484FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF008484FF008484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFF000000FFFFFF + FFFF000000FF848484FF000000FF848484FF000000FFFFFFFFFF848484FF0000 + 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8484 + 84FFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF000084FFFFFFFFFFFFFFFFFF848484FF000000FF000000FF0000 + 00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF848484FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFF000084FFFFFF + FFFF000084FF000000FF000000FF000000FF000000FF848484FF848484FF8484 + 84FF848484FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFF000084FF0000 + 84FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FF848484FF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFF848484FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFF000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FF848484FF848484FF0000 + 00FFC6C6C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 + 00FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF008484FF008484FF008484FF008484FF0000 + 00FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFC6C6 + C6FFC6C6C6FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 + 00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000000000FFFFFFFFFFFFFFFFFF000000FF000000FF840084FF0000 + 00FF840084FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000FF848400FF848400FF000000FF000000FF848400FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFC6C6C6FFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF848484FF848484FF848484FF8484 + 84FF848484FF848484FF848484FF848484FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF000000FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FF848484FF000000FF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFC6C6C6FF848484FF0000 + 00FF000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFC6C6C6FF8484 + 84FF000000FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6 + C6FF848484FF000000FF00000000000000000000000000000000000000000000 + 00000000000000000000000000FF000000FF000000FFFFFFFFFFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 000000000000000000FFC6C6C6FFFF0000FFC6C6C6FF000000FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 000000000000000000FFFF0000FFC6C6C6FFFF0000FF000000FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000FFFF0000FFC6C6C6FFFF0000FFC6C6C6FF000000FF000000FF0000 + 00FF000000FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 0000000000FFC6C6C6FFFF0000FFC6C6C6FF000000FF848484FFFFFFFFFFFFFF + FFFFFFFFFFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFC6C6C6FFFF0000FFC6C6C6FFFF0000FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF00FFFFFF00FFFFFFFFFFFFFF000000FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000000000 + 00FFFF0000FFC6C6C6FFFF0000FF000000FF848484FFFFFFFFFFFFFFFFFF8484 + 84FF000000FF000000FFFFFFFFFF000000FF848484FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000FFFF00 + 00FFC6C6C6FFFF0000FFC6C6C6FF000000FF000000FF000000FF848484FFFFFF + FFFF00FFFFFF00FFFFFFFFFFFFFF000000FF848484FFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000FF0000 + 00FF000000FFC6C6C6FF000000FF848484FF00FFFFFF00FFFFFF848484FF0000 + 00FF000000FFFFFFFFFF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FFFFFFFFFF0000 + 00FF848484FF000000FF000000FFFFFFFFFFFFFFFFFF848484FFFFFFFFFF00FF + FFFF00FFFFFFFFFFFFFF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FFFFFFFFFF0000 + 00FFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFF848484FF000000FF0000 + 00FFFFFFFFFF000000FF848484FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000000000FF848484FFFFFF + FFFF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF00FF + FFFFFFFFFFFF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF000000000000000000000000000000008484 + 84FF848484FF848484FF848484FF848484FF848484FF000000FF000000FF0000 + 00FF000000FF848484FFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF0000000000000000848484FF848484FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FF848484FF848484FF848484FF8484 + 84FF848484FFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848484FFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF000000FF000000FF000000FF000000FFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF848484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFC6C6C6FF000000FF00000000848484FFC6C6C6FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFC6C6C6FFC6C6C6FF000000FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FF000000FF00000000848484FFC6C6C6FFC6C6C6FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 + 00FF000000FF000000FF000000FF0000000000000000000000FF000000FFC6C6 + C6FFC6C6C6FFC6C6C6FFC6C6C6FF000000FF000000FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00FF000000FF000000FF000000FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000 + } + end +end diff --git a/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.pas b/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.pas new file mode 100644 index 000000000..20bb8e085 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimelineMainFormU.pas @@ -0,0 +1,671 @@ +{****************************************************************** + + JEDI-VCL Demo + + Copyright (C) 2002 Project JEDI + + Original author: + + Contributor(s): + + You may retrieve the latest version of this file at the JEDI-JVCL + home page, located at http://jvcl.delphi-jedi.org + + The contents of this file are used with permission, subject to + the Mozilla Public License Version 1.1 (the "License"); you may + not use this file except in compliance with the License. You may + obtain a copy of the License at + http://www.mozilla.org/MPL/MPL-1_1Final.html + + Software distributed under the License is distributed on an + "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + implied. See the License for the specific language governing + rights and limitations under the License. + +******************************************************************} + +{$mode objfpc}{$H+} + +unit TimelineMainFormU; + +interface + +uses + LCLIntf, LCLType, + SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DateTimePicker, + ComCtrls, StdCtrls, ExtCtrls, Menus, ImgList, JvTimeLine; + +type + + { TTimelineMainForm } + + TTimelineMainForm = class(TForm) + Bevel1: TBevel; + Bevel2: TBevel; + ImageList1: TImageList; + Splitter1: TSplitter; + PopupMenu1: TPopupMenu; + Changecaption1: TMenuItem; + remove1: TMenuItem; + Move1: TMenuItem; + N1: TMenuItem; + ImageList2: TImageList; + StatusBar1: TStatusBar; + Notes1: TMenuItem; + N2: TMenuItem; + Up1: TMenuItem; + Down1: TMenuItem; + TimeLine1: TJvTimeLine; + Panel2: TPanel; + Label6: TLabel; + GroupBox1: TGroupBox; + lblCaption: TLabel; + lblImIndex: TLabel; + lblDate: TLabel; + lblLevel: TLabel; + btnAdd: TButton; + edCaption: TEdit; + edImIndex: TEdit; + dtpItemdate: TDateTimePicker; + udImIndex: TUpDown; + edLevel: TEdit; + udLevel: TUpDown; + btnColor: TButton; + GroupBox2: TGroupBox; + chkMonths: TCheckBox; + chkMulti: TCheckBox; + chkNoImages: TCheckBox; + chkWidthAs: TCheckBox; + chkAutosize: TCheckBox; + chkSupport: TCheckBox; + chkLarge: TCheckBox; + chkOwnerDraw: TCheckBox; + btnAuto: TButton; + chkReset: TCheckBox; + chkComplete: TCheckBox; + chkFlat: TCheckBox; + chkHelpYear: TCheckBox; + GroupBox3: TGroupBox; + lblYrSize: TLabel; + lblItemHeight: TLabel; + lblFirstVisibleDate: TLabel; + btnYrFont: TButton; + btnFont: TButton; + edYrSize: TEdit; + udYrSize: TUpDown; + edItemHeight: TEdit; + udItemHeight: TUpDown; + dtpFirstDate: TDateTimePicker; + btnSave: TButton; + btnLoad: TButton; + ColorBtn: TButton; + Disable1: TMenuItem; + cbDragging: TComboBox; + procedure btnAddClick(Sender: TObject); + procedure chkMonthsClick(Sender: TObject); + procedure chkMultiClick(Sender: TObject); + procedure btnFontClick(Sender: TObject); + procedure btnYrFontClick(Sender: TObject); + procedure TimeLine1Click(Sender: TObject); + procedure Changecaption1Click(Sender: TObject); + procedure remove1Click(Sender: TObject); + procedure Move1Click(Sender: TObject); + procedure PopupMenu1Popup(Sender: TObject); + procedure chkNoImagesClick(Sender: TObject); + procedure chkWidthAsClick(Sender: TObject); + procedure chkAutosizeClick(Sender: TObject); + procedure chkSupportClick(Sender: TObject); + procedure chkLargeClick(Sender: TObject); + procedure udYrSizeClick(Sender: TObject; Button: TUDBtnType); + procedure TimeLine1MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure udItemHeightClick(Sender: TObject; Button: TUDBtnType); + procedure chkOwnerDrawClick(Sender: TObject); + procedure Notes1Click(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure TimeLine1SaveItem(Sender: TObject; Item: TJvTimeItem; Stream: TStream); + procedure TimeLine1LoadItem(Sender: TObject; Item: TJvTimeItem; Stream: TStream); + procedure TimeLine1DrawItem(Sender: TObject; ACanvas: TCanvas; + Item: TJvTimeItem; var R: TRect); + procedure dtpFirstDateChange(Sender: TObject); + procedure btnColorClick(Sender: TObject); + procedure Up1Click(Sender: TObject); + procedure Down1Click(Sender: TObject); + procedure btnAutoClick(Sender: TObject); + procedure btnLoadClick(Sender: TObject); + procedure btnSaveClick(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure chkFlatClick(Sender: TObject); + procedure Exit1Click(Sender: TObject); + procedure chkHelpYearClick(Sender: TObject); + procedure FormResize(Sender: TObject); + procedure ColorBtnClick(Sender: TObject); + procedure Disable1Click(Sender: TObject); + procedure TimeLine1ItemClick(Sender: TObject; Item: TJvTimeItem); + procedure TimeLine1DragOver(Sender, Source: TObject; X, Y: Integer; + State: TDragState; var Accept: Boolean); + procedure TimeLine1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure TimeLine1DragDrop(Sender, Source: TObject; X, Y: Integer); + procedure cbDraggingChange(Sender: TObject); + procedure TimeLine1ItemMoved(Sender: TObject; Item: TJvTimeItem; + var NewStartDate: TDateTime; var NewLevel: Integer); + private + { Private declarations } + FCurColor: TColor; + public + { Public declarations } + end; + +var + TimelineMainForm: TTimelineMainForm; + +implementation + +uses TimelineNotesFormU; + +{$R *.lfm} + +{ a record to save notes data in } +type + PItemData = ^TItemData; + TItemData = record + Text: string; + end; + +procedure TTimelineMainForm.btnAddClick(Sender: TObject); +var aItem: TJvTimeItem; +begin + aItem := TimeLine1.Items.Add; + aItem.Caption := edCaption.Text; + aItem.ImageIndex := StrToIntDef(edImIndex.Text, -1); + aItem.Level := StrToIntDef(edLevel.Text, 0); + aItem.Date := dtpItemDate.Date; + aItem.Color := FCurColor; + if FCurColor <> clWhite then + aItem.TextColor := clWhite + else + aItem.TextColor := clBlack; +end; + +procedure TTimelineMainForm.chkMonthsClick(Sender: TObject); +begin + TimeLine1.ShowMonthNames := chkMonths.Checked; +end; + +procedure TTimelineMainForm.chkMultiClick(Sender: TObject); +begin + TimeLine1.MultiSelect := chkMulti.Checked; +end; + +procedure TTimelineMainForm.btnFontClick(Sender: TObject); +begin + with TFontDialog.Create(nil) do + begin + Font := TimeLine1.Font; + if Execute then + TimeLine1.Font := Font; + Free; + end; +end; + +procedure TTimelineMainForm.btnYrFontClick(Sender: TObject); +begin + with TFontDialog.Create(nil) do + begin + Font := TimeLine1.YearFont; + if Execute then + TimeLine1.YearFont := Font; + Free; + end; +end; + +procedure TTimelineMainForm.TimeLine1Click(Sender: TObject); +begin + if TimeLine1.Selected <> nil then + Caption := Format('%s (%s)', [TimeLine1.Selected.Caption, DateToStr(TimeLine1.Selected.Date)]); +end; + +procedure TTimelineMainForm.Changecaption1Click(Sender: TObject); +var S: string; +begin + if TimeLine1.Selected <> nil then + begin + S := TimeLine1.Selected.Caption; + if InputQuery('Change caption', 'Change caption to:', S) then + TimeLine1.Selected.Caption := S; + end; +end; + +procedure TTimelineMainForm.remove1Click(Sender: TObject); +begin + if TimeLine1.Selected <> nil then + if MessageDlg('Sure you want to delete this item?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then + begin + if TimeLine1.Selected.Data <> nil then + Dispose(PItemData(TimeLine1.Selected.Data)); + TimeLine1.Selected.Remove; + end; +end; + +procedure TTimelineMainForm.Move1Click(Sender: TObject); +var S: string; +begin + if TimeLine1.Selected <> nil then + begin + S := DateToStr(TimeLine1.Selected.Date); + if InputQuery('Move item', 'Move to new date:', S) then + TimeLine1.Selected.Date := StrToDate(S); + end; +end; + +procedure TTimelineMainForm.PopupMenu1Popup(Sender: TObject); +const + aCaption: array[boolean] of string = ('E&nable', 'D&isable'); +var i: integer; +begin + if TimeLine1.Selected = nil then + for i := 0 to PopUpMenu1.Items.Count - 1 do + PopUpMenu1.Items[i].Enabled := false + else + begin + for i := 0 to PopUpMenu1.Items.Count - 1 do + PopUpMenu1.Items[i].Enabled := true; + Disable1.Caption := aCaption[TimeLine1.Selected.Enabled]; + end + +end; + +procedure TTimelineMainForm.chkNoImagesClick(Sender: TObject); +begin + if chkNoImages.Checked then + begin + TimeLine1.Images := nil; + TimeLine1.ItemHeight := 16; + udItemHeight.Position := 16; + end + else + chkLargeClick(nil); +end; + +procedure TTimelineMainForm.chkWidthAsClick(Sender: TObject); +const + aType: array[boolean] of TJvTimeItemType = (asPixels, asDays); +var i: integer; +begin + for i := 0 to TimeLine1.Items.Count - 1 do + TimeLine1.Items[i].WidthAs := aType[chkWidthAs.Checked]; +end; + +procedure TTimelineMainForm.chkAutosizeClick(Sender: TObject); +begin + TimeLine1.AutoSize := chkAutosize.Checked; +end; + +procedure TTimelineMainForm.chkSupportClick(Sender: TObject); +begin + TimeLine1.VertSupports := chkSupport.Checked; +end; + +procedure TTimelineMainForm.chkLargeClick(Sender: TObject); +begin + if chkNoImages.Checked then + Exit; + if chkLarge.Checked then + begin + TimeLine1.Images := ImageList2; + TimeLine1.ItemHeight := 50; + udItemHeight.Position := 50; + end + else + begin + TimeLine1.Images := ImageList1; + TimeLine1.ItemHeight := 36; + udItemHeight.Position := 36; + end; +end; + +procedure TTimelineMainForm.udYrSizeClick(Sender: TObject; Button: TUDBtnType); +begin + TimeLine1.YearWidth := udYrSize.Position; +end; + +procedure TTimelineMainForm.TimeLine1MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); +begin + StatusBar1.Panels[0].Text := DateToStr(TimeLine1.DateAtPos(X)) + ' (approx.)'; +end; + +procedure TTimelineMainForm.udItemHeightClick(Sender: TObject; Button: TUDBtnType); +begin + TimeLine1.ItemHeight := udItemHeight.Position; +end; + +procedure TTimelineMainForm.chkOwnerDrawClick(Sender: TObject); +begin + if chkOwnerDraw.Checked then + begin + chkAutoSize.Checked := false; + TimeLine1.Style := tlOwnerDrawFixed; + end + else + TimeLine1.Style := tlDefault; +end; + +{ Show a memo to write notes about this item in. Allocate memory even if nothing is +written ( makes it easier when we want to save it later) } + +procedure TTimelineMainForm.Notes1Click(Sender: TObject); +var aData: PItemData; P: TPoint; +begin + if TimeLine1.Selected <> nil then + begin + if TimeLine1.Selected.Data = nil then + begin + New(aData); + aData^.Text := ''; + end + else + aData := TimeLine1.Selected.Data; + TimelineNotesForm.Caption := Format('Notes for "%s":', [TimeLine1.Selected.Caption]); + TimelineNotesForm.Memo1.Text := aData^.Text; + P := Mouse.CursorPos; +// GetCursorPos(P); + TimelineNotesForm.Left := P.x - 12; + TimelineNotesForm.Top := P.y - 32; + TimelineNotesForm.ShowModal; + aData^.Text := TimelineNotesForm.Memo1.Text; + TimeLine1.Selected.Data := aData; + end; +end; + +{ save all notes data and dispose of memory } + +procedure TTimelineMainForm.FormCreate(Sender: TObject); +begin + FCurColor := TimeLine1.Color; + cbDragging.ItemIndex := 0; + TimelineNotesForm := TTimelineNotesForm.Create(nil); + cbDraggingChange(nil); + TimeLine1.ShowSelection := false; + TimeLine1.DoubleBuffered := false; +end; + + +procedure TTimelineMainForm.TimeLine1SaveItem(Sender: TObject; Item: TJvTimeItem; + Stream: TStream); +var S: string; +begin + { I use #27 (ESC) as terminator as it doesn't appear naturally in text. #13 can't be + used if we want to use it in the text (and we do). Also, when nothing is written in the memo, + starting off a text with 3 @'s is highly unlikely especially if that's all that's there, + so I use it to tell when no notes have been saved in this item } + S := ''; + if (Item.Data <> nil) then + S := PItemData(Item.Data)^.Text; + if Length(S) = 0 then + S := '@@@' + #27 + else + S := S + #27; + Stream.Write(S[1], Length(S)); +end; + +{ let's read our previously saved data from the file } + +procedure TTimelineMainForm.TimeLine1LoadItem(Sender: TObject; Item: TJvTimeItem; + Stream: TStream); +var S: string; aData: PItemData; ch: char; +begin + Stream.Read(ch, 1); + while ch <> #27 do + begin + S := S + ch; + Stream.Read(ch, 1); + end; + + if (S <> '@@@') then { nothing there } + begin + New(aData); + aData^.Text := S; + Item.Data := aData; + end; +end; + +function strrev(p: string): string; +var pend, pstart: integer; +begin + Result := p; + pend := Length(p); + pstart := 1; + while (pend >= 1) do + begin + p[pstart] := char(integer(p[pstart]) xor integer(Result[pend])); + Result[pend] := char(integer(Result[pend]) xor integer(p[pstart])); + Inc(pstart); + Dec(pend); + end; +end; + +{ let's draw something funny ourselves } + +procedure TTimelineMainForm.TimeLine1DrawItem(Sender: TObject; ACanvas: TCanvas; + Item: TJvTimeItem; var R: TRect); +var + S: string; +begin + // ACanvas.Brush.Color := clBlack; + // ACanvas.FrameRect(R); + + // ACanvas.Brush.Color := RGB(Random(255),Random(255),Random(255)); + ACanvas.FillRect(R); + if TimeLine1.Images <> nil then + begin + TimeLine1.Images.Draw(ACanvas, R.Left, R.Top, Item.ImageIndex); + { + if Item.Selected then + TimeLine1.Images.Draw(ACanvas,R.Left,R.Top,Random(TimeLine1.Images.Count)) + else + TimeLine1.Images.Draw(ACanvas,R.Right - TimeLine1.Images.Width,R.Top,Item.ImageIndex); + } + end; + + // if (Random > 0.5) and Item.Selected then + // S := strrev(Item.Caption) + // else + S := Item.Caption; + // ACanvas.Font.Color := Canvas.Brush.Color xor clWhite; + DrawText(ACanvas.Handle, PChar(' ' + S), -1, R, DT_LEFT or DT_BOTTOM or DT_SINGLELINE); +end; + +procedure TTimelineMainForm.dtpFirstDateChange(Sender: TObject); +begin + TimeLine1.FirstVisibleDate := dtpFirstDate.Date; + dtpFirstDate.Date := TimeLine1.FirstVisibleDate; +end; + +procedure TTimelineMainForm.btnColorClick(Sender: TObject); +begin + with TColorDialog.Create(nil) do + begin + Color := FCurColor; + if Execute then + FCurColor := Color; + Free; + end; +end; + +procedure TTimelineMainForm.Up1Click(Sender: TObject); +begin + if (TimeLine1.Selected <> nil) and (TimeLine1.Selected.Level > 0) then + begin + TimeLine1.Selected.Level := TimeLine1.Selected.Level - 1; + end + else if TimeLine1.Selected <> nil then + ShowMessage('Can''t move this item further up!'); +end; + +procedure TTimelineMainForm.Down1Click(Sender: TObject); +begin + TimeLine1.Selected.Level := TimeLine1.Selected.Level + 1; +end; + +procedure TTimelineMainForm.btnAutoClick(Sender: TObject); +begin + TimeLine1.BeginUpdate; + TimeLine1.AutoLevels(chkComplete.Checked, chkReset.Checked); + TimeLine1.EndUpdate; +end; + +procedure TTimelineMainForm.btnLoadClick(Sender: TObject); +var i: integer; +begin + with TOpenDialog.Create(Self) do + begin + Filter := 'Item files (*.itm) |*.itm| All files (*.*)|*.*'; + InitialDir := ExtractFilePath(Application.Exename); + if Execute then + begin + TimeLine1.BeginUpdate; + for i := 0 to TimeLine1.Items.Count - 1 do + if TimeLine1.Items[i].Data <> nil then + begin + Dispose(PItemData(TimeLine1.Items[i].Data)); + TimeLine1.Items[i].Data := nil; + end; + TimeLine1.Items.Clear; + TimeLine1.LoadFromFile(Filename); + TimeLine1.EndUpdate; + end; + Free; + end; +end; + +procedure TTimelineMainForm.btnSaveClick(Sender: TObject); +begin + with TSaveDialog.Create(self) do + begin + Filter := 'Item files (*.itm) |*.itm| All files (*.*)|*.*'; + InitialDir := ExtractFilePath(Application.Exename); + if Execute then + begin + TimeLine1.BeginUpdate; + TimeLine1.SaveToFile(Filename); + TimeLine1.EndUpdate; + end; + Free; + end; +end; + +procedure TTimelineMainForm.FormDestroy(Sender: TObject); +var + i: integer; +begin + TimelineNotesForm.free; + { free allocated memory } + for i := 0 to TimeLine1.Items.Count - 1 do + if TimeLine1.Items[i].Data <> nil then + begin + Dispose(PItemData(TimeLine1.Items[i].Data)); + TimeLine1.Items[i].Data := nil; + end; +end; + +procedure TTimelineMainForm.chkFlatClick(Sender: TObject); +begin + TimeLine1.Flat := chkFlat.Checked; +end; + +procedure TTimelineMainForm.Exit1Click(Sender: TObject); +begin + Close; +end; + +procedure TTimelineMainForm.chkHelpYearClick(Sender: TObject); +begin + TimeLine1.HelperYears := chkHelpYear.Checked; +end; + +procedure TTimelineMainForm.FormResize(Sender: TObject); +begin + { + TimeLine1.Height := Height div 2; + if Panel2.Height < 250 then + TimeLine1.Height := Height - 250; + } +end; + +procedure TTimelineMainForm.ColorBtnClick(Sender: TObject); +begin + with TColorDialog.Create(nil) do + begin + Color := TimeLine1.Color; + if Execute then + TimeLine1.Color := Color; + Free; + end; +end; + +procedure TTimelineMainForm.Disable1Click(Sender: TObject); +begin + if TimeLine1.Selected <> nil then + TimeLine1.Selected.Enabled := not TimeLine1.Selected.Enabled; +end; + +procedure TTimelineMainForm.TimeLine1ItemClick(Sender: TObject; Item: TJvTimeItem); +begin + Caption := Item.Caption; +end; + +procedure TTimelineMainForm.TimeLine1DragOver(Sender, Source: TObject; X, Y: Integer; + State: TDragState; var Accept: Boolean); +begin + Accept := Sender = Source; +end; + +procedure TTimelineMainForm.TimeLine1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + if (Button = mbLeft) and (cbDragging.ItemIndex = 1) then + TimeLine1.BeginDrag(Mouse.DragImmediate, Mouse.DragThreshold); +end; + +procedure TTimelineMainForm.TimeLine1DragDrop(Sender, Source: TObject; X, Y: Integer); +var S: string; +begin + if (Sender = Source) and (TimeLine1.Selected <> nil) then + begin + S := DateToStr(TimeLine1.DateAtPos(X)); + if InputQuery('Confirm move', Format('Move "%s" to new date:', [TimeLine1.Selected.Caption]), S) then + begin + TimeLine1.Selected.Date := StrToDate(S); + TimeLine1.Selected.Level := TimeLine1.LevelAtPos(Y); + end; + end; +end; + +procedure TTimelineMainForm.cbDraggingChange(Sender: TObject); +begin + TimeLine1.DragLine := false; + case cbDragging.ItemIndex of + 0,1: + TimeLine1.DragMode := dmManual; + 2: + TimeLine1.DragMode := dmAutomatic; + end; +end; + +procedure TTimelineMainForm.TimeLine1ItemMoved(Sender: TObject; Item: TJvTimeItem; + var NewStartDate: TDateTime; var NewLevel: Integer); +var S: string; +begin + if TimeLine1.Dragging then + Exit; + S := DateToStr(NewStartDate); + if not InputQuery('Confirm move', Format('Move "%s" to new date:', [Item.Caption]), S) then + begin + NewStartDate := Item.Date; + NewLevel := Item.Level; + end; +end; + +end. diff --git a/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.lfm b/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.lfm new file mode 100644 index 000000000..20a350572 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.lfm @@ -0,0 +1,27 @@ +object TimelineNotesForm: TTimelineNotesForm + Left = 336 + Height = 237 + Top = 170 + Width = 207 + BorderStyle = bsToolWindow + Caption = 'Notes' + ClientHeight = 237 + ClientWidth = 207 + Color = clBtnFace + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + LCLVersion = '1.9.0.0' + object Memo1: TMemo + Left = 0 + Height = 237 + Top = 0 + Width = 207 + Align = alClient + Color = clInfoBk + Font.Color = clWindowText + ParentFont = False + TabOrder = 0 + WantTabs = True + end +end diff --git a/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.pas b/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.pas new file mode 100644 index 000000000..30836bba9 --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/TimelineNotesFormU.pas @@ -0,0 +1,47 @@ +{****************************************************************** + + JEDI-VCL Demo + + Copyright (C) 2002 Project JEDI + + Original author: + + Contributor(s): + + You may retrieve the latest version of this file at the JEDI-JVCL + home page, located at http://jvcl.delphi-jedi.org + + The contents of this file are used with permission, subject to + the Mozilla Public License Version 1.1 (the "License"); you may + not use this file except in compliance with the License. You may + obtain a copy of the License at + http://www.mozilla.org/MPL/MPL-1_1Final.html + + Software distributed under the License is distributed on an + "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + implied. See the License for the specific language governing + rights and limitations under the License. + +******************************************************************} + +unit TimelineNotesFormU; + +interface + +uses + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, + StdCtrls; + +type + TTimelineNotesForm = class(TForm) + Memo1: TMemo; + end; + +var + TimelineNotesForm: TTimelineNotesForm; + +implementation + +{$R *.lfm} + +end. \ No newline at end of file diff --git a/components/jvcllaz/examples/JVTimeLine/im32.bmp b/components/jvcllaz/examples/JVTimeLine/im32.bmp new file mode 100644 index 000000000..2b33b106d Binary files /dev/null and b/components/jvcllaz/examples/JVTimeLine/im32.bmp differ diff --git a/components/jvcllaz/examples/JVTimeLine/readme.txt b/components/jvcllaz/examples/JVTimeLine/readme.txt new file mode 100644 index 000000000..e284b406d --- /dev/null +++ b/components/jvcllaz/examples/JVTimeLine/readme.txt @@ -0,0 +1,9 @@ +This is a fairly exhaustive example program for the TTimeLine component. + +When first loading it, make sure that the Imagelists have images in them by double-clicking their icon on the form. If they are empty, load the im16.bmp bitmap into Imagelist1 by selecting Add and selecting it in the dialog (answer Yes when prompted to separate into several bitmaps). Load the im32.bmp bitmap into ImageList2 the same way. + +Please provide suggestions, bug reports etc to: + +http://jvcl.sourceforge.net/ + +Enjoy. \ No newline at end of file diff --git a/components/jvcllaz/resource/JvTimeLine.res b/components/jvcllaz/resource/JvTimeLine.res new file mode 100644 index 000000000..006c602db Binary files /dev/null and b/components/jvcllaz/resource/JvTimeLine.res differ diff --git a/components/jvcllaz/resource/jvcustomreg.res b/components/jvcllaz/resource/jvcustomreg.res new file mode 100644 index 000000000..b3d3762b4 Binary files /dev/null and b/components/jvcllaz/resource/jvcustomreg.res differ diff --git a/components/jvcllaz/run/JvCustomControls/JvTimeLine.pas b/components/jvcllaz/run/JvCustomControls/JvTimeLine.pas new file mode 100644 index 000000000..ae15eba57 --- /dev/null +++ b/components/jvcllaz/run/JvCustomControls/JvTimeLine.pas @@ -0,0 +1,2953 @@ +{----------------------------------------------------------------------------- +The contents of this file are subject to the Mozilla Public License +Version 1.1 (the "License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at +http://www.mozilla.org/MPL/MPL-1.1.html + +Software distributed under the License is distributed on an "AS IS" basis, +WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for +the specific language governing rights and limitations under the License. + +The Original Code is: JvTimeLine.PAS, released on 2002-05-26. + +The Initial Developer of the Original Code is Peter Thörnqvist [peter3 at sourceforge dot net] +Portions created by Peter Thörnqvist are Copyright (C) 2002 Peter Thörnqvist. +All Rights Reserved. + +Contributor(s): + +You may retrieve the latest version of this file at the Project JEDI's JVCL home page, +located at http://jvcl.delphi-jedi.org + +Description: + A timeline component with support for inserting items at selectable dates. + +Known Issues: + 2004-12-07: + - ShowSelection: if true, the selected item is painted with clHighlight/clHighlightText + - OnItemMouseMove event + - Bug fix for dragging: if DragMode is dmManual, no drag is performed automatically (duh!) + - SupportsColor property to set the color of the support lines (vert and horz) + + + + Bugs / Limitations: + * DateAtPos is approximate + * PosAtDate is slightly better + * FirstVisibleDate always start at day 1 of month +-----------------------------------------------------------------------------} +// $Id$ + +unit JvTimeLine; + +{$mode objfpc}{$H+} +//{$I jvcl.inc} + +interface + +uses + SysUtils, Classes, + LCLType, LCLIntf, LMessages, + Graphics, Controls, Forms, StdCtrls, ExtCtrls, ImgList, + JvConsts, JvComponent; + +type + TJvTimeItems = class; + TJvCustomTimeLine = class; + TJvTimeItemType = (asPixels, asDays); + + TJvTimeLineState = (tlDragPending, tlDragging, tlMouseDown, tlClearPending); + TJvTimeLineStates = set of TJvTimeLineState; + + TJvTimeItem = class(TCollectionItem) + private + FRect: TRect; + FParent: TJvTimeItems; + FData: Pointer; + FImageIndex: Integer; + FImageOffset: Integer; + FDate: TDateTime; + FCaption: string; + FColor: TColor; + FTextColor: TColor; + FHint: string; + FLevel: Integer; + FWidth: Integer; + FStyle: TJvTimeItemType; + FSelected: Boolean; + FEnabled: Boolean; + FOnDestroy: TNotifyEvent; + procedure SetEnabled(Value: Boolean); + procedure SetImageOffset(Value: Integer); + procedure SetStyle(Value: TJvTimeItemType); + procedure SetSelected(Value: Boolean); + procedure SetDate(Value: TDateTime); + procedure SetCaption(Value: string); + procedure SetColor(Value: TColor); + procedure SetTextColor(Value: TColor); + procedure SetImageIndex(Value: Integer); + procedure SetLevel(Value: Integer); + procedure SetWidth(Value: Integer); + function GetBounds(AIndex: Integer): Integer; + procedure SetBounds(AIndex: Integer; Value: Integer); + protected + procedure Update; virtual; + function GetDisplayName: string; override; + procedure DoDestroy; + public + constructor Create(ACollection: Classes.TCollection); override; + destructor Destroy; override; + procedure Remove; virtual; + procedure Assign(Source: TPersistent); override; + property Data: Pointer read FData write FData; + published + property Enabled: Boolean read FEnabled write SetEnabled default True; + property Left: Integer index 0 read GetBounds write SetBounds; + property Top: Integer index 1 read GetBounds write SetBounds; + property Caption: string read FCaption write SetCaption; + property Color: TColor read FColor write SetColor default clWindow; + property Date: TDateTime read FDate write SetDate; + property Hint: string read FHint write FHint; + property ImageIndex: Integer read FImageIndex write SetImageIndex default -1; + property ImageOffset: Integer read FImageOffset write SetImageOffset default 0; + property Level: Integer read FLevel write SetLevel default 0; + property Selected: Boolean read FSelected write SetSelected default False; + property TextColor: TColor read FTextColor write SetTextColor default clBlack; + property WidthAs: TJvTimeItemType read FStyle write SetStyle default asPixels; + property Width: Integer read FWidth write SetWidth default 50; + property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy; + end; + + TJvTimeItems = class(TCollection) + private + FTimeLine: TJvCustomTimeLine; + function GetItem(AIndex: Integer): TJvTimeItem; + procedure SetItem(AIndex: Integer; Value: TJvTimeItem); + protected + function GetOwner: TPersistent; override; + procedure Update(Item: TCollectionItem); override; + public + constructor Create(TimeLine: TJvCustomTimeLine); + function Add: TJvTimeItem; + procedure Refresh; + property Items[Index: Integer]: TJvTimeItem read GetItem write SetItem; default; + end; + + TJvYearWidth = 12..MaxInt; + // TItemAlign=(tiCenter,tiLeft); + TJvTimeLineStyle = (tlDefault, tlOwnerDrawFixed, tlOwnerDrawVariable); + TJvScrollArrow = (scrollLeft, scrollRight, scrollUp, scrollDown); + TJvScrollArrows = set of TJvScrollArrow; + TJvTimeItemClickEvent = procedure(Sender: TObject; Item: TJvTimeItem) of object; + TJvDrawTimeItemEvent = procedure(Sender: TObject; Canvas: TCanvas; Item: + TJvTimeItem; var R: TRect) of object; + TJvMeasureTimeItemEvent = procedure(Sender: TObject; Item: TJvTimeItem; var + ItemHeight: Integer) of object; + TJvStreamItemEvent = procedure(Sender: TObject; Item: TJvTimeItem; Stream: + TStream) of object; + TJvItemMovedEvent = procedure(Sender: TObject; Item: TJvTimeItem; + var NewStartDate: TDateTime; var NewLevel: Integer) of object; + TJvItemMovingEvent = procedure(Sender: TObject; Item: TJvTimeItem; var + AllowMove: Boolean) of object; + TJvItemMouseMove = procedure(Sender: TObject; Item: TJvTimeItem; X, Y: Integer) of object; + + TJvTLScrollBtn = class(TJvGraphicControl) + private + FFlat: Boolean; + FPushed: Boolean; + FTimeLine: TJvCustomTimeLine; + FDirection: TJvScrollArrow; + FRepeatClick: Boolean; + FTimer: TTimer; + FMouseInControl: Boolean; + procedure SetDirection(const Value: TJvScrollArrow); + procedure SetFlat(const Value: Boolean); + procedure SetTimeLine(const Value: TJvCustomTimeLine); + procedure UpdatePlacement; + procedure OnTimer(Sender: TObject); + protected + procedure MouseEnter(Control: TControl); override; + procedure MouseLeave(Control: TControl); override; + procedure MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Integer); override; + procedure MouseUp(Button: TMouseButton; Shift: TShiftState; + X, Y: Integer); override; + procedure Click; override; + public + constructor Create(AOwner: TComponent); override; + procedure Paint; override; + property RepeatClick: Boolean read FRepeatClick write FRepeatClick; + published + property Flat: Boolean read FFlat write SetFlat; + property Direction: TJvScrollArrow read FDirection write SetDirection; + property TimeLine: TJvCustomTimeLine read FTimeLine write SetTimeLine; + end; + + TJvCustomTimeLine = class(TJvCustomControl) + private + FItemHintImageList: TCustomImageList; + FArrows: array [TJvScrollArrow] of TJvTLScrollBtn; + FList: TList; + FBmp: TBitmap; + FYearWidth: TJvYearWidth; + FBorderStyle: TBorderStyle; + FUpdate: Integer; + FMonthWidth: Extended; + FTopOffset: Integer; + FItemOffset: Integer; + FScrollHeight: Integer; + FScrollWidth: Integer; + FFirstDate: TDate; + FShowMonths: Boolean; + FShowDays: Boolean; + FMultiSelect: Boolean; + FShowItemHint: Boolean; + FSupportLines: Boolean; + FFlat: Boolean; + FHelperYears: Boolean; + FDragLine: Boolean; + FLineVisible: Boolean; + //--FMouseDown: Boolean; + FNewHeight: Integer; + FOldX: Integer; + FOldHint: string; + FStyle: TJvTimeLineStyle; + FScrollArrows: TJvScrollArrows; + FTimeItems: TJvTimeItems; + FItemHeight: Integer; + FTopLevel: Integer; + FImages: TCustomImageList; + FYearFont: TFont; + FSelectedItem: TJvTimeItem; + FYearList: TList; + FImageChangeLink: TChangeLink; + FOnVertScroll: TScrollEvent; + FOnHorzScroll: TScrollEvent; + FOnItemClick: TJvTimeItemClickEvent; + FOnDrawItem: TJvDrawTimeItemEvent; + FOnMeasureItem: TJvMeasureTimeItemEvent; + FOnLoadItem: TJvStreamItemEvent; + FOnSaveItem: TJvStreamItemEvent; + FOnSize: TNotifyEvent; + FOnItemMoved: TJvItemMovedEvent; + FOnItemMoving: TJvItemMovingEvent; + FLastScrollCode: TScrollCode; + FHorzSupport: Boolean; + FShowHiddenItemHints: Boolean; + FOnItemDblClick: TJvTimeItemClickEvent; + FCanvas: TControlCanvas; + FAutoDrag: Boolean;// automatic (or allowed) drag start + FDragImages: TDragImageList; + FDragItem: TJvTimeItem; + FStartPos: TPoint; + FStates: TJvTimeLineStates; + FRangeAnchor: TJvTimeItem; + FAutoSize: Boolean; + FShowSelection: Boolean; + FOnItemMouseMove: TJvItemMouseMove; + FSupportsColor: TColor; + procedure SetHelperYears(Value: Boolean); + procedure SetFlat(Value: Boolean); + procedure SetScrollArrows(Value: TJvScrollArrows); + procedure SetBorderStyle(Value: TBorderStyle); + procedure SetYearFont(Value: TFont); + procedure SetYearWidth(Value: TJvYearWidth); + procedure SetFirstDate(Value: TDate); + procedure SetTimeItems(Value: TJvTimeItems); + procedure SetImages(Value: TCustomImageList); + procedure SetShowMonths(Value: Boolean); + procedure SetShowDays(Value: Boolean); + procedure SetSelectedItem(Value: TJvTimeItem); + procedure SetMultiSelect(Value: Boolean); + procedure SetTopOffset(Value: Integer); + procedure SetTopLevel(Value: Integer); + // procedure SetItemAlign(Value: TItemAlign); + procedure SetSupportLines(Value: Boolean); + procedure SetStyle(Value: TJvTimeLineStyle); + procedure SetItemHeight(Value: Integer); + procedure ImagesChanged(Sender: TObject); + function GetLastDate: TDate; + procedure HighLiteItem(Item: TJvTimeItem); + procedure UpdateOffset; + + procedure CNKeyDown(var Msg: TLMKeyDown); message CN_KEYDOWN; + procedure WMNCCalcSize(var Msg: TLMNCCalcSize); message LM_NCCALCSIZE; + procedure WMNCPaint(var Msg: TLMessage); message LM_NCPAINT; + procedure WMCancelMode(var Msg: TLMessage); message LM_CANCELMODE; + procedure CMEnter(var Msg: TLMessage); message CM_ENTER; + procedure CMExit(var Msg: TLMessage); message CM_EXIT; +// procedure CMDrag(var Msg: TCMDrag); message CM_DRAG; -- wp + + procedure DrawDays(ACanvas: TCanvas; Days, StartAt: Integer); + procedure DrawDayNumbers(ACanvas: TCanvas; Days, StartAt: Integer); + procedure DrawMonth(ACanvas: TCanvas; StartAt, M: Integer); + procedure DrawMonthName(ACanvas: TCanvas; Month, StartAt: Integer); + procedure DrawYear(ACanvas: TCanvas; StartAt: Integer; YR: string); + procedure DrawTimeLine(ACanvas: TCanvas); + procedure DrawVertSupport(ACanvas: TCanvas; StartAt: Integer); + procedure DrawHorzSupports(ACanvas: TCanvas); + procedure DrawFocus; + procedure DrawLeftItemHint(ACanvas: TCanvas); + procedure DrawRightItemHint(ACanvas: TCanvas); + procedure DrawScrollButtons; + procedure DoYearFontChange(Sender: TObject); + procedure DoDragOver(Source: TDragObject; X, Y: Integer; CanDrop: Boolean); + function HasItemsToLeft: Boolean; + function HasItemsToRight: Boolean; + procedure SetHorzSupport(const Value: Boolean); + function GetMonth: Word; + function GetYear: Word; + procedure SetMonth(const Value: Word); + procedure SetYear(const Value: Word); + procedure SetShowHiddenItemHints(const Value: Boolean); + procedure HandleClickSelection(LastFocused, NewItem: TJvTimeItem; + Shift: TShiftState); + function HasMoved(P: TPoint): Boolean; + function GetHint: string; + procedure SetHint(const Value: TTranslateString); + procedure SetShowSelection(const Value: Boolean); + procedure SetSupportsColor(const Value: TColor); + protected + // Some helper functions for selection + procedure AddToSelection(AItem: TJvTimeItem); overload; + procedure SelectItems(StartItem, EndItem: TJvTimeItem; AddOnly: Boolean); + procedure RemoveFromSelection(AItem: TJvTimeItem); + procedure ClearSelection; + procedure SetAutoSize(Value: Boolean); override; + function ItemMoving(Item: TJvTimeItem): Boolean; virtual; + procedure ItemMoved(Item: TJvTimeItem; var NewDate: TDateTime; var NewLevel: Integer); virtual; + function ItemMouseMove(X, Y: Integer): Boolean; virtual; + procedure MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Integer); override; + procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); + override; + procedure MouseMove(Shift: TShiftState; X, Y: Integer); override; + procedure DblClick; override; + procedure Click; override; + procedure Paint; override; + procedure DrawDragLine(X: Integer); virtual; + procedure MoveDragLine(ANewX: Integer); virtual; + procedure VertScroll(ScrollCode: TScrollCode; var ScrollPos: Integer); virtual; + procedure HorzScroll(ScrollCode: TScrollCode; var ScrollPos: Integer); virtual; + procedure ItemClick(Item: TJvTimeItem); virtual; + procedure ItemDblClick(Item: TJvTimeItem); virtual; + procedure Size; virtual; + procedure SaveItem(Item: TJvTimeItem; Stream: TStream); virtual; + procedure LoadItem(Item: TJvTimeItem; Stream: TStream); virtual; + procedure MeasureItem(Item: TJvTimeItem; var ItemHeight: Integer); virtual; + procedure DrawItem(Item: TJvTimeItem; ACanvas: TCanvas; var R: TRect); virtual; + procedure UpdateItem(Index: Integer; ACanvas: TCanvas); virtual; + procedure UpdateItems; virtual; + procedure UpdateItemHint(X,Y: Integer); + procedure Notification(AComponent: TComponent; Operation: TOperation); override; + procedure CreateWnd; override; + function GetDragImages: TDragImageList; override; + property Align default alTop; + property Color default clWindow; + + { new properties } + property Year: Word read GetYear write SetYear; + property Month: Word read GetMonth write SetMonth; + property Selected: TJvTimeItem read FSelectedItem write SetSelectedItem; + property ShowHiddenItemHints: Boolean read FShowHiddenItemHints write + SetShowHiddenItemHints default True; + property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle + default bsSingle; + property DragLine: Boolean read FDragLine write FDragLine default True; + property ShowItemHint: Boolean read FShowItemHint write FShowItemHint default False; + property AutoSize: Boolean read FAutoSize write SetAutoSize default False; + property HelperYears: Boolean read FHelperYears write SetHelperYears default True; + property MultiSelect: Boolean read FMultiSelect write SetMultiSelect default False; + property Flat: Boolean read FFlat write SetFlat default False; + property Hint: TTranslateString read GetHint write SetHint; + property YearFont: TFont read FYearFont write SetYearFont; + property YearWidth: TJvYearWidth read FYearWidth write SetYearWidth default 140; + property TopOffset: Integer read FTopOffset write SetTopOffset default 21; + property ShowMonthNames: Boolean read FShowMonths write SetShowMonths; + property ShowSelection: Boolean read FShowSelection write SetShowSelection default False; + property ShowDays: Boolean read FShowDays write SetShowDays default False; + property FirstVisibleDate: TDate read FFirstDate write SetFirstDate; + property Images: TCustomImageList read FImages write SetImages; + property Items: TJvTimeItems read FTimeItems write SetTimeItems; + property ItemHeight: Integer read FItemHeight write SetItemHeight default 0; + // property ItemAlign: TItemAlign read FItemAlign write SetItemAlign default tiCenter; + property VertSupports: Boolean read FSupportLines write SetSupportLines default False; + property HorzSupports: Boolean read FHorzSupport write SetHorzSupport; + property SupportsColor: TColor read FSupportsColor write SetSupportsColor default clBtnFace; + property Style: TJvTimeLineStyle read FStyle write SetStyle default tlDefault; + property TopLevel: Integer read FTopLevel write SetTopLevel default 0; + property ScrollArrows: TJvScrollArrows read FScrollArrows write + SetScrollArrows default [scrollLeft..scrollDown]; + property OnItemClick: TJvTimeItemClickEvent read FOnItemClick write FOnItemClick; + property OnItemDblClick: TJvTimeItemClickEvent read FOnItemDblClick write FOnItemDblClick; + property OnSize: TNotifyEvent read FOnSize write FOnSize; + property OnHorzScroll: TScrollEvent read FOnHorzScroll write FOnHorzScroll; + property OnVertScroll: TScrollEvent read FOnVertScroll write FOnVertScroll; + property OnDrawItem: TJvDrawTimeItemEvent read FOnDrawItem write FOnDrawItem; + property OnMeasureItem: TJvMeasureTimeItemEvent read FOnMeasureItem write FOnMeasureItem; + property OnSaveItem: TJvStreamItemEvent read FOnSaveItem write FOnSaveItem; + property OnLoadItem: TJvStreamItemEvent read FOnLoadItem write FOnLoadItem; + property OnItemMoved: TJvItemMovedEvent read FOnItemMoved write FOnItemMoved; + property OnItemMouseMove: TJvItemMouseMove read FOnItemMouseMove write FOnItemMouseMove; + property OnItemMoving: TJvItemMovingEvent read FOnItemMoving write FOnItemMoving; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure NextYear; + procedure PrevYear; + procedure NextMonth; + procedure PrevMonth; + function ItemAtPos(X, Y: Integer): TJvTimeItem; virtual; + function LevelAtPos(Pos: Integer): Integer; virtual; + function DateAtPos(Pos: Integer): TDateTime; virtual; + function PosAtDate(Date: TDateTime): Integer; virtual; + procedure AutoLevels(Complete, ResetLevels: Boolean); virtual; + procedure LoadFromFile(FileName: string); virtual; + procedure SaveToFile(FileName: string); virtual; + procedure LoadFromStream(Stream: TStream); virtual; + procedure SaveToStream(Stream: TStream); virtual; + procedure BeginUpdate; virtual; + procedure EndUpdate; virtual; + procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override; + procedure BeginDrag(Immediate: Boolean; Threshold: Integer = -1); + end; + + TJvTimeLine = class(TJvCustomTimeLine) + public + property Selected; + published + property Align; + property Color; + property Cursor; + property DoubleBuffered default True; + property DragLine; + property Enabled; + property Height; + property HelperYears; + property ShowSelection; + property Hint; + property Left; + property PopupMenu; + property ParentShowHint; + property ShowHint; + property Top; + property Visible; + property Width; + property Font; + property ScrollArrows; + property TabStop; + property TabOrder; + property OnMouseDown; + property OnMouseUp; + property OnMouseMove; + property OnMouseEnter; + property OnMouseLeave; + property OnDblClick; + property OnClick; + + property BorderStyle; + property AutoSize; + property DragCursor; + property DragMode; + property OnEndDrag; + property OnStartDrag; + property OnDragOver; + property OnDragDrop; + property MultiSelect; + property Flat; + property YearFont; + property YearWidth; + property TopOffset; + property ShowDays; + property ShowHiddenItemHints; + property ShowItemHint; + property ShowMonthNames; + property FirstVisibleDate; + property Images; + property Items; + property ItemHeight; + // property ItemAlign; + property VertSupports; + property HorzSupports; + property SupportsColor; + property Style; + property TopLevel; + property OnItemClick; + property OnItemDblClick; + property OnSize; + property OnHorzScroll; + property OnVertScroll; + property OnDrawItem; + property OnMeasureItem; + property OnSaveItem; + property OnLoadItem; + property OnItemMoved; + property OnItemMouseMove; + property OnItemMoving; + end; + + +implementation + +uses + Math, Types, DateUtils, Themes, LazUTF8, + JvJCLUtils, JvJVCLUtils; //, {JvThemes,} JclSysUtils; + +{$R ..\..\resource\JvTimeLine.res} + +const + FDayLineLength = 4; + FDayTextTop = 5; + FMonthLineLength = 10; + FMonthTextTop = 24; + FYearLineLength = 24; + FYearTextTop = 32; + FScrollEdgeOffset = 8; + + ITEM_MARGIN = 2; + +var + FInitRepeatPause: Cardinal = 140; + FRepeatPause: Cardinal = 30; + +function MonthCount(Date1, Date2: TDateTime): Integer; +var + Y1, M1, D1, Y2, M2, D2: Word; +begin + DecodeDate(Date1, Y1, M1, D1); + DecodeDate(Date2, Y2, M2, D2); + Result := (Y2 - Y1) * 12 + (M2 - M1); + if (D1 = 1) and (D2 = 1) then + Dec(Result); +end; + +function PixelsForDays(Date: TDateTime; PixelsPerMonth: Integer): Integer; +var + Y, M, D: Word; +begin + DecodeDate(Date - 1, Y, M, D); + Result := D * PixelsPerMonth div MonthDays[IsLeapYear(Y), M]; +end; + +function DateCompare(Item1, Item2: Pointer): Integer; +begin + Result := Trunc(TJvTimeItem(Item1).Date - TJvTimeItem(Item2).Date); +end; + +function RectInRect(const Rect1, Rect2: TRect): Boolean; +var + R: TRect; +begin + Result := IntersectRect(R, Rect1, Rect2); +end; + (* +function KeyboardStateToShiftState(const KeyboardState: TKeyboardState): TShiftState; +begin + Result := []; + if KeyboardState[VK_SHIFT] and $80 <> 0 then Include(Result, ssShift); + if KeyboardState[VK_CONTROL] and $80 <> 0 then Include(Result, ssCtrl); + if KeyboardState[VK_MENU] and $80 <> 0 then Include(Result, ssAlt); + if KeyboardState[VK_LBUTTON] and $80 <> 0 then Include(Result, ssLeft); + if KeyboardState[VK_RBUTTON] and $80 <> 0 then Include(Result, ssRight); + if KeyboardState[VK_MBUTTON] and $80 <> 0 then Include(Result, ssMiddle); +end; *) + + +//=== { TJvTimeItem } ======================================================== + +constructor TJvTimeItem.Create(ACollection: Classes.TCollection); +begin + inherited Create(ACollection); + FParent := TJvTimeItems(ACollection); + FEnabled := True; + FCaption := ''; + FDate := Trunc(Now); + FColor := clWindow; + FTextColor := clBlack; + FRect := Rect(0, 0, 0, 0); + FSelected := False; + FImageIndex := ACollection.Count - 1; + FLevel := FImageIndex; + FWidth := 50; + FStyle := asPixels; + FImageOffset := 0; + Update; +end; + +destructor TJvTimeItem.Destroy; +begin + DoDestroy; + inherited Destroy; +end; + +procedure TJvTimeItem.DoDestroy; +begin + if Assigned(OnDestroy) then + OnDestroy(Self); +end; + +procedure TJvTimeItem.Remove; +begin + LCLIntf.InvalidateRect(FParent.FTimeLine.Handle, @FRect, True); +// Windows.InvalidateRect(FParent.FTimeLine.Handle, @FRect, True); + // (rom) suspicious + inherited Free; +end; + +procedure TJvTimeItem.Assign(Source: TPersistent); +begin + if Source is TJvTimeItem then + begin + Caption := TJvTimeItem(Source).Caption; + ImageIndex := TJvTimeItem(Source).ImageIndex; + Date := TJvTimeItem(Source).Date; + Level := TJvTimeItem(Source).Level; + Width := TJvTimeItem(Source).Width; + Hint := TJvTimeItem(Source).Hint; + Color := TJvTimeItem(Source).Color; + TextColor := TJvTimeItem(Source).TextColor; + end + else + inherited Assign(Source); +end; + +procedure TJvTimeItem.Update; +begin + LCLIntf.InvalidateRect(FParent.FTimeLine.Handle, @FRect, True); + FParent.FTimeLine.UpdateItem(Index, FParent.FTimeLine.Canvas); + LCLIntf.InvalidateRect(FParent.FTimeLine.Handle, @FRect, True); +end; + +function TJvTimeItem.GetDisplayName: string; +begin + Result := Caption; + if Result = '' then + Result := inherited GetDisplayName; +end; + +procedure TJvTimeItem.SetEnabled(Value: Boolean); +begin + if FEnabled <> Value then + begin + FEnabled := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetImageOffset(Value: Integer); +begin + if FImageOffset <> Value then + begin + FImageOffset := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetStyle(Value: TJvTimeItemType); +begin + if FStyle <> Value then + begin + FStyle := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetSelected(Value: Boolean); +begin + if FSelected <> Value then + begin + FSelected := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetDate(Value: TDateTime); +begin + if FDate <> Value then + begin + FDate := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetCaption(Value: string); +begin + if FCaption <> Value then + begin + FCaption := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetColor(Value: TColor); +begin + if FColor <> Value then + begin + FColor := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetTextColor(Value: TColor); +begin + if FTextColor <> Value then + begin + FTextColor := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetImageIndex(Value: Integer); +begin + if FImageIndex <> Value then + begin + FImageIndex := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetWidth(Value: Integer); +begin + if FWidth <> Value then + begin + FWidth := Value; + Update; + end; +end; + +procedure TJvTimeItem.SetLevel(Value: Integer); +begin + if FLevel <> Value then + begin + FLevel := Value; + FParent.FTimeLine.Repaint; + end; +end; + +function TJvTimeItem.GetBounds(AIndex: Integer): Integer; +begin + case AIndex of + 0: + Result := FRect.Left; + 1: + Result := FRect.Top; + else + Result := 0; + end; +end; + +procedure TJvTimeItem.SetBounds(AIndex: Integer; Value: Integer); +begin + case AIndex of + 0: + if FRect.Left <> Value then + begin + OffsetRect(FRect, Value - FRect.Left, 0); + Date := FParent.FTimeLine.DateAtPos(FRect.Left); + FParent.FTimeLine.Invalidate; + end; + 1: + if FRect.Top <> Value then + begin + FParent.FTimeLine.UpdateOffset; + if Value < FParent.FTimeLine.FItemOffset then + Value := FParent.FTimeLine.FItemOffset; + OffsetRect(FRect, 0, Value - FRect.Top); + Level := FParent.FTimeLine.LevelAtPos(FRect.Top); + FParent.FTimeLine.Invalidate; + end; + end; +end; + +//=== { TJvTimeItems } ======================================================= + +constructor TJvTimeItems.Create(TimeLine: TJvCustomTimeLine); +begin + inherited Create(TJvTimeItem); + FTimeLine := TimeLine; +end; + +function TJvTimeItems.Add: TJvTimeItem; +begin + Result := TJvTimeItem(inherited Add); + Update(Result); +end; + +procedure TJvTimeItems.Refresh; +var + I: Integer; +begin + for I := 0 to Count - 1 do + Items[I].Update; +end; + +function TJvTimeItems.GetItem(AIndex: Integer): TJvTimeItem; +begin + Result := TJvTimeItem(inherited GetItem(AIndex)); +end; + +procedure TJvTimeItems.SetItem(AIndex: Integer; Value: TJvTimeItem); +begin + inherited SetItem(AIndex, Value); +end; + +function TJvTimeItems.GetOwner: TPersistent; +begin + Result := FTimeLine; +end; + +procedure TJvTimeItems.Update(Item: TCollectionItem); +begin + if Item <> nil then + FTimeLine.UpdateItem(Item.Index, FTimeLine.Canvas) + else + FTimeLine.UpdateItems; +end; + +//=== { TJvTLScrollBtn } ===================================================== + +constructor TJvTLScrollBtn.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + ControlStyle := ControlStyle + [csCaptureMouse, csClickEvents, csOpaque] - + [csDoubleClicks]; +end; + +procedure TJvTLScrollBtn.MouseEnter(Control: TControl); +begin + if ThemeServices.ThemesEnabled and not (FMouseInControl) and not (csDesigning in ComponentState) then + begin + FMouseInControl := True; + Invalidate; + end; + inherited MouseEnter(Control); +end; + +procedure TJvTLScrollBtn.MouseLeave(Control: TControl); +begin + inherited MouseLeave(Control); + if ThemeServices.ThemesEnabled and FMouseInControl then + begin + FMouseInControl := False; + Invalidate; + end; +end; + +procedure TJvTLScrollBtn.Paint; +const + Directions: array [TJvScrollArrow] of Integer = + (DFCS_SCROLLLEFT, DFCS_SCROLLRIGHT, DFCS_SCROLLUP, DFCS_SCROLLDOWN); + CFlat: array [Boolean] of Word = (0, DFCS_FLAT); + CPushed: array [Boolean] of Word = (0, DFCS_PUSHED); +var + Button: TThemedScrollBar; + Details: TThemedElementDetails; +begin + if TimeLine = nil then + Exit; + if not Visible then + Exit; + + if ThemeServices.ThemesEnabled then + begin + if FPushed then + Button := tsArrowBtnLeftPressed + else + if FMouseInControl then + Button := tsArrowBtnLeftHot + else + Button := tsArrowBtnLeftNormal; + + case Direction of + scrollRight: + Button := TThemedScrollBar(Ord(tsArrowBtnRightNormal) + Ord(Button) - Ord(tsArrowBtnLeftNormal)); + scrollUp: + Button := TThemedScrollBar(Ord(tsArrowBtnUpNormal) + Ord(Button) - Ord(tsArrowBtnLeftNormal)); + scrollDown: + Button := TThemedScrollBar(Ord(tsArrowBtnDownNormal) + Ord(Button) - Ord(tsArrowBtnLeftNormal)); + end; + Details := ThemeServices.GetElementDetails(Button); + ThemeServices.DrawElement(Canvas.Handle, Details, Rect(0, 0, Width, Height)); + end + else + // TimeLine.FSelectedItem := nil; { fixes begindrag bug ? } + DrawFrameControl(Canvas.Handle, Rect(0, 0, Width, Height), DFC_SCROLL, + CFlat[Flat] or CPushed[FPushed] or Directions[Direction]); +end; + +procedure TJvTLScrollBtn.UpdatePlacement; +begin + if TimeLine = nil then + Exit; + TimeLine.UpdateOffset; + case FDirection of + scrollLeft: + begin + SetBounds(FScrollEdgeOffset, TimeLine.Height - FScrollEdgeOffset - + TimeLine.FScrollHeight, + TimeLine.FScrollWidth, TimeLine.FScrollHeight); + Anchors := [akLeft, akBottom]; + end; + scrollRight: + begin + SetBounds(TimeLine.Width - FScrollEdgeOffset - TimeLine.FScrollWidth * 2, + TimeLine.Height - FScrollEdgeOffset - TimeLine.FScrollHeight, + TimeLine.FScrollWidth, TimeLine.FScrollHeight); + Anchors := [akRight, akBottom]; + end; + scrollUp: + begin + Anchors := []; + SetBounds(TimeLine.Width - FScrollEdgeOffset - TimeLine.FScrollWidth, + TimeLine.FItemOffset + FScrollEdgeOffset, + TimeLine.FScrollWidth, TimeLine.FScrollHeight); + Anchors := [akRight, akTop]; + end; + scrollDown: + begin + SetBounds(TimeLine.Width - FScrollEdgeOffset - TimeLine.FScrollWidth, + TimeLine.Height - FScrollEdgeOffset - TimeLine.FScrollHeight * 2, + TimeLine.FScrollWidth, TimeLine.FScrollHeight); + Anchors := [akRight, akBottom]; + end; + end; +end; + +procedure TJvTLScrollBtn.SetDirection(const Value: TJvScrollArrow); +begin + FDirection := Value; + if (TimeLine <> nil) and (TimeLine.Parent <> nil )then + begin + UpdatePlacement; + Invalidate; + end; +end; + +procedure TJvTLScrollBtn.SetFlat(const Value: Boolean); +begin + if FFlat <> Value then + begin + FFlat := Value; + Invalidate; + end; +end; + +procedure TJvTLScrollBtn.SetTimeLine(const Value: TJvCustomTimeLine); +begin + FTimeLine := Value; + Invalidate; +end; + +procedure TJvTLScrollBtn.MouseDown(Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + inherited MouseDown(Button, Shift, X, Y); + if RepeatClick then + begin + if FTimer = nil then + FTimer := TTimer.Create(Self); + + FTimer.OnTimer := @OnTimer; + FTimer.Interval := FInitRepeatPause; + FTimer.Enabled := True; + end; + FPushed := True; + Invalidate; + // Click; +end; + +procedure TJvTLScrollBtn.MouseUp(Button: TMouseButton; Shift: TShiftState; + X, Y: Integer); +begin + inherited MouseUp(Button, Shift, X, Y); + FPushed := False; + Invalidate; + if FTimer <> nil then + FTimer.Enabled := False; +end; + +procedure TJvTLScrollBtn.Click; +var + ScrollPos: Integer; + ScrollCode: TScrollCode; + ShiftState: TShiftState; + //KeyState: TKeyboardState; + + function GetScrollCode(LargeChange: Boolean): TScrollCode; + begin + case Direction of + scrollLeft: + if LargeChange then + Result := scPageUp + else + Result := scLineUp; + scrollRight: + if LargeChange then + Result := scPageDown + else + Result := scLineDown; + scrollUp: Result := scLineUp; + else + Result := scLineDown; + end; + end; + +begin + if TimeLine = nil then + Exit; + + ShiftState := GetKeyShiftState; + { + GetKeyboardState(KeyState); + ShiftState := KeyboardStateToShiftState(KeyState); + } + + ScrollCode := GetScrollCode(ssCtrl in ShiftState); + TimeLine.FLastScrollCode := ScrollCode; + case Direction of + scrollLeft: + begin + if ssCtrl in ShiftState then + TimeLine.PrevYear + else + TimeLine.PrevMonth; + ScrollPos := Trunc(TimeLine.FirstVisibleDate); + TimeLine.HorzScroll(ScrollCode, ScrollPos); + TimeLine.SetFirstDate(ScrollPos); + end; + scrollRight: + begin + if ssCtrl in ShiftState then + TimeLine.NextYear + else + TimeLine.NextMonth; + ScrollPos := Trunc(TimeLine.FirstVisibleDate); + TimeLine.HorzScroll(ScrollCode, ScrollPos); + TimeLine.SetFirstDate(ScrollPos); + end; + scrollUp: + begin + if TimeLine.FTopLevel > 0 then + ScrollPos := TimeLine.FTopLevel - 1; + TimeLine.VertScroll(ScrollCode, ScrollPos); + if ScrollPos >= 0 then + TimeLine.SetTopLevel(ScrollPos); + end; + scrollDown: + begin + ScrollPos := TimeLine.FTopLevel + 1; + TimeLine.VertScroll(ScrollCode, ScrollPos); + if (ScrollPos >= 0) then + TimeLine.SetTopLevel(ScrollPos); + end; + end; + if TimeLine.CanFocus then + TimeLine.SetFocus; + inherited; +end; + +procedure TJvTLScrollBtn.OnTimer(Sender: TObject); +begin + FTimer.Interval := FRepeatPause; + if FPushed and MouseCapture then + try + Click; + except + FTimer.Enabled := False; + raise; + end; +end; + +//=== { TJvCustomTimeLine } ================================================== + +constructor TJvCustomTimeLine.Create(AOwner: TComponent); +var + Bmp: TBitmap; +begin + inherited Create(AOwner); + FStates := []; + FOldX := -1; + + FCanvas := TControlCanvas.Create; + FCanvas.Control := Self; + FCanvas.Pen.Color := clBlack; + FCanvas.Pen.Mode := pmNotXor; + FCanvas.Pen.Style := psDot; + + Bmp := TBitmap.Create; + FItemHintImageList := TCustomImageList.CreateSize(14, 6); + try + Bmp.LoadFromResourceName(HInstance, 'JvCustomTimeLineITEMLEFT'); + FItemHintImageList.Add(Bmp, nil); + Bmp.Assign(nil); // fixes GDI resource leak + Bmp.LoadFromResourceName(HInstance, 'JvCustomTimeLineITEMRIGHT'); + FItemHintImageList.Add(Bmp, nil); + finally + Bmp.Free; + end; + FSupportsColor := clBtnFace; + DoubleBuffered := True; + FBmp := TBitmap.Create; + FList := TList.Create; + FHelperYears := True; + ControlStyle := [csOpaque, csClickEvents, csDoubleClicks, + csCaptureMouse, csDisplayDragImage]; + FBorderStyle := bsSingle; + Color := clWhite; + FYearList := TList.Create; + FScrollArrows := [scrollLeft..scrollDown]; + FSupportLines := False; + FTopOffset := 21; + FShowDays := False; + FItemHeight := 0; + FTopLevel := 0; + FStyle := tlDefault; + FShowItemHint := False; + FShowHiddenItemHints := True; + FFlat := False; + FYearWidth := 140; + FMonthWidth := 12; + FMultiSelect := False; + FDragLine := True; + FTimeItems := TJvTimeItems.Create(Self); + FImageChangeLink := TChangeLink.Create; + FImageChangeLink.OnChange := @ImagesChanged; + FYearFont := TFont.Create; + FYearFont.Size := 18; + FYearFont.OnChange := @DoYearFontChange; + FNewHeight := 0; + FAutoSize := False; + FScrollWidth := GetSystemMetrics(SM_CXHSCROLL); + FScrollHeight := GetSystemMetrics(SM_CXVSCROLL); + UpdateOffset; + Align := alTop; + Height := 120; + SetFirstDate(Date); +end; + +destructor TJvCustomTimeLine.Destroy; +begin + FDragImages.Free; + FCanvas.Free; + FYearList.Free; + FBmp.Free; + FList.Free; + FTimeItems.Free; + FImageChangeLink.Free; + FYearFont.Free; + FItemHintImageList.Free; + inherited Destroy; +end; +procedure TJvCustomTimeLine.DoYearFontChange(Sender: TObject); +begin + Invalidate; +end; + + +procedure TJvCustomTimeLine.CreateWnd; +var + I: TJvScrollArrow; +begin + inherited CreateWnd; + for I := Low(TJvScrollArrow) to High(TJvScrollArrow) do + begin + if FArrows[I] = nil then + begin + FArrows[I] := TJvTLScrollBtn.Create(Self); + FArrows[I].Parent := Self; + FArrows[I].TimeLine := Self; + FArrows[I].Height := FScrollHeight; + FArrows[I].Width := FScrollWidth; + FArrows[I].Direction := I; + FArrows[I].RepeatClick := I in [scrollLeft, scrollRight]; + end + else + FArrows[I].UpdatePlacement; + end; + FItemHeight := Canvas.TextHeight('Tg') + ITEM_MARGIN; +end; + +procedure TJvCustomTimeLine.UpdateOffset; +begin + FItemOffset := FTopOffset + FYearTextTop + Abs(FYearFont.Height) * 2; +end; + +procedure TJvCustomTimeLine.SetHelperYears(Value: Boolean); +begin + if FHelperYears <> Value then + begin + FHelperYears := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetFlat(Value: Boolean); +begin + if FFlat <> Value then + begin + FFlat := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetScrollArrows(Value: TJvScrollArrows); +begin + if FScrollArrows <> Value then + begin + FScrollArrows := Value; + DrawScrollButtons; + end; +end; + +procedure TJvCustomTimeLine.DrawScrollButtons; +var + I: TJvScrollArrow; +begin + if FArrows[scrollLeft] = nil then + Exit; + for I := Low(TJvScrollArrow) to High(TJvScrollArrow) do + FArrows[I].Flat := Flat; + FArrows[scrollLeft].Visible := scrollLeft in ScrollArrows; + FArrows[scrollRight].Visible := scrollRight in ScrollArrows; + FArrows[scrollUp].Visible := + (scrollUp in ScrollArrows) and (FTopLevel > 0); + FArrows[scrollDown].Visible := + (scrollDown in ScrollArrows) and (FNewHeight >= Height) and not AutoSize ; +end; + +procedure TJvCustomTimeLine.SetBorderStyle(Value: TBorderStyle); +begin + if FBorderStyle <> Value then + begin + FBorderStyle := Value; + Invalidate; +// RecreateWnd; -- wp: Invalidate instead of RecreateWnd + end; +end; + + +procedure TJvCustomTimeLine.SetTopLevel(Value: Integer); +begin + if FTopLevel <> Value then + begin + FTopLevel := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetTopOffset(Value: Integer); +begin + if FTopOffset <> Value then + begin + FTopOffset := Value; + UpdateOffset; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetMultiSelect(Value: Boolean); +begin + if FMultiSelect <> Value then + begin + FMultiSelect := Value; + if not FMultiSelect then + HighLiteItem(Selected); + end; +end; + +procedure TJvCustomTimeLine.SetYearFont(Value: TFont); +begin + FYearFont.Assign(Value); + UpdateOffset; + // Invalidate; +end; + +procedure TJvCustomTimeLine.SetYearWidth(Value: TJvYearWidth); +begin + if FYearWidth <> Value then + begin + FYearWidth := Value; + FMonthWidth := FYearWidth / 12; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetFirstDate(Value: TDate); +var + Y, M, D: Word; +begin + DecodeDate(Value, Y, M, D); + Value := EncodeDate(Y, M, 1); + if Trunc(FFirstDate) <> Trunc(Value) then + begin + FFirstDate := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetTimeItems(Value: TJvTimeItems); +begin + FTimeItems.Assign(Value); +end; + +procedure TJvCustomTimeLine.SetImages(Value: TCustomImageList); +begin + if ReplaceImageListReference(Self, Value, FImages, FImageChangeLink) then + Invalidate; +end; + +procedure TJvCustomTimeLine.SetSelectedItem(Value: TJvTimeItem); +begin + if FSelectedItem <> Value then + begin + if Value <> nil then + Value.Selected := True; + UpdateItems; + end; +end; + +procedure TJvCustomTimeLine.SetStyle(Value: TJvTimeLineStyle); +begin + if FStyle <> Value then + begin + FStyle := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetItemHeight(Value: Integer); +begin + if FItemHeight <> Value then + begin + FItemHeight := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetShowMonths(Value: Boolean); +begin + if FShowMonths <> Value then + begin + FShowMonths := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetShowDays(Value: Boolean); +begin + if FShowDays <> Value then + begin + FShowDays := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetSupportLines(Value: Boolean); +begin + if FSupportLines <> Value then + begin + FSupportLines := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.ImagesChanged(Sender: TObject); +begin + Invalidate; +end; + +procedure TJvCustomTimeLine.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited Notification(AComponent, Operation); + if (Operation = opRemove) and (AComponent = FImages) then + Images := nil; +end; + +procedure TJvCustomTimeLine.MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Integer); +var + // Copied a lot from (Mike Linschke's) virtualtree. + // Some stuff maybe unnecessairy or overkill/wrong. + + IsHit, // the node's caption or images are hit + ItemSelected, // the new node (if any) is selected + ShiftEmpty: Boolean; // ShiftState = [] + ShiftState: TShiftState; + LastSelected: TJvTimeItem; + LSelectedItem: TJvTimeItem; +begin + //OutputDebugString('MouseDown'); + if Button = mbLeft then + Include(FStates, tlMouseDown); + + // Get the currently focused node to make multiple multi-selection blocks possible. + LastSelected := FSelectedItem; + ShiftState := Shift * [ssCtrl, ssShift]; + ShiftEmpty := ShiftState = []; + FAutoDrag := (DragMode = dmAutomatic) or Dragging; + LSelectedItem := ItemAtPos(X, Y); + IsHit := Assigned(LSelectedItem); + ItemSelected := IsHit; // and LSelectedItem.Selected; + + if ItemSelected and ItemMoving(LSelectedItem) then + begin + FStartPos := Point(X, Y); + FLineVisible := True; + end + else + LSelectedItem := nil; + + // pending clearance + if MultiSelect and ShiftEmpty and IsHit and FAutoDrag then + Include(FStates, tlClearPending); + + + if (not IsHit and MultiSelect and ShiftEmpty) or + (IsHit and (ShiftEmpty or not MultiSelect)) then + begin + if ItemSelected then + begin + ClearSelection; + AddToSelection(LSelectedItem); + end + else + ClearSelection; + end; + + // focus change + if not Focused and CanFocus then + SetFocus; + + // Handle selection and node focus change. + if IsHit then + begin + if MultiSelect and not Dragging and not ShiftEmpty then + HandleClickSelection(LastSelected, LSelectedItem, ShiftState) + else + begin + if ShiftEmpty then + FRangeAnchor := LSelectedItem; + + // If the hit node is not yet selected then do it now. + if not ItemSelected then + AddToSelection(LSelectedItem); + end; + + // Drag'n drop initiation + // If we lost focus in the interim the button states would be cleared in WM_KILLFOCUS. + if FAutoDrag then + BeginDrag(False); + end; + + inherited MouseDown(Button, Shift, X, Y); + + if (Dragging or FAutoDrag) and FLineVisible and (tlMouseDown in FStates) and + not (tlDragPending in FStates) then + MoveDragLine(X); +end; + +function TJvCustomTimeLine.HasMoved(P: TPoint): Boolean; +begin + Result := FAutoDrag or Dragging and ((Abs(FStartPos.X - P.X) > 10) or (Abs(FStartPos.Y - P.Y) > ItemHeight div 2)); +end; + +procedure TJvCustomTimeLine.MouseUp(Button: TMouseButton; Shift: TShiftState; X, + Y: Integer); +var + ReselectFocusedNode: Boolean; + FNewDate: TDateTime; + FNewLevel: Integer; +begin + if (Button = mbLeft) and (tlMouseDown in FStates) then + Exclude(FStates, tlMouseDown) + else + begin + inherited MouseUp(Button, Shift, X, Y); + Exit; + end; + + //OutputDebugString('MouseUp'); + if not (tlDragPending in FStates) then + begin + // Don't respond to right/mid clicks + if not (tlMouseDown in FStates) then + MoveDragLine(-1); + + if tlClearPending in FStates then + begin + ReselectFocusedNode := Assigned(FSelectedItem) and FSelectedItem.Selected; + ClearSelection; + if ReselectFocusedNode then + AddToSelection(FSelectedItem); + Invalidate; + end; + if Assigned(FSelectedItem) and HasMoved(Point(X, Y)) then + begin + FNewDate := DateAtPos(X); + FNewLevel := LevelAtPos(Y); + ItemMoved(FSelectedItem, FNewDate, FNewLevel); + FSelectedItem.Date := FNewDate; + FSelectedItem.Level := FNewLevel; + Invalidate; + end; + FStates := FStates - [tlClearPending]; + end; + //else + //OutputDebugString('Drag pending'); + + inherited MouseUp(Button, Shift, X, Y); + FAutoDrag := False; +end; + +procedure TJvCustomTimeLine.MouseMove(Shift: TShiftState; X, Y: Integer); +begin + if (FStates * [tlDragging, tlMouseDown] <> []) and FLineVisible and FAutoDrag then + begin + //OutputDebugString('Move MouseDown'); + MoveDragLine(X); + end; + UpdateItemHint(X,Y); + if not ItemMouseMove(X, Y) then + inherited MouseMove(Shift, X, Y); +end; + +procedure TJvCustomTimeLine.DrawDragLine(X: Integer); +begin + if not DragLine then + Exit; + FCanvas.MoveTo(X, 0); + FCanvas.LineTo(X, ClientHeight); +end; + +procedure TJvCustomTimeLine.MoveDragLine(ANewX: Integer); +begin + if FOldX <> ANewX then + begin + //OutputDebugString(PChar(Format('Old %D New %D', [FOldx, ANewX]))); + + // We're drawing directly on the canvas, thus everytime the screen is + // updated (because for example an item is selected) it may erase + // some of the lines we already have drawn + // + // Thus call UpdateWindow(Handle) (same effect as Repaint) which will + // draw all outstanding paint events. + // + // The screen will then not be updated until we release the mouse. + + if FOldX = -1 then + UpdateWindow(Handle); + + if FOldX <> -1 then + DrawDragLine(FOldX); + + if ANewX <> -1 then + DrawDragLine(ANewX); + + FOldX := ANewX; + end; +end; + +procedure TJvCustomTimeLine.AutoLevels(Complete, ResetLevels: Boolean); +var + I, J, K, Count: Integer; +begin + if csDestroying in ComponentState then + Exit; + BeginUpdate; + try + FList.Clear; + + Count := Items.Count - 1; + for I := 0 to Count do + begin + if ResetLevels then + begin + Items[I].Level := 0; + UpdateItem(Items[I].Index, Canvas); + end; + FList.Add(Items[I]); + end; + + FList.Sort(@DateCompare); + + for I := 0 to Count do + begin + if Complete then + K := 0 + else + K := I + 1; + for J := K to Count do + if RectInRect(TJvTimeItem(FList[I]).FRect, TJvTimeItem(FList[J]).FRect) and + (FList[I] <> FList[J]) then + begin + TJvTimeItem(FList[J]).Level := TJvTimeItem(FList[J]).Level + 1; + UpdateItem(TJvTimeItem(FList[J]).Index, Canvas); + end; + end; + finally + EndUpdate; + end; +end; + +procedure TJvCustomTimeLine.HighLiteItem(Item: TJvTimeItem); +begin + if Assigned(Item) and not (csDestroying in ComponentState) then + begin + Item.Selected := True; + UpdateItem(Item.Index, Canvas); + end; +end; + +function TJvCustomTimeLine.LevelAtPos(Pos: Integer): Integer; +begin + if Pos <= FItemOffset then + Result := FTopLevel + else + Result := (Pos - FItemOffset) div FItemHeight + FTopLevel +end; + +function TJvCustomTimeLine.ItemAtPos(X, Y: Integer): TJvTimeItem; +var + I: Integer; +begin + Result := nil; + for I := 0 to FTimeItems.Count - 1 do + if PtInRect(FTimeItems[I].FRect, Point(X, Y)) then + begin + Result := FTimeItems[I]; + Exit; + end; +end; + +procedure TJvCustomTimeLine.DrawDays(ACanvas: TCanvas; Days, StartAt: Integer); +var + aDay, aStop, aStart: Extended; + I: Integer; +begin + if csDestroying in ComponentState then + Exit; + aDay := FMonthWidth / Days; + aStop := FMonthWidth; + aStart := aDay; + ACanvas.Pen.Width := 1; + ACanvas.Pen.Style := psSolid; + + if FMonthWidth >= 360 then + DrawDayNumbers(ACanvas, Days, StartAt); + I := 1; + while (aStart < aStop) and (I < Days) do + begin + ACanvas.MoveTo(Trunc(StartAt + aStart), FTopOffset); + ACanvas.LineTo(Trunc(StartAt + aStart), FTopOffset + FDayLineLength); + aStart := aStart + aDay; + Inc(I); + end; +end; + +procedure TJvCustomTimeLine.DrawDayNumbers(ACanvas: TCanvas; Days, StartAt: + Integer); +var + I: Integer; + LRect: TRect; + DayWidth: Extended; + sDay: string; +begin + if csDestroying in ComponentState then + Exit; + ACanvas.Font.Size := Font.Size - 2; + DayWidth := FMonthWidth / Days; + with ACanvas do + for I := 1 to Days do + begin + sDay := IntToStr(I); + LRect.Left := Round((I - 1) * DayWidth) + (StartAt + Round(DayWidth) div 2 + - TextWidth(sDay) div 2); + LRect.Right := LRect.Left + TextWidth(sDay); + LRect.Top := FTopOffset + FDayTextTop; + LRect.Bottom := LRect.Top + TextHeight(sDay); + DrawText(ACanvas.Handle, PChar(sDay), -1, LRect, DT_CENTER or DT_VCENTER or DT_SINGLELINE); + + end; + ACanvas.Font.Size := Font.Size + 2; +end; + +procedure TJvCustomTimeLine.DrawMonth(ACanvas: TCanvas; StartAt, M: Integer); +begin + if csDestroying in ComponentState then + Exit; + ACanvas.Pen.Width := 1; + if (FYearWidth >= 140) or (M mod 3 = 1) then + { draw every month only if it fits } + begin + ACanvas.MoveTo(StartAt, FTopOffset); + ACanvas.LineTo(StartAt, FTopOffset + FMonthLineLength); + end; + ACanvas.Pen.Width := 1; +end; + +procedure TJvCustomTimeLine.DrawMonthName(ACanvas: TCanvas; Month, StartAt: + Integer); +var + LRect: TRect; + AName: string; + ts: TTextStyle; +begin + if csDestroying in ComponentState then + Exit; + if FMonthWidth > 120 then + AName := FormatSettings.LongMonthNames[Month] + else + AName := FormatSettings.ShortMonthNames[Month]; + {$IF FPC_FULLVERSION < 3000000 } + AName := SysToUTF8(AName); + {$ENDIF} + + with ACanvas do + begin + ACanvas.Font.Assign(Self.Font); + LRect.Left := StartAt + Round(FMonthWidth) div 2 - TextWidth(AName) div 2; + LRect.Right := LRect.Left + TextWidth(AName); + LRect.Top := FTopOffset + FMonthTextTop; + LRect.Bottom := LRect.Top + TextHeight(AName); + ts := TextStyle; + ts.Alignment := taCenter; + ts.Layout := tlCenter; + TextRect(LRect, LRect.Left, LRect.Top, AName, ts); + end; +end; + +procedure TJvCustomTimeLine.DrawYear(ACanvas: TCanvas; StartAt: Integer; YR: string); +var + LRect: TRect; +begin + if csDestroying in ComponentState then + Exit; + ACanvas.Font := FYearFont; + ACanvas.Pen.Width := 1; + if FYearWidth <= 96 then + YR := Copy(YR, Length(YR) - 1, Length(YR)); { skip 100's } + LRect.Left := StartAt - ACanvas.TextWidth(YR) div 2; + LRect.Top := FTopOffset + FYearTextTop; + LRect.Right := StartAt + ACanvas.TextWidth(YR) div 2; + LRect.Bottom := LRect.Top + ACanvas.TextHeight(YR); + { draw vertical line } + ACanvas.MoveTo(StartAt, FTopOffset); + ACanvas.LineTo(StartAt, FTopOffset + FYearLineLength); + { draw text } + SetBkMode(ACanvas.Handle, Transparent); + DrawText(ACanvas.Handle, PChar(YR), Length(YR), LRect, + DT_CENTER or DT_VCENTER or DT_SINGLELINE); + with ACanvas.Pen do + begin + Width := 1; + Style := psSolid; + end; +end; + +procedure TJvCustomTimeLine.DrawHorzSupports(ACanvas: TCanvas); +var + I, J: Integer; + Tmp: TColor; +begin + if csDestroying in ComponentState then + Exit; + UpdateOffset; + I := 0; + J := FItemOffset - 4; + Tmp := ACanvas.Pen.Color; + ACanvas.Pen.Color := SupportsColor; + while I < ClientWidth do + begin + ACanvas.MoveTo(I, FTopOffset + Abs(ACanvas.Font.Height) + 8); + ACanvas.LineTo(I, ClientHeight); + I := ClientWidth + 1; + while J < ClientHeight do + begin + ACanvas.MoveTo(0, J); + ACanvas.LineTo(ClientWidth, J); + Inc(J, ItemHeight); + end; + end; + ACanvas.Pen.Color := Tmp; +end; + +procedure TJvCustomTimeLine.DrawVertSupport(ACanvas: TCanvas; StartAt: Integer); +var + Tmp: TColor; +begin + if csDestroying in ComponentState then + Exit; + UpdateOffset; + with ACanvas do + begin + Tmp := Pen.Color; + Pen.Color := SupportsColor; + Pen.Width := 1; + MoveTo(StartAt, FItemOffset - 4); + LineTo(StartAt, Height); + Pen.Color := Tmp; + end; +end; + +procedure TJvCustomTimeLine.DrawTimeLine(ACanvas: TCanvas); +var + Y, M, D: Word; + I, fYr: Integer; + FirstYear: Boolean; + LastDate: TDateTime; + R: TRect; + aShadowLeft, aShadowRight: string; + + procedure AdjustYears(var Y, M: Word); + begin + if M = 13 then + begin + Inc(Y); + M := 1; + end + else + if M = 0 then + begin + Dec(Y); + M := 12; + end; + end; + +begin + if csDestroying in ComponentState then + Exit; + FYearList.Clear; + UpdateOffset; + { draw the top horizontal line } + with ACanvas do + begin + Font := Self.Font; + Brush.Color := Color; + Pen.Color := Self.Font.Color; + FillRect(ClientRect); + MoveTo(0, FTopOffset); + LineTo(Width, FTopOffset); + // MoveTo(0, FTopOffset - 1); + // LineTo(Width, FTopOffset - 1); + end; + + { draw years and months } + I := 0; + DecodeDate(FFirstDate, Y, M, D); + aShadowLeft := IntToStr(Y); + fYr := Y; + DecodeDate(GetLastDate, Y, M, D); + aShadowRight := IntToStr(Y); + SetBkMode(ACanvas.Handle, TRANSPARENT); + LastDate := FFirstDate; + FirstYear := True; + while LastDate <= (GetLastDate + 5) do + begin + DecodeDate(LastDate, Y, M, D); + if M <> 1 then + begin { not a new year, so it's a month } + DrawMonth(ACanvas, I, M); + if FSupportLines and ((FYearWidth >= 140) or (M mod 3 = 1)) then + DrawVertSupport(ACanvas, I); + if FShowMonths and (FYearWidth >= 140) then + DrawMonthName(ACanvas, M, I); + if FShowDays and (FYearWidth >= 1200) then + DrawDays(ACanvas, MonthDays[IsLeapYear(Y), M], I); + end + else + begin { this is a new year } + FYearList.Add(Pointer(I)); + if FirstYear then + begin + fYr := Y; + FirstYear := False; + end; + if FSupportLines then + DrawVertSupport(ACanvas, I); + { draw text for january here } + if FShowMonths and (FYearWidth >= 144) then + DrawMonthName(ACanvas, M, I); + if FShowDays and (FYearWidth >= 1200) then + DrawDays(ACanvas, MonthDays[IsLeapYear(Y), M], I); + end; + Inc(I, Trunc(FMonthWidth)); + + Inc(M); + AdjustYears(Y, M); + LastDate := EncodeDate(Y, M, 1); + end; + + { draw years after all the others } + if FHelperYears then + begin + ACanvas.Font := Self.Font; + R := Rect(4, 4, ACanvas.TextWidth(aShadowLeft) + 8, FTopOffset); + DrawText(ACanvas.Handle, PChar(aShadowLeft), -1, R, DT_VCENTER or + DT_SINGLELINE); + ACanvas.Font := Self.Font; + R := Rect(Width - (ACanvas.TextWidth(aShadowRight) + 8), 4, Width, + FTopOffset); + DrawText(ACanvas.Handle, PChar(aShadowRight), -1, R, + DT_VCENTER or DT_SINGLELINE); + end; + for I := 0 to FYearList.Count - 1 do + begin + DrawYear(ACanvas, Integer(FYearList[I]), IntToStr(fYr)); + Inc(fYr); + end; + if HorzSupports then + DrawHorzSupports(ACanvas); + UpdateItems; + DrawScrollButtons; + if FShowHiddenItemHints then + begin + DrawLeftItemHint(ACanvas); + DrawRightItemHint(ACanvas); + end; +end; + +procedure TJvCustomTimeLine.DrawLeftItemHint(ACanvas: TCanvas); +var + R: TRect; +begin + if csDestroying in ComponentState then + Exit; + if HasItemsToLeft then + begin + R := FArrows[scrollLeft].BoundsRect; + OffsetRect(R, 0, -FItemHintImageList.Height - 2); + FItemHintImageList.Draw(ACanvas, R.Left, R.Top, 0); + // R := Rect(FScrollEdgeOffset,Height - FScrollEdgeOffset - FScrollHeight * 2,Width, + // Height); + // SetBkMode(ACanvas.Handle,TRANSPARENT); + // ACanvas.Font.Style := [fsBold]; + // DrawText(ACanvas.Handle,PChar('...'),-1,R,DT_SINGLELINE or DT_NOCLIP or DT_NOPREFIX); + // ACanvas.TextRect(R,R.Left,R.Top,'...'); + (* // this should be 32 pixels high: + UpdateOffset; + R := Rect(4, FItemOffset div 2 - 8, 8, FItemOffset div 2 + 8); + // R := Rect(2,FItemOffset * 2,6,ClientHeight - FItemOffset * 2); + ACanvas.Brush.Color := clNavy; + ACanvas.FillRect(R); *) + end; +end; + +procedure TJvCustomTimeLine.DrawRightItemHint(ACanvas: TCanvas); +var + R: TRect; +begin + if csDestroying in ComponentState then + Exit; + if HasItemsToRight then + begin + R := FArrows[scrollRight].BoundsRect; + OffsetRect(R, 0, -FItemHintImageList.Height - 2); + FItemHintImageList.Draw(ACanvas, R.Left, R.Top, 1); + end; +end; + +procedure TJvCustomTimeLine.DrawFocus; +var + Tmp: TColor; + // R: TRect; +begin + if csDestroying in ComponentState then + Exit; + with Canvas do + begin + Tmp := Pen.Color; + Pen.Color := clNavy; + Pen.Width := 2; + Brush.Style := bsClear; + Rectangle(1, 1, ClientWidth, ClientHeight); + Pen.Color := Tmp; + Pen.Width := 1; + end; +end; + +procedure TJvCustomTimeLine.Paint; +begin + if (FUpdate <> 0) or (csDestroying in ComponentState) then + Exit; + DrawTimeLine(Canvas); + if Focused then + DrawFocus; +end; + +procedure TJvCustomTimeLine.MeasureItem(Item: TJvTimeItem; var ItemHeight: + Integer); +begin + if Assigned(FOnMeasureItem) and (Style = tlOwnerDrawVariable) then + FOnMeasureItem(Self, Item, ItemHeight) + else + ItemHeight := FItemHeight; +end; + +procedure TJvCustomTimeLine.DrawItem(Item: TJvTimeItem; ACanvas: TCanvas; var R: TRect); +var + ts: TTextStyle; +begin + if Assigned(FOnDrawItem) and (FStyle in [tlOwnerDrawVariable, tlOwnerDrawFixed]) then + FOnDrawItem(Self, ACanvas, Item, R) + else + begin + ACanvas.Brush.Color := Item.Color; + ACanvas.Font.Color := Item.TextColor; + + if Assigned(FImages) and (Item.ImageIndex > -1) then + begin + if FUpdate = 0 then + begin + ACanvas.Brush.Color := Color; + ACanvas.FillRect(Rect(R.Left + Item.ImageOffset, + R.Top, R.Left + Item.ImageOffset + FImages.Width, + R.Top + FImages.Height)); + with FImages do + Draw(ACanvas, R.Left + Item.ImageOffset, R.Top, Item.ImageIndex, Item.Enabled); + end; + Inc(R.Top, FImages.Height + 4); { adjust top to make room for text drawing } + end; + + if FUpdate = 0 then + begin + if Item.Selected and Item.Enabled and ShowSelection then + begin + ACanvas.Brush.Color := clHighLight; + ACanvas.Font.Color := clHighLightText; + end + else + if not Item.Enabled then + begin + ACanvas.Brush.Color := Color; + ACanvas.Font.Color := Color xor clWhite; + end + else + begin + ACanvas.Brush.Color := Item.Color; + ACanvas.Font.Color := Item.TextColor; + end; + + ACanvas.Pen.Color := Item.TextColor; + if (Length(Item.Caption) > 0) then + begin + R.Bottom := Min(R.Top + ACanvas.TextHeight(Item.Caption), R.Bottom); + + ACanvas.Rectangle(R); + R.Left := R.Left + 2; + SetBkMode(ACanvas.Handle, TRANSPARENT); + + ts := ACanvas.TextStyle; + ts.ShowPrefix := false; + ts.EndEllipsis := true; + ACanvas.TextRect(R, R.Left, R.Top, Item.Caption, ts); + { + Windows.DrawTextEx(ACanvas.Handle, PChar(Item.Caption), Length(Item.Caption), R, + DT_LEFT or DT_NOPREFIX or DT_SINGLELINE or DT_END_ELLIPSIS, nil); + } + end + else + begin + R.Bottom := Min(R.Top + ACanvas.TextHeight('Wq'), R.Bottom); + ACanvas.Rectangle(R); + if Item.Selected and Item.Enabled then + ACanvas.DrawFocusRect(R); + end; + end; + end; +end; + +procedure TJvCustomTimeLine.VertScroll(ScrollCode: TScrollCode; + var ScrollPos: Integer); +begin + if Assigned(FOnVertScroll) then + FOnVertScroll(Self, ScrollCode, ScrollPos); +end; + +procedure TJvCustomTimeLine.HorzScroll(ScrollCode: TScrollCode; + var ScrollPos: Integer); +begin + if Assigned(FOnHorzScroll) then + FOnHorzScroll(Self, ScrollCode, ScrollPos); +end; + +procedure TJvCustomTimeLine.ItemClick(Item: TJvTimeItem); +begin + if Assigned(FOnItemClick) then + FOnItemClick(Self, Item); +end; + +procedure TJvCustomTimeLine.Size; +begin + if Assigned(FOnSize) then + FOnSize(Self); +end; + +procedure TJvCustomTimeLine.SaveItem(Item: TJvTimeItem; Stream: TStream); +begin + if Assigned(FOnSaveItem) then + FOnSaveItem(Self, Item, Stream); +end; + +procedure TJvCustomTimeLine.LoadItem(Item: TJvTimeItem; Stream: TStream); +begin + if Assigned(FOnLoadItem) then + FOnLoadItem(Self, Item, Stream); +end; + +procedure TJvCustomTimeLine.UpdateItem(Index: Integer; ACanvas: TCanvas); +var + LHeight: Integer; + LItem: TJvTimeItem; + LRect: TRect; +begin + UpdateOffset; + LItem := FTimeItems[Index]; + ACanvas.Font := Font; + LHeight := FItemHeight; + + MeasureItem(LItem, LHeight); + + LRect.Left := PosAtDate(LItem.Date); + LRect.Top := FItemOffset + (LHeight * (LItem.Level - FTopLevel)); + LRect.Bottom := LRect.Top + LHeight; + if LItem.WidthAs = asPixels then + LRect.Right := LRect.Left + LItem.Width + else + LRect.Right := PosAtDate(LItem.Date + LItem.Width); + + FNewHeight := Max(LRect.Bottom + FTopOffset, FNewHeight); + if (LItem.Level < FTopLevel) or not RectInRect(LRect, ClientRect) or (FUpdate <> 0) then + Exit; + LItem.FRect := LRect; + DrawItem(LItem, ACanvas, LRect); + LItem.FRect := LRect; +end; + +procedure TJvCustomTimeLine.UpdateItems; +var + I: Integer; +begin + if csDestroying in ComponentState then + Exit; + FNewHeight := 0; + for I := 0 to FTimeItems.Count - 1 do + UpdateItem(I, Canvas); + if FAutoSize and (Align in [alTop, alBottom, alNone]) and + (Height <> FNewHeight + FScrollHeight + 2) and (Items.Count > 0) then + begin + Height := FNewHeight + FScrollHeight + 2; + Size; + end; +end; + +{ very approximate } + +function TJvCustomTimeLine.GetLastDate: TDate; +begin + Result := FFirstDate + ((Width - 1) * (365.22 / (FYearWidth))); +end; + +function Ceil(Value: Extended): Integer; +begin + Result := Trunc(Value); + if Frac(Value) > 0 then + Inc(Result); +end; + +function TJvCustomTimeLine.DateAtPos(Pos: Integer): TDateTime; +var + YR, M, D: Word; + em, xremain, xday: Integer; +begin + em := Trunc(Pos / FMonthWidth); { elapsed months } + xremain := Pos mod Trunc(FMonthWidth); + DecodeDate(FFirstDate, YR, M, D); + em := M + em; + YR := YR + em div 12; + em := em mod 12; + if em < 1 then + begin + em := 12; + Dec(YR); + end; + + xday := Ceil(xremain * (MonthDays[IsLeapYear(YR), em] / FMonthWidth)); + + if xday <= 0 then + xday := 1 + else + if xday > MonthDays[IsLeapYear(YR), em] then + xday := MonthDays[IsLeapYear(YR), em]; + Result := EncodeDate(YR, em, xday); +end; + +function TJvCustomTimeLine.PosAtDate(Date: TDateTime): Integer; +var + M, D: Integer; +begin + M := MonthCount(FFirstDate, Date); + D := PixelsForDays(Date, Round(FMonthWidth)); + Result := Round((M * FMonthWidth + D) + FMonthWidth / 60); + { add in a little to place in "center" } +end; + +procedure TJvCustomTimeLine.LoadFromFile(FileName: string); +var + Stream: TFileStream; +begin + Stream := TFileStream.Create(FileName, fmOpenRead); + try + LoadFromStream(Stream); + finally + Stream.Free; + end; +end; + +procedure TJvCustomTimeLine.SaveToFile(FileName: string); +var + Stream: TFileStream; +begin + Stream := TFileStream.Create(FileName, fmCreate); + try + SaveToStream(Stream); + finally + Stream.Free; + end; +end; + +procedure TJvCustomTimeLine.LoadFromStream(Stream: TStream); +var + I: Integer; + Ch: AnsiChar; + S: string; + UTF8Str: AnsiString; + Item: TJvTimeItem; +begin + I := 0; + Item := Items.Add; + while Stream.Position < Stream.Size do + begin + UTF8Str := ''; + Stream.Read(Ch, 1); + while Ch <> Cr do + begin + UTF8Str := UTF8Str + Ch; + Stream.Read(Ch, 1); + end; +// S := UTF8ToString(UTF8Str); + S := UTF8Str; + + case I of + 0: // Caption + Item.Caption := S; + 1: // Color + Item.Color := StrToInt(S); + 2: // Date + Item.Date := StrToDateTime(S); + 3: // Hint + Item.Hint := S; + 4: // ImageIndex + Item.ImageIndex := StrToInt(S); + 5: // Level + Item.Level := StrToInt(S); + 6: // Selected + Item.Selected := Boolean(StrToInt(S)); + 7: // TextColor + Item.TextColor := StrToInt(S); + 8: // Width + begin + Item.Width := StrToInt(S); + LoadItem(Item, Stream); + I := -1; + Item := Items.Add; + end; + end; { case } + Inc(I); + end; + Item.Free; { always one too many } +end; + +procedure TJvCustomTimeLine.SaveToStream(Stream: TStream); +var + I: Integer; + S: string; + UTF8Str: UTF8String; +begin + for I := 0 to Items.Count - 1 do + begin + with Items[I] do + begin + S := Caption + Cr; + // UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(ColorToRGB(Color)) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := DateTimeToStr(Date) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := Hint + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(ImageIndex) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(Level) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(Ord(Selected)) + Cr; +// UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(ColorToRGB(TextColor)) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + S := IntToStr(Width) + Cr; + //UTF8Str := UTF8Encode(S); + UTF8Str := S; + Stream.Write(UTF8Str[1], Length(UTF8Str)); + + { let the user save his data stuff } + SaveItem(Items[I], Stream); + end; + end; + UTF8Str := UTF8String(Cr); + Stream.Write(UTF8Str[1], 1); +end; + +procedure TJvCustomTimeLine.BeginUpdate; +begin + Inc(FUpdate); +end; + +procedure TJvCustomTimeLine.EndUpdate; +begin + Dec(FUpdate); + if FUpdate = 0 then + Repaint; +end; + +procedure TJvCustomTimeLine.ItemMoved(Item: TJvTimeItem; var NewDate: TDateTime; var NewLevel: Integer); +begin + if Assigned(FOnItemMoved) then + FOnItemMoved(Self, Item, NewDate, NewLevel); +end; + +function TJvCustomTimeLine.ItemMouseMove(X, Y: Integer): Boolean; +var + AItem: TJvTimeItem; +begin + Result := False; + if Assigned(FOnItemMouseMove) then + begin + AItem := ItemAtPos(X, Y); + if AItem <> nil then + begin + FOnItemMouseMove(Self, AItem, X, Y); + Result := True; + end; + end; +end; + +function TJvCustomTimeLine.ItemMoving(Item: TJvTimeItem): Boolean; +begin + Result := True; + if Assigned(FOnItemMoving) then + FOnItemMoving(Self, Item, Result); +end; + + +procedure TJvCustomTimeLine.CNKeyDown(var Msg: TLMKeyDown); +var +// KeyState: TKeyboardState; + ShiftState: TShiftState; +begin +{ + GetKeyboardState(KeyState); + ShiftState := KeyboardStateToShiftState(KeyState); +} + ShiftState := GetKeyShiftState; + Msg.Result := 0; + case Msg.CharCode of + VK_LEFT: + if ssCtrl in ShiftState then + PrevYear + else + PrevMonth; + VK_UP: + if FArrows[scrollUp].Visible then + TopLevel := TopLevel - 1; + VK_RIGHT: + if ssCtrl in ShiftState then + NextYear + else + NextMonth; + VK_DOWN: + if FArrows[scrollDown].Visible then + TopLevel := TopLevel + 1; + else + inherited; + end; +end; + +procedure TJvCustomTimeLine.WMNCPaint(var Msg: TLMessage); +var + DC: HDC; + RC, RW: TRect; + ACanvas: TCanvas; + {$IFDEF JVCLThemesEnabled} + Details: TThemedElementDetails; + {$ENDIF JVCLThemesEnabled} +begin + (* + if csDestroying in ComponentState then + Exit; + ACanvas := TCanvas.Create; + { Get window DC that is clipped to the non-client area } + DC := GetWindowDC(Handle); + ACanvas.Handle := DC; + try + Windows.GetClientRect(Handle, RC); + GetWindowRect(Handle, RW); + MapWindowPoints(0, Handle, RW, 2); + OffsetRect(RC, -RW.Left, -RW.Top); + ExcludeClipRect(DC, RC.Left, RC.Top, RC.Right, RC.Bottom); + { Draw borders in non-client area } + OffsetRect(RW, -RW.Left, -RW.Top); + {$IFDEF JVCLThemesEnabled} + if StyleServices.Enabled then + begin + if FBorderStyle = bsSingle then + begin + Details := StyleServices.GetElementDetails(teEditTextNormal); + StyleServices.DrawElement(ACanvas.Handle, Details, RW); + StyleServices.GetElementContentRect(ACanvas.Handle, Details, RW, RW); + end; + end + else + {$ENDIF JVCLThemesEnabled} + if FBorderStyle = bsSingle then + begin + Frame3D(ACanvas, RW, clBtnShadow, clBtnHighlight, 1); + Frame3D(ACanvas, RW, cl3dDKShadow, clBtnFace, 1); + end + else + Frame3D(ACanvas, RW, Color, Color, 2); + + { Erase parts not drawn } + IntersectClipRect(DC, RW.Left, RW.Top, RW.Right, RW.Bottom); + Windows.FillRect(DC, RW, Brush.Handle); + finally + ACanvas.Handle := 0; + ReleaseDC(Handle, DC); + ACanvas.Free; + end; + *) +end; + +{$IFDEF FPC} +procedure TJvCustomTimeLine.WMNCCalcSize(var Msg: TLMNCCalcSize); +{$ELSE} +procedure TJvCustomTimeLine.WMNCCalcSize(var Msg: TWMNCCalcSize); +{$ENDIF} +begin + InflateRect(Msg.CalcSize_Params^.rgrc[0], -2, -2); + inherited; +end; + +procedure TJvCustomTimeLine.CMEnter(var Msg: TLMessage); +begin + if CanFocus then + begin + SetFocus; + Invalidate; + end; + inherited; +end; + +procedure TJvCustomTimeLine.CMExit(var Msg: TLMessage); +begin + if MouseCapture then + ReleaseCapture; + inherited; + Invalidate; +end; + +procedure TJvCustomTimeLine.WMCancelMode(var Msg: TLMessage); +begin + FStates := FStates - [tlClearPending, tlDragPending]; + inherited; +end; + +{-- wp +procedure TJvCustomTimeLine.CMDrag(var Msg: TCMDrag); +var + P: TPoint; +begin + inherited; + with Msg.DragRec^ do + case Msg.DragMessage of + dmDragEnter, dmDragLeave, dmDragMove: + begin + Exclude(FStates, tlDragPending); + + if Msg.DragMessage = dmDragEnter then + begin + // Maybe perform an MouseDown event? + FLineVisible := True; + Include(FStates, tlDragging); + end; + if Msg.DragMessage = dmDragLeave then + begin + // We're done; clean it up + FStates := FStates - [tlDragging, tlDragPending]; + + // Really finish it (See TBaseVirtualTree.DragFinished;) + GetCursorPos(P); + P := ScreenToClient(P); + Perform(WM_LBUTTONUP, 0, {$IFDEF RTL230_UP}PointToLParam{$ELSE}LPARAM{$ENDIF RTL230_UP}(PointToSmallPoint(P))); + end; + + if Msg.DragMessage = dmDragMove then + begin + P := ScreenToClient(Pos); + DoDragOver(Source, P.X, P.Y, Msg.Result <> 0); + end; + end; + dmDragDrop: + if Assigned(FDragItem) then + begin +// P := ScreenToClient(Pos); +// FDragItem.Date := DateAtPos(Pt.X); +// FDragItem.Level := LevelAtPos(Pt.Y); + FDragItem := nil; + Invalidate; + end; + dmFindTarget: + begin + // Maybe perform an MouseDown event? + + if not (tlDragging in FStates) and not Assigned(FDragItem) then + begin + // Did the user click on an item? + P := ScreenToClient(Pos); + FDragItem := ItemAtPos(P.X, P.Y); + + // Set the dragitem as selected; don't care about shift/ctrl :) + ClearSelection; + AddToSelection(FDragItem); + end; + + if FDragItem = nil then + // The user did not click on an item. + Msg.Result := 0 + else + Msg.Result := LRESULT(Self); + + // This is a reliable place to check whether VCL drag has + // really begun. + if tlDragPending in FStates then + begin + FStates := FStates - [tlDragPending, tlClearPending]; + // Safety check + if FDragItem <> nil then + begin + FStates := FStates + [tlDragging]; + FLineVisible := True; + end; + end; + end; + end; +end; +} +procedure TJvCustomTimeLine.SetAutoSize(Value: Boolean); +begin + if FAutoSize <> Value then + begin + FAutoSize := Value; + if FAutoSize then + SetTopLevel(0); + { if (Align in [alLeft,alRight,alClient]) then + FAutoSize := False + else} + Invalidate; + end; +end; + + + +function TJvCustomTimeLine.HasItemsToLeft: Boolean; +var + I: Integer; +begin + Result := True; + for I := 0 to Items.Count - 1 do + if Items[I].Left <= 0 then + Exit; + Result := False; +end; + +function TJvCustomTimeLine.HasItemsToRight: Boolean; +var + I: Integer; +begin + Result := True; + for I := 0 to Items.Count - 1 do + if Items[I].Left >= ClientWidth - 8 then + Exit; + Result := False; +end; + +procedure TJvCustomTimeLine.SetHorzSupport(const Value: Boolean); +begin + if FHorzSupport <> Value then + begin + FHorzSupport := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetBounds(ALeft, ATop, AWidth, AHeight: Integer); +var + I: TJvScrollArrow; +begin + inherited SetBounds(ALeft, ATop, AWidth, AHeight); + for I := Low(TJvScrollArrow) to High(TJvScrollArrow) do + if FArrows[I] <> nil then + FArrows[I].UpdatePlacement; +end; + +function TJvCustomTimeLine.GetMonth: Word; +var + M, D: Word; +begin + DecodeDate(FFirstDate, Result, M, D); +end; + +function TJvCustomTimeLine.GetYear: Word; +var + Y, D: Word; +begin + DecodeDate(FFirstDate, Y, Result, D); +end; + +procedure TJvCustomTimeLine.SetMonth(const Value: Word); +var + Y, M, D: Word; +begin + DecodeDate(FFirstDate, Y, M, D); + M := Value; + FFirstDate := EncodeDate(Y, M, D); +end; + +procedure TJvCustomTimeLine.SetYear(const Value: Word); +var + Y, M, D: Word; +begin + DecodeDate(FFirstDate, Y, M, D); + Y := Value; + FFirstDate := EncodeDate(Y, M, D); +end; + +procedure TJvCustomTimeLine.NextMonth; +begin + //PRY 2002.06.04 + //SetFirstDate(IncMonth(FFirstDate)); + SetFirstDate(IncMonth(FFirstDate, 1)); +end; + +procedure TJvCustomTimeLine.NextYear; +begin + //PRY 2002.06.04 + //SetFirstDate(IncYear(FFirstDate)); + SetFirstDate(IncYear(FFirstDate, 1)); +end; + +procedure TJvCustomTimeLine.PrevMonth; +begin + SetFirstDate(IncMonth(FFirstDate, -1)); +end; + +procedure TJvCustomTimeLine.PrevYear; +begin + //PRY 2002.06.04 + //SetFirstDate(IncYear(FFirstDate, -1)); + SetFirstDate(IncYear(FFirstDate, -1)); +end; + +procedure TJvCustomTimeLine.SetShowHiddenItemHints(const Value: Boolean); +begin + if FShowHiddenItemHints <> Value then + begin + FShowHiddenItemHints := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.ItemDblClick(Item: TJvTimeItem); +begin + if Assigned(FOnItemDblClick) then + FOnItemDblClick(Self, Item); +end; + +procedure TJvCustomTimeLine.DblClick; +var + Tmp: Boolean; + P: TPoint; +begin + Tmp := DragLine; + try + DragLine := False; + inherited DblClick; + if GetCursorPos(P) then + begin + P := ScreenToClient(P); + FSelectedItem := ItemAtPos(P.X, P.Y); + end; + if Assigned(FSelectedItem) then + begin + FLineVisible := False; + ItemDblClick(FSelectedItem); + end; + finally + DragLine := Tmp; + end; +end; + +procedure TJvCustomTimeLine.Click; +var + P: TPoint; +begin + inherited Click; + if GetCursorPos(P) then + begin + P := ScreenToClient(P); + FSelectedItem := ItemAtPos(P.X, P.Y); + end; + if Assigned(FSelectedItem) then + begin + ItemClick(FSelectedItem); + //FLineVisible := False; + end; + Invalidate; +end; + + +procedure TJvCustomTimeLine.DoDragOver(Source: TDragObject; X, Y: Integer; + CanDrop: Boolean); +begin + if (tlDragging in FStates) and FLineVisible then + MoveDragLine(X); +end; + + +procedure TJvCustomTimeLine.HandleClickSelection(LastFocused, + NewItem: TJvTimeItem; Shift: TShiftState); +begin + // Ctrl key down + if ssCtrl in Shift then + begin + if ssShift in Shift then + SelectItems(FRangeAnchor, NewItem, True) + else + begin + FRangeAnchor := NewItem; + if NewItem.Selected then + RemoveFromSelection(NewItem) + else + AddToSelection(NewItem); + end; + end + else + if ssShift in Shift then + begin + FRangeAnchor := NewItem; + AddToSelection(NewItem); + end + else + begin + // any other case + if not NewItem.Selected then + AddToSelection(NewItem); + + // assign new reference item + FRangeAnchor := NewItem; + end; +end; + +procedure TJvCustomTimeLine.AddToSelection(AItem: TJvTimeItem); +begin + if not Assigned(AItem) then + Exit; + AItem.Selected := True; + FSelectedItem := AItem; +end; + +procedure TJvCustomTimeLine.RemoveFromSelection(AItem: TJvTimeItem); +begin + if not Assigned(AItem) then + Exit; + AItem.Selected := False; + if FSelectedItem = AItem then + FSelectedItem := nil; +end; + +procedure TJvCustomTimeLine.SelectItems(StartItem, EndItem: TJvTimeItem; + AddOnly: Boolean); +var + LowLevel, HighLevel: Integer; + LowDate, HighDate: TDateTime; + I: Integer; + + procedure SwapInt(var Int1, Int2: Integer); + var + I: Integer; + begin + I := Int1; + Int1 := Int2; + Int2 := I; + end; + + procedure SwapDate(var Date1, Date2: TDateTime); + var + D: TDateTime; + begin + D := Date1; + Date1 := Date2; + Date2 := D; + end; + +begin + // Called when mouseclick + [CTRL] + [SHIFT] + // + LowLevel := StartItem.Level; + HighLevel := EndItem.Level; + if LowLevel > HighLevel then + SwapInt(LowLevel, HighLevel); + + LowDate := StartItem.Date; + HighDate := EndItem.Date; + if LowDate > HighDate then + SwapDate(LowDate, HighDate); + + for I := 0 to Items.Count - 1 do + with Items[I] do + Selected := (AddOnly and Selected) or + ((LowLevel <= Level) and (Level <= HighLevel) and + (LowDate <= Date) and (Date <= HighDate)); +end; + +procedure TJvCustomTimeLine.BeginDrag(Immediate: Boolean; + Threshold: Integer); +begin + Include(FStates, tlDragPending); + inherited BeginDrag(Immediate, Threshold); +end; + +procedure TJvCustomTimeLine.ClearSelection; +var + I: Integer; +begin + for I := 0 to Items.Count - 1 do + Items[I].Selected := False; + FSelectedItem := nil; +end; + +function TJvCustomTimeLine.GetDragImages: TDragImageList; +var + Bmp: TBitmap; + P: TPoint; + R: TRect; + H: Integer; +begin + GetCursorPos(P); + P := ScreenToClient(P); + + FSelectedItem := ItemAtPos(P.X, P.Y); + FreeAndNil(FDragImages); + if (FSelectedItem <> nil) then + begin + Bmp := TBitmap.Create; + try + Bmp.PixelFormat := pf24bit; + MeasureItem(FSelectedItem, H); + Bmp.Width := FSelectedItem.FRect.Right - FSelectedItem.FRect.Left; + Bmp.Height := H; + FDragImages := TImageList.CreateSize(Bmp.Width, H); + R := Rect(0, 0, Bmp.Width, H); + DrawItem(FSelectedItem, Bmp.Canvas, R); + FDragImages.AddMasked(Bmp, Bmp.TransparentColor); + FDragImages.DragCursor := DragCursor; + FDragImages.SetDragImage(0, 10, 10); // P.X-FSelectedItem.FRect.Left, P.Y-FSelectedItem.FRect.Top); + finally + Bmp.Free; + end; + end; + Result := FDragImages; +end; + + +procedure TJvCustomTimeLine.UpdateItemHint(X,Y: Integer); +var + Ti: TJvTimeItem; +begin + if ShowHint and ShowItemHint then + begin + Ti := ItemAtPos(X,Y); + if (Ti <> nil) and (Ti.Hint <> '') then + inherited Hint := Ti.Hint + else + inherited Hint := FOldHint; +// if Application <> nil then // (p3) "tracking" hint +// Application.ActivateHint(ClientToScreen(Point(X,Y))); + end; +end; + +function TJvCustomTimeLine.GetHint: string; +begin + Result := inherited Hint; +end; + +procedure TJvCustomTimeLine.SetHint(const Value: TTranslateString); +begin + inherited Hint := Value; + FOldHint := Value; +end; + + +procedure TJvCustomTimeLine.SetShowSelection(const Value: Boolean); +begin + if FShowSelection <> Value then + begin + FShowSelection := Value; + Invalidate; + end; +end; + +procedure TJvCustomTimeLine.SetSupportsColor(const Value: TColor); +begin + if FSupportsColor <> Value then + begin + FSupportsColor := Value; + Invalidate; + end; +end; + + +end.