From 9771f149db42c3b7a7a012da0d48a2c3420e5847 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 25 Nov 2018 21:58:44 +0000 Subject: [PATCH] jvcllaz: New component JvFormWallpaper git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6738 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../jvcllaz/design/JvAppFrm/images/images.txt | 1 + .../JvAppFrm/images/tjvformwallpaper.bmp | Bin 0 -> 1654 bytes .../jvcllaz/design/JvAppFrm/jvappfrmreg.pas | 4 +- .../JvFormWallper/JvFormWallpaper_Demo.lpi | 81 ++ .../JvFormWallper/JvFormWallpaper_Demo.lpr | 22 + .../jvcllaz/examples/JvFormWallper/main.lfm | 1188 +++++++++++++++++ .../jvcllaz/examples/JvFormWallper/main.pas | 82 ++ components/jvcllaz/packages/jvappfrmlazr.lpk | 6 +- components/jvcllaz/resource/jvappfrmreg.res | Bin 1740 -> 3444 bytes .../run/JvAppFrm/JvFormAnimatedIcon.pas | 1 - .../jvcllaz/run/JvAppFrm/JvFormWallpaper.pas | 159 +++ 11 files changed, 1540 insertions(+), 4 deletions(-) create mode 100644 components/jvcllaz/design/JvAppFrm/images/tjvformwallpaper.bmp create mode 100644 components/jvcllaz/examples/JvFormWallper/JvFormWallpaper_Demo.lpi create mode 100644 components/jvcllaz/examples/JvFormWallper/JvFormWallpaper_Demo.lpr create mode 100644 components/jvcllaz/examples/JvFormWallper/main.lfm create mode 100644 components/jvcllaz/examples/JvFormWallper/main.pas create mode 100644 components/jvcllaz/run/JvAppFrm/JvFormWallpaper.pas diff --git a/components/jvcllaz/design/JvAppFrm/images/images.txt b/components/jvcllaz/design/JvAppFrm/images/images.txt index c6d9fe8d7..c5de81136 100644 --- a/components/jvcllaz/design/JvAppFrm/images/images.txt +++ b/components/jvcllaz/design/JvAppFrm/images/images.txt @@ -1 +1,2 @@ tjvformanimatedicon.bmp +tjvformwallpaper.bmp diff --git a/components/jvcllaz/design/JvAppFrm/images/tjvformwallpaper.bmp b/components/jvcllaz/design/JvAppFrm/images/tjvformwallpaper.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9eb8450aba5c9eb2f02a062c19e20f4b0a418728 GIT binary patch literal 1654 zcmYk)F^(HY5QX8AA&9$BrpRH1K7m7SLAmZwr%+s(uTcO6MLtBuK7)e>q)Zf`fEosC z?E3GnS%E$Cv4*dQ&7Piq|KZ~sS?$l)B7bo8`|g$8t=xVSdH1%-E23$&5aE=FE_`w+ zRVDRr$&Y_Ni>Sdthb9U`!~_a1%n?WwhKLIk2EKS8Q5gIGD%Ic!Bnm@>OG$;n5l9pU zlN2ZnjzFR?L^x$A430peFvNsuiees)K%y}E(Nw7hM<7uc{n(~dgCmeAj9wB~s=*OR z6h<#sDAnKyBnqRKGL>p@1QLbO%Unt|I0A{nSg*i_QVotkqA(qOpg(0B= zg~1U>6h^-`Q>wucNEAlDQdg?M5l9q9zi$2{!r%xb3Zu6|D%Ic!BnqRqNh#If2qX$) zZJ`)SH8=u^!jR(mOB4o2ATf{8TT7K{a0C*C(c8|HYH$P+h0$Bmm1=MV5{1#*HI!;_ z1QLbOTRD|#a0C*C(c8R~YH$Qnemp+QC+-Wz6M0^zJU`DXaLkC0zb>@lzi#)P zZrk2R{`g2&f8B0!QqGx^t~RfqX4v`6R$u1~vfn?y)3M6>-`jkp`+W9%PIXS}{PpzZ zWuBMw<$Ugr%Zc{1xASVN + + + + + + + + + <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"/> + <UseFileFilters Value="True"/> + </PublishOptions> + <RunParams> + <FormatVersion Value="2"/> + <Modes Count="0"/> + </RunParams> + <RequiredPackages Count="2"> + <Item1> + <PackageName Value="JvAppFrmLazR"/> + </Item1> + <Item2> + <PackageName Value="LCL"/> + </Item2> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="JvFormWallpaper_Demo.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="main.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <ResourceBaseClass Value="Form"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="JvFormWallpaper_Demo"/> + </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/JvFormWallper/JvFormWallpaper_Demo.lpr b/components/jvcllaz/examples/JvFormWallper/JvFormWallpaper_Demo.lpr new file mode 100644 index 000000000..5b9073384 --- /dev/null +++ b/components/jvcllaz/examples/JvFormWallper/JvFormWallpaper_Demo.lpr @@ -0,0 +1,22 @@ +program JvFormWallpaper_Demo; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, main + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource:=True; + Application.Scaled:=True; + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. + diff --git a/components/jvcllaz/examples/JvFormWallper/main.lfm b/components/jvcllaz/examples/JvFormWallper/main.lfm new file mode 100644 index 000000000..94dfa2c5e --- /dev/null +++ b/components/jvcllaz/examples/JvFormWallper/main.lfm @@ -0,0 +1,1188 @@ +object Form1: TForm1 + Left = 280 + Height = 240 + Top = 128 + Width = 320 + Caption = 'Form1' + ClientHeight = 240 + ClientWidth = 320 + LCLVersion = '2.1.0.0' + object JvFormWallpaper1: TJvFormWallpaper + Left = 0 + Height = 196 + Top = 44 + Width = 320 + Image.Data = { + 07544269746D617066750000424D687500000000000036000000280000006400 + 000064000000010018000000000000000000120B0000120B0000000000000000 + 0000C1C1CBC1C1CBC1C1CCC1C1CCC1C1CCC1C1CCC1C1CCC4C4CDC4C4CEC4C4CF + C5C5CFC5C5CFC4C4CFC2C2CEC4C4CFC3C3CEC2C2CEC2C2CDC2C2CDC3C3CEC4C4 + D0C5C5D0C7C7D1C7C7D1C9C9D2C9C9D2CACAD5CBCBD5CBCBD5C8C8D2C8C8D2D3 + D3DDD3D3DDD1D1DDC5C5CFC5C5CFC3C3CDC3C3CDD0D0DACFCFDACECEDACECEDA + CECEDACCCCD9CCCCD9CBCBD8C1C1CEC1C1CEC1C1CEC1C1CEC1C1CDC1C1CCC1C1 + CCC1C1CCC1C1CCC1C1CBC0C0CBC1C1CCC5C5D3C1C1CEBFBFCBBFBFCBC0C0CDBE + BECBBEBECBCCCCDABEBECBBEBECBC1C1CDD0D0DCC3C3D1C1C1CEC1C1CEC5C5D0 + C5C5CEC5C5CEC5C5CDC5C5CDC5C5CFC5C5CFC5C5CFC8C8D0C7C7D0C7C7D0C7C7 + D0D1D1DBC6C6D0C5C5CEC3C3CEC3C3CEC2C2CDC2C2CFC3C3D0CDCDDBCCCCDBCC + CCDACBCBDACBCBDAC1C1CEC1C1CEC1C1CBC1C1CBC1C1CCC1C1CCC1C1CCCACAD5 + E1E1ECDCDCECC4C4CEC4C4CFD4D4E3E0E0EFDCDCECCFCFDBC4C4CFC3C3CEC2C2 + CEC2C2CDDDDDEED3D3E1CBCBD8C5C5D0C7C7D1C9C9D4C9C9D2C9C9D2CACAD5D5 + D5E1E6E6F5EDEDFAF2F2FFEEEEFFE6E6F7E7E7F3E3E3EAE7E7FAE8E8FFEFEFFF + F3F3FEEEEEF9EDEDF7F3F3FFEEEEFEF2F2FBF4F4FEEDEDFFEBEBFFEFEFFAECEC + F7E7E7FEEEEEFFF4F4FFEFEFFEEDEDFEEDEDFEECECFDE8E8FAE6E6F7ECECFAEE + EEFDE1E1F5E7E7F9E5E5F3E1E1F5E1E1F5E5E5F5E1E1F3DCDCEDDADAECDCDCED + E5E5F9EDEDFFEDEDFFE3E3FFE1E1F5E5E5F4E1E1F5E3E3F7E6E6F4E8E8F4DEDE + ECD9D9E3ECECF7EEEEFAEBEBFAEBEBFDEDEDFBE4E4EEDEDEEAE6E6FAE8E8F4EC + ECF3D5D5E1CDCDDBCCCCDBD8D8E8E8E8F7ECECFAEBEBF9E5E5F7E7E7F7E7E7F4 + EEEEFBEEEEFFECECFEE6E6F9E1E1F2C4C4CDC4C4CED6D6E4E6E6F6E6E6F9E0E0 + EFE1E1EEC2C2CEC2C2CEC2C2CEC2C2CDC2C2CEE1E1F5CCCCDAC5C5D0C7C7D1C7 + C7D1C8C8D1C8C8D1C8C8D1CACAD5CACAD5C8C8D1D2D2DDD2D2DDE4E4F3D1D1DD + C5C5CFC5C5CFC3C3CDC3C3CDE3E3EEF3F3FEE8E8F3D0D0DADADAE7F2F2FEF3F3 + FEEDEDFECACAD7C1C1CEC1C1CEC1C1CEC1C1CDEEEEFDC1C1CCC1C1CCC1C1CCC1 + C1CCC0C0CBC1C1CCC2C2CECDCDDAC0C0CDC0C0CDC0C0CDC0C0CDC0C0CDC0C0CD + BFBFCBBFBFCBC1C1CDC1C1CDC3C3D1C1C1CEC1C1CEC6C6D0C5C5D0C5C5CEC5C5 + CDC5C5CDC5C5CFC5C5CFC6C6CFC7C7D0C7C7D0C7C7D0C7C7D0D0D0DAC6C6D0D7 + D7E2DBDBE6C2C2CEC2C2CEC2C2CED5D5E2E1E1EDD2D2E0CBCBDACBCBDACBCBDA + CBCBDAC1C1CEC3C3CDC3C3CDC3C3CDC3C3CDC3C3CDC3C3CDC3C3CDC3C3CDC4C4 + CEC4C4CEC5C5D0C5C5CFC2C2CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CDC2C2CECD + CDD9C5C5D0C5C5D0C7C7D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1 + D1D1DBC6C6CFC5C5CDC5C5CDC4C4CCC4C4CCC3C3CCC3C3CCD0D0DAD0D0DAD0D0 + DAD0D0DCD0D0DCCFCFDCC5C5CEC3C3CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CDC1 + C1CCC1C1CCC1C1CDC1C1CDC1C1CCC1C1CCC1C1CCCDCDDBC1C1CEC0C0CDC0C0CD + C0C0CDC1C1CED8D8ECDFDFEDDFDFF3DFDFF3E0E0EEDADAECD3D3EDDFDFF2EDED + FDEEEEFFEEEEFDE7E7FAE8E8FDCECEDAC5C5CEC6C6CFC9C9D2EEEEF4EDEDF7C8 + C8D1C7C7D0C7C7D1E7E7FBEBEBF9EDEDF5C9C9D6CACAD6CACAD5E7E7F2E5E5EE + E1E1EFDFDFEFDEDEEDE3E3F2E8E8F7E6E6F7C3C3CEC3C3CEC3C3CEC3C3CDC3C3 + CDC3C3CDE9E9FAE5E5F1E5E5F2DADAEBE1E1EEEBEBFBECECFEDDDDEEE0E0EFDF + DFE8E1E1EBE8E8F7E7E7FBE6E6FEE8E8FBE7E7F4E0E0F3E0E0F3E1E1F4E1E1F2 + E6E6F5E3E3FBE8E8F4EDEDF7E8E8F9EBEBFAF2F2FFF7F7FFF3F3FFEBEBFAE3E3 + EEE0E0EDE5E5F7ECECFDF3F3FFF9F9FFF2F2F9C5C5CEC5C5CEC3C3CEF5F5FFEE + EEFDE8E8FDE1E1F2E3E3F4D3D3E0E8E8FAEEEEFFF2F2FFEBEBF5EDEDFDEDEDFF + ECECFFE8E8FDE6E6F7ECECFAF2F2FFEEEEFFE6E6F7C9C9D7D9D9EEDADAEDE3E3 + F2E0E0F4D5D5EED7D7E7E1E1F3E8E8FCF2F2FFECECFFECECFFEEEEFDC8C8D2D2 + D2DFC6C6CFE4E4EACBCBD3C9C9D3C8C8D2C7C7D1C5C5CFC3C3CEC3C3CEC3C3CE + C2C2CEC1C1CDC1C1CDC1C1CEC8C8D4C7C7D4DADAE9C1C1CDD7D7E4C1C1CCDCDC + EBEDEDFFEBEBF7E5E5F3E7E7FEF2F2FFEEEEFFF2F2FEEBEBFBDCDCF2DADAE7E1 + E1EEEBEBFBECECFEE6E6F9E0E0EBDFDFE7E1E1EFE6E6FAE1E1FBE8E8FBD1D1DB + C7C7D1D4D4E1E0E0F2D8D8E7D5D5E2E3E3FBE0E0EDECECF5C9C9D3C9C9D2C5C5 + CEF7F7FFFAFAFFEFEFFFE1E1F2D0D0DAD0D0DAD0D0DAD0D0DBC5C5CFC5C5CFC5 + C5CEC2C2CEC3C3CFC2C2CEC2C2CEC2C2CEC1C1CDC1C1CDC1C1CDC1C1CCC1C1CC + C1C1CDCCCCD8CCCCD8CFCFDCCDCDDADADAE9C1C1CDC4C4D0D8D8E6C0C0CDBEBE + CBBEBECBBEBECABEBECABEBECABEBECBBEBECBC1C1CEC4C4CFC5C5D0C5C5D0C5 + C5CEC5C5CEC5C5CDC5C5CEC6C6CFC6C6CFC8C8D0C8C8D0CACAD3C8C8D1C8C8D1 + C4C4CFC4C4CFCDCDD9CDCDD9CCCCD9C1C1CEBEBECCC1C1CEC2C2CFC2C2CFC2C2 + CFC1C1CDC1C1CDCACAD8E8E8FAECECFBDFDFEECECEDACECEDCD6D6E4CECEDBC2 + C2CDC2C2CDC2C2CDC3C3CEC3C3CEC3C3CDC3C3CDC3C3CECDCDDCC3C3CECDCDDB + CECEDACECEDACFCFDAC6C6D1C6C6D1C8C8D1C8C8D1C7C7D1C6C6D1C8C8D1D0D0 + DCD1D1DCC6C6CFC6C6CFC5C5CFCECED8CECED8C4C4CEC4C4CEC4C4CEC3C3CCC2 + C2CCCDCDDACDCDDACDCDDAF7F7FFEFEFFFEFEFFDC5C5CFC2C2CEC2C2CED6D6E2 + D0D0DDC1C1CDC4C4CFCBCBD8D9D9E9D8D8E4CCCCD8CDCDD8CDCDDACDCDDAC1C1 + CEECECFAE6E6F2ECECFBD2D2DFDDDDEDCCCCDFBEBECABEBECBBEBECBC0C0CBC1 + C1CDC3C3CEC5C5D1C5C5D0C6C6D0C5C5CEC5C5CECACAD3E4E4F3EEEEFBEFEFF9 + EBEBF9E7E7F5E7E7F3E7E7EDE7E7F2EBEBFAEDEDFAECECF9E8E8FAECECFEEDED + FFE7E7F7E5E5F4E5E5F2CFCFDADFDFEBD5D5E5E6E6F7DDDDECCFCFDCE0E0EEED + EDFEEBEBFBE3E3F4CECEDCCDCDDACFCFDAD8D8E8C2C2CDC3C3CEC2C2CDC2C2CD + CDCDDCE0E0F2DDDDEBDDDDEBCECEDACECEDACFCFDAE1E1F2E6E6F9E3E3FADEDE + EEDEDEE7DADAE6DBDBEEE5E5F7E6E6F5E7E7F7ECECFBEDEDFDE8E8F5EBEBF8F3 + F3FFFDFDFFF2F2FFE7E7F3E1E1ECDDDDE8E1E1F2F2F2FEFAFAFFF1F1FCC5C5D0 + C5C5D0C5C5D0C5C5CFF1F1FAD9D9E6E1E1F9DADAE9D4D4E2CBCBD8E4E4F4F2F2 + FFECECFDE6E6FAEEEEFDCDCDDAC2C2CFC3C3D0C3C3D0D3D3E4F2F2FFECECFFE1 + E1F4D6D6E7D2D2E0D1D1DEE1E1F5E0E0F3D7D7E7C5C5D0D2D2DDD2D2DDF6F6FC + FAFAFFE8E8F7E8E8F7CFCFD7EFEFFEEBEBF9E7E7F5C8C8D0C6C6CFCDCDD8E0E0 + EEEFEFFAECECF9E8E8FDBEBECBC0C0CDC0C0CDC0C0CDC1C1CDE5E5EEDFDFEDE6 + E6F5CFCFDCCFCFDCCFCFDCCFCFDCCFCFDCD4D4E1E6E6F4EFEFFEEFEFFFC6C6D1 + C2C2CDC2C2CDC2C2CDC2C2CDCDCDDCCDCDDCC1C1CDDFDFF2D2D2E0DCDCE8DBDB + E7E6E6F7CCCCDAD3D3E0C5C5D0C7C7D3C5C5CFC5C5CFC6C6CFC6C6CFC6C6CFCD + CDDACDCDD9CCCCD8CCCCD8E2E2F1F9F9FFE0E0E8C1C1CBC1C1CBC1C1CCC2C2CD + C4C4D0CCCCD8C5C5D0C5C5D0C5C5D0C5C5D0C5C5CFC5C5CFC3C3CFC2C2CFC1C1 + CDC2C2CEC3C3CFC4C4D1CDCDD9CDCDDBECECFDE3E3F2CFCFDEC3C3D0C3C3D0C3 + C3D0C2C2CFD1D1DFE1E1EEBFBFCBBEBECABEBECBC1C1CBC1C1CDC2C2CEC3C3CE + CECEDDD7D7ECE3E3FEC6C6D0C9C9D1C9C9D1C7C7CFD2D2DBD2D2DBC8C8D1C8C8 + D0C7C7CFC4C4CEC4C4CEBFBFCCBFBFCCBEBECCBEBECBBEBECBBEBECBC0C0CDC0 + C0CDC1C1CDC1C1CDC1C1CCC2C2CDD6D6E4CFCFDCCFCFDCCFCFDCCFCFDCCFCFDC + C2C2CDC2C2CDC1C1CDD5D5E4D6D6E4C5C5D1C4C4D0C2C2CDC3C3CDCDCDDCCDCD + DBC1C1CDC1C1C9C1C1CDC1C1CDC7C7D3C2C2CEC3C3CEC5C5D0DBDBE8DFDFEDD9 + D9EDE1E1F5E8E8F7CBCBD7CECEDACCCCD8CBCBD8D4D4E1D5D5E2CACAD5EBEBF2 + F9F9FFEEEEFFD9D9E6C3C3CDC4C4D0CBCBD8E1E1F2F4F4FFF9F9FFEEEEFAEFEF + FADEDEEAE8E8F6EDEDFFE5E5F9E1E1EDDDDDEBDFDFEFC4C4D1CFCFDCCFCFDCEA + EAFBE8E8F7EEEEFFF4F4FFECECFFE3E3F7E5E5EFEFEFFFF5F5FFECECFFE1E1F3 + D0D0E7D5D5EBDDDDECE5E5F4E1E1F2D9D9E8D9D9F2E7E7F9F7F7FFF9F9FFF9F9 + FFF9F9FFF9F9FFF4F4FFEFEFFFEBEBF7E7E7EDE7E7EEE7E7F4E8E8F1E5E5F2EC + ECFDE8E8F5E8E8F7ECECFDEBEBFEE7E7FBE5E5FAE5E5F4E5E5F4E4E4F3EEEEFF + EEEEFFECECFDECECFDEEEEFFE3E3F1EFEFFBE8E8F9E8E8FEEDEDFFEBEBFFEBEB + FEE7E7F5E1E1F2DCDCEBDADAECDADAEBCCCCD9C0C0CBC1C1CDD0D0DBE1E1EDE6 + E6F4E1E1F3E1E1F1E7E7F9E3E3FAE1E1F2E5E5F3E8E8FAEBEBFBE8E8FEE6E6FA + CBCBD8CBCBD8C1C1CCD3D3DFF4F4FFF5F5FFF2F2FFE6E6F3DFDFECDFDFECE3E3 + F4EDEDFFFAFAFFF5F5FFECECFAEEEEFAEFEFFFEFEFFFEFEFFED1D1DFDADAEBC1 + C1CCC2C2CDCFCFDCCFCFDCDCDCE9CFCFDBC3C3D0C3C3D0DCDCE9CDCDDCC1C1CE + CBCBD9CBCBD9CBCBDACBCBDACDCDDACDCDDACFCFDACFCFDAC5C5CEC5C5D0C5C5 + D0D0D0DAD1D1DCD2D2DCD2D2DBD2D2DBD2D2DBD2D2DCC7C7CFC6C6CEC6C6CEE7 + E7EDE7E7EEE7E7F2D3D3DFEAEAFADADAEBBFBFCDBFBFCDC9C9D6E7E7FEE7E7FE + D6D6E4D7D7E3BFBFCBBFBFCBF3F3FFE2E2F2C1C1CDC2C2CEE2E2F2EFEFFEC0C0 + CDC1C1CDC1C1CDCACAD7CBCBD9CBCBDACBCBD8CBCBDACBCBDAC1C1CDC0C0CCC1 + C1CDC1C1CDC1C1CDC2C2CEC3C3D0C4C4D0C4C4D0C5C5D0C5C5D0C6C6D1C6C6D1 + CDCDDACDCDDACDCDDACBCBD9CBCBD8CBCBD8C9C9D6C9C9D6C9C9D7CACAD7CACA + D8C4C4D0C4C4D0CBCBD8CCCCD8CCCCD8CDCDD9CDCDD8CCCCD8CCCCD8C2C2CEC2 + C2CEC1C1CEC9C9D8C0C0CCC0C0CCCDCDDACFCFDCCFCFDCCFCFDCC2C2CFC2C2CF + C2C2D0C2C2CFC2C2D0CBCBDACBCBD9CBCBD9CBCBD9CCCCDACDCDDACDCDDAC1C1 + CBCFCFDAD0D0DCD1D1DCD1D1DAD1D1DAD1D1DCD2D2DCD2D2DBD1D1DAD1D1DAD2 + D2DBC6C6CEC6C6CEC5C5CEC4C4CEC4C4CEBFBFCCBFBFCCBFBFCCCCCCD8BFBFCD + BFBFCDC2C2CDC3C3CEC5C5CEC5C5CEC6C6CFBFBFCBBFBFCBBFBFCBC0C0CBC1C1 + CDC1C1CEC1C1CEC0C0CDC0C0CDC0C0CDC0C0CDC0C0CEC2C2D0C2C2D0CBCBD8CB + CBD8C1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC2C2CEC3C3CEC3C3CE + C3C3CECBCBD8CDCDDBD3D3E0CCCCDACDCDDACDCDDACCCCDACBCBD8DADAE7CBCB + D8C9C9D6C9C9D7CACAD7CACAD8C9C9D5C5C5D1CBCBD8CCCCD8CCCCD8CCCCD8CC + CCD8CCCCD8C4C4D0C2C2CFC2C2CEC9C9D8F3F3FFECECFBDDDDF3D3D3EBD6D6E5 + E3E3ECD2D2E1F5F5FFF7F7FFECECFDE6E6EEE8E8F9EEEEFFEDEDFFE5E5F9E6E6 + F4EEEEFFF4F4FFEFEFFFE0E0F5CFCFDFD3D3E3DDDDEFE3E3F5E5E5F4E0E0EDDD + DDF3ECECFFFBFBFFFFFFFFFEFEFFF9F9FFF9F9FFF4F4FFEFEFFFEBEBF4E4E4EB + DFDFE2D0D0DCCCCCD8EDEDF9EFEFFBECECFDE8E8FDDCDCECE8E8FBD2D2DDC1C1 + CBE7E7F5C9C9D6F3F3FFFAFAFFF9F9FFF2F2FFE6E6F7EEEEFFEFEFFBD6D6E1E4 + E4F1E8E8FEE6E6FFE8E8FFECECFEEBEBF9E1E1EFDDDDEDE6E6F7ECECFFE7E7F7 + DFDFEFDDDDEDDDDDE8DFDFEDE3E3F4E1E1F5E0E0F2E1E1EFE5E5F9E5E5F5ECEC + F7EEEEFFEDEDFFEDEDFEE5E5F9E7E7F9ECECFDEBEBFBE7E7F9F4F4FFF9F9FFEF + EFFDE5E5F5DADAEDDFDFECE8E8F5EEEEFFF5F5FFF4F4FFEBEBFAE8E8FAF2F2FF + F4F4FEE8E8FBDADAF3D3D3E5D6D6E3DDDDEFD6D6E4C2C2CEEDEDF7ECECF5E3E3 + EDE7E7FBEEEEFFC1C1CECBCBD9CACAD8CDCDD9C1C1CBC5C5CFCFCFDBC6C6D2D1 + D1DFD4D4E6E5E5F3E7E7F4DEDEF0D5D5DFE4E4F1FFFFFFFFFFFFFBFBFFE7E7ED + D7D7E0D0D0DAE7E7F6D3D3DEE5E5E7E1E1EBE6E6F3BFBFCCC2C2CCEFEFFFECEC + FDD1D1DFC5C5CEC6C6CFC1C1CBD8D8E6C8C8D5EEEEFAF9F9FFFDFDFFFBFBFFEE + EEFFCACAD9C2C2CECBCBD7C6C6D4ECECFBE8E8FEE6E6FFD3D3E5C1C1CDC0C0CC + BFBFCBE0E0EFC6C6D3C1C1CDC1C1CDC1C1CDC3C3CEC3C3CECBCBD8CBCBD8CBCB + D8CBCBD8CBCBD8C0C0CCC3C3CFC2C2CDCBCBDACBCBD9CBCBD9CBCBD9CBCBD9CB + CBD9CBCBD9CBCBD9C4C4D0C4C4CFCCCCD8D1D1E1D3D3E2CBCBD7CBCBD7C4C4D0 + E5E5EEEEEEFBD2D2E0C2C2D0C1C1CDC1C1CDC1C1CDC2C2D0C2C2CEC2C2CEC2C2 + CEC2C2CFC2C2CFC1C1CEC1C1CCC1C1CEC1C1CEC1C1CECBCBD9CBCBD9CDCDD9CD + CDD9C1C1CBC2C2CCC3C3CDCFCFDACFCFD9D0D0DAD1D1DAD1D1DAD0D0D9D0D0DA + D1D1DAD1D1DBC5C5CDC5C5CDC4C4CEC2C2CEC2C2CEC2C2CEC1C1CCC2C2CCC2C2 + CCC2C2CCC3C3CDC3C3CDC4C4CEC5C5CEC6C6CFC7C7D1ECECFDC0C0CBC1C1CDCB + CBDACBCBD9CACAD9CBCBD9C3C3D1C2C2D0C2C2CEDDDDE8C2C2D0C3C3D0C2C2D0 + C2C2D0C1C1CEC0C0CDC0C0CCBFBFCBBFBFCABFBFCBC1C1CDC1C1CDC1C1CEC3C3 + CEC3C3CECBCBD8CFCFDDCBCBD9CBCBD9C0C0CCC0C0CCC2C2CDCCCCDACCCCDACB + CBDACBCBD9CBCBD9CBCBD9CCCCD9DBDBE9D6D6E4CFCFDDCCCCD9CCCCD9D0D0DD + CECEDCC4C4CEC4C4D0C7C7D3F3F3FFF4F4FFEFEFFED9D9E9DCDCE9C1C1CDC1C1 + CDC2C2D0C2C2D0C2C2CECFCFDEE7E7F4F9F9FFFFFFFFF9F9FFE5E5F3DDDDEFE7 + E7F9EFEFFFECECFFE8E8F7E8E8FBEEEEFFF4F4FFECECFFD0D0DBCFCFD9CFCFD9 + D1D1DCE1E1EEE8E8F3E1E1F2E7E7F7F4F4FFFDFDFFFEFEFFFBFBFFFBFBFFFBFB + FFF3F3FFEDEDFEE2E2F0E1E1EBE3E3EBE8E8EFDFDFEAEFEFFEEBEBFFE5E5FDE7 + E7F7EDEDFDE7E7F3E5E5F3DFDFEDE8E8FAF3F3FFF2F2F5FEFEFFFBFBFFF9F9FF + F4F4FFEFEFFEEDEDFBEDEDF9ECECFBE8E8FFE6E6FDE8E8FAE8E8FDC0C0CDD4D4 + E0E6E6F2E8E8FAECECFDE7E7FBE1E1F3DDDDEEDDDDEEE5E5F3E7E7F9E0E0F2D9 + D9EBDCDCEDE5E5F3EBEBF5E8E8FCECECFCEEEEFFE8E8FAE6E6F7C4C4D0C4C4D0 + D3D3E3EFEFFFF5F5FFF2F2FFE5E5F7E5E5F9DDDDEFDFDFEEEBEBF5F3F3FFDFDF + E9DADAE8D4D4E3C1C1CCC1C1CDC1C1CDC1C1CDBEBECBC0C0CBCACAD8CDCDDACD + CDDAC1C1CCC1C1CCC4C4CFCDCDDBCDCDDCCDCDDAD3D3E0ECECFDE8E8FDEEEEFF + F2F2FFCBCBD6D7D7E6D3D3E3D0D0E2D0D0D9D0D0D9D0D0D9D0D0DAD1D1DDE9E9 + F2FAFAFFFBFBFFFEFEFFE2E2E9C7C7D1CBCBD6EDEDFBE5E5F3E1E1EBCACAD4DA + DAE3D7D7E2DEDEEEE7E7FFE7E7F7C1C1CCD8D8E2E5E5F3D6D6E4CDCDDBD5D5E2 + F9F9FFFDFDFFC4C4D1C4C4D1C4C4CDC4C4CDC4C4CEC2C2CEC2C2CED3D3E4E2E2 + F7E8E8FAC0C0CDC0C0CDD4D4E3D7D7E6C7C7D4C2C2CDE6E6F5D9D9E9CBCBD8CB + CBD8CBCBD8CCCCD9C1C1CCC1C1CCC3C3CEC8C8D4CDCDDACDCDDBCDCDDACCCCD9 + C4C4D0C3C3CFC3C3CFC3C3CFC3C3CEC3C3CEC3C3CEC4C4D1C4C4D1C3C3CEC3C3 + D0C2C2CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CEC1C1CCC2C2CDD6D6E2C0C0CCBE + BECBC0C0CCCACAD8CDCDDACECEDCCECEDCC4C4CFC4C4CFC4C4CFCECEDCCECEDC + CECEDBC5C5CFC3C3CEC5C5CDC5C5CDC5C5CDC4C4CDC4C4CDC5C5D0D0D0D9CFCF + D9CFCFDAD0D0DACECEDACECEDACDCDD8C4C4CEC4C4CEC2C2CEC2C2CDC1C1CCC1 + C1CCC1C1CCC1C1CCC1C1CDC1C1CDCBCBD7C9C9D7C9C9D6C9C9D6CBCBD9CBCBD9 + CBCBD8CDCDD9CDCDD9CDCDD9CDCDD9CDCDD9CDCDD9C4C4D1C4C4CDC4C4CDC4C4 + CEC4C4CEC2C2CEC2C2CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC2 + C2CDC2C2CDC2C2CDC2C2CDC2C2CCC3C3CEC3C3CEC1C1CDC1C1CCC1C1CCC3C3CF + D4D4E2D7D7E6D0D0E0CCCCD9C3C3CFD6D6E5E7E7FEE3E3F4D6D6E9C3C3CEC3C3 + CECDCDDAC3C3CFCACAD6DADAE9CFCFDEC2C2CEC2C2CEC2C2CEF7F7FFF3F3FFEE + EEFAE6E6F3E5E5EFE5E5FAE5E5F9E5E5F4DCDCECD1D1E5D1D1E7E6E6F7FFFFFF + FFFFFFF9F9FFE5E5F7DDDDEEE7E7F3EDEDFEC5C5CFC9C9D3D5D5E3EEEEFFE0E0 + EECFCFDBD2D2E0D5D5EBD6D6ECDFDFEBE5E5F2E8E8F9E7E7F7CDCDD8D0D0DBF8 + F8FCFBFBFFE9E9F2D0D0DACFCFDAF2F2FFEFEFFDE5E5F2DFDFECE3E3ECE7E7F7 + C9C9D6C9C9D6DDDDEBDBDBEBDCDCEFDFDFF3DDDDF3E5E5F2CDCDD9CDCDD9F5F5 + FFFFFFFFFFFFFFECECF2CECEDACECED9C2C2CDC2C2CDCCCCD9D4D4E4EDEDFAD6 + D6E5C1C1CDC1C1CDC2C2CDD3D3DFC2C2CED1D1DFCECEDBDDDDECD6D6E7D8D8E5 + E3E3F1E6E6FAE6E6F4DFDFEBD1D1E3DADAEBE7E7F5ECECFEEEEEFEEEEEFFEBEB + FFE1E1F4C3C3CFC3C3CFC3C3CFCCCCDACDCDDBC6C6D3E8E8FACECEDAE7E7F9E0 + E0EFE5E5EFCACAD7C2C2CED9D9E4C9C9D5D7D7E3CDCDDCE1E1F7D9D9E7CBCBDA + CDCDDACDCDDAD1D1DFCECEDBCECEDBCECEDCE5E5EFDEDEEBCDCDDBCDCDDBCECE + DCC5C5CFC5C5CFC5C5CFC5C5CFD1D1DDD1D1DBCFCFD9C3C3CEC3C3CECECEDACE + CEDACDCDD8C1C1CDC1C1CDCDCDDACACAD6F9F9FFEEEEF6C2C2CEC3C3CEC3C3CE + C3C3CEC3C3CED2D2DAC9C9D7C9C9D7C9C9D7E5E5F7E0E0F0CBCBD8CBCBD8CDCD + D9DDDDEDE7E7F3DEDEEACECEDACFCFDBCECEDAC5C5CDCFCFDACFCFD9C2C2CDC2 + C2CDCCCCD8CFCFDAD5D5E2C1C1CEC1C1CECECED8C2C2CDC2C2CDCECED9CECED9 + C3C3CDC3C3CDC3C3CEC5C5D1C3C3CEC2C2CDC2C2CDC1C1CDC1C1CDC2C2CECCCC + D9CCCCD9C2C2CEC1C1CEC1C1CEC1C1CEC3C3CEC5C5D2CDCDDBCCCCDACBCBD8C3 + C3CFC2C2CEC2C2CEC2C2CEC2C2CEC2C2CDC2C2CDC2C2CEC2C2CEC2C2CEC2C2CE + C9C9D8CACAD8CACAD8CBCBDACDCDDACDCDDACDCDDACECEDBCECEDBCECEDCCECE + DBCDCDDBC1C1CDC4C4CEC9C9D5DDDDEBE5E5F5C8C8D2C5C5CFC4C4CEC3C3CEC3 + C3CEC2C2CEC2C2CEC2C2CEC2C2CEC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CD + C1C1CEC3C3CEC3C3CEC3C3CFC3C3CFC3C3CFC1C1CDC1C1CDD9D9E7E0E0EEC0C0 + CCC0C0CCC0C0CCC0C0CCCFCFDACFCFD9CFCFD9DCDCE9D7D7E3D7D7E5CFCFDAC5 + C5CDCFCFDACFCFD9D9D9DFF2F2FEDBDBE9C4C4CDC4C4CDD9D9E7EBEBFBE7E7F7 + E5E5F5CFCFDACFCFDAD5D5E2DADAE6F3F3FFEFEFFFE8E8FBECECFBEBEBF5E7E7 + EFE7E7FADFDFF5D6D6E5CDCDD9CDCDD9C1C1CEC1C1CEC0C0CDD6D6E4ECECFFE6 + E6F7DFDFF3DFDFF3E6E6F7D0D0E0CFCFDED7D7E1C5C5CEDBDBEDE8E8F9E0E0EE + E6E6F9F5F5FFFAFAFFD1D1DEE0E0ECD6D6E4DFDFF4E6E6F7E7E7F7E5E5F7DDDD + EED5D5EBD7D7E8E6E6F7FFFFFFFFFFFFF9F9FFE6E6FADFDFEDE0E0EEE8E8FAE6 + E6F7E6E6F7E7E7FBEDEDFFF2F2FFE7E7FEE3E3F5E0E0EEDCDCECDADAEDE1E1F4 + ECECFBEDEDFDEDEDFDEBEBFCF3F3FFF5F5FFF4F4FFF7F7FFF5F5FFDCDCEACDCD + DAE6E6F3E0E0F3EBEBFAE5E5F6EDEDFBE1E1F3E0E0F4DFDFEED6D6E7D6D6EBDD + DDEDE7E7F5EBEBFBF4F4FFFBFBFFFDFDFFFFFFFFFFFFFFF7F7FFEBEBFBE6E6F9 + E8E8F9ECECF9ECECF9EDEDFBE7E7FAE3E3F5E6E6F3E7E7F5E8E8F7ECECFDEFEF + FFEFEFFFEEEEFFEEEEFBEBEBF5C6C6D2E2E2F6DFDFEFD6D6E5D9D9E5E1E1F4E8 + E8FAEBEBF7EDEDFFEFEFFFE8E8FFE0E0F7CBCBDBC1C1CDD1D1E1E6E6F5E5E5F2 + DDDDEDE3E3F5EAEAFAD7D7E5D9D9EAE1E1EDF5F5FFC5C5D1C5C5D2C5C5D2C4C4 + D1D5D5E5E8E8F7D9D9E9C3C3D0D9D9E9D7D7EDD3D3E8DADAEAE9E9EFFBFBFCE6 + E6EEC4C4CEC4C4CEC5C5CEC5C5CFCCCCD9DEDEF4EBEBF9C2C2CEC2C2CEC2C2CE + E6E6F3D5D5E8DCDCEFC1C1CDC1C1CDC1C1CDC1C1CDD5D5E2EBEBFCC4C4D0CECE + DBCECEDACECEDACECEDACECEDACFCFDBCCCCD8CDCDD8E8E8FAEFEFFEE5E5F9E2 + E2F2E1E1EFD7D7E8D3D3EBD1D1DBD1D1DBD1D1DCD1D1DCD3D3DEFBFBFFEFEFF3 + D1D1DBC5C5CDC5C5CDD7D7E4DFDFEED2D2DEC5C5CFC5C5CEC5C5CFCFCFD9C4C4 + CEC3C3CEC3C3CEC4C4CFC4C4CFC4C4D0C4C4D0C4C4D0C4C4CFC4C4CFC2C2CFC1 + C1CDC1C1CDC0C0CDC1C1CDC0C0CDC0C0CDC1C1CDC1C1CDC1C1CEC1C1CDC1C1CD + D4D4E4C1C1CBCCCCD8C1C1CBC1C1CBC2C2CDC3C3CDCFCFDBC3C3CEC3C3CEC5C5 + D1C5C5D2C5C5D2C5C5D1C4C4D1C4C4D1C4C4D1C4C4D0C3C3D0C3C3D0C3C3D0C3 + C3D0C2C2CDCCCCDACECEDBCECEDBC4C4CEC3C3CEC4C4CEC4C4CEC3C3CFC3C3CE + C2C2CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CEC1C1CDC1C1CDC1C1CDC1C1CDC1C1 + CDC1C1CDC1C1CDC4C4D0CECEDBCECEDACECEDACECEDACECEDAC6C6D0CCCCD8CE + CED8C9C9D8C9C9D8C9C9D8C0C0CCC0C0CCC2C2CED0D0DAD0D0DAD1D1DBD1D1DC + D1D1DCD1D1DCD1D1DCD1D1DCD1D1DCD1D1DBCFCFD8C7C7D1C5C5CEC5C5CFC5C5 + CFC5C5CECECED8CECED9C4C4CEC4C4CEC4C4CFC4C4CFC4C4CFC4C4D0C5C5D0C4 + C4CFC4C4CFF4F4FFEDEDFEE7E7F9D6D6E6C0C0CDC3C3CFCDCDD9E6E6EFE5E5F7 + C1C1CEC1C1CEC1C1CEE6E6FFE0E0F9DFDFF2E5E5EEC1C1CBC1C1CBC3C3CCCBCB + D8E4E4F1EDEDF7DCDCECC5C5D1ECECFAF5F5FFFAFAFFF5F5FFE9E9F4E1E1EDE1 + E1F2E5E5F7E4E4FCC6C6D4C5C5D3D1D1DED5D5E3DEDEF2FBFBFFFFFFFFF9F9FF + EBEBF5CDCDD9C3C3CEC3C3CEC2C2CEE5E5F3ECECFBEDEDFBEFEFFFE8E8FFE2E2 + F4E5E5F3E0E0F5E0E0F5E1E1F2E9E9F6D7D7E5EDEDFFEEEEFFF3F3FEF3F3FFED + EDFFF3F3FFF7F7FFD9D9E5C7C7D1C9C9D8C9C9D8CBCBD8C2C2CCC2C2CCC2C2CD + C2C2CDC4C4CDD1D1E0D3D3E7DADAEBE5E5F3EEEEFBF2F2FCFBFBFFFFFFFFFFFF + FFF4F4F9EAEAF5E1E1F0E6E6F7E6E6F5E6E6F7EFEFFAF2F2FDEBEBFBE4E4F4DB + DBEDE6E6FAE7E7F7EDEDFAEEEEFFF2F2FFF9F9FFD1D1DDCCCCD9E8E8F6E5E5F5 + DCDCEDDDDDECE1E1EDE1E1F0E3E3F7EBEBFBEFEFFFDADAEDC0C0CBDBDBECE1E1 + F2E5E5F2E7E7F9D6D6E5D5D5E6D4D4E0DADAE4C8C8D2C7C7D2DADAEAD1D1DCDA + DAE4D0D0DAC4C4D0C4C4D0E3E3EFE1E1F2D9D9ECDBDBEED7D7E7E1E1F3C1C1CD + C1C1CDC3C3CEF5F5FBFFFFFFF0F0F7E7E7F5E1E1ECC3C3CEC3C3CEC2C2CEC2C2 + CECACAD8EFEFFCEFEFFFEBEBFDDADAE7CACAD8C1C1CDC1C1CDE1E1F0EEEEFEC8 + C8D3D0D0DCD0D0DCCACAD4C7C7D1C6C6D1C6C6D0C6C6D0C7C7D0C8C8D6DDDDEB + C2C2CFC2C2CCC2C2CCE0E0F0C6C6D0C4C4CDC4C4CDCFCFE3D9D9E6CFCFDDD1D1 + DCD1D1DCD2D2DCD2D2DED0D0DAD0D0DACFCFDACFCFDACECEDACDCDD8C4C4CFCD + CDDAD7D7E3CBCBD8C4C4CFC4C4CFC4C4D0DADAECE4E4F2D5D5E2CECEDACECEDB + CECEDAC1C1CDC1C1CDC1C1CEC1C1CEC1C1CEC1C1CDC1C1CDC1C1CEC0C0CDC0C0 + CDC0C0CBC0C0CBC0C0CBC0C0CBD4D4E0CECED9C9C9D7C3C3CEC3C3CED0D0DAD0 + D0DAC8C8D2C9C9D2D1D1DCD1D1DAD0D0DAD0D0DACFCFDAC4C4D0C3C3D0C2C2CD + C4C4D0C4C4D0C4C4D0C4C4CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3 + CEC3C3CEC2C2CEC2C2CEC2C2CECCCCD9CCCCD9CBCBD8CACAD8CACAD8CBCBD8C2 + C2CEC2C2CEC3C3CEC4C4CFD0D0DCD1D1DCD1D1DCC7C7D0C7C7D1C7C7D1C6C6D0 + C7C7D0C7C7D0C8C8D5D4D4E2C1C1CCC1C1CCC2C2CCC2C2CDC1C1CCC0C0CCC2C2 + CDC2C2CDC1C1CDC1C1CDC2C2CDD1D1DCD1D1DCD1D1DCCFCFDACFCFDACFCFDACE + CEDACDCDD9C4C4CFC3C3CEC3C3CDC3C3CEC3C3CFC4C4CFD8D8E8CECEDAC4C4D0 + D8D8E7D8D8E6EBEBFECECEDBCDCDDAC1C1CDC1C1CDF2F2FFECECFDE7E7F9DFDF + EFD6D6E4CDCDDAC0C0CDC0C0CDCACAD8CCCCDBD3D3E3E0E0F7DDDDF4E1E1F3E7 + E7FADADAECE1E1F4DFDFE6DADAE3DDDDF4EBEBFFD8D8E3D1D1DAD0D0DAEAEAF1 + FDFDFFEDEDF7DFDFEDD7D7E4E5E5F4DDDDEDC4C4D0D4D4E4E1E1F5D7D7E9CBCB + D9CDCDDBCACAD5CACAD5E7E7EEEBEBF5DDDDECD6D6EBD5D5ECDADAE7E6E6F2E6 + E6F7CACAD8CACAD8ECECFFE8E8FBE8E8FAE0E0FAE1E1F3ECECF9F2F2FFEDEDFF + EDEDFAEEEEFEEDEDFFF2F2FDEFEFFDEDEDFDE3E3F4E6E6F7E8E8F7E8E8F4E6E6 + FEECECFFEDEDF9E1E1EFD9D9F2D7D7ECD6D6E5D1D1E3D1D1E3D6D6E7E5E5F3F3 + F3FFFAFAFFFBFBFFFDFDFFE9E9F2EFEFFFECECFDE7E7F7E7E7F9EBEBF7D9D9E6 + D0D0DEEDEDFFECECF9C4C4D0C8C8D3DADAE9E6E6F9ECECF9F3F3FFF5F5FFF7F7 + FFF5F5FFF2F2FFEEEEFFE7E7F9CDCDDCD5D5E4E7E7F5EBEBF7E7E7F5E8E8FEE1 + E1F2D8D8E8CDCDD8CCCCD6C3C3CEC2C2CED9D9EAE4E4EFD6D6E0D1D1E6D8D8EB + D0D0D9C7C7D1D2D2E0D9D9E3CFCFD9C4C4D0C4C4D0C4C4D0C4C4D0C4C4D0C4C4 + D0C4C4D0C4C4D0C4C4D0C3C3CFD7D7EBD8D8EBC3C3CED3D3DBF9F9FFE5E5F3C7 + C7D4CDCDDCCCCCD9CCCCD9CBCBD9CACAD8CACAD8CACAD8CBCBD9C4C4D0C4C4D0 + D0D0DEC5C5D0E8E8FEEBEBFCEFEFF7D4D4E0C7C7D1C6C6D0D6D6E1EDEDFDE5E5 + F5E3E3F4E3E3F4E8E8F2E7E7FAC6C6D5EBEBFBE7E7F5C9C9D6C1C1CDC1C1CDC1 + C1CDC1C1CDC2C2CDC3C3CFC5C5D0C3C3D0C3C3D0C2C2CEC3C3CEC2C2CECACAD6 + C4C4D1CECEDBCDCDDBCECEDBC4C4CFC4C4CFC4C4CFC4C4D0C4C4D0CECEDACDCD + D9CDCDD9CCCCD9CCCCD9CCCCD9CCCCDAC3C3D0C2C2CEC1C1CEC1C1CEC1C1CDC1 + C1CDC0C0CDC0C0CDCDCDDCCDCDDBCDCDD9C1C1CEC1C1CEC2C2CEC2C2CEC2C2CE + C2C2CEC3C3CEC3C3CEC3C3D0CFCFD9CCCCD9E7E7FADCDCEBCFCFD9C4C4D1C4C4 + D0C4C4D0C4C4D0C4C4D0C4C4D0C4C4D0C4C4CEC4C4D0C3C3CFC3C3CFC3C3CFC3 + C3CEC3C3CFC4C4D0C3C3CEC2C2CEC2C2CECDCDD9CCCCD9CBCBD9CACAD8CACAD8 + CACAD8C3C3D0C4C4D0C4C4D0C5C5D0C6C6D1C7C7D1D1D1DDD0D0DAC7C7D1C7C7 + D1C7C7D0C7C7D0C6C6CFC1C1CDC1C1CDC1C1CCC0C0CCC1C1CCC1C1CCC0C0CCBF + BFCAC0C0CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC2C2CEC3C3D0C3C3D0C2C2D0 + C1C1CEC2C2CEC1C1CEC1C1CDC1C1CDC0C0CDC0C0CDD7D7E6CFCFDCC4C4CFCCCC + D8DFDFECE2E2EDDBDBEBDFDFEEE3E3F1DADAE9CCCCD9CCCCD9CCCCD9DCDCE6F9 + F9FFF2F2FFE8E8FAE3E3F4C8C8D6CECEDAE1E1EDE0E0F0D0D0DECDCDDAE0E0F2 + DBDBEEDDDDEEE0E0F2E5E5F9E3E3FAEBEBFAE6E6F2D5D5E6D2D2E2E3E3F4EBEB + FEEBEBFAE7E7F9EEEEFFF5F5FFFAFAFFF3F3FFE3E3F7E1E1EFE8E8F4EDEDFDED + EDFEE6E6FED1D1E3D9D9F3E0E0EBDADAE4EFEFFFF9F9FFF5F5FFEBEBFBE0E0ED + C9C9D6D1D1E0CFCFE1DFDFEFEDEDFEEBEBFBEDEDFEDFDFEEE7E7FEECECFFE1E1 + F5E4E4F5D6D6E0D2D2DEC7C7D0C9C9D4D8D8E5D8D8E5C1C1CDC1C1CDC1C1CCDC + DCEBE6E6F2E7E7F7E5E5F9E4E4F8E7E7F9E7E7F9E1E1F3DCDCEDD7D7E8D6D6E5 + D6D6E3D5D5E8D7D7EEECECF7F3F3FFF9F9FFFDFDFFF4F4FFEDEDFFE8E8FAE3E3 + F4E1E1F3E8E8FAEDEDFEEBEBFBECECFEDCDCE9ECECFAE7E7F9E5E5F3E5E5F4E4 + E4F7C4C4D1F2F2FFF7F7FFFAFAFFF5F5FFECECFAEDEDFEE6E6FADDDDEDE6E6F4 + EDEDFBEFEFFDECECFED9D9E9D6D6E7D5D5E3DDDDEEE0E0F2E1E1F9C2C2CEC1C1 + CCC1C1CCC6C6D4CCCCD9CCCCD9CCCCD8CCCCD8CCCCD9CCCCDAC4C4D0C3C3CDC4 + C4D0C5C5D0C4C4D0C4C4CFC4C4D0C4C4D0C4C4D0C4C4D0CECEDBDFDFEBE5E5F5 + D4D4DFE5E5EDF5F5FFD7D7E5C0C0CBC0C0CBC0C0CCD3D3E5E1E1F5E8E8F9C3C3 + D0D3D3E2D0D0E2ECECFED9D9E6D2D2DCD0D0DAC7C7D1D8D8E2EEEEFFEEEEFFEF + EFFEE3E3F4E0E0F4DDDDEED4D4E3DADAE8E5E5EFD9D9E9E5E5F9E6E6F7E7E7F9 + E7E7F9E1E1F3DCDCEDDADAE8CDCDDBC2C2D0C2C2D0CACAD6CACAD6C9C9D6CBCB + D9C0C0CBC0C0CBC0C0CDC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CECDCDDBCD + CDD9C3C3CECCCCD9CCCCD9CCCCD9C4C4D1C4C4D1C4C4D0C3C3D0C2C2CEC1C1CD + C1C1CDC1C1CCC0C0CCC1C1CCCDCDD8CECED9CECEDBC3C3CEC2C2CEC2C2CDC2C2 + CEC2C2CEC2C2CEC2C2CECACAD6C3C3CFC4C4D0C4C4D0CBCBD7CBCBD7CBCBD7CC + CCD8C4C4D0C4C4D0C3C3CDC4C4CFC5C5D1C4C4D0C4C4CFC4C4CFC4C4D0C4C4D0 + CACAD8DEDEEDD7D7E2C3C3CFC3C3CEC3C3CECDCDD8C1C1CCC0C0CCC0C0CCC1C1 + CCCACAD9C1C1CDD7D7E8D1D1DCD2D2DDC4C4D1D0D0DAD1D1DCD1D1DCD0D0DAD0 + D0D9D0D0D9C8C8D1C7C7D1C7C7D1C1C1CDC1C1CDC1C1CDC0C0CBC0C0CBC0C0CC + BFBFCBBEBECBBFBFCCC0C0CDC1C1CDC2C2CECDCDDAC3C3D0C3C3D0C2C2D0C2C2 + D0CACAD6CBCBD8C9C9D6C9C9D6C0C0CCC0C0CCC1C1CDC3C3CEC3C3CEC3C3CEC3 + C3CEDBDBEAD7D7E9EBEBFEF4F4FFC3C3CEC4C4D0CCCCDAE7E7F3E5E5F7CCCCDB + C4C4D0C4C4D0C2C2CEC2C2CDF7F7FFEFEFFFC1C1CCC1C1CCC4C4CDC4C4CDEDED + F7F3F3FFECECFDCECEDCD8D8E7DFDFEFDDDDEEDDDDF2E1E1F9E7E7FAEBEBFAE3 + E3F2D9D9E6D7D7E6E3E3F4EBEBFEEBEBF7E7E7FBEEEEFFF5F5FFF7F7FFEFEFFF + E7E7F7E5E5EFE8E8F4EDEDFFEDEDFFE8E8FDC2C2D0C3C3D0D6D6EBE7E7F5F4F4 + FFF9F9FFEEEEFFE6E6FBE0E0EDCECEDBC6C6D4D0D0E1DADAEEE7E7FDEDEDFAEE + EEFBEDEDFFEDEDFFEDEDFFEDEDFFEFEFFFD1D1DAC8C8D1C8C8D1CFCFDBD2D2DF + D7D7E3CCCCD7C4C4D1C0C0CCC5C5D2CACAD7DDDDEAE5E5F5D2D2E1C2C2CFCCCC + DBD3D3E0D7D7E5DADAE6D9D9E5D6D6E8D9D9ECDFDFF2E8E8FEF2F2FFF9F9FFF4 + F4FFEEEEFFE8E8FAE3E3F7E0E0EEDFDFF2E6E6F7ECECFFEFEFFFF3F3FFEDEDFE + E8E8FAE7E7F0E6E6F5DFDFFAE3E3F7E8E8FAEEEEFDF2F2FFF5F5FFF4F4FFEDED + FEF2F2FFE5E5FBE1E1F2F3F3FBDFDFEACACAD6DCDCECCECEDCCDCDDBC0C0CCC0 + C0CCC0C0CCCACAD8C9C9D5EBEBFADADAEBCBCBD7CBCBD7D4D4E3CFCFDCC4C4D0 + C4C4D0C4C4D0C5C5D0C4C4D0C4C4CFC2C2CEC2C2CEC9C9D6C2C2CEC2C2CEC2C2 + D0C1C1CEC1C1CDC1C1CCE9E9F3F4F4FFC2C2CDC2C2CDC2C2CDC3C3D0C3C3D0CB + CBD9CFCFDAD0D0DAD2D2DCD0D0DAD8D8E4D0D0DAD1D1DBD0D0DADCDCE7D1D1DC + D1D1DDE7E7F6E3E3F3E6E6F9E6E6F3E3E3EFE0E0EDD3D3E4C0C0CCBFBFCCE8E8 + F4E7E7F9E5E5F5D0D0E1D1D1E0C6C6D3E7E7F5DFDFEDD8D8E5C2C2D0D6D6E8DC + DCECD9D9ECE8E8FFE5E5F2F5F5FFC1C1CEC4C4D0C3C3CEC3C3CEC3C3CEC4C4D0 + CDCDDBC3C3CEC3C3CECCCCDACCCCD9CCCCD9C4C4D0C4C4D0D3D3E3C4C4D0C4C4 + D0C4C4D0CECEDBCFCFDBCFCFDBCECED9DBDBEAD6D6E4CECED9CDCDD8C2C2CDC1 + C1CDC1C1CDC1C1CDC1C1CDC0C0CCC0C0CCCBCBD9CBCBD9C1C1CDCBCBD7D2D2E1 + D9D9E3D7D7E6E3E3F7DDDDEBD5D5E2C4C4CFC4C4CFC4C4CFC4C4CFC2C2CDC2C2 + CECACAD7C9C9D6C9C9D7C9C9D7C1C1CDC1C1CDC1C1CCC2C2CDCDCDD8C3C3CDC2 + C2CDC3C3CDC6C6D2C2C2CDC2C2CDC4C4D0C4C4D0D0D0DAD0D0DAD0D0DAD0D0DA + D0D0DAD0D0DAD0D0DAEAEAF5EDEDF9EFEFFFC3C3CDC3C3CDC1C1CDC1C1CCC1C1 + CDC1C1CDC0C0CDC0C0CDC0C0CDCACAD7CBCBD7C5C5D3C3C3D0C3C3D0D2D2DFCD + CDDAC3C3D0C3C3D0C1C1CDC1C1CDC1C1CCBFBFCCC1C1CDDDDDE9DBDBE6C4C4D0 + C3C3CECDCDDAC3C3CED8D8E6D1D1DFE8E8FED6D6E3CBCBD9CFCFDCEFEFFEEEEE + FFE8E8FDE0E0F2CECEDAC4C4D0C4C4CEC4C4CECFCFDAE7E7EEF9F9FFE3E3F2D3 + D3E0C4C4CEC3C3CEDEDEE9DEDEE9D9D9E4C3C3D0C2C2CEC1C1CDC1C1CDDADAEA + D0D0DFC1C1CDCBCBD8CBCBD8D4D4E2D0D0DECDCDDEE6E6F5D5D5E2CDCDDBCBCB + D7F3F3FFF2F2FFEEEEFFEEEEFFE8E8F4E2E2F0E8E8F9EDEDFBEFEFFEE0E0F5DF + DFF7C2C2CDD0D0D9D0D0DAF2F2FFF3F3FFDFDFEEC2C2CDC2C2CDC4C4CEC7C7D5 + CFCFDFD5D5E2D0D0DAE8E8F9EDEDFEF4F4FFF3F3FFEFEFFFE3E3EEE1E1EDDDDD + EBE4E4F2C3C3CDC1C1CDC1C1CDD7D7E3CECEDDC0C0CDC0C0CDCECEDCECECFAEB + EBF5DFDFF2E0E0F4E8E8FAE5E5F5C4C4D0C4C4D0C3C3D0C3C3D0E0E0ECE1E1F4 + E5E5F9EAEAFAEFEFFFEFEFFFCBCBD7C3C3CEC3C3CEC3C3D0D2D2DFE0E0F3E9E9 + FCE7E7F2C7C7D4C4C4D0C4C4D0C4C4D0C4C4D0D6D6E2DFDFEEC4C4CEC4C4CECF + CFD9CFCFD9CECED9CDCDD9CDCDD9C4C4CDC3C3CECDCDD8CCCCD8F9F9FFE1E1EE + D1D1E0C2C2CDC2C2CDC2C2CDC1C1CDC1C1CDCACAD7CBCBD8CBCBD8C1C1CDC1C1 + CDC2C2CEC2C2CEC4C4D0C5C5D0CFCFDBD2D2E0EEEEFFD7D7E6CACAD8C1C1CDC1 + C1CDCACAD7CACAD8C3C3D0C2C2CDC3C3D0C6C6D1D0D0DAC5C5D0C3C3CDC3C3CE + C3C3CEC3C3CDC4C4CEC4C4CEC5C5CECFCFDAD5D5E3DDDDEBD0D0DBCFCFDACFCF + DAD0D0DAD1D1DAD1D1DAE7E7F5C4C4CDC3C3CDC3C3CDC2C2CDD5D5E2C6C6D3DC + DCE8DFDFE8D1D1E0CBCBD7C3C3D0C3C3D0C5C5D1C5C5D1C5C5D1C5C5D1C4C4D0 + C3C3D0C3C3D0CCCCD9CCCCD9CBCBD8CACAD7C9C9D6C9C9D6C9C9D6C9C9D7C3C3 + D0CACAD7CACAD8CACAD8CACAD8C3C3CFC3C3D0C4C4D0C4C4D0C4C4D0C4C4D0C4 + C4D0C4C4D0C4C4CFC4C4CFCFCFD9CDCDD9CDCDD9CDCDD8CDCDD9CDCDD9CDCDD8 + CDCDD8CCCCD8C4C4D1C4C4D1D0D0DCDDDDEDDCDCEAC5C5D1DADAE9DADAECE0E0 + F2E7E7F9E8E8FAE6E6F7DDDDEECECEDDDADAEEE1E1F5E7E7F7E5E5F2C1C1CEC1 + C1CECACAD8EEEEFFEEEEFEEBEBFACACAD7CACAD8C3C3D0C3C3CFC3C3CFCCCCD7 + D9D9E7DFDFF2C8C8D3C8C8D3EBEBF7EDEDFFE7E7F7D1D1DEC5C5D0C5C5D0C5C5 + D0C5C5D0D1D1DDD0D0DDCDCDDACDCDDACECEDACECEDAC4C4CDC4C4CDC3C3CDC3 + C3CDC3C3CDC3C3CEC1C1CEC3C3D0C1C1CDC1C1CDC4C4CEC4C4D0C5C5D2C5C5D1 + C5C5D1D6D6E4E6E6FAE7E7FAE3E3F0C4C4D0CECEDACDCDD9CCCCD8E5E5F9E5E5 + F3CFCFDDE0E0F0EFEFFFECECFFE6E6FAE5E5F3DFDFEDCACAD7CFCFDDF3F3FFF7 + F7FFEFEFFFEFEFFFF5F5FFF3F3FBE7E7F7DDDDECDCDCEEDDDDF7E3E3FAEBEBFD + F3F3FFFAFAFFF5F5FFEEEEFDEDEDFFE8E8FDECECFBF5F5FFF5F5FFF2F2FFEEEE + FFEDEDFEE6E6F7DCDCEDDADAECE0E0F2E7E7F9E8E8FAE6E6F7D6D6E5CECEDDD1 + D1E3E1E1F5DEDEEDEBEBFEEDEDFFEFEFFFEEEEFEEEEEFFEEEEFEEBEBFDE7E7F7 + E8E8F3EDEDF9EDEDFEE6E6F7DFDFEFD4D4EBDFDFEFEFEFFBF4F4FFEFEFFFEDED + FDE7E7F7E1E1F2D6D6E1CFCFDDD3D3E7DDDDF2ECECFDECECFAEDEDFFEDEDFFEF + EFFFDBDBE8E8E8FBEDEDFFF3F3FFF2F2FFF3F3FEDEDEE9CACAD7D5D5DFDCDCE6 + D7D7E7E1E1ECE7E7F5EDEDFAEBEBF9E6E6F7DCDCEBE2E2F5EBEBFAE5E5F3DDDD + E8D6D6E6DADAEEE1E1F5E7E7F9EBEBF9EBEBF5EDEDFDEFEFFFECECFFE6E6FACC + CCDAD0D0DFD2D2E2EBEBF5F3F3FEF4F4FFF2F2FFF5F5FFF9F9FFEFEFFEE7E7F3 + D7D7E3CCCCD9CCCCD9E3E3FAEBEBFDF3F3FFD9D9E1C2C2CFC5C5D1D0D0DBC5C5 + D2C5C5D2CCCCD8C5C5D1C4C4CFC4C4D0C3C3CFC3C3CFCBCBD8CBCBD8C1C1CCC1 + C1CCC1C1CCC1C1CCC1C1CDC1C1CDC5C5D1C5C5D1C3C3CFC3C3CFC3C3CFC3C3CF + C3C3CFC3C3CFCCCCD8CCCCD8C5C5D0C5C5D0C9C9D3C6C6D0C7C7D1C8C8D1C6C6 + CFC9C9D2C8C8D1C6C6D1C5C5D1C5C5D1C5C5D1C4C4D0CBCBD8C3C3CFCDCDDAC2 + C2CDC5C5D1ECECFDECECFFEFEFFFC5C5CDE0E0F0EBEBFEEEEEFFF7F7FFE5E5EE + D2D2DEC3C3CEC3C3CDC3C3CDC3C3CEC4C4CED0D0D9C3C3CEC3C3CEC5C5D0D1D1 + DCD0D0DCD0D0DBD0D0DAC1C1CCC0C0CCCACAD7CACAD7CACAD7C9C9D7C9C9D6C9 + C9D7CACAD7CACAD8CACAD8CACAD8CACAD8C2C2CFC9C9D7C9C9D7C9C9D7C9C9D7 + C4C4CFC4C4CFC4C4CFC4C4CFC2C2CECBCBD9CBCBD8CBCBD8CBCBD8CBCBD8C4C4 + D0C3C3D0C3C3D0C4C4D0C4C4D1C5C5D2C6C6D2CCCCD8C5C5D1C4C4D1C3C3CFC3 + C3CFC2C2CEC1C1CDC1C1CCC1C1CCC1C1CCD3D3E4E3E3F4CDCDDBC3C3CFC5C5D1 + C3C3CFC3C3CFCDCDDACDCDDACDCDD9CDCDD8CFCFDBE2E2F2C7C7D1C9C9D3C6C6 + D0C7C7D0C7C7D0D2D2E2DDDDEFE0E0EDDFDFE9C7C7D1C5C5D1C5C5D1C7C7D4C4 + C4D0C3C3CFC9C9D5C9C9D7CECEDECECEDACECEDACECEDACECEDAC5C5CDC5C5CD + C5C5CED3D3DDD3D3DDD0D0DAC4C4CDC3C3CDC3C3CDC3C3CDC4C4CDC5C5CDC5C5 + CDC3C3CDC3C3CED2D2DCD1D1DCD0D0DCC1C1CCC1C1CDC1C1CDC0C0CCC1C1CCCA + CAD7CACAD7CECEDCD1D1DFC9C9D7CACAD7CACAD8CACAD8DDDDF2E5E5FADCDCEA + C9C9D8C9C9D8C9C9D7E8E8F5F4F4FFD1D1DECACAD7CBCBD7CECEDCCFCFDDD9D9 + ECD9D9EEDDDDF4E6E6FAEEEEFDF3F3FFF5F5FFF3F3FFF2F2FFEEEEFFE3E3FBEC + ECF5F9F9FFF4F4FFF2F2FFF4F4FFDDDDEEDBDBEDCBCBD9DCDCEDDFDFEFE0E0F4 + E6E6F5E3E3F2DADAECDCDCEBDCDCEEDFDFF9E5E5FDE1E1F1D7D7E3CDCDD9CDCD + D9CDCDD9C7C7D1E5E5FAE8E8F4ECECF3EDEDFBD3D3E1C8C8D1D0D0DBD1D1DADB + DBE4D8D8E6F0F0FBCBCBD8EBEBFED0D0DEDCDCE9D1D1DECECEE0D4D4E3CFCFDB + CECEDACECEDAD5D5E0CECEDCD5D5E0E4E4F2EAEAF8F5F5FFF7F7FFF3F3FFF4F4 + FDE8E8F2E0E0ECDDDDEBD9D9EEE0E0ECECECEFF2F2FBF3F3FFEEEEFEE8E8F7E0 + E0F7E5E5FACECED8C2C2CECACAD7DADAE8E0E0EEE5E5F5E7E7F9EBEBF9E5E5F3 + EBEBFBE8E8FFEBEBFFE7E7F4DBDBECD5D5E3CECEDAEFEFFFF3F3FFF4F4FFFAFA + FFD3D3DDC5C5D1C5C5D1C4C4D1C2C2CED6D6E8E0E0F4E6E6FAC9C9D5EFEFFBF5 + F5FFFBFBFFEFEFFFE6E6FFCDCDD8CCCCD8C3C3CDCECEDBD4D4DFDDDDE9C1C1CC + C1C1CDC1C1CCC1C1CCC1C1CDC1C1CDC1C1CEC2C2CEC3C3CFC4C4D0C4C4D0CBCB + DBD4D4E2CACAD4C7C7D1C7C7D1C7C7D0C7C7D0C7C7D1C7C7D0C7C7D0C7C7D0C7 + C7D1C8C8D1C8C8D1C7C7D1C6C6D1C5C5D1C4C4D0C4C4D0C3C3D0C3C3CFCCCCD9 + CDCDDACECEDACECEDACFCFDBCECEDACECEDAE6E6F5CCCCD9D9D9E7D2D2DDD9D9 + E5C7C7D1C8C8D2FBFBFFE3E3EBC7C7D0C5C5CDE0E0EDDCDCEDE0E0E8D1D1DCD1 + D1DAD0D0DAC0C0CCC0C0CCC1C1CCC2C2CDC2C2CEC2C2CEC2C2CDC2C2CDC2C2CD + CBCBD8CBCBD8CBCBD8C3C3D0C3C3D0C3C3CFC3C3CFC3C3CFCCCCD9CDCDD9CDCD + D9C5C5CFC5C5D1C5C5D1C5C5D1D8D8E2C5C5D1C5C5D1C4C4D1C2C2CEC2C2D1C2 + C2D1C2C2D1C2C2D0C2C2CFC4C4CFC5C5D1C6C6D2C6C6D2CDCDD9CDCDD9C3C3CF + C9C9D5CACAD5F4F4FFEFEFFFECECFFDADAECDDDDEEDCDCEDDCDCEDC1C1CDC1C1 + CEC7C7D4DDDDECDCDCEFD9D9F3E1E1F4E5E5F7EBEBFDEFEFFFEEEEFBECECF9EC + ECFDECECFFE1E1F0EBEBF4E8E8FBE1E1F1C4C4CFC7C7D1DDDDEBDDDDECE7E7F5 + EFEFFFF4F4FFEFEFFFC9C9D7CBCBD8CDCDDACECEDACECEDBCECEDACECEDAC4C4 + CEC4C4CEC4C4CED2D2DCD2D2DCD0D0DAC5C5CEC5C5CED1D1DCC8C8D0C5C5CDC5 + C5CDC3C3CCC3C3CCD1D1DACFCFD9C0C0CACFCFD9C0C0CCC1C1CCC2C2CDD5D5E6 + E7E7F7E7E7F7E1E1EDCBCBD7CCCCD8C8C8D4C3C3CFD2D2E1C6C6D0DADAE7D3D3 + DFCDCDDAE1E1EFE5E5F5E0E0F2D6D6E7E5E5F4E7E7F3F3F3FFF7F7FFFAFAFFF7 + F7FFFDFDFFF2F2FAE0E0ECD5D5E1D1D1E6DDDDF4D4D4E3D8D8E8F5F5FFFEFEFF + F7F7FFEDEDFEEEEEFFE7E7F9E7E7F5F2F2FFE9E9F6D7D7E3CDCDDAE8E8FBE3E3 + F7DDDDEEDFDFF3D9D9E9E1E1EFDFDFEFDDDDEEC3C3CEC3C3CDC4C4D0C9C9D4DA + DAEDDEDEEDE2E2EECACAD4DBDBE8ECECFFDCDCEACBCBD6D4D4E1ECECFAEBEBF4 + CDCDD9D1D1E2DDDDEBDDDDE8E7E7F9EFEFFFF4F4FFEFEFFFDADAE8CBCBD8DCDC + EBDCDCEDDDDDEEEBEBFBE1E1F0E5E5FDD6D6E4D9D9EBD9D9E5E0E0EFEBEBFBF3 + F3FEF3F3FFF8F8FCF5F5FFEDEDF7E5E5EBC2C2CCC2C2CCCDCDD7EBEBF4F3F3FD + FAFAFFF5F5FFECECFFE5E5FAE3E3F3E7E7F4E7E7F4E3E3F3DFDFECDDDDE8DDDD + EFE7E7FDCDCDD7DBDBE5DEDEECE1E1F3E8E8FAE1E1EFE5E5F5DDDDF2E3E3F3E6 + E6F3E3E3EED1D1DAE2E2EAEBEBF1FDFDFFD4D4DDC3C3D0D3D3DFD1D1E5D3D3E8 + C4C4CFC4C4CFCECEDAEBEBF2D4D4DDD9D9E4CECEDAC2C2CEC1C1CDC1C1CDC1C1 + CDC1C1CDC1C1CDC1C1CDC1C1CEC2C2CEC2C2CEC2C2CECBCBD9C2C2CEC2C2CEC2 + C2CEC2C2CDC3C3CEC5C5D0CFCFD9CFCFD9CFCFD9CFCFD9CFCFDACFCFDAC4C4CE + C3C3CDC3C3CEC3C3CEC3C3CEC3C3CFC4C4CFC4C4D0CDCDD9C2C2CFC2C2CFCBCB + D9CBCBD9CBCBD8CBCBD8C2C2CFC2C2CFC3C3CFC3C3CFE7E7F7E3E3FAECECFDE5 + E5F5C6C6D0C3C3CDC3C3CDC4C4CDD9D9E5D2D2DCD2D2DCC5C5CDC3C3CCC2C2CC + C2C2CCC2C2CCC2C2CCC0C0CBC1C1CCC5C5D0C1C1CCC1C1CCC0C0CCC0C0CCC1C1 + CCC2C2CEC2C2CEC3C3CFC4C4D0C6C6D0C7C7D0C6C6D0C6C6CFC6C6CEC5C5CEC5 + C5CEC5C5CEC5C5CEC4C4CFD0D0DAD0D0DAD1D1DAD1D1DAD1D1DBD1D1DBC5C5D0 + C3C3CFC3C3CECBCBD6CDCDDDC2C2CDC2C2CDD0D0DCD0D0DAD0D0DAE0E0E7FAFA + FFE2E2F1D9D9E8C1C1CDBFBFCBE1E1F3ECECF7F2F2FFCACAD9CBCBD9CFCFDFE0 + E0F2E0E0EEE1E1EFDFDFF0CFCFDDC7C7D3CBCBD8D6D6ECD9D9EDDADAEED4D4E1 + CDCDD9D5D5E3EEEEFFE7E7FAE8E8F9EDEDFAEBEBFAD2D2DDD9D9E5C7C7D3DCDC + EDC4C4D0C4C4D0C2C2D0CCCCDACCCCD9CBCBD8CECEDBD8D8E6D4D4E2C4C4CFC3 + C3CFC3C3CEC8C8D5C3C3CEC3C3CEC3C3CEC3C3CDC3C3CDC4C4CDCFCFDAE5E5F3 + E4E4ECC2C2CCC2C2CCC5C5D0D6D6DEDEDEE5DFDFEEE3E3F2F2F2F9DCDCE5D8D8 + E0E3E3EDD1D1DFCFCFDCC2C2CDC2C2CEC4C4CFC4C4D0D0D0DBD9D9E9E1E1EFEC + ECF7E8E8FDE6E6F9E0E0ECE1E1EFE6E6FAE6E6FBDFDFF1E1E1EEE6E6F5EEEEFE + F5F5FFF5F5FFE0E0E8F5F5F7C8C8D2C3C3CEC3C3CECDCDD9D1D1DDC9C9D7D5D5 + EFE5E5FDF3F3FFFEFEFFFFFFFFF3F3FCEFEFFFE1E1EDCACAD8CFCFE0E5E5F0EC + ECFBECECFFE5E5F5D2D2E0DDDDECDEDEEFE0E0F2E3E3F3E0E0F2D8D8EACACAD9 + C7C7D1C7C7D1CCCCD8D5D5E4E6E6FADCDCEECBCBD6C2C2CDE7E7FAECECFBE7E7 + F7E7E7F7EBEBF7EBEBFDE9E9F8E7E7F4DDDDEDDFDFEBE1E1EDE6E6F4DBDBEAEF + EFFCE5E5F5E7E7F9E5E5F9E7E7F9E7E7F7E1E1F7E3E3F7D0D0DEF2F2FDCDCDD9 + D3D3E5D6D6E5E5E5F3EBEBFBF3F3FFF9F9FFF9F9FFC9C9D5C3C3CCC3C3CCC3C3 + CCD0D0DBC4C4CDC4C4CEE9E9EEF5F5F6F5F5FFE5E5F6D7D7E5C9C9D5C5C5D0C6 + C6D0C6C6D0C7C7D1C7C7D0C6C6D0C6C6D0C6C6D0C6C6D0C8C8D2D0D0D9D0D0DA + D0D0DADEDEEAD1D1DBD1D1DBD1D1DBD7D7E1D1D1DBF6F6F8E7E7EEC3C3CEC3C3 + CEC3C3CDC3C3CECBCBD6CBCBE3D9D9F3D0D0DCD0D0DCD0D0DCC1C1CEC1C1CCBF + BFCCBFBFCCC1C1CEC9C9D8C9C9D8C9C9D8CACAD9C2C2CEC2C2CECACAD9C2C2CE + C2C2CECFCFE0CDCDDBC4C4D0C6C6D1C7C7D1C7C7D1CCCCD7CCCCD9CCCCD9C2C2 + CDC2C2CDC2C2CDC2C2CEC3C3CEC3C3CEC3C3CEC4C4CFC4C4CFC4C4D0C6C6D3D6 + D6E1C3C3CFCDCDD9CDCDD9C2C2CFC2C2CFC3C3CFC3C3CFC3C3CFC2C2CEC2C2CE + C2C2CEC2C2CEC2C2CEC3C3CEC3C3CED0D0DCD0D0DACFCFDAC4C4CDC2C2CCC2C2 + CCC3C3CCC3C3CCC3C3CCC3C3CDD0D0DBCECEDBCECEDACFCFDBCECEDAC2C2CDC2 + C2CEC3C3CFC4C4D0C5C5D1C6C6D1C7C7D1C7C7D1C7C7D0C6C6D0C6C6D0C5C5CF + C5C5CFC6C6D0C6C6D0CFCFDACFCFDAD1D1DAD1D1DDD1D1DCD0D0DBD0D0DBD0D0 + DACDCDD9CDCDD9D5D5DFF5F5FFF3F3FFE5E5EECCCCD7C3C3CED0D0DCD0D0DCD0 + D0DCD0D0DCC1C1CEEEEEF6FAFAFFF4F4FFC1C1CECCCCD9DADAE7E1E1F5E1E1F2 + EEEEFFEFEFFFECECFAD2D2E2C2C2CEC8C8D5C4C4D1C4C4CFC4C4CFCDCDDAD5D5 + E5DDDDECDDDDF3CCCCD9CCCCD9EEEEFFEDEDFFEDEDFFE3E3F2E7E7F4E8E8F9D2 + D2E3CBCBD6C4C4CFE3E3F6E3E3EFDFDFEDDFDFECE5E5EFE7E7F9EBEBFBEBEBFE + E3E3FAE7E7F7C2C2CEC2C2CEC2C2CEC2C2CEC2C2CED6D6E3C3C3CEC4C4CEC4C4 + CEC4C4CDC4C4CDC4C4CDD1D1DCDDDDE8F3F3FFE8E8F5DFDFE6E0E0E5E3E3EFDD + DDEAD9D9E4F5F5FFFFFFFFFFFFFFECECF7E8E8FFD4D4E5DBDBECE6E6F3ECECFB + EBEBFAE5E5F2E6E6F4E7E7F5E8E8FDEBEBF9E5E5EFDADAEEDCDCEFE2E2F2EEEE + FBE5E5F3D5D5E5CFCFDBCECEDAD5D5DFF7F7FFF9F9FFF9F9FFF3F3FFE8E8F5DA + DAE4D4D4DFCCCCDACFCFDFDFDFF5F0F0FCF7F7FFF0F0F8FAFAFFFAFAFFF2F2FF + D9D9E7D4D4DFE5E5F7E3E3F4E8E8F7CACAD7E2E2F2CCCCD9E6E6F9E1E1F4DADA + ECE1E1F1D7D7E8DADAECD3D3E3DDDDECDDDDF2DDDDF4E1E1F3E7E7F9EBEBFEEF + EFFFECECFEE8E8F5E8E8FADEDEF2E6E6F5E7E7F0E6E6F9C6C6D2D8D8E1C9C9D7 + CDCDDAC2C2D0C5C5D0E8E8FDE7E7FAE6E6F7E7E7F7E5E5F4E5E5FAE7E7FDE7E7 + F5E7E7F4EBEBFDEBEBFEDDDDEED6D6E1DCDCE7E0E0F5EDEDFBF2F2FDEDEDFFEF + EFFFE6E6EFDADADFC6C6CFCBCBD7C4C4CFEAEAF8F7F7FCDBDBE4D2D2DCC7C7D3 + E5E5FBDCDCEDC7C7D1E0E0F0D6D6E5DDDDE9CACAD6CACAD4C6C6D1C5C5CFC5C5 + CFC5C5D0D0D0E0D0D0DED2D2E0CECEDBC3C3CFC3C3CFCDCDDAE5E5F1FDFDFFDB + DBE4C1C1CDC3C3CDC3C3CDC3C3CDC3C3CEC4C4CFC4C4CFC3C3CFC3C3CEC3C3CE + CBCBD7C1C1CDC1C1CDC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC2C2CEC2C2CEC2C2 + CEC2C2CEC2C2CDC2C2CDC1C1CCD1D1DFE3E3F4CFCFDDC1C1CEC1C1CEC1C1CCC1 + C1CEC1C1CEC1C1CEC1C1CEC1C1CEC3C3CEC4C4CEC4C4CEC4C4CEC3C3CEC3C3CE + C4C4CEC4C4CFC4C4CFC4C4CFC4C4CFCFCFDAC5C5D0C4C4CFC4C4CFC5C5CFBDBD + C9BDBDC9C0C0CDC0C0CDC1C1CDC2C2CDC3C3CDC4C4D0C4C4CFC3C3CDC4C4CDD1 + D1DCC4C4CDC4C4CDC5C5CDC5C5CDC6C6CFC7C7D0C7C7D0C7C7D1D1D1DBD1D1DB + D0D0DAD0D0DACFCFD9CFCFD9CFCFD9CFCFDAC4C4D0C4C4D0C4C4D0C4C4D0C4C4 + CFC3C3CDC3C3CDC3C3CFC4C4CFC3C3D0C5C5D1CECEDCCECEDCCDCDDAC2C2CFE1 + E1F3DDDDECE8E8FAE1E1E9CBCBD6C1C1CDC3C3CDCCCCD6F2F2FFECECFDD6D6E4 + DADAE8D1D1E0D7D7E6DDDDEEE8E8FFF2F2FFDADAE4FAFAFFFAFAFFF2F2FFC5C5 + D2D1D1DEDDDDEBE5E5F3E5E5F4DDDDF1E4E4F6C9C9D4CECEDCD3D3E1E6E6F7E1 + E1F1E0E0F2D8D8EAC1C1CCC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC3C3CEC4C4CE + C4C4CEC5C5D1C3C3CEC3C3CEC3C3CEC4C4CECBCBD5E3E3F4E1E1F2DDDDECE0E0 + EFE3E3EFE3E3F7D0D0DDBDBDCBBDBDCBC0C0CDC0C0CDC0C0CDD5D5E5C2C2CDC3 + C3CDC4C4D0C3C3CEC5C5CEC7C7D0C5C5CDC5C5CDC5C5CDC5C5CEEBEBF6EBEBFB + DADAE7D4D4DDDCDCE5D7D7E2EBEBF7EEEEFEFDFDFFFFFFFFF7F7F9D9D9E4C6C6 + D3C3C3D0CFCFE0E6E6F7ECECFAECECFEEBEBFBECECFBEBEBFAEBEBF5DEDEF0E7 + E7F7DFDFEBDADAECE5E5F9EBEBFADDDDECDADAE8EDEDFDF7F7FFC1C1CDC3C3CE + C3C3CEC3C3CDECECFFCCCCDAD3D3DFCBCBD6D3D3DFD2D2E5CDCDDBC1C1CDC1C1 + CDC1C1CDD5D5DFF7F7FFF3F3FFF4F4FFEDEDFBEBEBF5E5E5EFE1E1F4E7E7FDE5 + E5FBDFDFF1C1C1CDC1C1CDC1C1CCC1C1CCC1C1CCC1C1CCC1C1CEC1C1CEC1C1CE + DFDFF7DDDDF4E3E3F7E5E5F6DEDEEECDCDDBDADAE4E5E5F3E1E1EEE7E7F5E4E4 + F6D7D7E5C4C4D1C4C4CFC4C4CFD8D8E4DFDFF3E6E6F5E5E5F4E3E3F2DCDCECDA + DAEBDDDDF2E1E1FDE7E7F9E7E7F3C4C4D0C5C5D0D4D4E0E1E1ECD2D2E1C9C9D3 + C5C5CEC6C6CFC7C7CFD6D6E1E6E6F9DADAE8D7D7E0E0E0EBEBEBF4E4E4F1E6E6 + F5FFFFFFFFFFFFF2F2F5CFCFDCC3C3D0C4C4D0DBDBEAE7E7F4E1E1F2C4C4D0C4 + C4D0C4C4D0CECEDAC3C3D0C3C3D0C5C5D2D3D3E3C7C7D5C2C2CFC2C2CEC1C1CD + C1C1CDC1C1CDC1C1CDC3C3CEC3C3CDC1C1CDC2C2CDC2C2CDC2C2CDC2C2CDC2C2 + CDC1C1CDC1C1CDC2C2CEC1C1CEC1C1CDC1C1CEC1C1CEC2C2CFC2C2CEC2C2CDC2 + C2CDC3C3CEC3C3CECCCCD9C1C1CDC1C1CDC1C1CDC1C1CDC1C1CCC1C1CCC1C1CD + C1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC2C2CEC3C3CEC3C3CEC3C3CEC3C3 + CEC3C3CEC2C2CECCCCD7CCCCD9CCCCD9C4C4D1C1C1CEC2C2CEC2C2CDC2C2CDC4 + C4CEE5E5F5DFDFEEDDDDF2C0C0CDC0C0CDC9C9D8CACAD8C4C4CEC4C4CECECEDA + D4D4DFC7C7D0C6C6D0C6C6D0C5C5D0C5C5CEC7C7CFC7C7D0C9C9D2C9C9D2C9C9 + D2C7C7D2D1D1DCD1D1DCD0D0DBCFCFDACECED9C3C3CEFDFDFFEFEFFEE1E1F5C8 + C8D5C4C4CEC4C4D0CBCBD8C5C5CFC5C5CFCDCDDACACAD7C3C3D0C5C5D2C4C4D0 + C4C4D2C7C7D4C2C2CEC1C1CDC1C1CDC6C6D3E9E9FCF7F7FFFFFFFFF5F5FFC2C2 + CDCDCDDAC8C8D4E0E0E9C9C9D4C7C7D3D0D0E1D0D0E7DADAF2E8E8FEE1E1EED5 + D5E1F4F4FFF7F7FFF9F9FFF7F7FFDFDFEDC3C3CDC1C1CCCFCFDEDCDCF0E5E5F9 + E7E7F9EBEBFBE6E6F7E3E3EEE0E0F3E5E5F9E3E3F2E0E0F3E1E1F5C1C1CEC1C1 + CECCCCD9E1E1F5E6E6FDEFEFFFECECFECDCDD9C1C1CED7D7E7DFDFF7E7E7F7E8 + E8F7E6E6F3D1D1DEC2C2CDC4C4CFBFBFCDBFBFCDBFBFCDC0C0CDD1D1DEC9C9D7 + C2C2D0C4C4CDE3E3F9E5E5F3E7E7F4EDEDFAE2E2EFE1E1F0D7D7E7DDDDF3E7E7 + F9E6E6EFE8E8F9E6E6FDE1E1F1D7D7E0D7D7DFE3E3E7EBEBF9DDDDEACCCCD7F4 + F4F7FFFFFFFAFAFFEDEDFEE5E5F3D4D4E3C4C4D0DDDDEFEBEBF7DCDCE7CDCDDA + CDCDDAC5C5D2C4C4D0C3C3D0D9D9E9D8D8E8DCDCEDE3E3F4E3E3F2DCDCE8DCDC + EEE7E7FEFFFFFFFEFEFFF3F3FFECECFFE7E7FDE6E6F5E7E7F2ECECF4DBDBEDCF + CFE3D3D3E7DADAF2E8E8FEE5E5F2CBCBD8C3C3CFDADAE5F9F9FFFAFAFFDDDDE8 + DADAE9C6C6D3DADAE9C6C6D3C1C1CDC0C0CDC7C7D4DFDFEDC1C1CDC1C1CEC1C1 + CED5D5E2C4C4D2C1C1CECCCCDAE2E2F5E1E1F3E1E1F5E8E8FFE6E6F7E8E8FBE6 + E6EFE3E3EEDDDDF2E1E1F4E7E7F7E8E8F7E6E6F5E0E0F4E3E3F3D3D3E2D4D4E3 + E6E6F7E6E6F7DDDDEED7D7E8D7D7ECDADAF4E5E5FDE3E3F5E5E5F3C4C4CEC8C8 + D2ECECFBE3E3F3CDCDDCCDCDD7CDCDD7C5C5D1DADAECE8E8FAE3E3F2C5C5D2D0 + D0DCCFCFDBC4C4CFC3C3CECCCCD9CCCCD9CBCBD8C4C4D0C3C3CFC4C4D0C4C4D0 + C5C5D0CDCDDACDCDDACECEDCCECEDCCDCDDAC4C4D0C2C2CFC2C2CFC2C2CFC2C2 + CEC1C1CDC1C1CDC1C1CDC1C1CDCACAD8CACAD8C1C1CDC1C1CDC1C1CDC1C1CDC1 + C1CDC1C1CDC1C1CDC1C1CDCBCBD9C1C1CCC1C1CCC1C1CCC4C4D0CFCFDACFCFDA + D0D0DAD0D0DAD0D0DACECED9CCCCD9C1C1CDC0C0CCC0C0CDC1C1CDC0C0CDC0C0 + CDC1C1CDC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC2C2D0C2C2CEC2C2CEC1 + C1CCC1C1CCCCCCD9CCCCD9C1C1CCBFBFCBBFBFCBBFBFCCC0C0CCBFBFCABFBFCA + BEBEC9BEBEC9C0C0CCC0C0CCC0C0CDC0C0CDC9C9D8C0C0CDC0C0CDC0C0CDC4C4 + CDC4C4CEC4C4CDC4C4CDCDCDD9CDCDD9CDCDD8CDCDD8C2C2CDC2C2CDC4C4CEC4 + C4CEC5C5D0C5C5D0C5C5D0C5C5D0C8C8D2C4C4CFCCCCD9CCCCD9CBCBD9CBCBD8 + CBCBD8C3C3CEC3C3CED0D0DED8D8E2DADAE7EEEEFFF9F9FFF7F7FFF5F5FFEFEF + FBE6E6F7E7E7F9E8E8FADDDDEDC1C1CDC1C1CDCECEDBCDCDDACCCCDBCACAD8CA + CAD7CACAD7C1C1CDC1C1CDC4C4D1DADAECCACAD7CCCCD9CCCCD9D5D5E3C5C5D2 + CECEDBD2D2E1E8E8FEEEEEFBF2F2FDDEDEE8D8D8E1FBFBFFFAFAFFF3F3FFDEDE + EAE0E0EEDFDFEFDFDFF3DDDDEDC1C1CEC7C7D5D2D2E2D7D7E6CCCCDBD2D2E3EB + EBF5EBEBF5E5E5FADCDCEBE5E5F9E1E1F5DFDFF3E8E8FFEDEDFFECECFBE3E3EC + D1D1DFC1C1CDBEBECABDBDC9BDBDC9BEBEC9C1C1CDC1C1CDC1C1CEC9C9D8CACA + D8C2C2CDC0C0CDC3C3CDC4C4CDC4C4CDD4D4E3E7E7FAE7E7F4EBEBFAE8E8F7EC + ECFBE6E6F5DDDDEDDFDFEEE6E6F5E7E7F7E8E8F9E7E7FADFDFEED1D1D7D5D5DD + E1E1F0E1E1EFF5F5FFF5F5FFF7F7FFFEFEFFF2F2FFE3E3F3DBDBE4DADAE9DFDF + F0F2F2FFF9F9FFFDFDFFE9E9F2DEDEEEDDDDEDE7E7F9E8E8FAE6E6F7E3E3F2E3 + E3F5E1E1F3DFDFEDD9D9E8DCDCEDECECFFFBFBFFFEFEFFCFCFDBDCDCF1D5D5E8 + E3E3EFD5D5E2D6D6E5D5D5E3D3D3E5D3D3E7D6D6E9E4E4F5E6E6F2F0F0FCF5F5 + FFFBFBFFFBFBFFFAFAFFF3F3FDE5E5F1C3C3D0C8C8D6DFDFF3E3E3F3E1E1EFE8 + E8F7E1E1F3E0E0F2DDDDF3D1D1DDDADAE5D5D5E3D2D2E1CBCBD8CCCCDAC2C2CE + C1C1CCD1D1E3D4D4E2D3D3E1BFBFCAD8D8E8D5D5EBE5E5F3DCDCE8E5E5F4E6E6 + F7EFEFFDE8E8FAE3E3F9DFDFF5E1E1F5E7E7F9DADAF4D6D6E8DCDCE7D6D6E4D4 + D4E2E7E7FAE7E7F7EBEBFAEDEDFDD1D1DDE6E6F5C9C9D5CBCBD8C3C3CEC3C3CF + C7C7D2C5C5D0C4C4D0C5C5D0D3D3DFD6D6E4C9C9D8C9C9D8C9C9D8C9C9D8C3C3 + CEC3C3CEC4C4CFC5C5D0C5C5CFC5C5CFC4C4CFC4C4CFC2C2CFC2C2CFC3C3CFC2 + C2CFC1C1CDC1C1CDC1C1CDC1C1CDC9C9D6C9C9D7CACAD8CBCBD9CBCBD9CDCDD9 + CDCDD9CDCDD9CDCDDBCDCDDBCCCCD9CCCCD9CDCDDACDCDDACECEDBC2C2CECFCF + DACFCFDACFCFDBEEEEF9F2F2FFD6D6E0CFCFDACFCFDAC1C1CDC1C1CDC1C1CDC1 + C1CDC1C1CDC1C1CDC1C1CDC8C8D4C8C8D4C2C2CEC2C2CEC2C2CEC2C2CFC2C2D0 + C1C1CCC1C1CCC1C1CCC1C1CCC0C0CCBFBFCCBEBECABEBEC9BEBECACECEDADFDF + EEC1C1CDBEBEC9C0C0CAC1C1CEC1C1CEC2C2D0C2C2D0C3C3D0C3C3CEC2C2CDC6 + C6D1C4C4CDC4C4CDCDCDD8CDCDD8CDCDD9CCCCD8C1C1CDC1C1CCC1C1CDC1C1CD + C2C2CDC2C2CDC3C3CEC3C3CFC3C3D0CECEDCCCCCDBCBCBD9CCCCDACBCBD9C9C9 + D8C9C9D8C9C9D8C9C9D8C1C1CDEFEFFCECECFBE0E0EECCCCD8C5C5CFD4D4E0E8 + E8F3FEFEFFFBFBFFF2F2FFE6E6FDC5C5D0CBCBD8C9C9D6C9C9D7C9C9D7CCCCDA + D2D2E0CCCCDACCCCDADEDEEBEDEDFFFDFDFFF7F7FFE4E4F5D3D3E0DDDDEEE0E0 + F2DFDFEEC2C2CDC1C1CDD6D6E7D3D3EBDADAEEDDDDEBE0E0EBECECF8DADAE7D6 + D6E0E9E9EDFAFAFFF3F3FDE8E8F4D3D3E2C1C1CDC2C2CDDDDDE6E6E6F2E3E3F4 + E0E0F4E1E1F3E1E1F5EBEBFBEEEEFAECECFAECECFAE0E0F0BFBFCCBFBFCCCDCD + DBE8E8FAE7E7FAD7D7E7CCCCD9D1D1DDBEBEC9BEBEC9DDDDEDE2E2EFEBEBFAED + EDFDC3C3D0C3C3CFC3C3CEC3C3CEC4C4CED3D3DFD6D6E7D7D7EFE6E6F5EDEDFB + E7E7FDD8D8E5E9E9F5C2C2CDECECFEE8E8F5E3E3EFE0E0F2E5E5F2E6E6F7E7E7 + FAE3E3F2D9D9E7CFCFDFD5D5E3E6E6F4F5F5FFFAFAFFF7F7FFF3F3FFEEEEFFEC + ECFBDADAE6D6D6E4DFDFEFE8E8FAF4F4FFECECF1C4C4CFC3C3CFC6C6D3E3E3ED + E7E7EFE8E8FEECECFFE1E1F5E0E0EEE3E3EEE1E1EDDDDDE7DDDDF5CDCDDACDCD + DACDCDDBC8C8D6DFDFF3D3D3E5C3C3CFC0C0CBC0C0CBCECEDCD6D6EBCDCDDACE + CEDACECEDACFCFDAD1D1DDF2F2FFFFFFFFFEFEFFF3F3FCECECFAD1D1DFD7D7E8 + D5D5E5DEDEE9D6D6E2D8D8E8E5E5F3E3E3F2DCDCF3E6E6F5E2E2F0BFBFCBBFBF + CBE8E8FBEEEEFFEDEDFFE1E1F2BEBEC9BEBECABFBFCAC1C1CDE1E1EFE0E0F3E6 + E6F5E7E7F9ECECFDECECFAECECFAE8E8FDE7E7FBE7E7F5CACAD9C3C3CFD7D7E4 + DCDCF3D5D5EBE0E0EBE5E5F2E7E7FFD6D6E2ECECF5C9C9D6DADAE8D6D6E3E8E8 + F5E3E3EFCCCCD9C1C1CEC1C1CEC2C2CFC1C1CDC0C0CDC0C0CDCBCBDADCDCE7C4 + C4D1C0C0CDC1C1CDC2C2CDC3C3CEC3C3CEC3C3CEC3C3CFC3C3CFCDCDD8CCCCD8 + C4C4CEC4C4CFC3C3CFC2C2CDC2C2CDC9C9D7C2C2CEC2C2CDC2C2CDC2C2CEC1C1 + CDC1C1CDC1C1CDCDCDDACDCDDBC1C1CDC0C0CDC0C0CBC0C0CBC1C1CCC1C1CCC1 + C1CCC0C0CCC0C0CCC1C1CCC1C1CDC1C1CDC3C3CDC3C3D0C3C3D0C3C3CEC3C3CE + C3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC4C4CFCECED9CECE + D9CDCDD9CDCDD8C1C1CCBFBFCBBFBFCBCBCBD9C0C0CCC0C0CCBEBECBBFBFCCBF + BFCCBFBFCCBDBDC9BDBDC9D4D4E2C5C5D0C5C5D0C6C6D1C6C6D1C5C5D0D8D8E7 + C3C3CFC3C3CFC3C3CFC3C3CFC2C2CEC2C2CEC3C3CFC2C2CDC2C2CDC2C2CDC2C2 + CDC2C2CDC2C2CDC2C2CDC3C3CEC1C1CEC1C1CEC1C1CEC1C1CEC1C1CEC2C2CFC0 + C0CDC0C0CDCACAD8C0C0CDC0C0CDC0C0CDC1C1CDC1C1CDF4F4FFEDEDFFD0D0DE + C3C3CBC3C3CECDCDD8CECEDAC4C4CECBCBD9DDDDE6C2C2CEC2C2CEC2C2CEC2C2 + CEC2C2CED7D7E7E8E8F3E3E3EED7D7E2E1E1EFDDDDEDE3E3F4EEEEFFFBFBFFD4 + D4DFDCDCEFD5D5E6DADAEEDDDDEED8D8E6C8C8D3E5E5F7D7D7ECD9D9EFDFDFF3 + E8E8F9E7E7FBEEEEFFF7F7FFFAFAFFF9F9FFF2F2FFC3C3CDC3C3CDC5C5D0C5C5 + D0C5C5D1C3C3CECFCFDACECEDACDCDDAC3C3D0D9D9E5E0E0ECD5D5E3CCCCD9C2 + C2CFC0C0CCC0C0CCCDCDDACACADAC0C0CDBFBFCCBDBDC9C1C1CDC6C6D0C9C9D4 + DFDFEADBDBEAC6C6D0C5C5D0C5C5D0C3C3CFC3C3CEC3C3CEE1E1F4DBDBEAC2C2 + CEC2C2CDC2C2CDC9C9D4CACAD6E6E6F9E4E4F3E3E3EEC1C1CEDDDDEEE8E8F9E6 + E6F3E3E3F2E5E5F4E6E6FAE7E7F7E0E0EFCCCCDAC4C4CFCCCCD8EBEBFAF4F4FF + ECECF6F5F5FFF2F2FFE7E7FEE0E0EDDFDFEBE1E1F3D4D4E2CDCDDBECECF2FCFC + FCF5F5FFEBEBFCE3E3F0D8D8E3CECEDCC2C2CEC2C2CEDBDBE7CDCDD9C1C1CDC1 + C1CDC1C1CEC1C1CEE2E2F2FBFBFFECECF6C3C3CED5D5E6DADAEEDDDDECE1E1EE + E7E7F5E1E1FADADAF2DCDCEFDFDFEFE8E8FAE7E7FEEEEEFFF4F4FFCDCDD7F5F5 + FBF3F3FFE6E6EFC1C1CDC3C3CDC3C3CEC7C7D3DFDFE8E1E1EFE3E3F5CECEDBC3 + C3D0CDCDDADCDCEDDEDEEAF4F4FEF2F2FFEFEFFFECECFAE5E5F4D3D3E3E8E8FE + E0E0EEE7E7F7E8E8FAECECFDF4F4FFF3F3FFEBEBFDE3E3F4E7E7F5EDEDFBECEC + FFE6E6FAE3E3F5E2E2F4E5E5F4E1E1F2DCDCECDFDFF2CDCDDBE5E5F3E8E8F9ED + EDF7ECECF7C1C1CEC1C1CEC1C1CDC1C1CEC2C2CFCFCFDCC7C7D5CDCDDAC4C4CF + C3C3CEC2C2CDC3C3CDC3C3CDC3C3CDC3C3CDC3C3CEC3C3CEC3C3CECDCDDACDCD + DBCDCDDBCDCDDBCDCDDACCCCDAC2C2CEC2C2CEC2C2CEC2C2CEC2C2CDC2C2CDC2 + C2CDC1C1CDC0C0CCC0C0CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDDDDDE5F3F3FF + CECEDCC1C1CEC0C0CCC2C2CEC8C8D6C8C8D6C7C7D5C0C0CCC1C1CDC1C1CEC3C3 + D0C3C3CEC3C3CEC3C3CEC3C3CED5D5DFC2C2CDC1C1CDC2C2CEC6C6D1C3C3CFCE + CED9CDCDD9C4C4D0C4C4D0C3C3CFC1C1CDC1C1CDD2D2DFE8E8F2F3F3FCD8D8E4 + C1C1CEC3C3CFC3C3CFC3C3CEC3C3CECFCFDCD4D4DED4D4DED3D3DED2D2DEC9C9 + D1C6C6D0C6C6D0D0D0DCCECEDAC2C2CDC2C2CDC2C2CED8D8E8DBDBE9C2C2CDC3 + C3D0C3C3D0C3C3CDC3C3CDC2C2CEC2C2CEC1C1CCC1C1CCC1C1CEC1C1CEC3C3CF + C3C3D0C3C3D0C4C4D0D9D9E5D2D2DDC7C7D2C3C3CDC4C4CDD9D9E5DFDFE9DADA + E6E9E9F3CFCFDDCDCDDCD7D7E7DCDCEDE0E0F2ECECFDF4F4FFD6D6E0D1D1DBEC + ECF6ECECFEE3E3EFDFDFECE6E6F5EDEDFFEEEEFED6D6E2DDDDEEE5E5F2E5E5EF + DFDFF3E8E8FBF3F3FFFBFBFFF3F3FEE3E3F9DCDCEFC9C9D6D4D4E4DADAF2E8E8 + FDECECFADDDDEFDCDCEDE1E1F2CBCBD7DADAEDE5E5F6F2F2FFF9F9FFFAFAFFF5 + F5FFEEEEFEE3E3F5E1E1F4C3C3CFC3C3CFC3C3CFDDDDEAE6E6EDD1D1E3D5D5ED + E1E1EEF4F4FFF9F9FFF5F5FFF3F3FFEFEFFFF2F2FFECECFEE6E6F5E2E2F3D2D2 + DED2D2DED2D2DED2D2DDD2D2DDC6C6D2C6C6D0CECED9CECED9C0C0CCC0C0CCCA + CAD7D2D2E4CCCCD9C2C2CCC9C9D6DADAEAE5E5F7EBEBFAE7E7F4E7E7F4F2F2FE + F2F2FFF4F4FFF5F5FFEEEEFBE3E3F3DFDFF2E5E5F4EBEBFAEBEBF4E3E3EFD9D9 + EBD1D1DFDCDCE7DADAE6E0E0EBF5F5FFF4F4FFEDEDFFE1E1F3D1D1E2DCDCEDD9 + D9E8E6E6F8C4C4D0CFCFDDD8D8E4EAEAF5CDCDDBC4C4D1DCDCECE8E8F5F2F2FF + C5C5D1C9C9D4D3D3DEC5C5D0C5C5D0C4C4CFC4C4CFC4C4D0C4C4D0C2C2CEC1C1 + CEC8C8D5C8C8D5C8C8D6C7C7D5C8C8D6C2C2CFD2D2E0C7C7D2C3C3CEC3C3D0C3 + C3CEC3C3CEC3C3CEC3C3CDEDEDF2F3F3FFCFCFDEE7E7F3E5E5F2E1E1F2D3D3E2 + C4C4CFC6C6D2C3C3CFC3C3CFC4C4D1CFCFDAD2D2DCCFCFD9EAEAF3F4F4FFF4F4 + FFE6E6F2CBCBD7C7C7D2EBEBFAE6E6F9ECECFBEDEDFBEFEFFFF5F5FFF4F4FFED + EDFEE5E5F2E6E6F4E8E8FADFDFF1BEBEC9BEBEC9C2C2CCCCCCDAE6E6F5E0E0F3 + E5E5F2D0D0DCC1C1CCC1C1CCC1C1CCC1C1CCCECEDBCDCDDAC6C6D2C6C6D1C6C6 + D0C6C6D0C4C4CEC4C4CEC4C4CDC3C3CDC3C3CDCECEDACECEDACECEDBCECEDACD + CDDAC3C3D0C2C2D0CDCDDACDCDDACCCCDACBCBDACBCBDAC3C3CFC2C2D0C2C2CE + C2C2CEC2C2CECACAD8C2C2CCC2C2CDC4C4CDC4C4CEC4C4CFC5C5CFC5C5D0C4C4 + D1C4C4D1C4C4D0C2C2CEC1C1CEC1C1CEC8C8D5C1C1CEBFBFCCBFBFCCBFBFCCC0 + C0CCC1C1CDC2C2CDC3C3CEC3C3CEC3C3CECECEDACECEDACFCFDBC2C2CDC2C2CD + C2C2CCC2C2CCC3C3CDC3C3CDC4C4CFC4C4CFC3C3CFC4C4CFC5C5D2CFCFD9CFCF + DACFCFDACFCFDACFCFDACFCFDACFCFDAC6C6D0C6C6D0C5C5D0C5C5D0D2D2DCC6 + C6CFC5C5CFC5C5D0C4C4D0F0F0FBEBEBFEDFDFECC0C0CDC0C0CEC9C9D7BFBFCC + BFBFCCC2C2D0D0D0DCD1D1DCD1D1DCD1D1DCC2C2CDC1C1CCC1C1CCD3D3E0CECE + DBCDCDDAC6C6D2C6C6D2C6C6D1E0E0F1E7E7F4E1E1ECDBDBE7D3D3E1DCDCEBD4 + D4E0DDDDE8CECEDACDCDDACBCBDAC2C2D0C2C2CEC3C3CFDADAECD1D1E3E3E3FD + D4D4DEECECF6E6E6F2F7F7FFEFEFFFE5E5FDE1E1EFD8D8E4E7E7F9F2F2FFEFEF + F9C4C4CFE5E5F4E2E2EFE6E6F3E7E7F5EEEEFBF5F5FFF7F7FFEFEFFEE0E0F2D6 + D6E7D6D6E5DCDCE8E3E3F3E1E1F5D3D3E2DFDFEEDCDCF2E3E3F7E8E8FEE5E5FE + EBEBFFF5F5FFDDDDE5C2C2CDC2C2CDC3C3CDC3C3CDC3C3CDD0D0DCE6E6F4E1E1 + EFD7D7E0C5C5D2CFCFD9D4D4E3E6E6F9F5F5FFFAFAFFE8E8F3F2F2FCD0D0DAC8 + C8D1C4C4CDC4C4CDC4C4CDC4C4CDC4C4CEC5C5D0CDCDD9E2E2EEF4F4FFECECFE + D2D2E1E1E1ECEBEBF3ECECFFEDEDFFE7E7FFE7E7F9E0E0EAD1D1DCD3D3DDE1E1 + F4E6E6F5E7E7F3E7E7F9EFEFFFF9F9FFFAFAFFF3F3FFE5E5F3D1D1DEE7E7F7E7 + E7F4E7E7F4E2E2F0E1E1EEDCDCEDD7D7E6D8D8E3CDCDDACBCBDACFCFDDC3C3CE + C3C3CED0D0DDCACAD8DCDCF4C3C3CEC3C3CEC3C3D0C2C2CEC2C2CEC2C2CDC2C2 + CCC2C2CCC3C3CCC3C3CCF4F4FEEBEBFAE8E8FAC5C5D0C6C6D0C4C4D0C4C4D0C4 + C4CFC3C3CFF7F7FFDBDBE9BFBFCCBFBFCBCBCBD8D4D4E1CDCDDAC9C9D6CBCBD8 + CECED9D3D3E1D0D0DEE8E8FFCFCFDCCFCFDBCFCFDBC3C3CFD9D9E4D9D9E4D6D6 + E5C3C3CDC4C4CFC4C4CFC4C4CEC4C4CECFCFD9C7C7D3C6C6D3D1D1DCD1D1DCED + EDF9F7F7FFF6F6FCD3D3DDCECED9E8E8F9DDDDEDD9D9ECC4C4CDCFCFD9DEDEEA + DADAE6CBCBD9CBCBD8CACAD7D6D6E5CBCBD8DBDBE5E1E1F5BFBFCCBFBFCCD1D1 + DAD1D1DAD1D1DBDEDEEACBCBD6C2C2CCD0D0DBD0D0DBC8C8D2D9D9E5FBFBFFE4 + E4EAC9C9D2C8C8D1C6C6D0C5C5CECECEDACECEDACECED9C0C0CAC0C0CBCDCDDA + CBCBD9CBCBD9F3F3FFD6D6E0C7C7D2C4C4CFC5C5D0C5C5D0C4C4D0D2D2DDC3C3 + D0C2C2CEC2C2CEC2C2CDC2C2CDC3C3CCC3C3CCC3C3CCC4C4CDC5C5CFC6C6CFC6 + C6D0C6C6D0C6C6D0C4C4D0CDCDD8C4C4D0C3C3CEC3C3CEBFBFCCBFBFCBC0C0CC + C8C8D5CBCBD6CBCBD6CECED9CECED9C5C5D1C5C5D1D0D0DDD0D0DCCFCFDBCFCF + DBCFCFDBC3C3CEDDDDE5CFCFDBDDDDEECACAD4C5C5CFC4C4CFD0D0D9D0D0D9C6 + C6D3C5C5D0C5C5D0D0D0DAC7C7CFC7C7CFC8C8D1D0D0D9C8C8D2D7D7E4CBCBD6 + C4C4D0C4C4CDCDCDD9CDCDD9CCCCD9CCCCD9CBCBD8CACAD7C9C9D7C9C9D7C0C0 + CCBFBFCCBFBFCCD5D5E0DDDDE7D7D7E0D1D1DBC5C5CEC4C4CDC4C4CDC5C5CEC5 + C5CEC6C6CFC8C8D2C8C8D2E9E9EFF7F7FFEEEEFFEDEDFAEBEBF7E7E7F7D8D8E5 + C1C1CAC0C0CAC0C0CAC0C0CBC1C1CBC1C1CCEAEAF6F9F9FFF4F4FFDBDBEAC5C5 + D0C5C5D1DADAEFDFDFECECECF3EDEDFFEDEDFFF3F3FFEEEEFFE8E8FFE6E6FAE3 + E3F2E7E7EFDEDEEDD1D1DCEEEEFDEBEBF3ECECF3ECECF5E8E8F7ECECFECBCBD6 + E3E3EDEEEEF6EDEDFBDDDDEED5D5E1D6D6E1E0E0ECE6E6F5E8E8FEE6E6FAE0E0 + F2E1E1EEE7E7F7E8E8FFE5E5FFE6E6FFEDEDFFF7F7FFF3F3FFEFEFFEECECF7E1 + E1F5E8E8FAEDEDFEE7E7F7E8E8EFE7E7EED2D2DCDBDBEBDDDDF2E6E6F5F3F3FE + F4F4FFD5D5E4C3C3D0DFDFF2E0E0EFDDDDEDDCDCECE0E0EFEBEBFDEEEEFEF2F2 + FEF4F4FFF5F5FFF4F4FFE8E8F5D9D9EBDDDDEDE3E3F4F2F2FFF7F7FFF2F2FFF3 + F3FEEEEEF9E6E6F3DDDDECDFDFF2E3E3F5E6E6F5E7E7F5E3E3EBF9F9FFF4F4FF + F2F2FDEDEDFAE1E1EEE7E7F7CECED9E2E2F1D8D8E4D6D6E5C1C1CBC1C1CCC3C3 + CFC4C4CFC5C5D0CDCDD8C8C8D4C8C8D4D3D3E4C4C4D0C4C4D0C3C3CEE4E4FBDE + DEECCFCFDCC4C4CFC5C5CEC5C5CFC6C6CFC6C6CFC6C6CFD6D6E0D3D3DDDFDFE8 + C5C5CFCECED9CECED9C3C3CEC3C3CECBCBD6E8E8F1EDEDFBDDDDECD5D5E3D2D2 + E1C2C2CEC5C5D1C5C5D0DDDDEFE1E1F0DFDFF0DADAEBE8E8FFD2D2E4CBCBDACE + CEDAC3C3CDC4C4CDC4C4CEC5C5CFD0D0DAD0D0DAC5C5CEC5C5CEC5C5CEC5C5CE + CCCCD8C5C5CFC6C6CFD8D8E3E8E8F6DDDDEAC3C3CFD2D2E3DFDFF2E0E0EFDDDD + EDDFDFEEE0E0F5EBEBF9EEEEFBEEEEFFDEDEE9CBCBD8C2C2CEC2C2CEC3C3CED1 + D1DAD1D1DAC5C5D0D1D1DAC5C5CEC4C4CDC4C4CDC5C5CDC5C5CFD0D0DCD0D0DC + D1D1DCD1D1DCCFCFDCCFCFDBCECED9CECED9C5C5CEC2C2CED6D6E2E5E5F4C2C2 + CCC3C3CDC1C1CCCBCBD5C5C5CFC5C5CFC5C5D0C5C5D0C6C6D0C5C5D0C5C5D0C4 + C4D0C3C3D0C3C3CEC3C3CEC3C3CEC3C3CECFCFDACFCFDAC6C6CFC6C6CFC5C5CF + C5C5CDC5C5CDC5C5CDC5C5CDC5C5CDD0D0DACFCFD9CBCBD7C4C4D0CDCDD9C3C3 + CEC3C3CEC2C2CEC2C2CEC2C2CEC3C3CEC5C5D1C5C5D0C5C5D0CDCDDBCDCDDACC + CCD9CCCCD9CBCBD8C3C3CEC4C4CEC4C4CEC4C4CED0D0D9D0D0DAD0D0DAD0D0DA + C5C5CEC5C5CEC5C5CECFCFD7D8D8E3C6C6CFC7C7D0C8C8D1C8C8D3C8C8D3C2C2 + CDC2C2CDC2C2CDC1C1CDC1C1CDC3C3CDCBCBD9C3C3CFC4C4D0C4C4D0C4C4CFC3 + C3CEC3C3CEC3C3CDC3C3CDC3C3CCC3C3CCC6C6CFD1D1DAD0D0DAC5C5CEC5C5CD + C5C5CED1D1DBDCDCECE1E1F2D0D0DCD1D1DCCFCFDCF1F1FCF5F5FFC5C5CEC4C4 + CEC3C3CEEBEBFAE7E7F7E1E1F2E0E0EDE6E6F2E6E6F3E3E3F7E5E5F7EDEDF7EF + EFFBEEEEFFEEEEFBC8C8D4E7E7FAE1E1EEE0E0EBE0E0F4E5E5FAE7E7F7EBEBFA + EDEDFDEFEFFFE6E6FEE1E1F9E2E2F0C5C5CDC5C5CDD7D7E3E6E6F3EEEEFDECEC + F9EFEFF5D8D8E2D8D8E4C3C3CEDADAE5D5D5E0DBDBEACDCDD9D7D7E0D7D7E0DD + DDEFCCCCDCCDCDDBCDCDDAE4E4F2E3E3EFE5E5FAE7E7FFDFDFF9E3E3F9EBEBFD + E8E8FFEFEFFFF4F4FFEDEDF9E6E6F4EBEBFEF2F2FFEDEDF9E8E8F7E8E8F4D2D2 + DDD9D9E5D8D8E1EBEBFBC1C1CEC1C1CEC1C1CDC1C1CDD2D2E4E1E1F7DCDCEEC2 + C2CEC3C3CFC4C4D0C4C4CEC4C4CEE2E2ECEDEDFDECECFBE5E5F7D7D7EBDDDDEA + C8C8D2F9F9FFF2F2F5FAFAFFEAEAF7E7E7F4E3E3EFE0E0EED9D9E6DADAEBD5D5 + E3E3E3F2DCDCE7D8D8E0DEDEE9DBDBE7DEDEEAC3C3CEC2C2CEC3C3CEC5C5D1C5 + C5D1C5C5D0C5C5D0C6C6D1C6C6D1C6C6D0C6C6D0C5C5D0C4C4D0C3C3CFC8C8D4 + C3C3CEC4C4CFCDCDD8CFCFDAC7C7D1C7C7D0C7C7D0C7C7D1C6C6D0C6C6D0D0D0 + DAD0D0DAC6C6D0D1D1DAD1D1DAC7C7D1C7C7D0C7C7D0C7C7D0C8C8D2CECED8F2 + F2FFDBDBE6C7C7D1C5C5D1C5C5D1CECEDCD0D0DECDCDDACDCDD9CCCCD9CCCCD9 + CCCCD9CCCCD9D2D2E2D9D9EBE3E3FAD0D0DAD0D0DAD0D0DACFCFDACECED9CECE + D9CFCFD9C6C6CFD0D0D9D0D0D9DDDDEAD4D4DDDBDBE5DEDEEFD5D5E5C1C1CDC1 + C1CDC1C1CDC1C1CDC1C1CDC6C6D3C7C7D3C4C4CFC5C5CFC5C5CED8D8E2EFEFFD + EDEDFDC5C5CEC4C4CDC5C5CDC5C5CFD0D0DAE0E0E7D0D0DAC7C7D0C7C7D0C6C6 + D0C6C6D0C4C4D0CBCBD8CECEDACECEDACDCDD8CACAD7C3C3CEE6E6F2C4C4CEC4 + C4CEC3C3CEC4C4CEC5C5CFC5C5D1C5C5D1C6C6D1C6C6D1C7C7D1C6C6D1C6C6D0 + C5C5D0C4C4D0C3C3CFC3C3CFC3C3CEC4C4CFCDCDD9CFCFD9C6C6CFC6C6CFC6C6 + CFC5C5CFC5C5CFD4D4E3DCDCEDD3D3DDD1D1DBD1D1DBDFDFEAE1E1EBEFEFFBF3 + F3FDECECF9C7C7D0C7C7D0C7C7CFC9C9D3C5C5D0C5C5D1C5C5D1CECEDACECEDA + CDCDDACDCDD9CDCDD9CCCCD9CCCCD8CCCCD8CCCCD8C2C2CDD6D6E5D0D0D9D0D0 + DAD0D0DACFCFDAC5C5CEC5C5CECFCFD9D0D0D9D0D0D9D0D0D9D1D1DAD1D1DAD2 + D2DBCDCDDCEDEDFFEEEEFEE8E8F5C0C0CDC0C0CDC0C0CDC1C1CDDCDCECDADAEF + DCDCF3E8E8F4EEEEF7EDEDFAEFEFFDE8E8FAE1E1F8DEDEE8DFDFE6E1E1F2ECEC + F9ECECF3EEEEF3FAFAFFF4F4FFE7E7F2E3E3EDE0E0EEE0E0EEC2C2CECBCBD9EF + EFFFF7F7FFF2F2FFC7C7D2DDDDE9EBEBF7ECECFBE7E7F7E5E5F2DDDDEDDDDDF0 + D3D3DDEDEDF4EDEDFEECECFFEFEFFFF4F4FFEFEFFFEBEBFDC9C9D4CBCBD8D5D5 + E2DDDDEFE7E7F4EDEDFDE6E6F9E5E5F7E4E4F4E5E5F7E3E3FAE6E6F7E8E8F7EF + EFFEF2F2FDEFEFFBE1E1EDC5C5D0E8E8F6ECECF9F3F3FFF4F4FFF5F5FFF2F2FB + E8E8F4DFDFEDD1D1E1D0D0DFE1E1EFEFEFFEF4F4FFEDEDFFE7E7F5E5E5EEE0E0 + F5E0E0FEE1E1FADCDCF4DFDFF4EBEBFBF5F5FFF4F4FFEDEDFBEBEBF4ECECFBEC + ECFFEBEBFBEEEEFAEDEDFAEBEBF9E6E6F7E7E7F9EEEEFFEDEDFFE7E7FBE1E1F3 + C7C7D6DDDDEFDFDFEEDCDCF2DADAF2E1E1EDE4E4EFC5C5CED0D0DACCCCD7CBCB + D6D9D9E7E3E3EFDCDCECDADAE5D2D2DCD1D1DCC6C6D1C5C5D0EBEBF7E3E3EFD5 + D5E1D1D1DCE0E0EEE1E1F3E6E6FAC3C3CEC3C3CEC3C3CEC3C3CEC3C3CEC3C3CE + C4C4D0C5C5D1CDCDD8D2D2DECECED9D3D3DFD5D5E1CCCCD8C3C3CEC3C3CEC4C4 + CFC4C4CFC3C3CECECED9D2D2DEC7C7D1D3D3DFC6C6CFCCCCD6C5C5CED0D0DAD0 + D0DBD1D1DBD1D1DAD1D1DAD1D1DAD1D1DBD1D1DBC5C5D0C5C5CFC5C5D0C5C5D0 + C5C5D0C3C3CFC3C3CEC3C3CEC3C3CDDBDBEBD6D6E3C2C2CDCCCCD8D9D9E9CCCC + D8C1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC2C2CECFCFD9CFCFDAD0D0DCD0D0DCCF + CFDCCFCFDACFCFDAC7C7D1D0D0DAD0D0DACACAD3D4D4E0D7D7E2C1C1CDC1C1CD + C0C0CDBFBFCCBFBFCCC0C0CCC0C0CDC0C0CDC0C0CDC4C4CEC5C5D0C5C5CFC5C5 + CEC5C5CEC5C5CFC6C6D0C5C5D0C5C5D0C6C6D0D1D1DBD1D1DBD1D1DCD1D1DCC6 + C6D1C5C5CFC5C5CFC3C3CFC3C3CFC1C1CDC1C1CEC2C2CEC9C9D6C2C2CEC2C2CE + C3C3CEC3C3CEC3C3CEC3C3CEC3C3CECDCDD8CDCDD8CECEDBCECED9CDCDD9CCCC + D8C2C2CEC2C2CEC3C3CECCCCD8CCCCD8CCCCD8CECED9C5C5CFC5C5CFC5C5CFC6 + C6CFC7C7D1D1D1DCD0D0DBD0D0DBD1D1DBD1D1DAD6D6E3D1D1DAD1D1DAD1D1DB + D1D1DBD8D8E3DFDFEBC9C9D4C3C3CFC1C1CDC1C1CDCFCFDBCCCCD9CCCCD9C1C1 + CDC1C1CDCDCDD9CDCDD9CCCCD9CCCCD9CBCBD8C1C1CDC1C1CDC1C1CDC2C2CEC2 + C2CFCFCFDCCFCFDCCFCFDCCFCFDCCFCFDCC7C7D1C6C6D0C7C7D0C6C6CFC6C6CF + C6C6CFC6C6CFC1C1CDC1C1CDC0C0CDC0C0CCC0C0CCC0C0CCC0C0CDC0C0CDC1C1 + CDC3C3CDC5C5D0C6C6CFC6C6CFC6C6D0C6C6D0C6C6D0C6C6D0C7C7D1C8C8D1C8 + C8D1D1D1DBE0E0E9E7E7F2EEEEFBFBFBFFC4C4CFC4C4CFC9C9D7D5D5E3D1D1DF + DCDCEBDADAE8E1E1F5D7D7E9DFDFEEF5F5FFF2F2FFEBEBFDE6E6F5D6D6E0C3C3 + CFDEDEEAE0E0F2D5D5EBDCDCECE8E8EFEFEFFBF3F3FFF2F2FFF2F2FFDADAE9E8 + E8F7D7D7E5E1E1F2C5C5CFC9C9D2D6D6E6E3E3F3E3E3F3E0E0EDE1E1EFE0E0F2 + E3E3FAE4E4F1EBEBF7E8E8F7EEEEFEEFEFFDEEEEFBEEEEFBEEEEFBEEEEFDE1E1 + EEE6E6F6F4F4FFF2F2FFECECFBE8E8F3DCDCEBCCCCD9DFDFE7E6E6F3EEEEFFF3 + F3FFEEEEFDE8E8F4E0E0F3DCDCF7DFDFF3E0E0F2DADAF4DDDDF3DDDDEFDEDEEB + F5F5FFECECFEEBEBF9EDEDFADBDBE9C6C6CFE5E5F4E5E5F3E1E1EFE1E1EFE8E8 + FAEDEDFEE8E8FADADAF2D9D9EBDDDDECDDDDF4E1E1F7E1E1F4DFDFF2DDDDF3E5 + E5EFE7E7F4E5E5F9E8E8FAE7E7F7E5E5F5E5E5F3E3E3ECE7E7F4EEEEFAFBFBFF + FFFFFFFAFAFFE2E2F2E7E7F9E6E6F3E3E3F2D5D5E3C2C2CEC2C2CEC1C1CDD9D9 + E5CBCBD6EBEBFAC9C9D5C3C3CFC3C3CFC3C3CFC2C2CDCCCCD6D2D2DCCCCCD9CC + CCDACCCCD9C3C3CFCCCCD9C5C5CFC5C5CFC5C5CFC4C4CFC5C5CFC6C6D1CBCBD7 + C7C7D2C5C5D0C5C5D0C5C5CEC5C5CECDCDD8EBEBFAE7E7F7CACAD4C1C1CDC3C3 + CDC3C3CEC3C3CEC1C1CDC1C1CDC1C1CDCECEDACDCDDAC3C3CDC3C3CDC4C4CEC5 + C5CEC3C3CED8D8E3D8D8E8CBCBD6C6C6D1DADAE9D9D9EAC1C1CEC2C2CEC2C2CE + C2C2CEC2C2CEC4C4CEC4C4CEF4F4FFEFEFFFE9E9FBC5C5CFC6C6CFCFCFD8E5E5 + F4ECECF4CACAD7CFCFDEC5C5D0DBDBE8C1C1CDC1C1CDC3C3CDC5C5D0C5C5D0C6 + C6D0CDCDDAC6C6D1C6C6D1C8C8D2C8C8D2CCCCD7C7C7D1C7C7D1C8C8D1C8C8D1 + C6C6CFC6C6CFCFCFD9C1C1CDC0C0CDC0C0CDC9C9D7C0C0CDC0C0CDC1C1CEC1C1 + CDC1C1CDC1C1CEC1C1CEC1C1CEC1C1CDC3C3CDD6D6E6D0D0DCCBCBD6CCCCD6CC + CCD6C2C2CEC2C2CEC2C2CFCCCCDACCCCDACCCCD9D0D0DDCECED8CCCCD8C7C7D3 + CDCDDACDCDDAC6C6D0C5C5D0C5C5CFC5C5D0C5C5D0C7C7D3D8D8E8E7E7F7DCDC + EAE0E0F0D6D6E8C8C8D4CDCDD9E6E6F5DEDEEBCFCFDAC1C1CDCCCCD9CDCDDACC + CCDAC3C3CDC3C3CECBCBD6CBCBD6C3C3CEC3C3CEC9C9D5C9C9D5C1C1CDC1C1CC + C1C1CCC1C1CDC1C1CECDCDDBC2C2CEC9C9D7D6D6EFDFDFF4E7E7F4C4C4CEC5C5 + CEC5C5CFC9C9D2E6E6F6C3C3CCC3C3CCC1C1CCC1C1CDC3C3CDC3C3CDC3C3CDC3 + C3CDC3C3CDC3C3CDC3C3D0C3C3CDC6C6D1C6C6D1D3D3E5E3E3F4C6C6D1C6C6D1 + C6C6D1C8C8D1C9C9D2CECED9CECED8D1D1DAD1D1DAC0C0CDEFEFFAF5F5FFFAFA + FFFBFBFFF2F2FFE8E8F5E6E6ECDDDDEFDFDFF5E8E8FAEEEEFFF3F3FFF5F5FFEE + EEFFE8E8FAECECF5F2F2F9F3F3FFECECFBD8D8E8CBCBDAD9D9E8E6E6EEEFEFFA + F3F3FFF2F2FFF4F4FFF3F3FFEEEEFFECECFEE7E7FAE8E8F5E1E1F3DDDDEBDDDD + ECD9D9EBD2D2E0DCDCEDE1E1EEEBEBFEEDEDFFEBEBFBE5E5F2EEEEFBEFEFFFE8 + E8FBECECF9F2F2FBF2F2FFEBEBFFF2F2FFEFEFFFEEEEFEE8E8F9E3E3F3E3E3EB + DDDDE8E5E5EDEBEBFDEDEDFFF4F4FFEFEFFBE5E5F3DCDCF3DDDDF2DFDFF2D9D9 + F3DCDCEEE0E0F2E1E1F7E8E8F7F2F2FFEDEDFDE7E7F7E6E6F5EEEEF9EFEFF9E8 + E8F7E0E0EEDCDCEBDFDFEFE8E8FEEBEBFEE3E3F4DCDCEDD7D7ECDCDCECE1E1F5 + E6E6FEE7E7FDE7E7F7E1E1EEDDDDEDDFDFF4E5E5F7ECECFAE7E7FAE5E5F5E5E5 + EDCACAD6CCCCD9BFBFCBD0D0DEFAFAFFF9F9FFF2F2FFCECEDBC7C7D4E1E1F3E1 + E1F3E8E8FDEAEAFBC4C4D0C4C4D0C4C4D0D4D4DFD5D5E0CACAD6F5F5FFD5D5DF + C1C1CDC1C1CECBCBD8CCCCD9CCCCD9C4C4D1C4C4D1CDCDDAC4C4CFC4C4CFE2E2 + F2C3C3CFC3C3CEC2C2CDC2C2CDC2C2CDCCCCD8C1C1CDC1C1CDCCCCD9C1C1CEC1 + C1CDC1C1CEC3C3CECBCBD8CBCBD8CBCBD8CBCBD8CCCCDBCECEDBCECEDBC2C2CE + CECEDBCACAD7DBDBEAC2C2CEC8C8D5C8C8D4C0C0CCC0C0CCC1C1CCC1C1CDC1C1 + CDC1C1CDC1C1CDC1C1CDC2C2CEC2C2CEC2C2CED9D9E9DEDEEDC4C4CFC5C5CFC5 + C5CFE3E3F2C3C3CDEEEEFBC5C5CEC5C5CEC3C3CDC3C3CDD2D2E0C5C5D1E2E2EF + C1C1CDC1C1CCCBCBD8CBCBD8C4C4D1CECEDACFCFDACFCFD9C6C6D1C6C6D1D0D0 + D9D0D0D9CECED8C6C6D0C3C3CECDCDD8CDCDD8CDCDD9CBCBD8CBCBD8C0C0CCC1 + C1CEC1C1CEC1C1CEC1C1CFC1C1CFC3C3D0C4C4D0C4C4D0C4C4D0C4C4D0C4C4D0 + C3C3CECACAD6CACAD6C2C2CEC1C1CDC2C2CFCBCBD8D3D3DDCFCFDCCDCDDAC4C4 + D1E8E8F5DADAE5C3C3CFC3C3CFC3C3CEC2C2CDC2C2CDC1C1CDC9C9D5DADAEBD9 + D9E8D7D7E1DADAE8C3C3CEC3C3CEC3C3CEC3C3CFC3C3CFCBCBD8C2C2CDC2C2CD + CCCCDBD1D1DECECEDBC2C2CDC2C2CEC2C2CEC1C1CCC1C1CCC0C0CCC0C0CCC0C0 + CCC0C0CCBFBFCBBFBFCCC0C0CCC0C0CCC0C0CCC0C0CCC1C1CDC1C1CEC2C2CEC2 + C2CEC3C3CEC4C4CFC5C5CFC5C5CFC5C5CDC5C5CDC6C6D0C8C8D1C5C5D1C5C5D0 + C3C3CDC2C2CDC1C1CDC1C1CDC1C1CCC1C1CCCBCBD8CBCBD8CCCCDACECEDACFCF + DACFCFD9C5C5D0C7C7D3C6C6D1D8D8E5D0D0DAE0E0E9E3E3EFE1E1EEE5E5F4D6 + D6E7E2E2F0E1E1ECCDCDD9E0E0E9C6C6D2C5C5D1C2C2CFC2C2CFD7D7E7C4C4D0 + E6E6F7E8E8F2F7F7FFF4F4FFEFEFFFDCDCE8CCCCD7C2C2CEDEDEE9ECECFADADA + ECD1D1DFD7D7E3D0D0DCC4C4D1C4C4D1C4C4CFC3C3CFC3C3CEF4F4FFEFEFFFE7 + E7FDD0D0DEC7C7D3CFCFDCD6D6E6D9D9E6D9D9E5DFDFEDE7E7FBEFEFFFEEEEFF + ECECF9D9D9EACBCBD8C2C2CDCECEDBE7E7F9EEEEFEF3F3FFD1D1DDD1D1DDD3D3 + DFEBEBFDE1E1F4E0E0EBE3E3EEE3E3F4E3E3F2EDEDF5E0E0EDE3E3F2ECECFAE3 + E3F2DBDBEFD1D1E0CECEDCC2C2CEC2C2CECECEDCE5E5F3E7E7F9C6C6D0E8E8F7 + CCCCD8E8E8FDDBDBE6F0F0FBD0D0DCCFCFDEDCDCEDE0E0E9E9E9F9D4D4E9DCDC + EDD2D2DFCBCBD8CCCCD9CFCFD9D2D2DCC5C5D0CBCBD8DFDFF4D9D9EBDFDFEDE7 + E7EEEDEDF7E5E5F4DADAE9D7D7E6CECED9CECED9CECED8C8C8D3E5E5EEE1E1ED + C2C2CFC4C4CFC4C4D0C5C5D0EDEDFEEDEDFFEFEFFFC5C5D0C4C4CEC4C4CEC3C3 + CEC3C3CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CFC5C5D1C4C4D1C4C4D0C4C4D0C3 + C3CFC3C3CEC2C2CDC2C2CDC1C1CDC1C1CDC1C1CDC1C1CDC1C1CDC3C3CEC3C3CE + C3C3D0C3C3D0C3C3D0C3C3D0C3C3CFC2C2CEC2C2CCC2C2CDC2C2CDC2C2CDC1C1 + CBD7D7E2C1C1CBC1C1CBC0C0CBC0C0CBC0C0CBC0C0CCBFBFCCBFBFCCBEBECBBF + BFCBC9C9D6C9C9D7C8C8D6C1C1CDC1C1CDC1C1CEC1C1CEC1C1CEC2C2CECACAD7 + D4D4E3E7E7F9CECED8CECED8C6C6D0C6C6D0D1D1DDCDCDD8C2C2CDC1C1CDC1C1 + CDC0C0CCBFBFCBBEBECBC9C9D8C9C9D8CBCBDAC9C9D8CDCDD8CDCDD8C2C2CEC3 + C3CEC3C3CEC5C5D0CBCBD7C4C4CEC4C4D0C3C3CEC4C4D1C4C4D1C4C4D1C4C4D1 + C4C4D0C4C4D0C5C5D0C5C5D0C4C4D0C4C4D0C5C5D0D6D6E2C8C8D5C5C5D1C5C5 + D1C5C5D0C4C4CEC4C4CEC3C3CFD3D3DFD2D2DFC2C2CEC2C2CEC2C2CEC1C1CECD + CDDBDCDCEBEBEBF5F3F3FFF5F5FFC3C3CFC3C3CEC3C3CDC2C2CDC1C1CDC8C8D4 + E4E4EFC1C1CDC3C3CEC2C2CEC6C6D2CBCBD7CDCDDBCECEDBD3D3DFE6E6F7E5E5 + FBE6E6F3ECECFFD3D3E2CBCBD8E6E6F2EFEFFEEDEDFFCCCCD7C0C0CBC0C0CBC0 + C0CBC0C0CCD2D2DED6D6E2C8C8D5C9C9D6C9C9D7C9C9D8C5C5D1D8D8E8C1C1CE + C2C2CEC1C1CEDDDDEFDFDFF4D5D5E8C9C9D5E7E7F7E1E1ECE5E5F6D6D6E4EBEB + FDEFEFFAF4F4FDF3F3FFE8E8FAE3E3F2E1E1EBCBCBDAC9C9D7C2C2CFDCDCEDD0 + D0E8D6D6EFE0E0F5E8E8FBEEEEFEEDEDFDE7E7FAE1E1F4DFDFEEE1E1EDE5E5F2 + E7E7F7CECEDEDFDFF2E1E1F2E1E1EFECECF5EEEEF9EEEEFFEEEEFFF2F2FEEDED + F9EBEBF9ECECFFECECFEE6E6F5F2F2FFF7F7FFF9F9FFFBFBFFF3F3FFEFEFFBF5 + F5FFF7F7FFEFEFFDCBCBD6C6C6D3C3C3CFC3C3CFC3C3CEC4C4D0F3F3FFF2F2FF + F4F4FFF5F5FFD9D9E4CECEDAC2C2CDDFDFECDDDDEED9D9EDD7D7E7D9D9E5D9D9 + E5E5E5EDEDEDFFF2F2FFEDEDFFE5E5F9E6E6F5C2C2CDCCCCDAD2D2DEE8E8F7EB + EBFFEFEFFFECECFBECECFEC0C0CCD2D2E0E1E1ECE6E6EDE8E8F4E5E5F5E1E1F5 + ECECF4F3F3FFEBEBFCE7E7F7DCDCF2DDDDF2E0E0F3DDDDF2DCDCEFCFCFDCE7E7 + F7E7E7F2E7E7F3E7E7FBE7E7FADDDDEAEAEAF8E3E3EFF3F3FFE8E8FAE3E3ECE1 + E1ECE3E3F9D8D8ECDDDDF2D9D9EDD5D5ECD9D9EFE0E0F5E8E8FBC9C9D6C2C2CD + C2C2CDCECEDCCECEDAC4C4D0C7C7D1C7C7D1C8C8D1D8D8E6DFDFF4DBDBE3ECEC + F5ECECFBEEEEFECECED8C7C7D1D1D1DCD1D1DCD1D1DCD1D1DCD1D1DCD0D0DAD0 + D0DAD0D0DBD0D0DBC6C6D0C5C5CFDCDCE8CDCDDBC2C2CCC2C2CCC2C2CCC3C3CE + C3C3CEC4C4CEC4C4D0C4C4CEC3C3CEC3C3CEC2C2CDC2C2CDC3C3CDC3C3CDC3C3 + CEC2C2CEC2C2CEC2C2CEC2C2CEC2C2CECACAD8C2C2CDC1C1CDC1C1CDC1C1CDC2 + C2CDC1C1CDC1C1CDC1C1CCCCCCDACDCDDAC0C0CCC0C0CCC1C1CCC1C1CDC0C0CC + C0C0CCC0C0CCC1C1CCC1C1CCC1C1CCC1C1CEC1C1CEC2C2CEC2C2CEC1C1CEC1C1 + CEC1C1CDC1C1CDC2C2CEC4C4CDC4C4CDC4C4CECFCFDBD1D1DDC2C2CEC2C2CCC2 + C2CCC1C1CBC0C0CBC0C0CCC9C9D8C9C9D8C9C9D8C9C9D8C9C9D8C1C1CDC1C1CD + C1C1CDC1C1CDC1C1CDC1C1CDC2C2CDC2C2CDC3C3CEC5C5D0C7C7D1C7C7D1C7C7 + D1C8C8D1C8C8D1C8C8D1C8C8D1C5C5D0C5C5CEC7C7D1D2D2DCD1D1DCD1D1DCD1 + D1DCD1D1DCDFDFECF3F3FFE8E8F3D1D1DCD1D1DCC7C7D0C6C6D0CFCFDBC2C2CB + EFEFFFF2F2FFE2E2EDCFCFDBCDCDDACECED9C4C4D0C4C4D0C4C4CFC3C3CFE6E6 + F2F3F3FFF4F4FFC3C3CEC3C3CEC2C2CEE0E0EED9D9E7D7D7E3C0C0CCC1C1CCC2 + C2CDC2C2CDCBCBD6DEDEEDEBEBF7E4E4F2CCCCD9CBCBD9CBCBD9D3D3E2C1C1CD + C2C2CCDADAEAC8C8D5CDCDDACCCCD7D5D5DFD6D6E3C1C1CEC1C1CEC1C1CEC2C2 + CEEDEDFBCACAD6C1C1CEC1C1CEC1C1CDC1C1CDC1C1CDC4C4CDC4C4CDC4C4CECF + CFDBD1D1DCC2C2CEC2C2CDEFEFFDF2F2FDD1D1DFCBCBD9C9C9D8CDCDDDD4D4E5 + C9C9D8D5D5E8D5D5E7D8D8E7D5D5E7DCDCF3E0E0F5E8E8FBEEEEFEEDEDFDEBEB + FAE1E1F2DADAEBDCDCEEDFDFF2E6E6F5E6E6F5CDCDD9C5C5D0C5C5CED0D0DDD7 + D7E2E6E6F0D6D6E2EFEFFDF3F3FFEDEDFFEEEEFFE4E4EFD1D1DCF9F9FFFAFAFF + F6F6FCF9F9FFF7F7FFF3F3FFECECFBF0F0FCF4F4FFE7E7F9E0E0EEE0E0ECE1E1 + F3ECECFDE8E8F3F4F4FFEEEEFFDDDDECF5F5FFF4F4FFEBEBFAE7E7F7E7E7F4DD + DDE8D9D9E7DDDDE8DADAE7D9D9EEE0E0F9EFEFFFF4F4FFEEEEFFE8E8F7E5E5F5 + EBEBFFE6E6FFE0E0F3E8E8F3EDEDFAECECFFE8E8FBE8E8F9ECECF9EBEBF4E5E5 + EFE1E1EFE6E6F7EBEBF9E8E8F9EBEBF9ECECFBE8E8FADFDFF7DDDDF4E3E3F2D7 + D7E6E7E7F5E7E7F4DEDEECE3E3F0D7D7E1E7E7F3E1E1F2E8E8F7EEEEFDE8E8FA + EEEEFDEDEDFBC9C9D8C9C9D8C9C9D8D5D5E7C9C9D8BFBFCABFBFCBBFBFCCCCCC + DDC3C3D0C5C5D1C3C3CDC6C6D1C6C6D0C6C6D0C6C6D1C6C6D1C5C5D1C2C2D0C1 + C1CEC2C2CEC2C2CEC2C2CDC4C4CDD1D1DCD1D1DCD1D1DCDFDFECD1D1DCD1D1DC + D1D1DCD1D1DCD2D2DCD2D2DCC8C8D1C7C7D1D7D7E1D1D1DBC2C2CCC3C3CEC3C3 + CEC3C3CEC4C4CEC4C4D0C5C5D0CECEDACDCDD9C3C3CFDADAE9CECEDCDBDBE8CD + CDDBCCCCDBC1C1CDC1C1CDC1C1CCBFBFCBBFBFCBC4C4D0CCCCDBCCCCDBCCCCDB + CCCCDBCCCCDBC3C3CEC3C3CECBCBDAC1C1CDC2C2CEC3C3CFC4C4CFD6D6E4DEDE + EED8D8E6C8C8D2C5C5CFC5C5D0C6C6D0D3D3DFE2E2EEC6C6D0C4C4D0C3C3D0C3 + C3D0C2C2CEC1C1CDC1C1CDC1C1CDCDCDD8C6C6CFC3C3CCC3C3CCC3C3CCCACAD3 + C4C4CDC2C2CDC2C2CDDEDEEFD7D7E7CBCBD8C9C9D8C1C1CDC1C1CCCECEDEC2C2 + CFBFBFCBBFBFCBBFBFCBBFBFCBBFBFCBC1C1CDCCCCD9CCCCD9C6C6D0D1D1DDCF + CFE0CFCFDECCCCDBC4C4D1DFDFECE1E1F4E1E1F7CBCBD8C4C4D0D1D1DCE2E2EF + E6E6F5E0E0EDF2F2FFF2F2FFF3F3FFDEDEE8D2D2DCD2D2DCD2D2DCD2D2DCD2D2 + DCD2D2DCD5D5DED2D2DBD0D0DBCFCFDBC4C4CEC4C4D0CDCDD8CDCDD8D5D5E3E4 + E4F2ECECFFEEEEFFF0F0FCCECEDBCDCDDBCCCCDBE6E6F7DADAE6D0D0DBC5C5D0 + BEBEC9C1C1CED4D4E2DFDFECD4D4E3CCCCDBCDCDDBC3C3CED4D4E6DADAEDC4C4 + D0C4C4CFC4C4CFC4C4CFC5C5CFC5C5D0C5C5CFD7D7E3ECECF9E7E7F7E5E5EEE1 + E1EDE8E8F7EDEDFBDADAE7C4C4D0C2C2CEC2C2CECACAD8E3E3F4E4E4F4E7E7F7 + E7E7FAE7E7FAEBEBF5E7E7F2E5E5EEEBEBF5DEDEEBECECFDD0D0DFD3D3E3ECEC + FAEBEBFAE7E7F9E1E1F5E0E0F4E5E5F3E3E3F3E1E1F5C9C9D8D7D7EBCECEDBDD + DDEFE3E3F7EEEEF9E5E5F2C3C3D0C8C8D6D3D3E3DFDFEEE3E3EFE0E0F4E5E5F7 + E7E7F7E0E0EEE6E6F5EBEBFAE7E7FAECECFAEEEEFBF4F4FFF7F7FFF3F3FFF3F3 + FFF3F3FFF9F9FFF7F7FFF2F2FFF3F3FFFDFDFFF7F7FFEFEFFFF4F4FFF3F3FFEE + EEFFE4E4EDD4D4DFD8D8E7D2D2E0CCCCD9CCCCDBCCCCDBD2D2E1E7E7F9F3F3FF + DCDCE8C1C1CCBFBFC9C1C1CCDFDFEFDADAEED6D6E1DFDFEDD7D7EAE8E8F4D5D5 + E4C9C9D6E3E3F5E3E3FAE5E5FADBDBE8C5C5D0C5C5CFC6C6D0C6C6D0C6C6D0C7 + C7D0C7C7D0D5D5E0D6D6E0DADAE6E1E1EFECECFDEDEDFBE8E8FAE0E0F3E3E3F4 + E3E3F4E3E3F4C6C6CFC6C6CFC4C4CDC4C4CDC4C4CDC4C4CDC4C4CDC2C2CDC2C2 + CDC2C2CEC2C2D0C2C2CFC2C2CCC0C0CCC0C0CCBFBFCCBFBFCCBFBFCBBFBFCBBF + BFCCBFBFCCCDCDDACDCDDACDCDDACDCDD9C6C6D1C5C5D0C3C3D0C2C2D0C2C2D0 + C0C0CDC0C0CDC1C1CDC1C1CDC1C1CDC0C0CAC0C0CAC1C1CBC3C3CCC3C3CCC4C4 + CDD1D1DCD1D1DCD1D1DCD2D2DCD2D2DCD2D2DCD2D2DCD2D2DCD2D2DCD3D3DDD3 + D3DDD2D2DCC6C6D0C5C5D0C5C5D0CDCDD8CCCCD8CBCBD7CBCBD7CBCBD9CCCCD9 + CCCCDACCCCDACCCCDAC1C1CDC1C1CCC1C1CCBFBFC9BEBEC9BEBEC9BEBEC9CCCC + DBCCCCDBCCCCDBCCCCDBCCCCDBCCCCDACACAD9C2C2CECDCDD9CDCDD9C5C5D0C5 + C5D0C6C6D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1C8C8D1C7C7D0C7C7D0 + C6C6D0C5C5D0C3C3CFC2C2CEC2C2CDC1C1CD + } + end + object ToolBar1: TToolBar + Left = 0 + Height = 44 + Top = 0 + Width = 320 + AutoSize = True + ButtonHeight = 42 + ButtonWidth = 42 + Caption = 'ToolBar1' + EdgeBorders = [ebBottom] + Images = ImageList1 + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 1 + Top = 0 + Caption = 'Open...' + ImageIndex = 0 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 47 + Top = 0 + Caption = 'Exit' + ImageIndex = 1 + OnClick = ToolButton2Click + end + end + object EdOffset: TSpinEdit + Left = 112 + Height = 23 + Top = 56 + Width = 100 + OnChange = EdOffsetChange + TabOrder = 1 + end + object Label1: TLabel + AnchorSideTop.Control = EdOffset + AnchorSideTop.Side = asrCenter + Left = 18 + Height = 15 + Top = 60 + Width = 35 + Caption = 'Offset:' + ParentColor = False + end + object Label2: TLabel + AnchorSideTop.Control = CbOffsetMode + AnchorSideTop.Side = asrCenter + Left = 18 + Height = 15 + Top = 92 + Width = 69 + Caption = 'Offset mode:' + ParentColor = False + end + object CbOffsetMode: TComboBox + Left = 112 + Height = 23 + Top = 88 + Width = 100 + ItemHeight = 15 + ItemIndex = 0 + Items.Strings = ( + 'Rows' + 'Columns' + ) + OnChange = CbOffsetModeChange + Style = csDropDownList + TabOrder = 2 + Text = 'Rows' + end + object OpenPictureDialog1: TOpenPictureDialog + DefaultExt = '.*.jpg' + left = 80 + top = 128 + end + object ImageList1: TImageList + Height = 24 + Width = 24 + left = 224 + top = 128 + Bitmap = { + 4C69020000001800000018000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000005101B080C22362F0B2136400B21 + 36400B2136400B2136400B2136400B2136400C22363006111B08000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000017446C4A50A5E4DD69B9ECFF69B9 + ECFF69B9ECFF69B9ECFF69B9ECFF69B9ECFF51A5E4DD18456D4B000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000017446C7D82CDF4FEA6EAFFFFA6EA + FFFFA6EAFFFFA6EAFFFFA6EAFFFFA6EAFFFF82CDF4FD2A79BEDB2165A2BF2165 + A2BF2165A2BF2165A2BF2165A2BF2165A2BF2165A2BF2165A2BF2367A3B72265 + A24F0000000000000000000000000000000016436C8087D1F6FFA5EAFFFFA5E9 + FFFFA3E8FEFFA1E7FDFF9FE6FDFF9DE5FCFF9BE3FBFF99E3FAFF97E1FAFF95E0 + F8FF93DFF8FF91DDF7FF8FDCF6FF8DDBF5FF8BDAF5FF89D8F4FF7DCFF0FF4199 + DFF30000000000000000000000000000000016436C8083CFF4FF9EE5FCFF9CE4 + FBFF9AE3FAFF98E2FAFF96E0F9FF94DFF8FF92DEF7FF90DCF6FF8EDBF6FF8CDA + F5FF8AD9F4FF88D8F3FF86D6F3FF84D5F2FF82D4F1FF80D3F0FF7ED1EFFF4199 + DEFF0000000000000000000000000000000016436C807CCAF1FF8EDAF6FF66B7 + EAFF4A9FE1FF469DE0FF469DE0FF469CE0FF459CE0FF459CDFFF449BDFFF439B + DFFF439BDFFF439BDFFF429ADFFF429ADEFF419ADEFF4099DEFF4099DEFF318B + DAFF2266A3BB2366A367081928080000000016436C8073C5EEFF69BCEAFF68B8 + ECFF9FE6FEFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9 + FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9 + FFFF97DFFBFF53A7E5D60D23362B0000000016436C806CC1EBFF5BAFE6FF85D0 + F5FFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9 + FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9 + FFFF94DCFAFE4AA0E2C10B2236210000000016436C8065BCE8FF52A7E4FF94DD + FAFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9FFFFA3E9 + FFFFA3E9FFFFA3E9FFFFA1E8FFFFA1E8FFFFA0E7FEFF9FE7FEFF9FE7FEFF9EE6 + FDFF86D2F6FC3790DC9A0A2136100000000016436C8059B3E4FF4EA4E4FFA0E7 + FFFFA1E8FFFFA1E8FFFFA0E7FEFF9FE7FEFF9EE6FEFF9DE5FDFF9CE5FDFF9BE4 + FDFF9AE4FCFF99E3FCFF98E2FBFF97E2FBFF96E1FBFF95E0FAFF94E0FAFF93DF + FAFF74C4EFFC2475C17C061829010000000016436C8049A5DFFF5DB1E8FF9AE3 + FCFF99E3FCFF97E2FBFF97E2FBFF96E1FAFF94E0FAFF94E0FAFF93DFF9FF91DE + F9FF91DEF9FF90DDF8FF8FDDF8FF8EDCF7FF8DDBF7FF8CDBF7FF8BDAF6FF8AD9 + F6FF5EB2E8F019466C60000000000000000016436C803D99DCFF6EC0EDFF90DD + F8FF8FDDF8FF8FDCF8FF8DDCF7FF8CDBF7FF8CDAF6FF8ADAF6FF8AD9F6FF89D9 + F5FF87D8F5FF87D7F4FF86D7F4FF84D6F4FF84D5F3FF83D5F3FF82D4F3FF81D4 + F2FF479FE1D816446C3B000000000000000016436C80338EDAFF7BCDF1FF86D7 + F4FF84D6F4FF83D5F4FF83D5F3FF82D4F3FF80D3F3FF80D3F2FF7ED2F2FF7DD1 + F2FF7DD1F1FF7BD0F1FF7BD0F0FF7ACFF0FF78CEF0FF78CEEFFF77CDEFFF75CC + EFFF318CDBC114426D14000000000000000016436C80328DDAFF7CD0F1FF7CD1 + F1FF7BD0F1FF7AD0F0FF79CFF0FF78CEEFFF77CEEFFF76CDEFFF76CCEEFF74CC + EEFF73CBEDFF73CAEDFF71CAEDFF70C9ECFF70C9ECFF6EC8ECFF6DC7EBFF67C1 + EAFF2777BFB108203702000000000000000016436C803E98DDFF74CBEEFF73CB + EDFF72CAEDFF71C9ECFF70C9ECFF6FC8ECFF6EC8EBFF6DC7EBFF6CC7EBFF6BC6 + EAFF6AC5EAFF69C5E9FF68C4E9FF67C3E9FF66C3E8FF65C2E8FF64C1E8FF55B1 + E3FF2468A28600000000000000000000000018446C804AA5E1FF69C4EAFF68C4 + E9FF67C3E9FF66C3E8FF65C2E8FF64C1E8FF63C1E7FF62C0E7FF61BFE7FF60BF + E6FF5FBEE6FF5EBDE6FF5DBDE5FF5DBCE5FF5CBCE5FF5BBCE4FF5BBBE4FF42A0 + DEFF2065A24400000000000000000000000017446C803D99DDFF48A4E0FF48A4 + E0FF47A3DFFF47A3DFFF46A3DFFF45A2DFFF45A2DFFF45A2DFFF44A2DEFF44A1 + DEFF43A1DEFF43A1DEFF43A1DEFF43A1DEFF43A1DEFF43A1DEFF43A1DEFF3591 + DAFF1C63A51600000000000000000000000005111B200B2136400B2136400B21 + 36400B2136400B2136400B2136400B2136400B2136400B2136400B2136400B21 + 36400B2136400B2136400B2136400B2136400B2136400B2136400B2136400B22 + 363F061829010000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000ADF20000BCE50000 + BCE50000ADF20000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000BCE50000FFFF0000 + FFFF0000BCE50000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000BCE50000FFFF0000 + FFFF0000BCE50000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000AA180000B3AB0000A838000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000AA1B0000B0A20000AE1600000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000AE420000B6E50000C7F90000AA51000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000AA300000BCF20000B6E50000AF40000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + B0440000BBEA0000FAFF0000D9F70000AA51000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000AA300000CBEA0000F9FF0000BAE90000AE420000 + 00000000000000000000000000000000000000000000000000000000AD190000 + B6E50000FAFF0000FFFF0000D9F70000AA51000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000AA300000CBEA0000FFFF0000FAFF0000B6E50000 + A6170000000000000000000000000000000000000000000000000000B3AF0000 + EBFD0000FFFF0000FFFF0000D9F70000AA51000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000AA300000CBEA0000FFFF0000FFFF0000EAFE0000 + B3AF00000000000000000000000000000000000000000000A6170000BCE70000 + FFFF0000FFFF0000FCFF0000B8E80000AD22000000000000BCE50000FFFF0000 + FFFF0000BCE5000000000000A6170000B7E70000FDFF0000FFFF0000FFFF0000 + BCE70000AE16000000000000000000000000000000000000AF6F0000DEFB0000 + FFFF0000FFFF0000D8F40000B16F00000000000000000000BCE50000FFFF0000 + FFFF0000BCE500000000000000000000B1750000DAF60000FFFF0000FFFF0000 + DEFB0000AF6C000000000000000000000000000000000000B4B50000F3FF0000 + FFFF0000FFFF0000B9E500009F0800000000000000000000BCE50000FFFF0000 + FFFF0000BCE500000000000000000000AA090000B9E50000FFFF0000FFFF0000 + F2FF0000B5B3000000000000000000000000000000000000B4D00000FCFF0000 + FFFF0000FFFF0000B4DA0000000000000000000000000000ADF20000BCE50000 + BCE50000ADF20000000000000000000000000000B4DB0000FFFF0000FFFF0000 + FCFF0000B4CF000000000000000000000000000000000000B5CB0000FBFF0000 + FFFF0000FFFF0000B4DA00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000B4DB0000FFFF0000FFFF0000 + FAFF0000B5CA000000000000000000000000000000000000B5B00000F2FF0000 + FFFF0000FFFF0000B9E500009F08000000000000000000000000000000000000 + 00000000000000000000000000000000AA090000B9E50000FFFF0000FFFF0000 + F1FF0000B5AF000000000000000000000000000000000000AE680000DCF80000 + FFFF0000FFFF0000D8F40000B06E000000000000000000000000000000000000 + 00000000000000000000000000000000B0710000D8F50000FFFF0000FFFF0000 + DCF80000AE65000000000000000000000000000000000000AA150000BCE70000 + FFFF0000FFFF0000FCFF0000B8E80000A82C0000000000000000000000000000 + 000000000000000000000000AA2D0000B8E80000FDFF0000FFFF0000FFFF0000 + BBE70000A61400000000000000000000000000000000000000000000B4A90000 + E9FD0000FFFF0000FFFF0000F5FF0000B8E80000B16F0000AA09000000000000 + 00000000AA090000B0710000B8E80000F5FF0000FFFF0000FFFF0000E9FD0000 + B3A70000000000000000000000000000000000000000000000000000AA180000 + B5E40000F9FF0000FFFF0000FFFF0000FDFF0000D8F40000B9E50000B4DB0000 + B4DB0000B9E50000DAF50000FDFF0000FFFF0000FFFF0000F9FF0000B5E40000 + AE16000000000000000000000000000000000000000000000000000000000000 + AB3D0000BAEA0000F9FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000 + FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000F8FF0000BAEA0000AE3C0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000AB3D0000B5E40000E9FD0000FFFF0000FFFF0000FFFF0000FFFF0000 + FFFF0000FFFF0000FFFF0000FFFF0000E8FD0000B5E40000AB3D000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000A6170000B3A80000BBE70000DCF80000F1FF0000FBFF0000 + FBFF0000F1FF0000DCF80000BBE70000B3A80000AE1600000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000A6140000AF660000B6AE0000B5CB0000 + B5CB0000B6AE0000AE650000A614000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000 + } + end +end diff --git a/components/jvcllaz/examples/JvFormWallper/main.pas b/components/jvcllaz/examples/JvFormWallper/main.pas new file mode 100644 index 000000000..7a3922e15 --- /dev/null +++ b/components/jvcllaz/examples/JvFormWallper/main.pas @@ -0,0 +1,82 @@ +unit main; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, ActnList, + ExtDlgs, Spin, StdCtrls, JvFormWallpaper; + +type + + { TForm1 } + + TForm1 = class(TForm) + CbOffsetMode: TComboBox; + ImageList1: TImageList; + JvFormWallpaper1: TJvFormWallpaper; + Label1: TLabel; + Label2: TLabel; + OpenPictureDialog1: TOpenPictureDialog; + EdOffset: TSpinEdit; + ToolBar1: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + procedure CbOffsetModeChange(Sender: TObject); + procedure EdOffsetChange(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + private + FImageFileName: String; + + public + + end; + +var + Form1: TForm1; + +implementation + +{$R *.lfm} + +{ TForm1 } + +procedure TForm1.ToolButton2Click(Sender: TObject); +begin + Close; +end; + +procedure TForm1.ToolButton1Click(Sender: TObject); +var + pic: TPicture; +begin + with OpenPictureDialog1 do begin + InitialDir := ExtractFileDir(FImageFileName); + FileName := ''; + if Execute then begin + FImageFileName := FileName; + pic := TPicture.Create; + try + pic.LoadfromFile(FImageFileName); + JvFormWallpaper1.Image.Assign(pic); + finally + pic.Free; + end; + end; + end; +end; + +procedure TForm1.EdOffsetChange(Sender: TObject); +begin + JvFormWallPaper1.Offset := EdOffset.Value; +end; + +procedure TForm1.CbOffsetModeChange(Sender: TObject); +begin + JvFormWallPaper1.OffsetMode := TJvOffsetMode(CbOffsetMode.ItemIndex); +end; + +end. + diff --git a/components/jvcllaz/packages/jvappfrmlazr.lpk b/components/jvcllaz/packages/jvappfrmlazr.lpk index 818006880..d8ba91206 100644 --- a/components/jvcllaz/packages/jvappfrmlazr.lpk +++ b/components/jvcllaz/packages/jvappfrmlazr.lpk @@ -17,11 +17,15 @@ "/> <License Value="The JVCL is released in accordance with the MPL 1.1 license. To get your own copy or read it, go to http://www.mozilla.org/MPL/MPL-1.1.html. "/> <Version Major="1" Release="4"/> - <Files Count="1"> + <Files Count="2"> <Item1> <Filename Value="..\run\JvAppFrm\JvFormAnimatedIcon.pas"/> <UnitName Value="JvFormAnimatedIcon"/> </Item1> + <Item2> + <Filename Value="..\run\JvAppFrm\JvFormWallpaper.pas"/> + <UnitName Value="JvFormWallpaper"/> + </Item2> </Files> <RequiredPkgs Count="2"> <Item1> diff --git a/components/jvcllaz/resource/jvappfrmreg.res b/components/jvcllaz/resource/jvappfrmreg.res index 8f50dadd176d6aaf371feb5845cc3429c8a48170..5dbdbb3412fff810cc6cfb4555d812c08974fca7 100644 GIT binary patch delta 647 zcmZ9IF;2rk5Jg7_;#d()O0Iyof*mBFKp+A_a0PB*QBmg%rlf#-<QAc0(=D?_ki-8o z>tOM1$?NxLX8-Q;Fdn@xM<-7sk(r2Ww|jCgm+~MNawB(gEst_4S9s?5&gC3T7PrR- z(}~FR<9V{*yhNyUanb#_N~fyX1K(_5`L7N*C|+_<6W1M~b29UsV@R&Yf5R?v-}uik z_MbB=bA``#)d!6shTukQp)M<!%=l^(RiyNml5^_-Z^(;cJXXaR3iD%l&6v?`ykAEc z;L4JC%ptCJ$;)q!E-+fPs+@DJ#vM0q7*;LN(3i6zV_hc(v?-|XDefT+aL=)SyJk&Y mquA;_QjD$RZ1CRCa9Es~Mr~q4iPQRBfIGGpY?!s$VH&?|DO|+> delta 7 Ocmew&b%uAt88!e9Edy!* diff --git a/components/jvcllaz/run/JvAppFrm/JvFormAnimatedIcon.pas b/components/jvcllaz/run/JvAppFrm/JvFormAnimatedIcon.pas index 2e8c9d675..fc96dd523 100644 --- a/components/jvcllaz/run/JvAppFrm/JvFormAnimatedIcon.pas +++ b/components/jvcllaz/run/JvAppFrm/JvFormAnimatedIcon.pas @@ -32,7 +32,6 @@ interface uses SysUtils, Classes, Controls, Forms, ExtCtrls, ImgList, Graphics; -// JvComponentBase; type TJvFormAnimatedIcon = class(TComponent) //JvComponent) diff --git a/components/jvcllaz/run/JvAppFrm/JvFormWallpaper.pas b/components/jvcllaz/run/JvAppFrm/JvFormWallpaper.pas new file mode 100644 index 000000000..88eab86c1 --- /dev/null +++ b/components/jvcllaz/run/JvAppFrm/JvFormWallpaper.pas @@ -0,0 +1,159 @@ +{----------------------------------------------------------------------------- +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: JvFormWallpaper.PAS, released on 2001-02-28. + +The Initial Developer of the Original Code is Sébastien Buysse [sbuysse att buypin dott com] +Portions created by Sébastien Buysse are Copyright (C) 2001 Sébastien Buysse. +All Rights Reserved. + +Contributor(s): Michael Beck [mbeck att bigfoot dott com]. + +You may retrieve the latest version of this file at the Project JEDI's JVCL home page, +located at http://jvcl.delphi-jedi.org + +Known Issues: +-----------------------------------------------------------------------------} +// $Id$ + +unit JvFormWallpaper; + +{$mode objfpc}{$H+} + +interface + +uses + SysUtils, Classes, Graphics, Controls; + +type + TJvOffsetMode = (omRows, omColumns); + + TJvFormWallpaper = class(TGraphicControl) + private + FImage: TPicture; + FOffset: Integer; + FOffsetMode: TJvOffsetMode; + procedure SetImage(Value: TPicture); + procedure FormPaint(Sender: TObject); + procedure SetOffset(const Value: Integer); + procedure SetOffsetMode(const Value: TJvOffsetMode); + procedure ValidateOffset; + protected + procedure Paint; override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + published + property Align default alClient; + property Image: TPicture read FImage write SetImage; + property Offset: Integer read FOffset write SetOffset default 0; + property OffsetMode: TJvOffsetMode read FOffsetMode write SetOffsetMode default omRows; + end; + + +implementation + +uses + Forms; + +constructor TJvFormWallpaper.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FImage := TPicture.Create; + FImage.OnChange := @FormPaint; + Align := alClient; +end; + +destructor TJvFormWallpaper.Destroy; +begin + FImage.Free; + inherited Destroy; +end; + +procedure TJvFormWallpaper.SetImage(Value: TPicture); +begin + FImage.Assign(Value); + ValidateOffset; + Invalidate; +end; + +procedure TJvFormWallpaper.ValidateOffset; +begin + case OffsetMode of + omRows: + if FOffset > FImage.Width then + FOffset := FImage.Width; + omColumns: + if FOffset > FImage.Height then + FOffset := FImage.Height; + end; +end; + +procedure TJvFormWallpaper.SetOffset(const Value: Integer); +begin + FOffset := Value; + ValidateOffset; + Invalidate; +end; + +procedure TJvFormWallpaper.SetOffsetMode(const Value: TJvOffsetMode); +begin + FOffsetMode := Value; + ValidateOffset; + Invalidate; +end; + +procedure TJvFormWallpaper.Paint; +var + X, Y, OX, OY: Integer; + Bmp: TBitmap; +begin + if (FImage <> nil) and (FImage.Width > 0) and (FImage.Height > 0) then + begin + Bmp := TBitmap.Create; + try + Bmp.Width := Width; + Bmp.Height := Height; + OX := 0; + OY := 0; + for X := 0 to (Width + Abs(FOffset - FImage.Width)) div FImage.Width do + begin + if OffsetMode = omColumns then + if X mod 2 = 0 then + OY := 0 + else + OY := FOffset - FImage.Height; + for Y := 0 to (Height + Abs(OY)) div FImage.Height do + begin + if OffsetMode = omRows then + if Y mod 2 = 0 then + OX := 0 + else + OX := FOffset - FImage.Width; + Bmp.Canvas.Draw(X * FImage.Width + OX, Y * FImage.Height + OY, FImage.Graphic); + end; + end; + Canvas.Draw(0, 0, Bmp); + finally + Bmp.Free; + end; + end; +end; + +procedure TJvFormWallpaper.FormPaint(Sender: TObject); +begin + if (Parent is TForm) and (TForm(Parent).FormStyle = fsMDIForm) then + RequestAlign // Invalidate DOES NOT work here (Mantis 5689) + else + Invalidate; +end; + + +end.