- Timestamp:
- Aug 18, 2021, 11:50:13 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 18 added
- 4 deleted
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Languages/xtactics.cs.po
r301 r308 85 85 msgstr "Statistiky hráčů" 86 86 87 #: tcore.applicationinfo.description 88 msgid "Turn-based strategy game inspired by classic Risk board game. The game is highly configurable to allow to adjust battle field and game rules." 89 msgstr "" 90 87 91 #: tcore.asettings.caption 88 92 msgctxt "tcore.asettings.caption" … … 112 116 msgid "Toggle fog of war" 113 117 msgstr "Přepnout Skrytou mapu" 114 115 #: tformabout.buttonclose.caption116 msgid "Close"117 msgstr "Zavřít"118 119 #: tformabout.buttonhomepage.caption120 msgid "Home page"121 msgstr "Domovská stránka"122 123 #: tformabout.caption124 msgctxt "tformabout.caption"125 msgid "About"126 msgstr "O aplikaci"127 128 #: tformabout.labelcontent.caption129 msgctxt "tformabout.labelcontent.caption"130 msgid " "131 msgstr " "132 118 133 119 #: tformcharts.caption … … 926 912 msgid "Do you want to restart current game?" 927 913 msgstr "Chcete restartovat aktuální hru?" 928 929 #: uformabout.slicense930 msgid "License"931 msgstr "Licence"932 933 #: uformabout.sreleasedate934 msgid "Release date"935 msgstr "Datum uvolnění"936 937 #: uformabout.sversion938 msgid "Version"939 msgstr "Verze"940 914 941 915 #: uformcharts.scitiescount -
trunk/Languages/xtactics.po
r301 r308 75 75 msgstr "" 76 76 77 #: tcore.applicationinfo.description 78 msgid "Turn-based strategy game inspired by classic Risk board game. The game is highly configurable to allow to adjust battle field and game rules." 79 msgstr "" 80 77 81 #: tcore.asettings.caption 78 82 msgctxt "tcore.asettings.caption" … … 103 107 msgstr "" 104 108 105 #: tformabout.buttonclose.caption106 msgid "Close"107 msgstr ""108 109 #: tformabout.buttonhomepage.caption110 msgid "Home page"111 msgstr ""112 113 #: tformabout.caption114 msgctxt "tformabout.caption"115 msgid "About"116 msgstr ""117 118 #: tformabout.labelcontent.caption119 msgctxt "tformabout.labelcontent.caption"120 msgid " "121 msgstr ""122 123 109 #: tformcharts.caption 124 110 msgctxt "tformcharts.caption" … … 912 898 #: ucore.srestartgamequestion 913 899 msgid "Do you want to restart current game?" 914 msgstr ""915 916 #: uformabout.slicense917 msgid "License"918 msgstr ""919 920 #: uformabout.sreleasedate921 msgid "Release date"922 msgstr ""923 924 #: uformabout.sversion925 msgid "Version"926 900 msgstr "" 927 901 -
trunk/Packages/Common/Common.lpk
r192 r308 37 37 </Other> 38 38 </CompilerOptions> 39 <Description Value="Various libraries"/> 40 <License Value="GNU/GPL"/> 41 <Version Minor="7"/> 42 <Files Count="22"> 39 <Description Value="Common package with various useful units. 40 41 Source: https://svn.zdechov.net/PascalClassLibrary/Common/"/> 42 <License Value="Copy left."/> 43 <Version Minor="8"/> 44 <Files Count="29"> 43 45 <Item1> 44 46 <Filename Value="StopWatch.pas"/> … … 60 62 <Item5> 61 63 <Filename Value="UPrefixMultiplier.pas"/> 64 <HasRegisterProc Value="True"/> 62 65 <UnitName Value="UPrefixMultiplier"/> 63 66 </Item5> … … 138 141 <UnitName Value="UStringTable"/> 139 142 </Item22> 143 <Item23> 144 <Filename Value="UMetaCanvas.pas"/> 145 <UnitName Value="UMetaCanvas"/> 146 </Item23> 147 <Item24> 148 <Filename Value="UGeometric.pas"/> 149 <UnitName Value="UGeometric"/> 150 </Item24> 151 <Item25> 152 <Filename Value="UTranslator.pas"/> 153 <HasRegisterProc Value="True"/> 154 <UnitName Value="UTranslator"/> 155 </Item25> 156 <Item26> 157 <Filename Value="ULanguages.pas"/> 158 <UnitName Value="ULanguages"/> 159 </Item26> 160 <Item27> 161 <Filename Value="UFormAbout.pas"/> 162 <UnitName Value="UFormAbout"/> 163 </Item27> 164 <Item28> 165 <Filename Value="UAboutDialog.pas"/> 166 <HasRegisterProc Value="True"/> 167 <UnitName Value="UAboutDialog"/> 168 </Item28> 169 <Item29> 170 <Filename Value="UPixelPointer.pas"/> 171 <UnitName Value="UPixelPointer"/> 172 </Item29> 140 173 </Files> 141 174 <i18n> … … 144 177 <EnableI18NForLFM Value="True"/> 145 178 </i18n> 146 <RequiredPkgs Count=" 3">179 <RequiredPkgs Count="2"> 147 180 <Item1> 148 181 <PackageName Value="LCL"/> 149 182 </Item1> 150 183 <Item2> 151 <PackageName Value="TemplateGenerics"/>152 </Item2>153 <Item3>154 184 <PackageName Value="FCL"/> 155 185 <MinVersion Major="1" Valid="True"/> 156 </Item 3>186 </Item2> 157 187 </RequiredPkgs> 158 188 <UsageOptions> -
trunk/Packages/Common/Common.pas
r192 r308 12 12 UMemory, UResetableThread, UPool, ULastOpenedList, URegistry, 13 13 UJobProgressView, UXMLUtils, UApplicationInfo, USyncCounter, UListViewSort, 14 UPersistentForm, UFindFile, UScaleDPI, UTheme, UStringTable, 15 LazarusPackageIntf; 14 UPersistentForm, UFindFile, UScaleDPI, UTheme, UStringTable, UMetaCanvas, 15 UGeometric, UTranslator, ULanguages, UFormAbout, UAboutDialog, 16 UPixelPointer, LazarusPackageIntf; 16 17 17 18 implementation … … 20 21 begin 21 22 RegisterUnit('UDebugLog', @UDebugLog.Register); 23 RegisterUnit('UPrefixMultiplier', @UPrefixMultiplier.Register); 22 24 RegisterUnit('ULastOpenedList', @ULastOpenedList.Register); 23 25 RegisterUnit('UJobProgressView', @UJobProgressView.Register); … … 28 30 RegisterUnit('UScaleDPI', @UScaleDPI.Register); 29 31 RegisterUnit('UTheme', @UTheme.Register); 32 RegisterUnit('UTranslator', @UTranslator.Register); 33 RegisterUnit('UAboutDialog', @UAboutDialog.Register); 30 34 end; 31 35 -
trunk/Packages/Common/Demo/ScaleDPI/ScaleDPI.lpi
r94 r308 17 17 <StringTable ProductVersion=""/> 18 18 </VersionInfo> 19 <MacroValues Count="1">20 <Macro1 Name="LCLWidgetType" Value="customdrawn"/>21 </MacroValues>22 19 <BuildModes Count="1"> 23 20 <Item1 Name="Default" Default="True"/> 24 <SharedMatrixOptions Count="1">25 <Item1 ID="601562014369" Modes="Default" Type="IDEMacro" MacroName="LCLWidgetType" Value="customdrawn"/>26 </SharedMatrixOptions>27 21 </BuildModes> 28 22 <PublishOptions> … … 47 41 <Filename Value="ScaleDPI.lpr"/> 48 42 <IsPartOfProject Value="True"/> 43 <UnitName Value="ScaleDPI"/> 49 44 </Unit0> 50 45 <Unit1> … … 52 47 <IsPartOfProject Value="True"/> 53 48 <ComponentName Value="Form1"/> 54 <HasResources Value="True"/>55 49 <ResourceBaseClass Value="Form"/> 56 50 <UnitName Value="UFormMain"/> … … 60 54 <IsPartOfProject Value="True"/> 61 55 <ComponentName Value="Form2"/> 62 <HasResources Value="True"/>63 56 <ResourceBaseClass Value="Form"/> 64 57 <UnitName Value="UFormTest"/> -
trunk/Packages/Common/Demo/ScaleDPI/UFormTest.lfm
r94 r308 1 1 object Form2: TForm2 2 Left = 10 092 Left = 1062 3 3 Height = 754 4 Top = 3 514 Top = 360 5 5 Width = 1043 6 6 Caption = 'Form2' … … 50 50 ClientHeight = 453 51 51 ClientWidth = 690 52 object ListView1: TListView 53 Left = 0 54 Height = 390 55 Top = 0 56 Width = 690 57 Align = alTop 58 Columns = < 59 item 60 Caption = 'Column' 61 end 62 item 63 Caption = 'Column' 64 end 65 item 66 Caption = 'Column' 67 end 68 item 69 Caption = 'Column' 70 end 71 item 72 Caption = 'Column' 73 Width = 473 74 end> 75 TabOrder = 0 76 ViewStyle = vsReport 77 end 52 78 object Button1: TButton 53 79 Left = 592 … … 57 83 Anchors = [akRight, akBottom] 58 84 Caption = 'Ok' 59 TabOrder = 085 TabOrder = 1 60 86 end 61 87 object Button2: TButton … … 66 92 Anchors = [akRight, akBottom] 67 93 Caption = 'Cancel' 68 TabOrder = 194 TabOrder = 2 69 95 end 70 96 end … … 4442 4468 TabOrder = 3 4443 4469 end 4470 object StatusBar1: TStatusBar 4471 Left = 0 4472 Height = 29 4473 Top = 696 4474 Width = 1043 4475 Panels = < 4476 item 4477 Text = 'Panel1' 4478 Width = 150 4479 end 4480 item 4481 Text = 'Panel2' 4482 Width = 150 4483 end 4484 item 4485 Text = 'Panel3' 4486 Width = 250 4487 end> 4488 SimplePanel = False 4489 end 4490 object Calendar1: TCalendar 4491 Left = 744 4492 Height = 254 4493 Top = 48 4494 Width = 220 4495 DateTime = 41977 4496 TabOrder = 5 4497 end 4444 4498 object ImageList1: TImageList 4445 4499 left = 736 … … 4553 4607 object MenuItem3: TMenuItem 4554 4608 Caption = 'New Item3' 4555 Bitmap.Data = {4556 36040000424D36040000000000003600000028000000100000001000000001004557 2000000000000004000064000000640000000000000000000000986B37FF976A4558 36FF966935FF966734FF956633FF946532FF946531FF936430FF92622FFF92614559 2EFF91602DFF90602CFF905F2BFF8F5D2AFF8E5C29FF8D5B28FF996C38FFF8F74560 F6FFF8F7F5FFF7F6F5FFF6F6F4FFF6F5F3FFF5F5F3FFF5F4F2FFF4F3F1FFF4F34561 F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F0EEFFF1F0EDFF8E5D29FF996D3AFFF9F84562 F7FF959594FF878787FF9B9A9AFFF7F6F4FFF6F5F3FFF6F5F3FFF5F4F2FFF4F34563 F1FFF4F3F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F1EEFF8F5E2AFF9A6E3BFFF9F94564 F8FF7C7C7CFFC4C4C4FF878787FFF7F6F5FF7A7A7AFF787878FF747474FF71714565 70FF6D6D6CFF696968FF656565FF616161FFF2F1EFFF905F2BFF9B6F3CFFFAF94566 F8FFBEBEBDFF929292FFBCBCBBFFF8F7F6FFF7F7F5FFF7F6F4FFF6F5F4FFF6F54567 F3FFF5F4F2FFF5F4F2FFF4F3F1FFF4F2F0FFF3F2F0FF91602DFF9C703DFFFAFA4568 F9FFFAF9F9FFF9F9F8FFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F54569 F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FFF4F3F0FF92612EFF9D723EFFFBFB4570 FAFF9F9F9EFF7F7F7FFFAEAEADFFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F64571 F5FFF6F6F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FF92622FFF9D7340FFFCFB4572 FBFF818181FFC4C4C4FF8F8F8FFFFAF9F8FF7B7B7AFF797979FF757574FF72714573 71FF6D6D6DFF696969FF666665FF626261FFF5F4F2FF936430FF9E7441FFFCFC4574 FCFFB5B5B5FF848484FFBEBDBDFFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FFF8F84575 F6FFF8F7F5FFF7F6F5FFF7F6F4FFF6F5F3FFF6F5F3FF946531FF9F7542FFFDFD4576 FCFFFCFCFCFFFCFCFBFFFBFBFAFFFBFAFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F84577 F7FFF8F8F6FFF8F7F6FFF7F6F5FFF7F6F4FFF6F5F4FF956633FFA07643FFFEFD4578 FDFF8C8C8CFF525252FFA4A4A4FFFBFBFAFFFBFBFAFFFAFAF9FFFAF9F8FFF9F94579 F8FFF9F8F7FFF8F8F6FFF8F7F6FFF7F7F5FFF7F6F4FF966734FFA17844FFFEFE4580 FEFF5F5F5FFF949494FF535353FFFCFCFBFF7B7B7BFF797979FF757575FF72724581 72FF6E6E6EFF6A6A69FF666666FF626262FFF7F7F5FF966935FFA17946FFFFFF4582 FFFF878787FF5D5D5DFFA0A0A0FFFDFCFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFA4583 F9FFFAFAF9FFFAF9F8FFF9F8F7FFF8F8F7FFF8F7F6FF976A36FFA27A47FFFFFF4584 FFFFFFFFFFFFFEFEFEFFFEFEFEFFFDFDFDFFFDFDFCFFFCFCFBFFFCFBFBFFFBFB4585 FAFFFBFAF9FFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FF986B37FFA37B48FFBEA24586 7FFFBEA17EFFBDA17DFFBDA07CFFBD9F7CFFBC9F7BFFBB9E7AFFBB9D7AFFBB9D4587 79FFBA9C78FFB99B78FFB99A77FFB89A76FFB89975FF996C39FFA37B48FFA37B4588 48FFA27A47FFA27946FFA17845FFA07744FFA07643FF9F7542FF9E7441FF9E734589 40FF9D723FFF9C713EFF9C703DFF9B6F3CFF9A6E3BFF9A6D3AFF4590 }4591 4609 ImageIndex = 0 4592 4610 OnClick = MenuItem3Click … … 4594 4612 object MenuItem8: TMenuItem 4595 4613 Caption = 'New Item8' 4596 Bitmap.Data = {4597 36040000424D36040000000000003600000028000000100000001000000001004598 2000000000000004000064000000640000000000000000000000FF00FF00FF004599 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004600 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00634A4601 31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A4602 31FF634A31FF634A31FF634A31FF634A31FFFF00FF00FF00FF00C6ADA5FFFFEF4603 E7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDE4604 D6FFFFDED6FFFFDED6FFFFDED6FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFEF4605 E7FFD69484FFE7A584FFF7A584FFF79C73FFF79C73FFE78C63FFE78463FFE7844606 52FFE78442FFE77B42FFE78452FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74607 F7FFC69473FFFFC6A5FFF7B594FFF7A584FFF79C73FFF79C73FFE78C63FFE7844608 63FFD67B52FFD67352FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74609 F7FFC69473FFFFCEB5FFFFEFE7FFFFE7D6FFFFDED6FFFFDED6FFFFDED6FFFFD64610 C6FFFFD6C6FFD67B52FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74611 F7FFC69473FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A584FFF7A584FFF79C4612 73FFE78C63FFE78463FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74613 F7FFC69473FFFFD6C6FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDED6FFFFDE4614 D6FFFFDED6FFE78C63FFE77342FFFFE7D6FF634A31FFFF00FF00C6ADA5FFFFF74615 F7FFC69473FFFFD6C6FFFFD6C6FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A54616 84FFF79C73FFF79C73FFE77342FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4617 FFFFC69473FFFFDED6FFFFEFE7FFFFEFE7FFFFEFE7FFFFC6A5FFFFC6A5FFFFB54618 94FFFFB594FFF79C73FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4619 FFFFC69473FFFFDED6FFFFDED6FFFFD6C6FFFFCEB5FFFFCEB5FFFFC6A5FFFFC64620 A5FFFFB594FFFFB584FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4621 FFFFD69C84FFD69484FFC69473FFD68C73FFD68C63FFC68463FFC67B52FFC6734622 42FFC66B42FFC66B42FFD67B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4623 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFFFF7F7FFFFF7F7FFFFF7F7FFFFF74624 F7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FF634A31FFFF00FF00FF00FF00D6B54625 A5FFD6B5A5FFD6B5A5FFD6B5A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFC6AD4626 A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFFF00FF00FF00FF00FF00FF00FF004627 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004628 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004629 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004630 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004631 }4632 4614 ImageIndex = 1 4633 4615 end 4634 4616 object MenuItem9: TMenuItem 4635 4617 Caption = 'New Item9' 4636 Bitmap.Data = {4637 36040000424D36040000000000003600000028000000100000001000000001004638 2000000000000004000064000000640000000000000000000000FF00FF00FF004639 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004640 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00634A4641 31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A4642 31FF634A31FF634A31FF634A31FF634A31FFFF00FF00FF00FF00C6ADA5FFFFEF4643 E7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDE4644 D6FFFFDED6FFFFDED6FFFFDED6FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFEF4645 E7FFD69484FFE7A584FFF7A584FFF79C73FFF79C73FFE78C63FFE78463FFE7844646 52FFE78442FFE77B42FFE78452FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74647 F7FFC69473FFFFC6A5FFF7B594FFF7A584FFF79C73FFF79C73FFE78C63FFE7844648 63FFD67B52FFD67352FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74649 F7FFC69473FFFFCEB5FFFFEFE7FFFFE7D6FFFFDED6FFFFDED6FFFFDED6FFFFD64650 C6FFFFD6C6FFD67B52FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74651 F7FFC69473FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A584FFF7A584FFF79C4652 73FFE78C63FFE78463FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74653 F7FFC69473FFFFD6C6FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDED6FFFFDE4654 D6FFFFDED6FFE78C63FFE77342FFFFE7D6FF634A31FFFF00FF00C6ADA5FFFFF74655 F7FFC69473FFFFD6C6FFFFD6C6FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A54656 84FFF79C73FFF79C73FFE77342FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4657 FFFFC69473FFFFDED6FFFFEFE7FFFFEFE7FFFFEFE7FFFFC6A5FFFFC6A5FFFFB54658 94FFFFB594FFF79C73FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4659 FFFFC69473FFFFDED6FFFFDED6FFFFD6C6FFFFCEB5FFFFCEB5FFFFC6A5FFFFC64660 A5FFFFB594FFFFB584FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4661 FFFFD69C84FFD69484FFC69473FFD68C73FFD68C63FFC68463FFC67B52FFC6734662 42FFC66B42FFC66B42FFD67B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4663 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFFFF7F7FFFFF7F7FFFFF7F7FFFFF74664 F7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FF634A31FFFF00FF00FF00FF00D6B54665 A5FFD6B5A5FFD6B5A5FFD6B5A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFC6AD4666 A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFFF00FF00FF00FF00FF00FF00FF004667 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004668 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004669 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004670 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004671 }4672 4618 ImageIndex = 1 4673 4619 end 4674 4620 object MenuItem10: TMenuItem 4675 4621 Caption = 'New Item10' 4676 Bitmap.Data = {4677 36040000424D36040000000000003600000028000000100000001000000001004678 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF4679 FF00FFFFFF00FFFFFF005049E726342DE374241CE1BF231BE1BF231BE1BF251D4680 E19F3730E464FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4681 FF00FFFFFF002D26E2912B23E2FF3032E7FF3B48EFFF4356F4FF4152F2FF39444682 EEFF2D2BE5FF2C24E2DF352EE354FFFFFF00FFFFFF00FFFFFF00FFFFFF00231B4683 E20E2B23E3CF2C29E5FF4153F3FF4E6AFAFF4E6AFAFF4E6AFAFF4E6AFAFF4E6A4684 FAFF4D69FAFF3B47EFFF2923E3FF332BE362FFFFFF00FFFFFF00FFFFFF002C244685 E3912A24E5FFE2E6FEFFE6EAFEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E94686 FEFFE5E9FEFFE8EBFEFF4051F2FF2820E2FF3730E442FFFFFF00231BE22E2A224687 E3FF3B47EFFF5C76FAFF96A7FCFFA2B1FCFFA3B2FCFF9CACFCFFA5B3FCFFA1B04688 FCFF9EADFCFF778CFBFF4E6AFAFF3134E9FF2B23E2DFFFFFFF00231BE29F271F4689 E3FF4961F7FFCFD7FEFFFBFBFFFFE4E8FEFFDCE2FEFFFBFBFFFFD6DDFEFFECF04690 FEFFFAFAFFFFCDD5FEFF4E6AFAFF3E4DF1FF261FE1FF231BE12E231BE2DF261E4691 E2FF4D68F9FF6981FBFFF3F4FFFF8598FCFF667EFBFFF3F4FFFF4E6AFAFFA8B54692 FDFFDDE2FEFF4E6AFAFF4E6AFAFF4255F3FF231BE1FF231BE17E241CE2FF261F4693 E2FF231BE2FF453EE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934694 F1FFD6D4FAFF231BE2FF231BE1FF231BE1FF231BE1FF231BE17E241CE2FF271F4695 E2FF241CE2FF453FE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934696 F1FFD6D4FAFF231BE2FF231BE2FF231BE2FF231BE2FF231BE27E241CE2CF27204697 E2FF241CE2FF3C35E5FFEFEEFDFF645FEBFF3D36E5FFEFEFFDFF231BE2FF908C4698 F0FFD4D2F9FF231BE2FF231BE2FF231BE2FF241CE2FF231BE27E241CE29F29214699 E3FF241CE2FFEBEAFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4700 FFFFFFFFFFFFFFFFFFFF261EE2FF231BE2FF271FE3FF231BE22E241CE22E2C244701 E3FF261EE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241C4702 E2FF241CE2FF241CE2FF261EE2FF251DE2FF2B23E3DFFFFFFF00FFFFFF002C244703 E3912A22E3FF332BE4FF9995F1FFF5F4FEFFFBFBFEFFF6F6FEFFF8F8FEFFFCFC4704 FFFFB6B3F5FF433CE6FF241CE2FF2A22E3FF3028E442FFFFFF00FFFFFF00FFFF4705 FF002A22E3BF2A22E3FF2820E2FF635DEAFFCECCF9FFFFFFFFFFE7E6FCFF7C774706 EEFF2D26E3FF271FE2FF2A22E3FF2E27E362FFFFFF00FFFFFF00FFFFFF00FFFF4707 FF00FFFFFF002B23E3812C24E3FF2B23E3FF4C46E8FF8D89F0FF615BEAFF28204708 E3FF2B23E3FF2D25E3DF3129E442FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4709 FF00FFFFFF00FFFFFF00241CE21E241CE26E241CE2AF241CE2BF241CE2BF241C4710 E29F241CE25EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004711 }4712 4622 ImageIndex = 2 4713 4623 end … … 4717 4627 object MenuItem4: TMenuItem 4718 4628 Caption = 'New Item4' 4719 Bitmap.Data = {4720 36040000424D36040000000000003600000028000000100000001000000001004721 2000000000000004000064000000640000000000000000000000986B37FF976A4722 36FF966935FF966734FF956633FF946532FF946531FF936430FF92622FFF92614723 2EFF91602DFF90602CFF905F2BFF8F5D2AFF8E5C29FF8D5B28FF996C38FFF8F74724 F6FFF8F7F5FFF7F6F5FFF6F6F4FFF6F5F3FFF5F5F3FFF5F4F2FFF4F3F1FFF4F34725 F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F0EEFFF1F0EDFF8E5D29FF996D3AFFF9F84726 F7FF959594FF878787FF9B9A9AFFF7F6F4FFF6F5F3FFF6F5F3FFF5F4F2FFF4F34727 F1FFF4F3F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F1EEFF8F5E2AFF9A6E3BFFF9F94728 F8FF7C7C7CFFC4C4C4FF878787FFF7F6F5FF7A7A7AFF787878FF747474FF71714729 70FF6D6D6CFF696968FF656565FF616161FFF2F1EFFF905F2BFF9B6F3CFFFAF94730 F8FFBEBEBDFF929292FFBCBCBBFFF8F7F6FFF7F7F5FFF7F6F4FFF6F5F4FFF6F54731 F3FFF5F4F2FFF5F4F2FFF4F3F1FFF4F2F0FFF3F2F0FF91602DFF9C703DFFFAFA4732 F9FFFAF9F9FFF9F9F8FFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F54733 F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FFF4F3F0FF92612EFF9D723EFFFBFB4734 FAFF9F9F9EFF7F7F7FFFAEAEADFFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F64735 F5FFF6F6F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FF92622FFF9D7340FFFCFB4736 FBFF818181FFC4C4C4FF8F8F8FFFFAF9F8FF7B7B7AFF797979FF757574FF72714737 71FF6D6D6DFF696969FF666665FF626261FFF5F4F2FF936430FF9E7441FFFCFC4738 FCFFB5B5B5FF848484FFBEBDBDFFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FFF8F84739 F6FFF8F7F5FFF7F6F5FFF7F6F4FFF6F5F3FFF6F5F3FF946531FF9F7542FFFDFD4740 FCFFFCFCFCFFFCFCFBFFFBFBFAFFFBFAFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F84741 F7FFF8F8F6FFF8F7F6FFF7F6F5FFF7F6F4FFF6F5F4FF956633FFA07643FFFEFD4742 FDFF8C8C8CFF525252FFA4A4A4FFFBFBFAFFFBFBFAFFFAFAF9FFFAF9F8FFF9F94743 F8FFF9F8F7FFF8F8F6FFF8F7F6FFF7F7F5FFF7F6F4FF966734FFA17844FFFEFE4744 FEFF5F5F5FFF949494FF535353FFFCFCFBFF7B7B7BFF797979FF757575FF72724745 72FF6E6E6EFF6A6A69FF666666FF626262FFF7F7F5FF966935FFA17946FFFFFF4746 FFFF878787FF5D5D5DFFA0A0A0FFFDFCFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFA4747 F9FFFAFAF9FFFAF9F8FFF9F8F7FFF8F8F7FFF8F7F6FF976A36FFA27A47FFFFFF4748 FFFFFFFFFFFFFEFEFEFFFEFEFEFFFDFDFDFFFDFDFCFFFCFCFBFFFCFBFBFFFBFB4749 FAFFFBFAF9FFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FF986B37FFA37B48FFBEA24750 7FFFBEA17EFFBDA17DFFBDA07CFFBD9F7CFFBC9F7BFFBB9E7AFFBB9D7AFFBB9D4751 79FFBA9C78FFB99B78FFB99A77FFB89A76FFB89975FF996C39FFA37B48FFA37B4752 48FFA27A47FFA27946FFA17845FFA07744FFA07643FF9F7542FF9E7441FF9E734753 40FF9D723FFF9C713EFF9C703DFF9B6F3CFF9A6E3BFF9A6D3AFF4754 }4755 4629 ImageIndex = 0 4756 4630 end 4757 4631 object MenuItem5: TMenuItem 4758 4632 Caption = 'New Item5' 4759 Bitmap.Data = {4760 36040000424D36040000000000003600000028000000100000001000000001004761 2000000000000004000064000000640000000000000000000000FF00FF00FF004762 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004763 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00634A4764 31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A4765 31FF634A31FF634A31FF634A31FF634A31FFFF00FF00FF00FF00C6ADA5FFFFEF4766 E7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDE4767 D6FFFFDED6FFFFDED6FFFFDED6FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFEF4768 E7FFD69484FFE7A584FFF7A584FFF79C73FFF79C73FFE78C63FFE78463FFE7844769 52FFE78442FFE77B42FFE78452FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74770 F7FFC69473FFFFC6A5FFF7B594FFF7A584FFF79C73FFF79C73FFE78C63FFE7844771 63FFD67B52FFD67352FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74772 F7FFC69473FFFFCEB5FFFFEFE7FFFFE7D6FFFFDED6FFFFDED6FFFFDED6FFFFD64773 C6FFFFD6C6FFD67B52FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74774 F7FFC69473FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A584FFF7A584FFF79C4775 73FFE78C63FFE78463FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74776 F7FFC69473FFFFD6C6FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDED6FFFFDE4777 D6FFFFDED6FFE78C63FFE77342FFFFE7D6FF634A31FFFF00FF00C6ADA5FFFFF74778 F7FFC69473FFFFD6C6FFFFD6C6FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A54779 84FFF79C73FFF79C73FFE77342FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4780 FFFFC69473FFFFDED6FFFFEFE7FFFFEFE7FFFFEFE7FFFFC6A5FFFFC6A5FFFFB54781 94FFFFB594FFF79C73FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4782 FFFFC69473FFFFDED6FFFFDED6FFFFD6C6FFFFCEB5FFFFCEB5FFFFC6A5FFFFC64783 A5FFFFB594FFFFB584FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4784 FFFFD69C84FFD69484FFC69473FFD68C73FFD68C63FFC68463FFC67B52FFC6734785 42FFC66B42FFC66B42FFD67B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4786 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFFFF7F7FFFFF7F7FFFFF7F7FFFFF74787 F7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FF634A31FFFF00FF00FF00FF00D6B54788 A5FFD6B5A5FFD6B5A5FFD6B5A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFC6AD4789 A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFFF00FF00FF00FF00FF00FF00FF004790 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004791 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004792 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004793 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004794 }4795 4633 ImageIndex = 1 4796 4634 end 4797 4635 object MenuItem6: TMenuItem 4798 4636 Caption = 'New Item6' 4799 Bitmap.Data = {4800 36040000424D36040000000000003600000028000000100000001000000001004801 2000000000000004000064000000640000000000000000000000986B37FF976A4802 36FF966935FF966734FF956633FF946532FF946531FF936430FF92622FFF92614803 2EFF91602DFF90602CFF905F2BFF8F5D2AFF8E5C29FF8D5B28FF996C38FFF8F74804 F6FFF8F7F5FFF7F6F5FFF6F6F4FFF6F5F3FFF5F5F3FFF5F4F2FFF4F3F1FFF4F34805 F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F0EEFFF1F0EDFF8E5D29FF996D3AFFF9F84806 F7FF959594FF878787FF9B9A9AFFF7F6F4FFF6F5F3FFF6F5F3FFF5F4F2FFF4F34807 F1FFF4F3F1FFF3F2F0FFF3F2EFFFF2F1EFFFF2F1EEFF8F5E2AFF9A6E3BFFF9F94808 F8FF7C7C7CFFC4C4C4FF878787FFF7F6F5FF7A7A7AFF787878FF747474FF71714809 70FF6D6D6CFF696968FF656565FF616161FFF2F1EFFF905F2BFF9B6F3CFFFAF94810 F8FFBEBEBDFF929292FFBCBCBBFFF8F7F6FFF7F7F5FFF7F6F4FFF6F5F4FFF6F54811 F3FFF5F4F2FFF5F4F2FFF4F3F1FFF4F2F0FFF3F2F0FF91602DFF9C703DFFFAFA4812 F9FFFAF9F9FFF9F9F8FFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F6F5FFF6F54813 F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FFF4F3F0FF92612EFF9D723EFFFBFB4814 FAFF9F9F9EFF7F7F7FFFAEAEADFFF9F8F7FFF8F8F7FFF8F7F6FFF7F7F5FFF7F64815 F5FFF6F6F4FFF6F5F3FFF5F4F3FFF5F4F2FFF4F3F1FF92622FFF9D7340FFFCFB4816 FBFF818181FFC4C4C4FF8F8F8FFFFAF9F8FF7B7B7AFF797979FF757574FF72714817 71FF6D6D6DFF696969FF666665FF626261FFF5F4F2FF936430FF9E7441FFFCFC4818 FCFFB5B5B5FF848484FFBEBDBDFFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FFF8F84819 F6FFF8F7F5FFF7F6F5FFF7F6F4FFF6F5F3FFF6F5F3FF946531FF9F7542FFFDFD4820 FCFFFCFCFCFFFCFCFBFFFBFBFAFFFBFAFAFFFAFAF9FFFAF9F8FFF9F9F8FFF9F84821 F7FFF8F8F6FFF8F7F6FFF7F6F5FFF7F6F4FFF6F5F4FF956633FFA07643FFFEFD4822 FDFF8C8C8CFF525252FFA4A4A4FFFBFBFAFFFBFBFAFFFAFAF9FFFAF9F8FFF9F94823 F8FFF9F8F7FFF8F8F6FFF8F7F6FFF7F7F5FFF7F6F4FF966734FFA17844FFFEFE4824 FEFF5F5F5FFF949494FF535353FFFCFCFBFF7B7B7BFF797979FF757575FF72724825 72FF6E6E6EFF6A6A69FF666666FF626262FFF7F7F5FF966935FFA17946FFFFFF4826 FFFF878787FF5D5D5DFFA0A0A0FFFDFCFCFFFCFCFBFFFCFBFBFFFBFBFAFFFBFA4827 F9FFFAFAF9FFFAF9F8FFF9F8F7FFF8F8F7FFF8F7F6FF976A36FFA27A47FFFFFF4828 FFFFFFFFFFFFFEFEFEFFFEFEFEFFFDFDFDFFFDFDFCFFFCFCFBFFFCFBFBFFFBFB4829 FAFFFBFAF9FFFAFAF9FFFAF9F8FFF9F9F7FFF9F8F7FF986B37FFA37B48FFBEA24830 7FFFBEA17EFFBDA17DFFBDA07CFFBD9F7CFFBC9F7BFFBB9E7AFFBB9D7AFFBB9D4831 79FFBA9C78FFB99B78FFB99A77FFB89A76FFB89975FF996C39FFA37B48FFA37B4832 48FFA27A47FFA27946FFA17845FFA07744FFA07643FF9F7542FF9E7441FF9E734833 40FF9D723FFF9C713EFF9C703DFF9B6F3CFF9A6E3BFF9A6D3AFF4834 }4835 4637 ImageIndex = 0 4836 4638 end 4837 4639 object MenuItem7: TMenuItem 4838 4640 Caption = 'New Item7' 4839 Bitmap.Data = {4840 36040000424D36040000000000003600000028000000100000001000000001004841 2000000000000004000064000000640000000000000000000000FF00FF00FF004842 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004843 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00634A4844 31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A31FF634A4845 31FF634A31FF634A31FF634A31FF634A31FFFF00FF00FF00FF00C6ADA5FFFFEF4846 E7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDE4847 D6FFFFDED6FFFFDED6FFFFDED6FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFEF4848 E7FFD69484FFE7A584FFF7A584FFF79C73FFF79C73FFE78C63FFE78463FFE7844849 52FFE78442FFE77B42FFE78452FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74850 F7FFC69473FFFFC6A5FFF7B594FFF7A584FFF79C73FFF79C73FFE78C63FFE7844851 63FFD67B52FFD67352FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74852 F7FFC69473FFFFCEB5FFFFEFE7FFFFE7D6FFFFDED6FFFFDED6FFFFDED6FFFFD64853 C6FFFFD6C6FFD67B52FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74854 F7FFC69473FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A584FFF7A584FFF79C4855 73FFE78C63FFE78463FFE77342FFFFDED6FF634A31FFFF00FF00C6ADA5FFFFF74856 F7FFC69473FFFFD6C6FFFFEFE7FFFFEFE7FFFFEFE7FFFFE7D6FFFFDED6FFFFDE4857 D6FFFFDED6FFE78C63FFE77342FFFFE7D6FF634A31FFFF00FF00C6ADA5FFFFF74858 F7FFC69473FFFFD6C6FFFFD6C6FFFFCEB5FFFFC6A5FFFFC6A5FFFFB594FFF7A54859 84FFF79C73FFF79C73FFE77342FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4860 FFFFC69473FFFFDED6FFFFEFE7FFFFEFE7FFFFEFE7FFFFC6A5FFFFC6A5FFFFB54861 94FFFFB594FFF79C73FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4862 FFFFC69473FFFFDED6FFFFDED6FFFFD6C6FFFFCEB5FFFFCEB5FFFFC6A5FFFFC64863 A5FFFFB594FFFFB584FFE77B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4864 FFFFD69C84FFD69484FFC69473FFD68C73FFD68C63FFC68463FFC67B52FFC6734865 42FFC66B42FFC66B42FFD67B42FFFFEFE7FF634A31FFFF00FF00D6B5A5FFFFFF4866 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F7FFFFF7F7FFFFF7F7FFFFF7F7FFFFF74867 F7FFFFEFE7FFFFEFE7FFFFEFE7FFFFEFE7FF634A31FFFF00FF00FF00FF00D6B54868 A5FFD6B5A5FFD6B5A5FFD6B5A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFC6AD4869 A5FFC6ADA5FFC6ADA5FFC6ADA5FFC6ADA5FFFF00FF00FF00FF00FF00FF00FF004870 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004871 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004872 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004873 FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF004874 }4875 4641 ImageIndex = 1 4876 4642 end … … 4880 4646 object MenuItem12: TMenuItem 4881 4647 Caption = 'New Item12' 4882 Bitmap.Data = {4883 36040000424D36040000000000003600000028000000100000001000000001004884 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF4885 FF00FFFFFF00FFFFFF005049E726342DE374241CE1BF231BE1BF231BE1BF251D4886 E19F3730E464FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4887 FF00FFFFFF002D26E2912B23E2FF3032E7FF3B48EFFF4356F4FF4152F2FF39444888 EEFF2D2BE5FF2C24E2DF352EE354FFFFFF00FFFFFF00FFFFFF00FFFFFF00231B4889 E20E2B23E3CF2C29E5FF4153F3FF4E6AFAFF4E6AFAFF4E6AFAFF4E6AFAFF4E6A4890 FAFF4D69FAFF3B47EFFF2923E3FF332BE362FFFFFF00FFFFFF00FFFFFF002C244891 E3912A24E5FFE2E6FEFFE6EAFEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E94892 FEFFE5E9FEFFE8EBFEFF4051F2FF2820E2FF3730E442FFFFFF00231BE22E2A224893 E3FF3B47EFFF5C76FAFF96A7FCFFA2B1FCFFA3B2FCFF9CACFCFFA5B3FCFFA1B04894 FCFF9EADFCFF778CFBFF4E6AFAFF3134E9FF2B23E2DFFFFFFF00231BE29F271F4895 E3FF4961F7FFCFD7FEFFFBFBFFFFE4E8FEFFDCE2FEFFFBFBFFFFD6DDFEFFECF04896 FEFFFAFAFFFFCDD5FEFF4E6AFAFF3E4DF1FF261FE1FF231BE12E231BE2DF261E4897 E2FF4D68F9FF6981FBFFF3F4FFFF8598FCFF667EFBFFF3F4FFFF4E6AFAFFA8B54898 FDFFDDE2FEFF4E6AFAFF4E6AFAFF4255F3FF231BE1FF231BE17E241CE2FF261F4899 E2FF231BE2FF453EE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934900 F1FFD6D4FAFF231BE2FF231BE1FF231BE1FF231BE1FF231BE17E241CE2FF271F4901 E2FF241CE2FF453FE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934902 F1FFD6D4FAFF231BE2FF231BE2FF231BE2FF231BE2FF231BE27E241CE2CF27204903 E2FF241CE2FF3C35E5FFEFEEFDFF645FEBFF3D36E5FFEFEFFDFF231BE2FF908C4904 F0FFD4D2F9FF231BE2FF231BE2FF231BE2FF241CE2FF231BE27E241CE29F29214905 E3FF241CE2FFEBEAFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4906 FFFFFFFFFFFFFFFFFFFF261EE2FF231BE2FF271FE3FF231BE22E241CE22E2C244907 E3FF261EE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241C4908 E2FF241CE2FF241CE2FF261EE2FF251DE2FF2B23E3DFFFFFFF00FFFFFF002C244909 E3912A22E3FF332BE4FF9995F1FFF5F4FEFFFBFBFEFFF6F6FEFFF8F8FEFFFCFC4910 FFFFB6B3F5FF433CE6FF241CE2FF2A22E3FF3028E442FFFFFF00FFFFFF00FFFF4911 FF002A22E3BF2A22E3FF2820E2FF635DEAFFCECCF9FFFFFFFFFFE7E6FCFF7C774912 EEFF2D26E3FF271FE2FF2A22E3FF2E27E362FFFFFF00FFFFFF00FFFFFF00FFFF4913 FF00FFFFFF002B23E3812C24E3FF2B23E3FF4C46E8FF8D89F0FF615BEAFF28204914 E3FF2B23E3FF2D25E3DF3129E442FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4915 FF00FFFFFF00FFFFFF00241CE21E241CE26E241CE2AF241CE2BF241CE2BF241C4916 E29F241CE25EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004917 }4918 4648 ImageIndex = 2 4919 4649 end 4920 4650 object MenuItem13: TMenuItem 4921 4651 Caption = 'New Item13' 4922 Bitmap.Data = {4923 36040000424D36040000000000003600000028000000100000001000000001004924 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF4925 FF00FFFFFF00FFFFFF005049E726342DE374241CE1BF231BE1BF231BE1BF251D4926 E19F3730E464FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4927 FF00FFFFFF002D26E2912B23E2FF3032E7FF3B48EFFF4356F4FF4152F2FF39444928 EEFF2D2BE5FF2C24E2DF352EE354FFFFFF00FFFFFF00FFFFFF00FFFFFF00231B4929 E20E2B23E3CF2C29E5FF4153F3FF4E6AFAFF4E6AFAFF4E6AFAFF4E6AFAFF4E6A4930 FAFF4D69FAFF3B47EFFF2923E3FF332BE362FFFFFF00FFFFFF00FFFFFF002C244931 E3912A24E5FFE2E6FEFFE6EAFEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E9FEFFE5E94932 FEFFE5E9FEFFE8EBFEFF4051F2FF2820E2FF3730E442FFFFFF00231BE22E2A224933 E3FF3B47EFFF5C76FAFF96A7FCFFA2B1FCFFA3B2FCFF9CACFCFFA5B3FCFFA1B04934 FCFF9EADFCFF778CFBFF4E6AFAFF3134E9FF2B23E2DFFFFFFF00231BE29F271F4935 E3FF4961F7FFCFD7FEFFFBFBFFFFE4E8FEFFDCE2FEFFFBFBFFFFD6DDFEFFECF04936 FEFFFAFAFFFFCDD5FEFF4E6AFAFF3E4DF1FF261FE1FF231BE12E231BE2DF261E4937 E2FF4D68F9FF6981FBFFF3F4FFFF8598FCFF667EFBFFF3F4FFFF4E6AFAFFA8B54938 FDFFDDE2FEFF4E6AFAFF4E6AFAFF4255F3FF231BE1FF231BE17E241CE2FF261F4939 E2FF231BE2FF453EE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934940 F1FFD6D4FAFF231BE2FF231BE1FF231BE1FF231BE1FF231BE17E241CE2FF271F4941 E2FF241CE2FF453FE6FFEFEEFDFF6D68ECFF4841E7FFEFEFFDFF2B23E3FF97934942 F1FFD6D4FAFF231BE2FF231BE2FF231BE2FF231BE2FF231BE27E241CE2CF27204943 E2FF241CE2FF3C35E5FFEFEEFDFF645FEBFF3D36E5FFEFEFFDFF231BE2FF908C4944 F0FFD4D2F9FF231BE2FF231BE2FF231BE2FF241CE2FF231BE27E241CE29F29214945 E3FF241CE2FFEBEAFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4946 FFFFFFFFFFFFFFFFFFFF261EE2FF231BE2FF271FE3FF231BE22E241CE22E2C244947 E3FF261EE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241CE2FF241C4948 E2FF241CE2FF241CE2FF261EE2FF251DE2FF2B23E3DFFFFFFF00FFFFFF002C244949 E3912A22E3FF332BE4FF9995F1FFF5F4FEFFFBFBFEFFF6F6FEFFF8F8FEFFFCFC4950 FFFFB6B3F5FF433CE6FF241CE2FF2A22E3FF3028E442FFFFFF00FFFFFF00FFFF4951 FF002A22E3BF2A22E3FF2820E2FF635DEAFFCECCF9FFFFFFFFFFE7E6FCFF7C774952 EEFF2D26E3FF271FE2FF2A22E3FF2E27E362FFFFFF00FFFFFF00FFFFFF00FFFF4953 FF00FFFFFF002B23E3812C24E3FF2B23E3FF4C46E8FF8D89F0FF615BEAFF28204954 E3FF2B23E3FF2D25E3DF3129E442FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF4955 FF00FFFFFF00FFFFFF00241CE21E241CE26E241CE2AF241CE2BF241CE2BF241C4956 E29F241CE25EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004957 }4958 4652 ImageIndex = 2 4959 4653 end -
trunk/Packages/Common/Demo/ScaleDPI/UFormTest.pas
r94 r308 16 16 Button1: TButton; 17 17 Button2: TButton; 18 Calendar1: TCalendar; 18 19 CheckBox1: TCheckBox; 19 20 Edit1: TEdit; … … 21 22 ImageList1: TImageList; 22 23 ImageList2: TImageList; 24 ListView1: TListView; 23 25 MainMenu1: TMainMenu; 24 26 Memo1: TMemo; … … 39 41 Panel1: TPanel; 40 42 RadioGroup1: TRadioGroup; 43 StatusBar1: TStatusBar; 41 44 TabSheet1: TTabSheet; 42 45 TabSheet2: TTabSheet; -
trunk/Packages/Common/Languages/UJobProgressView.po
r192 r308 14 14 msgstr "" 15 15 16 #: ujobprogressview.soperations17 msgid "Operations:"18 msgstr ""19 20 16 #: ujobprogressview.spleasewait 21 17 msgid "Please wait..." -
trunk/Packages/Common/UApplicationInfo.pas
r192 r308 6 6 7 7 uses 8 SysUtils, Classes, Forms, URegistry, Controls ;8 SysUtils, Classes, Forms, URegistry, Controls, Graphics, LCLType; 9 9 10 10 type … … 14 14 TApplicationInfo = class(TComponent) 15 15 private 16 FDescription: TCaption; 16 FDescription: TTranslateString; 17 FIcon: TBitmap; 17 18 FIdentification: Byte; 18 19 FLicense: string; … … 33 34 public 34 35 constructor Create(AOwner: TComponent); override; 36 destructor Destroy; override; 35 37 property Version: string read GetVersion; 36 38 function GetRegistryContext: TRegistryContext; … … 47 49 property EmailContact: string read FEmailContact write FEmailContact; 48 50 property AppName: string read FAppName write FAppName; 49 property Description: string read FDescription write FDescription;51 property Description: TTranslateString read FDescription write FDescription; 50 52 property ReleaseDate: TDateTime read FReleaseDate write FReleaseDate; 51 53 property RegistryKey: string read FRegistryKey write FRegistryKey; 52 54 property RegistryRoot: TRegistryRoot read FRegistryRoot write FRegistryRoot; 53 55 property License: string read FLicense write FLicense; 56 property Icon: TBitmap read FIcon write FIcon; 54 57 end; 55 58 … … 74 77 constructor TApplicationInfo.Create(AOwner: TComponent); 75 78 begin 76 inherited Create(AOwner);79 inherited; 77 80 FVersionMajor := 1; 78 81 FIdentification := 1; … … 80 83 FRegistryKey := '\Software\' + FAppName; 81 84 FRegistryRoot := rrKeyCurrentUser; 85 FIcon := TBitmap.Create; 86 end; 87 88 destructor TApplicationInfo.Destroy; 89 begin 90 FreeAndNil(FIcon); 91 inherited; 82 92 end; 83 93 -
trunk/Packages/Common/UCommon.pas
r192 r308 28 28 unfDNSDomainName = 11); 29 29 30 TFilterMethodMethod = function (FileName: string): Boolean of object; 30 TFilterMethod = function (FileName: string): Boolean of object; 31 TFileNameMethod = procedure (FileName: string) of object; 32 31 33 var 32 34 ExceptionHandler: TExceptionEvent; … … 72 74 function MergeArray(A, B: array of string): TArrayOfString; 73 75 function LoadFileToStr(const FileName: TFileName): AnsiString; 76 procedure SaveStringToFile(S, FileName: string); 74 77 procedure SearchFiles(AList: TStrings; Dir: string; 75 FilterMethod: TFilterMethod Method);78 FilterMethod: TFilterMethod = nil; FileNameMethod: TFileNameMethod = nil); 76 79 function GetStringPart(var Text: string; Separator: string): string; 80 function StripTags(const S: string): string; 81 function PosFromIndex(SubStr: string; Text: string; 82 StartIndex: Integer): Integer; 83 function PosFromIndexReverse(SubStr: string; Text: string; 84 StartIndex: Integer): Integer; 85 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 77 86 78 87 … … 102 111 I: Integer; 103 112 begin 113 Result := ''; 104 114 for I := 1 to Length(Source) do begin 105 115 Result := Result + LowerCase(IntToHex(Ord(Source[I]), 2)); … … 523 533 end; 524 534 535 procedure SaveStringToFile(S, FileName: string); 536 var 537 F: TextFile; 538 begin 539 AssignFile(F, FileName); 540 try 541 ReWrite(F); 542 Write(F, S); 543 finally 544 CloseFile(F); 545 end; 546 end; 547 525 548 procedure SearchFiles(AList: TStrings; Dir: string; 526 FilterMethod: TFilterMethod Method);549 FilterMethod: TFilterMethod = nil; FileNameMethod: TFileNameMethod = nil); 527 550 var 528 551 SR: TSearchRec; … … 532 555 try 533 556 repeat 534 if (SR.Name = '.') or (SR.Name = '..') or not FilterMethod(SR.Name) or 535 not FilterMethod(Copy(Dir, 3, Length(Dir)) + SR.Name) then Continue; 557 if (SR.Name = '.') or (SR.Name = '..') or (Assigned(FilterMethod) and (not FilterMethod(SR.Name) or 558 not FilterMethod(Copy(Dir, 3, Length(Dir)) + SR.Name))) then Continue; 559 if Assigned(FileNameMethod) then 560 FileNameMethod(Dir + SR.Name); 536 561 AList.Add(Dir + SR.Name); 537 562 if (SR.Attr and faDirectory) <> 0 then … … 559 584 end; 560 585 586 function StripTags(const S: string): string; 587 var 588 Len: Integer; 589 590 function ReadUntil(const ReadFrom: Integer; const C: Char): Integer; 591 var 592 J: Integer; 593 begin 594 for J := ReadFrom to Len do 595 if (S[j] = C) then 596 begin 597 Result := J; 598 Exit; 599 end; 600 Result := Len + 1; 601 end; 602 603 var 604 I, APos: Integer; 605 begin 606 Len := Length(S); 607 I := 0; 608 Result := ''; 609 while (I <= Len) do begin 610 Inc(I); 611 APos := ReadUntil(I, '<'); 612 Result := Result + Copy(S, I, APos - i); 613 I := ReadUntil(APos + 1, '>'); 614 end; 615 end; 616 617 function PosFromIndex(SubStr: string; Text: string; 618 StartIndex: Integer): Integer; 619 var 620 I, MaxLen: SizeInt; 621 Ptr: PAnsiChar; 622 begin 623 Result := 0; 624 if (StartIndex < 1) or (StartIndex > Length(Text) - Length(SubStr)) then Exit; 625 if Length(SubStr) > 0 then begin 626 MaxLen := Length(Text) - Length(SubStr) + 1; 627 I := StartIndex; 628 Ptr := @Text[StartIndex]; 629 while (I <= MaxLen) do begin 630 if (SubStr[1] = Ptr^) and (CompareByte(Substr[1], Ptr^, Length(SubStr)) = 0) then begin 631 Result := I; 632 Exit; 633 end; 634 Inc(I); 635 Inc(Ptr); 636 end; 637 end; 638 end; 639 640 function PosFromIndexReverse(SubStr: string; Text: string; 641 StartIndex: Integer): Integer; 642 var 643 I: SizeInt; 644 Ptr: PAnsiChar; 645 begin 646 Result := 0; 647 if (StartIndex < 1) or (StartIndex > Length(Text)) then Exit; 648 if Length(SubStr) > 0 then begin 649 I := StartIndex; 650 Ptr := @Text[StartIndex]; 651 while (I > 0) do begin 652 if (SubStr[1] = Ptr^) and (CompareByte(Substr[1], Ptr^, Length(SubStr)) = 0) then begin 653 Result := I; 654 Exit; 655 end; 656 Dec(I); 657 Dec(Ptr); 658 end; 659 end; 660 end; 661 662 procedure CopyStringArray(Dest: TStringArray; Source: array of string); 663 var 664 I: Integer; 665 begin 666 SetLength(Dest, Length(Source)); 667 for I := 0 to Length(Dest) - 1 do 668 Dest[I] := Source[I]; 669 end; 561 670 562 671 -
trunk/Packages/Common/UDebugLog.pas
r192 r308 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, SpecializedList, SyncObjs;8 Classes, SysUtils, FileUtil, fgl, SyncObjs; 9 9 10 10 type … … 29 29 procedure SetMaxCount(const AValue: Integer); 30 30 public 31 Items: T ListObject;31 Items: TFPGObjectList<TDebugLogItem>; 32 32 Lock: TCriticalSection; 33 33 procedure Add(Text: string; Group: string = ''); … … 117 117 begin 118 118 inherited; 119 Items := T ListObject.Create;119 Items := TFPGObjectList<TDebugLogItem>.Create; 120 120 Lock := TCriticalSection.Create; 121 121 MaxCount := 100; -
trunk/Packages/Common/UJobProgressView.lfm
r295 r308 15 15 OnShow = FormShow 16 16 Position = poScreenCenter 17 LCLVersion = '2.0. 0.4'17 LCLVersion = '2.0.2.0' 18 18 object PanelOperationsTitle: TPanel 19 19 Left = 0 … … 241 241 Interval = 100 242 242 OnTimer = TimerUpdateTimer 243 left = 264243 left = 320 244 244 top = 8 245 245 end -
trunk/Packages/Common/UJobProgressView.pas
r192 r308 6 6 7 7 uses 8 LCLType,SysUtils, Variants, Classes, Graphics, Controls, Forms, Syncobjs,8 SysUtils, Variants, Classes, Graphics, Controls, Forms, Syncobjs, 9 9 Dialogs, ComCtrls, StdCtrls, ExtCtrls, Contnrs, UThreading, Math, 10 10 DateUtils; … … 175 175 STotalEstimatedTime = 'Total estimated time: %s'; 176 176 SFinished = 'Finished'; 177 SOperations = 'Operations:';178 177 179 178 procedure Register; … … 199 198 Terminate; 200 199 end; 201 end;202 203 function Scale96ToScreen(const ASize: Integer): Integer;204 begin205 Result := MulDiv(ASize, Screen.PixelsPerInch, 96);206 200 end; 207 201 -
trunk/Packages/Common/ULastOpenedList.pas
r192 r308 30 30 procedure SaveToXMLConfig(XMLConfig: TXMLConfig; Path: string); 31 31 procedure AddItem(FileName: string); 32 function GetFirstFileName: string; 32 33 published 33 34 property MaxCount: Integer read FMaxCount write SetMaxCount; … … 185 186 end; 186 187 188 function TLastOpenedList.GetFirstFileName: string; 189 begin 190 if Items.Count > 0 then Result := Items[0] 191 else Result := ''; 192 end; 193 187 194 end. 188 195 -
trunk/Packages/Common/UListViewSort.pas
r217 r308 1 1 unit UListViewSort; 2 2 3 // Date: 201 0-11-033 // Date: 2019-05-17 4 4 5 5 {$mode delphi} … … 8 8 9 9 uses 10 {$IFDEF Windows}Windows, CommCtrl, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils,11 Controls, DateUtils, Dialogs, SpecializedList, Forms, Grids, StdCtrls, ExtCtrls,12 LclIntf, L Messages, LclType, LResources;10 {$IFDEF Windows}Windows, CommCtrl, LMessages, {$ENDIF}Classes, Graphics, ComCtrls, SysUtils, 11 Controls, DateUtils, Dialogs, fgl, Forms, Grids, StdCtrls, ExtCtrls, 12 LclIntf, LclType, LResources; 13 13 14 14 type … … 52 52 {$ENDIF} 53 53 public 54 List: T ListObject;55 Source: T ListObject;54 List: TFPGObjectList<TObject>; 55 Source: TFPGObjectList<TObject>; 56 56 constructor Create(AOwner: TComponent); override; 57 57 destructor Destroy; override; … … 98 98 end; 99 99 100 { TListViewEx } 101 102 TListViewEx = class(TWinControl) 103 private 104 FFilter: TListViewFilter; 105 FListView: TListView; 106 FListViewSort: TListViewSort; 107 procedure ResizeHanlder; 108 public 109 constructor Create(TheOwner: TComponent); override; 110 destructor Destroy; override; 111 published 112 property ListView: TListView read FListView write FListView; 113 property ListViewSort: TListViewSort read FListViewSort write FListViewSort; 114 property Filter: TListViewFilter read FFilter write FFilter; 115 property Visible; 116 end; 117 100 118 procedure Register; 101 119 … … 105 123 procedure Register; 106 124 begin 107 RegisterComponents('Common', [TListViewSort, TListViewFilter]); 125 RegisterComponents('Common', [TListViewSort, TListViewFilter, TListViewEx]); 126 end; 127 128 { TListViewEx } 129 130 procedure TListViewEx.ResizeHanlder; 131 begin 132 end; 133 134 constructor TListViewEx.Create(TheOwner: TComponent); 135 begin 136 inherited Create(TheOwner); 137 Filter := TListViewFilter.Create(Self); 138 Filter.Parent := Self; 139 Filter.Align := alBottom; 140 ListView := TListView.Create(Self); 141 ListView.Parent := Self; 142 ListView.Align := alClient; 143 ListViewSort := TListViewSort.Create(Self); 144 ListViewSort.ListView := ListView; 145 end; 146 147 destructor TListViewEx.Destroy; 148 begin 149 inherited Destroy; 108 150 end; 109 151 … … 152 194 R := CellRect(I, 0); 153 195 Editor.Left := R.Left + 2; 154 Editor.Width := (R.Right - R.Left)- 4;196 Editor.Width := R.Width - 4; 155 197 end; 156 198 end; … … 277 319 end; 278 320 321 var 322 ListViewSortCompare: TCompareEvent; 323 324 function ListViewCompare(const Item1, Item2: TObject): Integer; 325 begin 326 Result := ListViewSortCompare(Item1, Item2); 327 end; 328 279 329 procedure TListViewSort.Sort(Compare: TCompareEvent); 280 330 begin 331 // TODO: Because TFLGObjectList compare handler is not class method, 332 // it is necessary to use simple function compare handler with local variable 333 ListViewSortCompare := Compare; 281 334 if (List.Count > 0) then 282 List.Sort( Compare);335 List.Sort(ListViewCompare); 283 336 end; 284 337 … … 343 396 begin 344 397 inherited; 345 List := T ListObject.Create;346 List. OwnsObjects := False;398 List := TFPGObjectList<TObject>.Create; 399 List.FreeObjects := False; 347 400 end; 348 401 -
trunk/Packages/Common/UMemory.pas
r192 r308 112 112 procedure TMemory.WriteMemory(Position: Integer; Memory: TMemory); 113 113 begin 114 Move(Memory.FData, PByte( @FData+ Position)^, Memory.Size);114 Move(Memory.FData, PByte(PByte(@FData) + Position)^, Memory.Size); 115 115 end; 116 116 117 117 procedure TMemory.ReadMemory(Position: Integer; Memory: TMemory); 118 118 begin 119 Move(PByte( @FData+ Position)^, Memory.FData, Memory.Size);119 Move(PByte(PByte(@FData) + Position)^, Memory.FData, Memory.Size); 120 120 end; 121 121 -
trunk/Packages/Common/UPersistentForm.pas
r207 r308 3 3 {$mode delphi} 4 4 5 // Date: 20 15-04-185 // Date: 2020-11-26 6 6 7 7 interface 8 8 9 9 uses 10 Classes, SysUtils, Forms, URegistry, LCLIntf, Registry, Controls, ComCtrls; 10 Classes, SysUtils, Forms, URegistry, LCLIntf, Registry, Controls, ComCtrls, 11 ExtCtrls, LCLType; 11 12 12 13 type … … 19 20 FMinVisiblePart: Integer; 20 21 FRegistryContext: TRegistryContext; 21 FirstLoad: Boolean;22 22 procedure LoadControl(Control: TControl); 23 23 procedure SaveControl(Control: TControl); … … 26 26 FormRestoredSize: TRect; 27 27 FormWindowState: TWindowState; 28 FormFullScreen: Boolean; 28 29 Form: TForm; 29 30 procedure LoadFromRegistry(RegistryContext: TRegistryContext); … … 31 32 function CheckEntireVisible(Rect: TRect): TRect; 32 33 function CheckPartVisible(Rect: TRect; Part: Integer): TRect; 33 procedure Load(Form: TForm; DefaultMaximized: Boolean = False); 34 procedure Load(Form: TForm; DefaultMaximized: Boolean = False; 35 DefaultFullScreen: Boolean = False); 34 36 procedure Save(Form: TForm); 35 37 constructor Create(AOwner: TComponent); override; 38 procedure SetFullScreen(State: Boolean); 36 39 property RegistryContext: TRegistryContext read FRegistryContext 37 40 write FRegistryContext; … … 43 46 procedure Register; 44 47 48 45 49 implementation 46 47 50 48 51 procedure Register; … … 72 75 end; 73 76 77 if (Control is TPanel) then begin 78 with Form, TRegistryEx.Create do 79 try 80 RootKey := RegistryContext.RootKey; 81 OpenKey(RegistryContext.Key + '\Forms\' + Form.Name + '\' + Control.Name, True); 82 if (TPanel(Control).Align = alRight) or (TPanel(Control).Align = alLeft) then begin 83 if ValueExists('Width') then 84 TPanel(Control).Width := ReadInteger('Width'); 85 end; 86 if (TPanel(Control).Align = alTop) or (TPanel(Control).Align = alBottom) then begin 87 if ValueExists('Height') then 88 TPanel(Control).Height := ReadInteger('Height'); 89 end; 90 finally 91 Free; 92 end; 93 end; 94 74 95 if Control is TWinControl then begin 75 96 WinControl := TWinControl(Control); … … 96 117 for I := 0 to TListView(Control).Columns.Count - 1 do begin 97 118 WriteInteger('ColWidth' + IntToStr(I), TListView(Control).Columns[I].Width); 119 end; 120 finally 121 Free; 122 end; 123 end; 124 125 if (Control is TPanel) then begin 126 with Form, TRegistryEx.Create do 127 try 128 RootKey := RegistryContext.RootKey; 129 OpenKey(RegistryContext.Key + '\Forms\' + Form.Name + '\' + Control.Name, True); 130 if (TPanel(Control).Align = alRight) or (TPanel(Control).Align = alLeft) then begin 131 WriteInteger('Width', TPanel(Control).Width); 132 end; 133 if (TPanel(Control).Align = alTop) or (TPanel(Control).Align = alBottom) then begin 134 WriteInteger('Height', TPanel(Control).Height); 98 135 end; 99 136 finally … … 120 157 RootKey := RegistryContext.RootKey; 121 158 OpenKey(RegistryContext.Key + '\Forms\' + Form.Name, True); 122 FirstLoad := not ValueExists('WindowState');123 159 // Normal size 124 160 FormNormalSize.Left := ReadIntegerWithDefault('NormalLeft', FormNormalSize.Left); … … 136 172 + FormRestoredSize.Top; 137 173 // Other state 138 FormWindowState := TWindowState(ReadIntegerWithDefault('WindowState', Integer(wsNormal))); 174 FormWindowState := TWindowState(ReadIntegerWithDefault('WindowState', Integer(FormWindowState))); 175 FormFullScreen := ReadBoolWithDefault('FullScreen', FormFullScreen); 139 176 finally 140 177 Free; … … 160 197 // Other state 161 198 WriteInteger('WindowState', Integer(FormWindowState)); 199 WriteBool('FullScreen', FormFullScreen); 162 200 finally 163 201 Free; … … 217 255 end; 218 256 219 procedure TPersistentForm.Load(Form: TForm; DefaultMaximized: Boolean = False); 257 procedure TPersistentForm.Load(Form: TForm; DefaultMaximized: Boolean = False; 258 DefaultFullScreen: Boolean = False); 220 259 begin 221 260 Self.Form := Form; … … 225 264 FormRestoredSize := Bounds((Screen.Width - Form.Width) div 2, 226 265 (Screen.Height - Form.Height) div 2, Form.Width, Form.Height); 266 FormWindowState := Form.WindowState; 267 FormFullScreen := DefaultFullScreen; 227 268 228 269 LoadFromRegistry(RegistryContext); 229 270 230 271 if not EqualRect(FormNormalSize, FormRestoredSize) or 231 (DefaultMaximized and FirstLoad)then begin272 DefaultMaximized then begin 232 273 // Restore to maximized state 233 274 Form.WindowState := wsNormal; … … 244 285 Form.BoundsRect := FormNormalSize; 245 286 end; 287 if FormFullScreen then SetFullScreen(True); 246 288 LoadControl(Form); 247 289 end; … … 251 293 Self.Form := Form; 252 294 FormNormalSize := Bounds(Form.Left, Form.Top, Form.Width, Form.Height); 253 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 254 Form.RestoredHeight); 295 if not FormFullScreen then 296 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 297 Form.RestoredHeight); 255 298 FormWindowState := Form.WindowState; 256 299 SaveToRegistry(RegistryContext); … … 265 308 FMinVisiblePart := 50; 266 309 FRegistryContext.RootKey := HKEY_CURRENT_USER; 267 FirstLoad := False; 310 end; 311 312 procedure TPersistentForm.SetFullScreen(State: Boolean); 313 begin 314 if State then begin 315 FormFullScreen := True; 316 FormNormalSize := Form.BoundsRect; 317 FormRestoredSize := Bounds(Form.RestoredLeft, Form.RestoredTop, Form.RestoredWidth, 318 Form.RestoredHeight); 319 FormWindowState := Form.WindowState; 320 ShowWindow(Form.Handle, SW_SHOWFULLSCREEN); 321 {$IFDEF WINDOWS} 322 Form.BorderStyle := bsNone; 323 {$ENDIF} 324 end else begin 325 FormFullScreen := False; 326 {$IFDEF WINDOWS} 327 Form.BorderStyle := bsSizeable; 328 {$ENDIF} 329 ShowWindow(Form.Handle, SW_SHOWNORMAL); 330 if FormWindowState = wsNormal then begin 331 Form.BoundsRect := FormNormalSize; 332 end else 333 if FormWindowState = wsMaximized then begin 334 Form.BoundsRect := FormRestoredSize; 335 Form.WindowState := wsMaximized; 336 end; 337 end; 268 338 end; 269 339 -
trunk/Packages/Common/UPool.pas
r43 r308 6 6 7 7 uses 8 Classes, SysUtils, syncobjs, SpecializedList, UThreading;8 Classes, SysUtils, syncobjs, fgl, UThreading; 9 9 10 10 type … … 22 22 function NewItemObject: TObject; virtual; 23 23 public 24 Items: T ListObject;25 FreeItems: T ListObject;24 Items: TFPGObjectList<TObject>; 25 FreeItems: TFPGObjectList<TObject>; 26 26 function Acquire: TObject; virtual; 27 27 procedure Release(Item: TObject); virtual; … … 185 185 begin 186 186 inherited; 187 Items := T ListObject.Create;188 FreeItems := T ListObject.Create;189 FreeItems. OwnsObjects := False;187 Items := TFPGObjectList<TObject>.Create; 188 FreeItems := TFPGObjectList<TObject>.Create; 189 FreeItems.FreeObjects := False; 190 190 FReleaseEvent := TEvent.Create(nil, False, False, ''); 191 191 end; -
trunk/Packages/Common/UPrefixMultiplier.pas
r43 r308 21 21 { TPrefixMultiplier } 22 22 23 TPrefixMultiplier = class 23 TPrefixMultiplier = class(TComponent) 24 24 private 25 function TruncateDigits(Value: Double;Digits:Integer=3):Double;25 function TruncateDigits(Value: Double; Digits: Integer = 3): Double; 26 26 public 27 27 function Add(Value: Double; PrefixMultipliers: TPrefixMultiplierDef; … … 72 72 ); 73 73 74 procedure Register; 75 76 74 77 implementation 78 79 procedure Register; 80 begin 81 RegisterComponents('Common', [TPrefixMultiplier]); 82 end; 75 83 76 84 { TPrefixMultiplier } … … 92 100 end; 93 101 94 function TPrefixMultiplier.Add(Value: Double;PrefixMultipliers:TPrefixMultiplierDef95 ; UnitText:string;Digits:Integer):string;102 function TPrefixMultiplier.Add(Value: Double; PrefixMultipliers: TPrefixMultiplierDef 103 ; UnitText:string; Digits: Integer): string; 96 104 var 97 105 I: Integer; -
trunk/Packages/Common/UScaleDPI.pas
r145 r308 215 215 I: Integer; 216 216 begin 217 ImgList.BeginUpdate; 217 218 NewWidth := ScaleX(ImgList.Width, FromDPI.X); 218 219 NewHeight := ScaleY(ImgList.Height, FromDPI.Y); … … 226 227 Temp[I] := TBitmap.Create; 227 228 Temp[I].SetSize(NewWidth, NewHeight); 228 {$ifdef linux}229 Temp[I].PixelFormat := pf24bit;230 {$else}231 229 Temp[I].PixelFormat := pf32bit; 232 {$endif}233 230 Temp[I].TransparentColor := TempBmp.TransparentColor; 234 231 //Temp[I].TransparentMode := TempBmp.TransparentMode; … … 252 249 Temp[i].Free; 253 250 end; 251 ImgList.EndUpdate; 254 252 end; 255 253 … … 288 286 WinControl: TWinControl; 289 287 ToolBarControl: TToolBar; 290 OldAnchors: TAnchors; 291 OldAutoSize: Boolean; 292 begin 288 //OldAnchors: TAnchors; 289 //OldAutoSize: Boolean; 290 begin 291 //if not (Control is TCustomPage) then 292 // Resize childs first 293 if Control is TWinControl then begin 294 WinControl := TWinControl(Control); 295 if WinControl.ControlCount > 0 then begin 296 for I := 0 to WinControl.ControlCount - 1 do begin 297 if WinControl.Controls[I] is TControl then begin 298 ScaleControl(WinControl.Controls[I], FromDPI); 299 end; 300 end; 301 end; 302 end; 303 293 304 //if Control is TMemo then Exit; 294 305 //if Control is TForm then … … 320 331 MinWidth := ScaleX(MinWidth, FromDPI.X); 321 332 MinHeight := ScaleY(MinHeight, FromDPI.Y); 322 Width := ScaleX(Width, FromDPI.X); 333 // Workaround to bad band width auto sizing 334 //Width := ScaleX(Width, FromDPI.X); 335 Width := ScaleX(Control.Width + 28, FromDPI.X); 323 336 //Control.Invalidate; 324 337 end; 338 // Workaround for bad autosizing of coolbar 339 if AutoSize then begin 340 AutoSize := False; 341 Height := ScaleY(Height, FromDPI.Y); 342 AutoSize := True; 343 end; 325 344 EndUpdate; 326 345 end; … … 334 353 end; 335 354 336 //if not (Control is TCustomPage) then337 if Control is TWinControl then begin338 WinControl := TWinControl(Control);339 if WinControl.ControlCount > 0 then begin340 for I := 0 to WinControl.ControlCount - 1 do begin341 if WinControl.Controls[I] is TControl then begin342 ScaleControl(WinControl.Controls[I], FromDPI);343 end;344 end;345 end;346 end;347 355 //if Control is TForm then 348 356 // Control.EnableAutoSizing; -
trunk/Packages/Common/UTheme.pas
r192 r308 158 158 ApplyTheme(TPageControl(Component).Pages[I]); 159 159 end; 160 161 if Control is TCoolBar then begin 162 (Control as TCoolBar).Themed := False; 163 end; 160 164 end; 161 165 end; -
trunk/Packages/Common/UXMLUtils.pas
r192 r308 7 7 uses 8 8 {$IFDEF WINDOWS}Windows,{$ENDIF} 9 Classes, SysUtils, DateUtils, DOM ;9 Classes, SysUtils, DateUtils, DOM, xmlread; 10 10 11 11 function XMLTimeToDateTime(XMLDateTime: string): TDateTime; … … 21 21 function ReadString(Node: TDOMNode; Name: string; DefaultValue: string): string; 22 22 function ReadDateTime(Node: TDOMNode; Name: string; DefaultValue: TDateTime): TDateTime; 23 procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string); 23 24 24 25 25 26 implementation 27 28 procedure ReadXMLFileParser(out Doc: TXMLDocument; FileName: string); 29 var 30 Parser: TDOMParser; 31 Src: TXMLInputSource; 32 InFile: TFileStream; 33 begin 34 try 35 InFile := TFileStream.Create(FileName, fmOpenRead); 36 Src := TXMLInputSource.Create(InFile); 37 Parser := TDOMParser.Create; 38 Parser.Options.PreserveWhitespace := True; 39 Parser.Parse(Src, Doc); 40 finally 41 Src.Free; 42 Parser.Free; 43 InFile.Free; 44 end; 45 end; 26 46 27 47 function GetTimeZoneBias: Integer; -
trunk/Packages/CoolStreaming/CoolStreaming.lpk
r185 r308 70 70 </Item7> 71 71 </Files> 72 <RequiredPkgs Count=" 2">72 <RequiredPkgs Count="3"> 73 73 <Item1> 74 <PackageName Value=" Common"/>74 <PackageName Value="TemplateGenerics"/> 75 75 </Item1> 76 76 <Item2> 77 <PackageName Value="Common"/> 78 </Item2> 79 <Item3> 77 80 <PackageName Value="FCL"/> 78 81 <MinVersion Major="1" Valid="True"/> 79 </Item 2>82 </Item3> 80 83 </RequiredPkgs> 81 84 <UsageOptions> -
trunk/UCore.lfm
r305 r308 10 10 object ActionListMain: TActionList 11 11 Images = ImageListSmall 12 left = 13713 top = 6012 Left = 137 13 Top = 60 14 14 object AExit: TAction 15 15 Caption = 'Exit' … … 114 114 end 115 115 object ImageListSmall: TImageList 116 left = 784117 top = 420116 Left = 784 117 Top = 420 118 118 Bitmap = { 119 119 4C691300000010000000100000000000000000000000E3AA4BD6E5B35EFFE3B1 … … 728 728 } 729 729 end 730 object CoolTranslator1: T CoolTranslator730 object CoolTranslator1: TTranslator 731 731 POFilesFolder = 'Languages' 732 732 OnTranslate = CoolTranslator1Translate 733 left = 137734 top = 436733 Left = 137 734 Top = 436 735 735 end 736 736 object ImageListLarge: TImageList 737 737 Height = 32 738 738 Width = 32 739 left = 786740 top = 286739 Left = 786 740 Top = 286 741 741 Bitmap = { 742 742 4C69100000002000000020000000000000000000000000000000E2AA4B36E2A9 … … 2795 2795 RootName = 'CONFIG' 2796 2796 ReadOnly = False 2797 left = 1372798 top = 5562797 Left = 137 2798 Top = 556 2799 2799 end 2800 2800 object OpenDialog1: TOpenDialog 2801 2801 DefaultExt = '.xtmap' 2802 left = 11262803 top = 2922802 Left = 1126 2803 Top = 292 2804 2804 end 2805 2805 object SaveDialog1: TSaveDialog 2806 2806 DefaultExt = '.xtmap' 2807 left = 11262808 top = 1662807 Left = 1126 2808 Top = 166 2809 2809 end 2810 2810 object ApplicationInfo: TApplicationInfo … … 2825 2825 RegistryRoot = rrKeyCurrentUser 2826 2826 License = 'CC0' 2827 left = 137 2828 top = 180 2827 Icon.Data = { 2828 36400000424D3640000000000000360000002800000040000000400000000100 2829 2000000000000040000064000000640000000000000000000000000000000000 2830 0000000000000000000000000000000000000000000000000000000000000000 2831 0000000000000000000000000000000000000000000000000000000000000000 2832 0000000000000000000000000000000000000000000000000000000000000000 2833 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 2834 00FF000000FF000000FF00000000000000000000000000000000000000000000 2835 0000000000000000000000000000000000000000000000000000000000000000 2836 0000000000000000000000000000000000000000000000000000000000000000 2837 0000000000000000000000000000000000000000000000000000000000000000 2838 0000000000000000000000000000000000000000000000000000000000000000 2839 0000000000000000000000000000000000000000000000000000000000000000 2840 0000000000000000000000000000000000000000000000000000000000000000 2841 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2842 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 2843 0000000000000000000000000000000000000000000000000000000000000000 2844 0000000000000000000000000000000000000000000000000000000000000000 2845 0000000000000000000000000000000000000000000000000000000000000000 2846 0000000000000000000000000000000000000000000000000000000000000000 2847 0000000000000000000000000000000000000000000000000000000000000000 2848 0000000000000000000000000000000000000000000000000000000000FF0000 2849 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2850 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 2851 0000000000000000000000000000000000000000000000000000000000000000 2852 0000000000000000000000000000000000000000000000000000000000000000 2853 0000000000000000000000000000000000000000000000000000000000000000 2854 0000000000000000000000000000000000000000000000000000000000000000 2855 0000000000000000000000000000000000000000000000000000000000000000 2856 000000000000000000000000000000000000000000FF000000FF000000FF0000 2857 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2858 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2859 00FF000000000000000000000000000000000000000000000000000000000000 2860 0000000000000000000000000000000000000000000000000000000000000000 2861 0000000000000000000000000000000000000000000000000000000000000000 2862 0000000000000000000000000000000000000000000000000000000000000000 2863 0000000000000000000000000000000000000000000000000000000000000000 2864 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 2865 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2866 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2867 00FF000000FF000000FF00000000000000000000000000000000000000000000 2868 0000000000000000000000000000000000000000000000000000000000000000 2869 0000000000000000000000000000000000000000000000000000000000000000 2870 0000000000000000000000000000000000000000000000000000000000000000 2871 0000000000000000000000000000000000000000000000000000000000000000 2872 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2873 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2874 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2875 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 2876 0000000000000000000000000000000000000000000000000000000000000000 2877 0000000000000000000000000000000000000000000000000000000000000000 2878 0000000000000000000000000000000000000000000000000000000000000000 2879 0000000000000000000000000000000000000000000000000000000000FF0000 2880 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2881 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2882 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 2883 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 2884 0000000000000000000000000000000000000000000000000000000000000000 2885 0000000000000000000000000000000000000000000000000000000000000000 2886 0000000000000000000000000000000000000000000000000000000000000000 2887 000000000000000000000000000000000000000000FF000000FF000000FF0000 2888 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 2889 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2890 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 2891 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2892 00FF000000000000000000000000000000000000000000000000000000000000 2893 0000000000000000000000000000000000000000000000000000000000000000 2894 0000000000000000000000000000000000000000000000000000000000000000 2895 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 2896 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2897 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2898 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2899 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2900 00FF000000FF000000FF00000000000000000000000000000000000000000000 2901 0000000000000000000000000000000000000000000000000000000000000000 2902 0000000000000000000000000000000000000000000000000000000000000000 2903 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2904 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2905 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2906 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2907 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2908 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 2909 0000000000000000000000000000000000000000000000000000000000000000 2910 0000000000000000000000000000000000000000000000000000000000FF0000 2911 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2912 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2913 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2914 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2915 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 2916 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 2917 0000000000000000000000000000000000000000000000000000000000000000 2918 000000000000000000000000000000000000000000FF000000FF000000FF0000 2919 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 2920 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2921 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2922 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2923 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 2924 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2925 00FF000000000000000000000000000000000000000000000000000000000000 2926 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 2927 00FF000000FF000000FF000000FF000000FFFF0000FFFF0000FFFFFFFFFFFFFF 2928 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2929 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2930 FFFF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2931 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04 2932 F9FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2933 00FF000000FF000000FF00000000000000000000000000000000000000000000 2934 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2935 00FF000000FF000000FFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFFFF 2936 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2937 FFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFF2C04 2938 F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2939 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04 2940 F9FF2C04F9FFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2941 00FF000000FF000000FF000000FF000000FF0000000000000000000000FF0000 2942 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2943 00FFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2944 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2945 FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FF2C04F9FF2C04 2946 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2947 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04 2948 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 2949 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2950 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 2951 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2952 00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 2953 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFF2C04 2954 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFF 2955 FFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2956 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 2957 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2958 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2959 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2960 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00 2961 00FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2962 FFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFF 2963 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2964 F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2965 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 2966 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2967 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF00 2968 00FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF00 2969 00FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2970 FFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFF 2971 FFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2972 F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2973 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2974 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2975 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF00 2976 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2977 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2978 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2979 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFF 2980 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2981 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2982 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2983 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00 2984 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2985 00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2986 FFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2987 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFF 2988 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2989 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2990 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2991 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 2992 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 2993 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2994 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 2995 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFF 2996 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2997 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 2998 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2999 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3000 FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3001 00FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3002 FFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3003 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3004 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3005 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3006 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3007 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3008 FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3009 00FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3010 FFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3011 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3012 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3013 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3014 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3015 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 3016 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3017 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFF2C04 3018 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3019 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFF 3020 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3021 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3022 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3023 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00 3024 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3025 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FF2C04F9FF2C04 3026 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3027 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFF 3028 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3029 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3030 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3031 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF00 3032 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3033 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FF2C04F9FF2C04F9FF2C04 3034 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3035 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFF 3036 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3037 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3038 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3039 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF00 3040 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3041 00FFFF0000FFFF0000FFFF0000FFFF0000FF2C04F9FF2C04F9FF2C04F9FF2C04 3042 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3043 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3044 F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3045 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3046 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3047 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3048 00FFFF0000FFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3049 00FFFF0000FFFF0000FFFF0000FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3050 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3051 F9FF2C04F9FF2C04F9FFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3052 F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3053 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3054 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3055 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3056 00FFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3057 00FFFF0000FFFF0000FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3058 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3059 F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04 3060 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3061 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3062 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3063 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFF 3064 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF00 3065 00FFFF0000FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3066 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3067 F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04 3068 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3069 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3070 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3071 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFF 3072 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF00 3073 00FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3074 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFF 3075 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04 3076 F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3077 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3078 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3079 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFF 3080 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF2C04 3081 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3082 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFF 3083 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04 3084 F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3085 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3086 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3087 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3088 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04 3089 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3090 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFF0000FFFFFFFFFFFFFF 3091 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3092 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3093 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3094 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3095 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3096 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04 3097 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3098 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFF0000FFFF0000FFFF0000FFFFFF 3099 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3100 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3101 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3102 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3103 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3104 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04 3105 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3106 F9FF2C04F9FF2C04F9FF2C04F9FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3107 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3108 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3109 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3110 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3111 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3112 FFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3113 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3114 F9FF2C04F9FF2C04F9FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3115 00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3116 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3117 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3118 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3119 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3120 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3121 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3122 F9FF2C04F9FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3123 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3124 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3125 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3126 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3127 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3128 FFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3129 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3130 F9FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3131 00FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3132 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3133 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3134 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3135 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3136 FFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3137 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFF00 3138 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3139 00FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3140 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3141 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3142 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3143 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04 3144 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3145 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFF0000FFFF00 3146 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3147 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFF 3148 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3149 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3150 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3151 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04 3152 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3153 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFF00 3154 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3155 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFF 3156 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3157 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3158 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3159 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04 3160 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3161 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3162 FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3163 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFFFF 3164 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3165 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3166 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3167 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04 3168 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3169 F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3170 FFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3171 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3172 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3173 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3174 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3175 FFFFFFFFFFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3176 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3177 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3178 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3179 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3180 00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3181 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3182 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3183 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3184 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3185 F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3186 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3187 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3188 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3189 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3190 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3191 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3192 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3193 F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3194 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF00 3195 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3196 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3197 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3198 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3199 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3200 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFF 3201 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3202 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF00 3203 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3204 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3205 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3206 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3207 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3208 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFF 3209 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3210 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00 3211 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3212 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3213 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3214 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 3215 FFFFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3216 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFF 3217 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3218 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 3219 00FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3220 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 3221 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3222 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3223 00FFFFFFFFFFFFFFFFFF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3224 F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3225 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3226 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3227 FFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3228 00FFFF0000FFFF0000FFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 3229 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3230 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3231 00FF000000FF000000FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3232 F9FF2C04F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3233 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3234 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3235 FFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3236 00FFFF0000FFFF0000FF000000FF000000FF000000FF000000FF000000FF0000 3237 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3238 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3239 00FF000000FF000000FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04F9FF2C04 3240 F9FF2C04F9FF2C04F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3241 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3242 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3243 FFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00 3244 00FFFF0000FFFF0000FF000000FF000000FF000000FF000000FF000000FF0000 3245 00FF000000FF000000FF00000000000000000000000000000000000000000000 3246 000000000000000000000000000000000000000000FF000000FF000000FF0000 3247 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 3248 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3249 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3250 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3251 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 3252 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3253 00FF000000000000000000000000000000000000000000000000000000000000 3254 0000000000000000000000000000000000000000000000000000000000FF0000 3255 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3256 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3257 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3258 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3259 FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF0000 3260 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3261 0000000000000000000000000000000000000000000000000000000000000000 3262 0000000000000000000000000000000000000000000000000000000000000000 3263 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3264 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3265 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3266 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3267 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3268 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3269 0000000000000000000000000000000000000000000000000000000000000000 3270 0000000000000000000000000000000000000000000000000000000000000000 3271 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3272 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3273 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3274 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3275 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3276 00FF000000FF000000FF00000000000000000000000000000000000000000000 3277 0000000000000000000000000000000000000000000000000000000000000000 3278 0000000000000000000000000000000000000000000000000000000000000000 3279 000000000000000000000000000000000000000000FF000000FF000000FF0000 3280 00FF000000FF000000FF000000FF000000FF000000FF000000FFFFFFFFFFFFFF 3281 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3282 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000 3283 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3284 00FF000000000000000000000000000000000000000000000000000000000000 3285 0000000000000000000000000000000000000000000000000000000000000000 3286 0000000000000000000000000000000000000000000000000000000000000000 3287 0000000000000000000000000000000000000000000000000000000000FF0000 3288 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3289 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3290 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF0000 3291 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3292 0000000000000000000000000000000000000000000000000000000000000000 3293 0000000000000000000000000000000000000000000000000000000000000000 3294 0000000000000000000000000000000000000000000000000000000000000000 3295 0000000000000000000000000000000000000000000000000000000000000000 3296 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3297 00FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3298 FFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000 3299 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3300 0000000000000000000000000000000000000000000000000000000000000000 3301 0000000000000000000000000000000000000000000000000000000000000000 3302 0000000000000000000000000000000000000000000000000000000000000000 3303 0000000000000000000000000000000000000000000000000000000000000000 3304 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3305 00FF000000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3306 FFFF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3307 00FF000000FF000000FF00000000000000000000000000000000000000000000 3308 0000000000000000000000000000000000000000000000000000000000000000 3309 0000000000000000000000000000000000000000000000000000000000000000 3310 0000000000000000000000000000000000000000000000000000000000000000 3311 0000000000000000000000000000000000000000000000000000000000000000 3312 000000000000000000000000000000000000000000FF000000FF000000FF0000 3313 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3314 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3315 00FF000000000000000000000000000000000000000000000000000000000000 3316 0000000000000000000000000000000000000000000000000000000000000000 3317 0000000000000000000000000000000000000000000000000000000000000000 3318 0000000000000000000000000000000000000000000000000000000000000000 3319 0000000000000000000000000000000000000000000000000000000000000000 3320 0000000000000000000000000000000000000000000000000000000000FF0000 3321 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3322 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000000000 3323 0000000000000000000000000000000000000000000000000000000000000000 3324 0000000000000000000000000000000000000000000000000000000000000000 3325 0000000000000000000000000000000000000000000000000000000000000000 3326 0000000000000000000000000000000000000000000000000000000000000000 3327 0000000000000000000000000000000000000000000000000000000000000000 3328 0000000000000000000000000000000000000000000000000000000000000000 3329 0000000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 3330 00FF000000FF000000FF000000FF000000FF0000000000000000000000000000 3331 0000000000000000000000000000000000000000000000000000000000000000 3332 0000000000000000000000000000000000000000000000000000000000000000 3333 0000000000000000000000000000000000000000000000000000000000000000 3334 0000000000000000000000000000000000000000000000000000000000000000 3335 0000000000000000000000000000000000000000000000000000000000000000 3336 0000000000000000000000000000000000000000000000000000000000000000 3337 00000000000000000000000000FF000000FF000000FF000000FF000000FF0000 3338 00FF000000FF000000FF00000000000000000000000000000000000000000000 3339 0000000000000000000000000000000000000000000000000000000000000000 3340 0000000000000000000000000000000000000000000000000000000000000000 3341 0000000000000000000000000000000000000000000000000000 3342 } 3343 Left = 137 3344 Top = 180 2829 3345 end 2830 3346 object PersistentForm: TPersistentForm 2831 3347 MinVisiblePart = 50 2832 3348 EntireVisible = False 2833 left = 7802834 top = 6003349 Left = 780 3350 Top = 600 2835 3351 end 2836 3352 object ScaleDPI1: TScaleDPI 2837 3353 AutoDetect = False 2838 left = 1362839 top = 6763354 Left = 136 3355 Top = 676 2840 3356 end 2841 3357 object LastOpenedList1: TLastOpenedList 2842 3358 MaxCount = 10 2843 3359 OnChange = LastOpenedList1Change 2844 left = 1372845 top = 3003360 Left = 137 3361 Top = 300 2846 3362 end 2847 3363 object ThemeManager1: TThemeManager 2848 left = 404 2849 top = 324 3364 Left = 404 3365 Top = 324 3366 end 3367 object AboutDialog1: TAboutDialog 3368 CoolTranslator = CoolTranslator1 3369 ThemeManager = ThemeManager1 3370 ApplicationInfo = ApplicationInfo 3371 Left = 404 3372 Top = 184 2850 3373 end 2851 3374 end -
trunk/UCore.lrj
r301 r308 21 21 {"hash":122803571,"name":"tcore.ashowkeyshortcuts.caption","sourcebytes":[75,101,121,32,115,104,111,114,116,99,117,116,115],"value":"Key shortcuts"}, 22 22 {"hash":91608562,"name":"tcore.atogglefogofwar.caption","sourcebytes":[84,111,103,103,108,101,32,102,111,103,32,111,102,32,119,97,114],"value":"Toggle fog of war"}, 23 {"hash":108810549,"name":"tcore.afullscreen.caption","sourcebytes":[70,117,108,108,32,115,99,114,101,101,110,32,109,111,100,101],"value":"Full screen mode"} 23 {"hash":108810549,"name":"tcore.afullscreen.caption","sourcebytes":[70,117,108,108,32,115,99,114,101,101,110,32,109,111,100,101],"value":"Full screen mode"}, 24 {"hash":120622558,"name":"tcore.applicationinfo.description","sourcebytes":[84,117,114,110,45,98,97,115,101,100,32,115,116,114,97,116,101,103,121,32,103,97,109,101,32,105,110,115,112,105,114,101,100,32,98,121,32,99,108,97,115,115,105,99,32,82,105,115,107,32,98,111,97,114,100,32,103,97,109,101,46,32,84,104,101,32,103,97,109,101,32,105,115,32,104,105,103,104,108,121,32,99,111,110,102,105,103,117,114,97,98,108,101,32,116,111,32,97,108,108,111,119,32,116,111,32,97,100,106,117,115,116,32,98,97,116,116,108,101,32,102,105,101,108,100,32,97,110,100,32,103,97,109,101,32,114,117,108,101,115,46],"value":"Turn-based strategy game inspired by classic Risk board game. The game is highly configurable to allow to adjust battle field and game rules."} 24 25 ]} -
trunk/UCore.pas
r304 r308 7 7 uses 8 8 Classes, SysUtils, XMLConf, FileUtil, ActnList, Controls, Dialogs, Forms, 9 UGame, UApplicationInfo, UPersistentForm, UScaleDPI, UCoolTranslator, DOM, 10 URegistry, ULastOpenedList, UTheme, Registry, Menus, UFormClient, UPlayer, 11 UGameServer, UGameClient, fgl, UServerList, UGameSystem, Graphics; 9 UGame, UApplicationInfo, UPersistentForm, UScaleDPI, UTranslator, DOM, 10 URegistry, ULastOpenedList, UTheme, UAboutDialog, Registry, Menus, 11 UFormClient, UPlayer, UGameServer, UGameClient, fgl, UServerList, UGameSystem, 12 Graphics; 12 13 13 14 type … … 17 18 TCore = class(TDataModule) 18 19 AAbout: TAction; 20 AboutDialog1: TAboutDialog; 19 21 AFullscreen: TAction; 20 22 AToggleFogOfWar: TAction; … … 35 37 AGameNew: TAction; 36 38 AGameRestart: TAction; 37 CoolTranslator1: T CoolTranslator;39 CoolTranslator1: TTranslator; 38 40 ImageListLarge: TImageList; 39 41 ImageListSmall: TImageList; … … 324 326 procedure TCore.AAboutExecute(Sender: TObject); 325 327 begin 326 FormAbout := TFormAbout.Create(Self); 327 try 328 FormAbout.ApplicationInfo := ApplicationInfo; 329 FormAbout.ShowModal; 330 finally 331 FreeAndNil(FormAbout); 332 end; 328 AboutDialog1.Show; 333 329 end; 334 330 -
trunk/xtactics.lpi
r301 r308 84 84 </Modes> 85 85 </RunParams> 86 <RequiredPackages Count=" 7">86 <RequiredPackages Count="6"> 87 87 <Item1> 88 88 <PackageName Value="CoolStreaming"/> … … 104 104 </Item5> 105 105 <Item6> 106 <PackageName Value="CoolTranslator"/> 107 <DefaultFilename Value="Packages/CoolTranslator/CoolTranslator.lpk" Prefer="True"/> 106 <PackageName Value="LCL"/> 108 107 </Item6> 109 <Item7>110 <PackageName Value="LCL"/>111 </Item7>112 108 </RequiredPackages> 113 <Units Count="4 1">109 <Units Count="40"> 114 110 <Unit0> 115 111 <Filename Value="xtactics.lpr"/> … … 156 152 </Unit6> 157 153 <Unit7> 158 <Filename Value="Forms/UForm About.pas"/>159 <IsPartOfProject Value="True"/> 160 <ComponentName Value="Form About"/>154 <Filename Value="Forms/UFormHelp.pas"/> 155 <IsPartOfProject Value="True"/> 156 <ComponentName Value="FormHelp"/> 161 157 <HasResources Value="True"/> 162 158 <ResourceBaseClass Value="Form"/> 163 159 </Unit7> 164 160 <Unit8> 165 <Filename Value="Forms/UForm Help.pas"/>166 <IsPartOfProject Value="True"/> 167 <ComponentName Value="Form Help"/>161 <Filename Value="Forms/UFormCharts.pas"/> 162 <IsPartOfProject Value="True"/> 163 <ComponentName Value="FormCharts"/> 168 164 <HasResources Value="True"/> 169 165 <ResourceBaseClass Value="Form"/> 170 166 </Unit8> 171 167 <Unit9> 172 <Filename Value="Forms/UForm Charts.pas"/>173 <IsPartOfProject Value="True"/> 174 <ComponentName Value="Form Charts"/>168 <Filename Value="Forms/UFormUnitMoves.pas"/> 169 <IsPartOfProject Value="True"/> 170 <ComponentName Value="FormUnitMoves"/> 175 171 <HasResources Value="True"/> 176 172 <ResourceBaseClass Value="Form"/> 177 173 </Unit9> 178 174 <Unit10> 179 <Filename Value="Forms/UForm UnitMoves.pas"/>180 <IsPartOfProject Value="True"/> 181 <ComponentName Value="Form UnitMoves"/>175 <Filename Value="Forms/UFormChat.pas"/> 176 <IsPartOfProject Value="True"/> 177 <ComponentName Value="FormChat"/> 182 178 <HasResources Value="True"/> 183 179 <ResourceBaseClass Value="Form"/> 184 180 </Unit10> 185 181 <Unit11> 186 <Filename Value="Forms/UFormChat.pas"/> 187 <IsPartOfProject Value="True"/> 188 <ComponentName Value="FormChat"/> 189 <HasResources Value="True"/> 190 <ResourceBaseClass Value="Form"/> 182 <Filename Value="UTCP.pas"/> 183 <IsPartOfProject Value="True"/> 191 184 </Unit11> 192 185 <Unit12> 193 <Filename Value="U TCP.pas"/>186 <Filename Value="UServerList.pas"/> 194 187 <IsPartOfProject Value="True"/> 195 188 </Unit12> 196 189 <Unit13> 197 <Filename Value="UServerList.pas"/> 198 <IsPartOfProject Value="True"/> 190 <Filename Value="Forms/UFormClient.pas"/> 191 <IsPartOfProject Value="True"/> 192 <ComponentName Value="FormClient"/> 193 <HasResources Value="True"/> 194 <ResourceBaseClass Value="Form"/> 199 195 </Unit13> 200 196 <Unit14> 201 <Filename Value="Forms/UForm Client.pas"/>202 <IsPartOfProject Value="True"/> 203 <ComponentName Value="Form Client"/>197 <Filename Value="Forms/UFormPlayersStats.pas"/> 198 <IsPartOfProject Value="True"/> 199 <ComponentName Value="FormPlayersStats"/> 204 200 <HasResources Value="True"/> 205 201 <ResourceBaseClass Value="Form"/> 206 202 </Unit14> 207 203 <Unit15> 208 <Filename Value="Forms/UFormPlayersStats.pas"/> 209 <IsPartOfProject Value="True"/> 210 <ComponentName Value="FormPlayersStats"/> 211 <HasResources Value="True"/> 212 <ResourceBaseClass Value="Form"/> 204 <Filename Value="UGameServer.pas"/> 205 <IsPartOfProject Value="True"/> 213 206 </Unit15> 214 207 <Unit16> 215 <Filename Value="UGame Server.pas"/>208 <Filename Value="UGameClient.pas"/> 216 209 <IsPartOfProject Value="True"/> 217 210 </Unit16> 218 211 <Unit17> 219 <Filename Value="UGame Client.pas"/>212 <Filename Value="UGameProtocol.pas"/> 220 213 <IsPartOfProject Value="True"/> 221 214 </Unit17> 222 215 <Unit18> 223 <Filename Value=" UGameProtocol.pas"/>216 <Filename Value="Packages/PinConnection/UCommPin.pas"/> 224 217 <IsPartOfProject Value="True"/> 225 218 </Unit18> 226 219 <Unit19> 227 <Filename Value=" Packages/PinConnection/UCommPin.pas"/>220 <Filename Value="UGeometry.pas"/> 228 221 <IsPartOfProject Value="True"/> 229 222 </Unit19> 230 223 <Unit20> 231 <Filename Value="UGeometry .pas"/>224 <Filename Value="UGeometryClasses.pas"/> 232 225 <IsPartOfProject Value="True"/> 233 226 </Unit20> 234 227 <Unit21> 235 <Filename Value="UGeometryClasses.pas"/> 236 <IsPartOfProject Value="True"/> 228 <Filename Value="Forms/UFormServer.pas"/> 229 <IsPartOfProject Value="True"/> 230 <ComponentName Value="FormServer"/> 231 <HasResources Value="True"/> 232 <ResourceBaseClass Value="Form"/> 237 233 </Unit21> 238 234 <Unit22> 239 <Filename Value="Forms/UFormServer.pas"/> 240 <IsPartOfProject Value="True"/> 241 <ComponentName Value="FormServer"/> 242 <HasResources Value="True"/> 243 <ResourceBaseClass Value="Form"/> 235 <Filename Value="UClientAI.pas"/> 236 <IsPartOfProject Value="True"/> 244 237 </Unit22> 245 238 <Unit23> 246 <Filename Value="U ClientAI.pas"/>239 <Filename Value="UGameConnection.pas"/> 247 240 <IsPartOfProject Value="True"/> 248 241 </Unit23> 249 242 <Unit24> 250 <Filename Value=" UGameConnection.pas"/>243 <Filename Value="Packages/PinConnection/UCommThread.pas"/> 251 244 <IsPartOfProject Value="True"/> 252 245 </Unit24> 253 246 <Unit25> 254 <Filename Value="Packages/PinConnection/UCommThread.pas"/> 255 <IsPartOfProject Value="True"/> 247 <Filename Value="Forms/UFormKeyShortcuts.pas"/> 248 <IsPartOfProject Value="True"/> 249 <ComponentName Value="FormKeyShortcuts"/> 250 <HasResources Value="True"/> 251 <ResourceBaseClass Value="Form"/> 256 252 </Unit25> 257 253 <Unit26> 258 <Filename Value="Forms/UFormKeyShortcuts.pas"/> 259 <IsPartOfProject Value="True"/> 260 <ComponentName Value="FormKeyShortcuts"/> 261 <HasResources Value="True"/> 262 <ResourceBaseClass Value="Form"/> 254 <Filename Value="Packages/PinConnection/UCommFrame.pas"/> 255 <IsPartOfProject Value="True"/> 263 256 </Unit26> 264 257 <Unit27> 265 <Filename Value=" Packages/PinConnection/UCommFrame.pas"/>258 <Filename Value="UMapType.pas"/> 266 259 <IsPartOfProject Value="True"/> 267 260 </Unit27> 268 261 <Unit28> 269 <Filename Value="UMap Type.pas"/>262 <Filename Value="UMap.pas"/> 270 263 <IsPartOfProject Value="True"/> 271 264 </Unit28> 272 265 <Unit29> 273 <Filename Value="U Map.pas"/>266 <Filename Value="UPlayer.pas"/> 274 267 <IsPartOfProject Value="True"/> 275 268 </Unit29> 276 269 <Unit30> 277 <Filename Value="U Player.pas"/>270 <Filename Value="UClientGUI.pas"/> 278 271 <IsPartOfProject Value="True"/> 279 272 </Unit30> 280 273 <Unit31> 281 <Filename Value="U ClientGUI.pas"/>274 <Filename Value="UUnit.pas"/> 282 275 <IsPartOfProject Value="True"/> 283 276 </Unit31> 284 277 <Unit32> 285 <Filename Value="U Unit.pas"/>278 <Filename Value="UGameSystem.pas"/> 286 279 <IsPartOfProject Value="True"/> 287 280 </Unit32> 288 281 <Unit33> 289 <Filename Value="U GameSystem.pas"/>282 <Filename Value="UBuilding.pas"/> 290 283 <IsPartOfProject Value="True"/> 291 284 </Unit33> 292 285 <Unit34> 293 <Filename Value="UBuilding.pas"/> 294 <IsPartOfProject Value="True"/> 286 <Filename Value="Forms/UFormGameSystem.pas"/> 287 <IsPartOfProject Value="True"/> 288 <ComponentName Value="FormGameSystem"/> 289 <HasResources Value="True"/> 290 <ResourceBaseClass Value="Form"/> 295 291 </Unit34> 296 292 <Unit35> 297 <Filename Value="Forms/UFormGameSystem .pas"/>298 <IsPartOfProject Value="True"/> 299 <ComponentName Value="FormGameSystem "/>293 <Filename Value="Forms/UFormGameSystems.pas"/> 294 <IsPartOfProject Value="True"/> 295 <ComponentName Value="FormGameSystems"/> 300 296 <HasResources Value="True"/> 301 297 <ResourceBaseClass Value="Form"/> 302 298 </Unit35> 303 299 <Unit36> 304 <Filename Value="Forms/UFormGameSystems.pas"/> 305 <IsPartOfProject Value="True"/> 306 <ComponentName Value="FormGameSystems"/> 307 <HasResources Value="True"/> 308 <ResourceBaseClass Value="Form"/> 300 <Filename Value="UNation.pas"/> 301 <IsPartOfProject Value="True"/> 309 302 </Unit36> 310 303 <Unit37> 311 <Filename Value="U Nation.pas"/>304 <Filename Value="UItemList.pas"/> 312 305 <IsPartOfProject Value="True"/> 313 306 </Unit37> 314 307 <Unit38> 315 <Filename Value="UItemList.pas"/> 316 <IsPartOfProject Value="True"/> 308 <Filename Value="Forms/UFormList.pas"/> 309 <IsPartOfProject Value="True"/> 310 <ComponentName Value="FormList"/> 311 <HasResources Value="True"/> 312 <ResourceBaseClass Value="Form"/> 317 313 </Unit38> 318 314 <Unit39> 319 <Filename Value="Forms/UForm List.pas"/>320 <IsPartOfProject Value="True"/> 321 <ComponentName Value="Form List"/>315 <Filename Value="Forms/UFormItem.pas"/> 316 <IsPartOfProject Value="True"/> 317 <ComponentName Value="FormItem"/> 322 318 <HasResources Value="True"/> 323 319 <ResourceBaseClass Value="Form"/> 324 320 </Unit39> 325 <Unit40>326 <Filename Value="Forms/UFormItem.pas"/>327 <IsPartOfProject Value="True"/>328 <ComponentName Value="FormItem"/>329 <HasResources Value="True"/>330 <ResourceBaseClass Value="Form"/>331 </Unit40>332 321 </Units> 333 322 </ProjectOptions> -
trunk/xtactics.lpr
r300 r308 9 9 Interfaces, // this includes the LCL widgetset 10 10 Forms, tachartlazaruspkg, UGame, UCore, Common, 11 CoolTranslator,TemplateGenerics11 TemplateGenerics 12 12 { you can add units after this }, 13 13 SysUtils, UFormMain, CoolStreaming;
Note:
See TracChangeset
for help on using the changeset viewer.