Parcourir la source

ADD: Editor - show bookmarks

Alexander Koblov il y a 3 ans
Parent
commit
8e619273a4
1 fichiers modifiés avec 306 ajouts et 21 suppressions
  1. 306 21
      src/feditor.lfm

+ 306 - 21
src/feditor.lfm

@@ -53,7 +53,7 @@ object frmEditor: TfrmEditor
   OnCreate = FormCreate
   OnCreate = FormCreate
   SessionProperties = 'Height;Width;WindowState;Left;Top'
   SessionProperties = 'Height;Width;WindowState;Left;Top'
   ShowInTaskBar = stAlways
   ShowInTaskBar = stAlways
-  LCLVersion = '2.0.2.0'
+  LCLVersion = '2.2.3.0'
   object StatusBar: TStatusBar
   object StatusBar: TStatusBar
     Left = 0
     Left = 0
     Height = 23
     Height = 23
@@ -68,10 +68,10 @@ object frmEditor: TfrmEditor
       end    
       end    
       item
       item
         Width = 96
         Width = 96
-      end
+      end    
       item
       item
         Width = 50
         Width = 50
-      end
+      end    
       item
       item
         Width = 128
         Width = 128
       end>
       end>
@@ -95,6 +95,7 @@ object frmEditor: TfrmEditor
     TabOrder = 0
     TabOrder = 0
     OnMouseWheelDown = EditorMouseWheelDown
     OnMouseWheelDown = EditorMouseWheelDown
     OnMouseWheelUp = EditorMouseWheelUp
     OnMouseWheelUp = EditorMouseWheelUp
+    BookMarkOptions.BookmarkImages = ilBookmarks
     BookMarkOptions.Xoffset = 48
     BookMarkOptions.Xoffset = 48
     Gutter.Width = 53
     Gutter.Width = 53
     Gutter.MouseActions = <    
     Gutter.MouseActions = <    
@@ -438,51 +439,51 @@ object frmEditor: TfrmEditor
       item
       item
         Command = ecMatchBracket
         Command = ecMatchBracket
         ShortCut = 24642
         ShortCut = 24642
-      end
+      end    
       item
       item
         Command = ecColSelUp
         Command = ecColSelUp
         ShortCut = 40998
         ShortCut = 40998
-      end
+      end    
       item
       item
         Command = ecColSelDown
         Command = ecColSelDown
         ShortCut = 41000
         ShortCut = 41000
-      end
+      end    
       item
       item
         Command = ecColSelLeft
         Command = ecColSelLeft
         ShortCut = 40997
         ShortCut = 40997
-      end
+      end    
       item
       item
         Command = ecColSelRight
         Command = ecColSelRight
         ShortCut = 40999
         ShortCut = 40999
-      end
+      end    
       item
       item
         Command = ecColSelPageDown
         Command = ecColSelPageDown
         ShortCut = 40994
         ShortCut = 40994
-      end
+      end    
       item
       item
         Command = ecColSelPageBottom
         Command = ecColSelPageBottom
         ShortCut = 57378
         ShortCut = 57378
-      end
+      end    
       item
       item
         Command = ecColSelPageUp
         Command = ecColSelPageUp
         ShortCut = 40993
         ShortCut = 40993
-      end
+      end    
       item
       item
         Command = ecColSelPageTop
         Command = ecColSelPageTop
         ShortCut = 57377
         ShortCut = 57377
-      end
+      end    
       item
       item
         Command = ecColSelLineStart
         Command = ecColSelLineStart
         ShortCut = 40996
         ShortCut = 40996
-      end
+      end    
       item
       item
         Command = ecColSelLineEnd
         Command = ecColSelLineEnd
         ShortCut = 40995
         ShortCut = 40995
-      end
+      end    
       item
       item
         Command = ecColSelEditorTop
         Command = ecColSelEditorTop
         ShortCut = 57380
         ShortCut = 57380
-      end
+      end    
       item
       item
         Command = ecColSelEditorBottom
         Command = ecColSelEditorBottom
         ShortCut = 57379
         ShortCut = 57379
@@ -740,8 +741,8 @@ object frmEditor: TfrmEditor
   end
   end
   object MainMenu1: TMainMenu
   object MainMenu1: TMainMenu
     Images = dmComData.ilEditorImages
     Images = dmComData.ilEditorImages
-    left = 48
-    top = 32
+    Left = 48
+    Top = 32
     object miFile: TMenuItem
     object miFile: TMenuItem
       Caption = '&File'
       Caption = '&File'
       object New1: TMenuItem
       object New1: TMenuItem
@@ -859,8 +860,8 @@ object frmEditor: TfrmEditor
   end
   end
   object ActListEdit: TActionList
   object ActListEdit: TActionList
     Images = dmComData.ilEditorImages
     Images = dmComData.ilEditorImages
-    left = 112
-    top = 32
+    Left = 112
+    Top = 32
     object actAbout: TAction
     object actAbout: TAction
       Category = 'Help'
       Category = 'Help'
       Caption = 'About'
       Caption = 'About'
@@ -1052,8 +1053,8 @@ object frmEditor: TfrmEditor
   end
   end
   object pmContextMenu: TPopupMenu
   object pmContextMenu: TPopupMenu
     Images = dmComData.ilEditorImages
     Images = dmComData.ilEditorImages
-    left = 208
-    top = 32
+    Left = 208
+    Top = 32
     object miUndoContext: TMenuItem
     object miUndoContext: TMenuItem
       Action = actEditUndo
       Action = actEditUndo
     end
     end
@@ -1079,4 +1080,288 @@ object frmEditor: TfrmEditor
       Action = actEditSelectAll
       Action = actEditSelectAll
     end
     end
   end
   end
+  object ilBookmarks: TImageList
+    Height = 11
+    Width = 11
+    Left = 312
+    Top = 32
+    Bitmap = {
+      4C7A0A0000000B0000000B0000003D0300000000000078DAED586D4B536118F6
+      87682F0C03ED831264948A88E24CD1658926268D32136B29352B75E0CB3E5414
+      F4EAD25C38DB104DD1A14E7C295F5233D30F65A5150541D8878559B9F23889BB
+      733D79C60CCF4B9011B2EBD30EE7E2BE9FFBBE9EEB7E9E1D3FBF5F7868D4A886
+      2B92AD03A549CE5E432275162538ED85F1D6E693712A3F2F8C1A35EA51633237
+      529E4483A58974AF6437759E8923BB3E96EE16C470F5BA68B5100FBCD18A247A
+      6E3590DBF5998045D71C8D54E9A9511749B6BC48AE2E379CE545BCE1B204C69B
+      B8A9A32E7D140D5D394ADCFC1CD5E7EEA03B3961549B1DC6D687BC03867816AF
+      9BE775E4EFA296BCEDECD97A38946AB521745B1BCAEAC0FA7ACFC6B277E0B5F2
+      BCC62321ECB9362B88CC0782E8566630AB177574E8A3D93BC46BCC0E21DBC160
+      F66CDEAFA2EA741555A5073AEDA7E3ADA8B7A5208AADAFF7BC966CDAADE4284B
+      A3852FB3549DBA914CFB3690297513EB1FFA827AFBAF9DA085AF9F583CF01CC6
+      2C32ED0DA0CA147FAE322580F519FD435F58BD7C1D581FF2221E7837F6F8ABBD
+      F540FFD017335F2FEAC0FA905788E78DB5D418DA3DB594D08F2537ABAF95EF8D
+      98C6CF2CC58CF7A2E532E3361FDB29AA3178533C0FDA010D39DB4435EE5ADE0B
+      ADCB7B019A8869DC5610E1D118B0646E11D518EB435EC4637B216DB3A8C6A883
+      AD8FCF0B30DE3AD178AD7CDC5714E3F1F1C0C543C4F11E91D2B8F354144D3B6A
+      F8BDB148F72FE5886A8CBCAE8FEFC9F9729CEC856A498DDD0B2E7A5C57CE3466
+      3C098D57834FE3BFABB1E07760D26E52E4E32E63063F5F677DB35AC1AC8626D3
+      F6ABB2B3FA81414DAF781EF682DCAC167883E732656735009E9259BD1A7CB35A
+      5AE3D520A631007FC277F09394C6BFDFB9E4341600BF4BCDEA3FF1B1B7C6723E
+      C65C17B0DE7CCCFFA699B1765AE2BEB1FADE3D72886AFC81E7CDBE1EA7BE528D
+      ACC688D7CFF3946ABC383FA7486300B3DF37ABD7C6C798D5DE3E06949CC74F1A
+      2E283A8F055E7B8946D2C71E5E71B2ECBD1A403CB93B17EAF0FC67433CDFBD5A
+      F6CE05EED8F53C4577AE373D96157B4CEACE05BFFB7CFC7F6A2CF50D64A246BF
+      62564B7D03F13E8F9B8E8793FBFBBCEC79DCA48BA099C9219AEAB68A6AFC76A4
+      8DE545BCA91E1B993302FF89C63F015CBC5D28
+    }
+    BitmapAdv = {
+      4C69030000004C7A0A0000001000000010000000A50700000000000078DAED5A
+      F957D45514B79FFD17AC4C5B5D4A330DCB85549055425291484D7234080A9B10
+      0141404BE4B41C0B05C5619451901D84C101864586815129B1345617D4D85416
+      4548B34FEF5E9CE9B870E63B734ECBA979E77CCFC01C3E73EFBBF77EDEE7DEC7
+      8C19F3E7D2C77A3C5113E361571DBD445119E5DEA6DDE2064DB82BD49B5DDA0A
+      36392B723F73B2CBFAD4F189318F59B5B11E636B6397A4D4C42C812EDA1D5551
+      6ED046BAA224CC05EA502714842C46CEA78EC808764849FF64D1D847B11EA575
+      B14BA08F71876EAB1B74DB9642B763252AB77B4313E18E02F92264072FC0918F
+      17E070E05BA5AA80F9638D3E935DC2D60AAC3EDA0DAD45BB71E7561F8CEBD75B
+      BD68C8FA06591FCFC791C07938143017A9FE73530E6C7893F74B3EEBEF63CFAA
+      22F1FBBD7BE83C5D869FD2BF40C3E1EDB872AA84DFAB4ED888B40F6743B56136
+      0EAC9F0DA5CC8E6345FB259FABA35CD059AFC1506F27CAC31DA1F96C3E8A82E7
+      E068F03C0C5EEFC0F99A021C92CDC4C10F5E83523C0ABF991C678A5555A40BAA
+      229CD0F943296E76B4A1443E1F6A812D08B2438EFF2CF45D69C685DA42A4FA4D
+      83F2FD57A058330DC96BA6738E28CEE511CED08639A2E3FB520CFCD2C6D8A381
+      76C8F59F890CD974F45E6E62FBCAD593A1583519C9BE53B0EFBDA99CDF927017
+      946C5E0CCDA645B85A5F8281ABAD6C97B099029BB6762A7ADB9BD0AACB87E2DD
+      1790ECF33CF6FABC80249F97B83628BFEA100714CA17E0F2490DFA059E7C3662
+      55AB5EC28DF646B456E762DF8A89485A310189E23571C5735C57541B94DFBC60
+      7B5C147BA45865F9BF8E34BF97A15A3D09A9E2B9D973054DE519485A361E7BDE
+      795A3CE3B17BD904AE49AA2BAA0DCA2FE5887275A1AE08BABD9B51BD2744D8CD
+      13EFFD06F5F6D5D8E3F514762F7D12094B9F4282D7D35CCF54935457541B94DF
+      9387E3303470C3543F43FDD7A14BDE721F3B0E099EE3F09DE7B89404CF27990B
+      E99F2C1C4B35497545B541F9556DB043DA47A2D6C4E7ED17F1269FD92E61DF1E
+      572A9E073840F5CC35497545B541F9F59DCC71A658D17EC967B2FB30D6B8A89E
+      A926A9AEA83628BF94238A33C52AC16BBC9DD1E7C7AD7F13FF990F319ECC7F6D
+      CC721C1578A9FC271ED6ED7C17833D974D392C8F5F2B89FF3A8135C4FB9AB0DD
+      3F1BF8551BB71A99016F98E53F63BBDB19D3AC4E822131987F2EFDDC17E91B66
+      99E57FC7F79A116C511273B8767710FFAE89F1C6E175D3CDF2BFEE2B3F18BE0B
+      30F1BFE6DB8F185F1CF50E52D74C31CBFF62B93D9F5946FE1FFFE643C61746BC
+      0DA5EF8B66F94F675D5ED01B26FE577C29637CC1667728563E6B96FFB9417390
+      1560878CF53398FFDAF80F189F1BE28AE4E5CF98E53FE588E2CCB112FB2D89F3
+      637CB6DC19498493C0FF43B2D790BA761AC74AB3632DE333E54E16F19F73B46A
+      24D60765B3C49E27DAF8FF3FD0FF8BDA54DC68A9B75AFF2BC21DA00D5DF080FE
+      AB439D7167E816CEAA1566F95FB66921DB35F2BFFE60B4D87F3F6EF776236F93
+      8B64FE97452FC52FA72B387E7D575A901FE22C89FF851BED7126EB2BDCB93D80
+      7B777FC54F0589485FF72A0EF83E2F89FF94273E779BEB5114E1C1FACF58EF89
+      92F87FD1508C61A1DDB58A2D26FDAF4A90A3E2DB8DC80FF732CBFF0B023FDA6A
+      AACA36CBFF23C10EC8D8E8C8756AD47FE2BFD26F8688F9241BFF6DFCFFDBF8DF
+      527A105DE7EAACE23FD96DD628D179B656E0FB04BE0B39F2C516EB3FF5FFD981
+      73C57970130DF97BCCF2FF67F57E74899ECBD6FFDBFA7FAAE9B20857ABFA7FE6
+      92B0DFD374C2E2FEFFF81627E1BF2BAE351A4C3520B5FF27ECF148C2D631AEF3
+      C76A8BFAFF11BB23D87379BB2CEEFFDB75D926AC35FD3FCDFF83D7AEB25DC29E
+      C9D9C57843CA56E485BA4B9AFF475B52E6FF63515E1C2BDA2FF94C76397F5F07
+      20DDFF4D5BFFFF1FE7BF216E05CFD0B53B7D4CFA4FFCD76C5DC633A439FE7737
+      948F5A7F97446D9AE37F778316C37DDD38971967D2FF1F0E6DC3A9D458947FB9
+      DE2CFFBB4E6B71ABE33C6BB851FFF3851ED24C2B85FFA3DDFFD13C2C85FF74FF
+      777778103D8D27F8EE82F4BFAD2A0B85616E92F8DF5898F800F6EFD6FF87E77F
+      4BF55FB3CD17752951D0EF8FB04AFFE96F1F5E96E87F5AA0FD23FDBF4DFFADD3
+      7FE18389FFA40B52F55F277C683B968C2151B3C645F92F169A2245FFBBEE9F21
+      DD42BB8DFC3FA18C4476D03CB3FC6F48960B63BFE37CA9129A107B8BF97F599F
+      2366975E94853A58CDFFE181EB68D7E75BC57FD27F5A7706FBADE23FE9FF5D31
+      ABD0CC620DFF6DF7FF36FDFF27F5FFCC7E391AB3763EA2FFB76F74F2DD9294FE
+      BF32CCE111FDA73BB40B756AABE6FF7AD536AEE9E68A0C2BEEFF62C471740FDD
+      4DA790B67E9645F33F61F91C14D874D90C8BEEFFD9E7FB762DB9FF23FD3F16BD
+      9CF76BB46BC9FD1FF5FFC7627DD8EFB278D988CF6497B012FBFFA2686FC697C4
+      AFE3FDB2CF645722FF5365AF739D2AC50C41B1A2FDDAF86FFBFFBF94FBBF4B55
+      69DCBF57467B5A75FFA78F5F85E1FE6BACDF46FDB7E4FEAF6A87AFD0BB1EABF5
+      BFA54C65D37F9BFEDBF8FF17F05FCAF77F46E33F2D29DFFF21FDAFFCDC1B176B
+      724DFC6FADCCC4EDBE1E49DFFF79DCFC9F267C1E1233C9D962A5E5F3FF9AC938
+      9DBD8B7B89C2C8E566F94F339A7E5F9869FEBF7472649E6911678014FD2F88F0
+      E2B3C2B86EF65C8541B503FB563E2799FFE2F34CF33FC5FADFACFF7F00EAD5FF
+      C14C7A0A00000016000000160000007B0800000000000078DAED9CFB4F54D716
+      C7FD43466DAD56AB562B16C582A02822C3AB3E4B05452854B9803C2E22A0C863
+      62D2D88634F716451EE525CA1B41CA63780C4FE16A2F15699AA6B7B7ADD2D642
+      1FDAA4B6FEF6ED5E7BE69C9E811960CE1C1B9BEE95EC407232DFECB3F75AEB73
+      D63A7B66D122DB366408D20DE40625F56705D6F66605A23B3310C6D3FE68CFD0
+      A3355D5FDB724A9FD47472B76E910376C3109C379C1B8CC1DC20F4E704C29415
+      809E4C7FA6AB4747BA1F5AD3FCD092BA1B4D277D519FBC2B6F3EBD1143B06EC4
+      10347983E90DB331C43407B203D077D69FE9EA99AE1F3AD27CD17ACA17CD2777
+      A129C587E9EE444DE2CEC9AB09DE3AFB9AC193A386208C180271233790E90660
+      204BCF74F5E839B31BC60C5FB49FDA85D6933E684ED989C6E41DA84BF446F509
+      6F5C89DF3E5915B74D6743976B725DA639CC346FE61DC1F71F0F62A67D3BDE07
+      63CE4134266E435D8217AAE3BD7025CE1397633D2767AE27DD3BCD53D2BC9517
+      8EC73F7F0F7BF6EB8369B49DDD8BDA380F5C8D7547558C072A63DC517EDC9DAF
+      F7506E908EF66838C77CEFA4399CAD97E7393DD18FA1B742D095EA8DF6946DE8
+      CED9876F6EF7F26B93633DA88ED9822BC7DD5079CC0D156C94BDE986D2E8CDDC
+      97062D7B44EB39C43407CFFAC9F31AE69ADBD199E285B6A4AD684970474766B0
+      7CFDEA31575445BBA222CA1565512FA3F40D57363671FFECCF36EF3BEDD140A6
+      1FFA337DE5CF75334D2369267BE07AC22BB816E78686D84DF2F5AA681754BEB1
+      01E5911B501AB101EF47B8A0246223F779F24FF225DA7713DB77D3691FF973A4
+      D99EE48156A6D912B7194DFF7045DDB18DF2F5CAC8F5288F5887D2F0175112BE
+      0EC57CACE771443E4FFE49BED493B10BDD693BE5CFD13C959AF5C75C501DFD92
+      7CBD3C7C0D4A8FAC41C991D5280E5B8DA2B0B52864836293E2887C9EFCD398E6
+      834EB647925D4FB4D6AC895A8FAB912FCAD74BC356A12474258A0FAD4411FB5B
+      7868152E1D5ACDE39D6293E2887CBE2D7507DA52B6CB9FA3F5B4D28C588BCBE1
+      ABE5EB25AFAF4051C872145AC6A59015280859C9625D5F4BF1FE018B4D8AA3EB
+      29DE6849F6923F477B44EB5913F5129F27695684AD94AF17872C43E1C16751C0
+      C732369EC3C5D796F3BC443984E29D62B339793B9A123DE5CFB1DCC5D67303AE
+      44AEC3E5A36B507178158B85ADF2F5C203CFE0D281A5B8B89FC633B87080C6B2
+      A4A6543F1DE525CA2114EF0D2C361B4E6CE53E4F76EFC32E5C63D72B8FAE45F9
+      E117501BEF892F46DBF8B5FF8F7C8082FD4B7071DF125CD8BB988D25C8DFB714
+      17F62FE57982721DE525CA2114EF149B2DE9C178F4D394DD38FEE587FB2CC636
+      33CDC55C337FAF0EF97B16D3B0CA9B94EB282F510EA178A7D86C4AF5C757B7BA
+      6669D23C2FB3EBD23CF3F7E8F878EF55DDE4CC7C46F9D39CEB3C590E7137C73B
+      8B4D1E47E4F3E49FCC9768CF698F683DFF98A759930D9B3998F227E53ACA4B3C
+      8750BCB3D8E471443E1F2AE92EE37B944FEBC9EE7D2E4DA551AEE37989E59092
+      48171E9B45616BCC3E4FFEC97C89F69DF668E67ACE6765D16E3ACA4B944328DE
+      2936298E0A429EE7FE49BE7461FFB30E7153F0F8CFE1313189F871E37C181E3F
+      B46628E511353C1ECEF6E79C1B7D3BD426972937511E7194C75CF3BCB5E64715
+      59F2FF8D27DC5117BBC5611EF3792AEEFD36D3241E4B561FEB869A98CD0EF358
+      39CF71D2B4F058B2BAE32FA3FACD8DAA794C9A4A1E4BC6733D6388A33CA6E79B
+      4ECB738392C792113F78AE7790C7F4CC44EB3993C7921193881F8EF2B835D993
+      3F33CDE4B164C4B9B2D0E71DE67173A2079AE2B7CCE2B16465875630CDE50EF3
+      B831DE9DFB12DF77058F257B3FE43914332D47794C3E5F13B389FB12DF770B8F
+      E5E7068BA6A33CA63832FBBC8BD99768DFD91E299F1BCC9A8EF398E288FB3CF9
+      27F952E81FCF39FCDE058F058F457D2CEA630DEBE33EC6CEDEF41D36EBE3B6D3
+      01AAEBE31EA6D965D154F2B823C31F93FF35D71C773F346AC2E39B4569F23C1F
+      FDF41D1A927638C563E399407C3DD66DA5D998E4ED148F271ADEB5F2AF4F3B2B
+      CCB5AC4A1E1BB3F7E0C72F2664BD1F3E1F47D7B930B93E56CB63A5E658CD3B56
+      F53169AAE5B1642DA7FCAC786CBEF7E5AA79BC507394C70B35C163C163C163C1
+      63C163B3E64CD382C7CA3A5EA95B97B04DB3FAB899C5C2DD9B1D5CFBCBFFB46B
+      561F138FEB4F78897EB5E8570B1E0B1E3FD17EB5C99297C7AB0C9AF5AB8949C4
+      8F3B55B99AF5ABFBCF9839375195332B96D5F6AB393B337CF0B142F3FE6D93D3
+      FD6A9AA7B566AF26FDEA89199A5AF5AB6D696AD1AFB6F7FED8D97EF5424DEDFB
+      E3F94CF4AB45BF5AF058F0582B1E2FD41CE5F142CD511E4BD627D788E6DA8BEA
+      24AA69D4F258B25E4BDDA9AC8FA94E52CBE3F9CE7339FBFED8DE792E67796CCB
+      EEB17AFBDA3F7D9CE2B13DFBBBD4C7F678EC6C7D6C8FC7CED6C78F1E4CCDB96F
+      6AEBE3B96A6E511F0B1E8BFAD80FFF6BBB8487773F99151F7DEFC6AAAA8F6FBE
+      7378CE9EB529EFB8AAFA58D27CFC701A772A7334E1F1E76D05B2E6C0B9839AF1
+      F8E77BE6F5BC5399FD97E2F17D4BEFFF69E7B164DF8CF5F05EBD563C96CF999F
+      0E10FD6AD1AF163C163C16F5F13CFD6A5BF5B1DCAF55D9AFB6571F3F89F7C7A3
+      C5E99ABF3F569EBD7A12E7B9EEDE326A72BE5AA979EF56A726E7AB67693A719E
+      4BAA8F957B246B3A719E4BAA8F95EBA9C5792EA93E96BFE7A6D1792EA95F6DF5
+      3D37DA23B69EFCDE9DEC57CBDF73B3F4ABF91EB1B98A7EB5E0B138CF25CE733D
+      A9EF1F0FB29A5BCBF35C53ECFEC9BE1B37C194B347B3F35C03E75EC36F0FA7E7
+      AC63D59CE732190EE0B707D39AD7C7DF5ADEF18BFA58D4C782C782C782C782C7
+      4F2B8FD5FC1EC87C3C56FB7B20B447BD397B193F6DF4C159DDA9F6F740ECBD3F
+      76F6F740E67A7FDCFFAF04AE39F5D99866EF8FEBD9B3C8A31FEF73DDD1728326
+      EF8FFBFE9D286BFEC2FEAAA98FBBCE47DB6731D3AC6231A6A63E369E8F9AA537
+      F5D94718A93827EAE3A780C7BF030321037B4C7A0A0000002100000021000000
+      5D0E00000000000078DAED5DF957544716CE1F32EE1A77C515911D641575124D
+      DC4010454076651157D4999C999C392789A3020D3434FB266B038240B3883A2A
+      B8641283313A333FCC44A333F90FEEDC5BAF5FFB5EF39A74CB7BAFCD4CDD73EE
+      E95FDEE9AFAA5ED5BD5F7D7DABFA830F9CB7E10BDB03860BB61758CE6DB30C9E
+      DB060367B7C18DD351D07B6A2BF4A077E7475ACCF99105ED7991011FA86C6317
+      7614DCBCB81D46CF6F8791826D30846E3917856D8882FED35B85369C8CC43644
+      00B6013AF222A02D37025A73C20B668A7DEBE28E00741843BF7901DB803E725E
+      DA86ADAC0D7DA722A1F76484D0861311D0911B0EED3961D0921D06CDC743A1E9
+      58E83B8DCBED8B3B2CB7B1EFB72E083E867E13F1470BA2702CA2C082F8036723
+      B10D91AC0DD7F3C3A1FB441898F3C2B00D61D096130AADD9A1D07C2C049AB2B6
+      40436688C555FC3BBFDB0E776C6DD80663882FB661F8DC561842FCC133D806EC
+      7FDFC970B88EF8DD88DF951B0A1D3921D096BD055A8E6DC13604436366303464
+      04435D7A90C5F9FEEF60F8E4B72F6E83DB621B0AB6C2E8B9486C43240C9D8980
+      C1D3E1D07F2A1CDB108A6D0881EEDC1030237E07E2B721764B56103467064163
+      4620D4A707425D5A20D4A405589CEDBF14FFD685286C4314B62112FE6EA9819F
+      5F3C06257BF3C34398ECAB848EE341D09A1508D73203A02923001AD3FDA13ECD
+      1FEA52FDA126C51FAA52FC2C8EE6DFED8B0AF8887DEBFC5686EF08DBDE5E3F7B
+      00AD887F2DC31F9AD2FDA021D50FF17DA1F6A82F54A357A19B927D0214DA609B
+      7FF6F863F80E9CC517EDA7EF1F40739A0F34A6FA407D8A37D4A2D71CF586EAE4
+      CD5099E40D2674FBF53F666BC3DBF117F1FF315423FBFE1783553070620BF4E7
+      05416F4E20F464074257B63F4CF696CB9EFBA6BB0C1A8E6E86BA642FA841AF4E
+      F282AAC44D5099E80526F48A235EB6F841F1E7A675FDD1DC135C78FF3407A563
+      F062A00A06F383E1C68920E8CB0D845EC4EE3EE607E62C5FE8C8F486EF7A8CB6
+      675F3D1D87FA244FA84BF4841AF4AA239E507964239812364245822794A38BF1
+      97E2DFA875FDDFB4CE7F013F0246CE86CBFA3678221806B0FF3710FF3AE2F71C
+      F783AE2C1FE8CCF481F6F4CDD092EA257BBE2E7103D41C590FD509EBA1F2F07A
+      30A157A0971F428FDF08C6C31B58FCA7F84B4E6B7FF49CB0FE4671FD8F9C8D80
+      E13361B2EF14F1FB7210FF982F7433FCCDD091EE05AD299E702DD553F67CED91
+      75507D782D541D5A0BA6F8B550815E8E6E442F8B5F87BE9EE59F216B0E18B1C6
+      1F5AFFC3B8FE8770FD0F9D0A957D27C3C7FE5FB7E29B33087F13C36F39BA019A
+      93D7CB9EAF39BC06F13D10DF032AE2564339BA31CE03CAD04BC963D7B0FC47B1
+      9FF95921FE51FCB120BE05F1074F86C8BE93FACFF0F1DD137E27E2B7A76C8456
+      C4BF96B40E1A8FAC953D5F1DBF0A2A0FAE0253DC2AC45F09C6D8955016BB8A79
+      E981D5D886D52CFF52FE1BB0C67F8ABF14FF06117F00F1FB71FE4BAD47D27F7B
+      FCA6C435507FD843F67C65DC0A30C5AE80F203CBC1885E16B31C4AD14B625630
+      37C4AC64F99F729FE0912CF632C7F87B233F04FAF28265DFC9F03325F838F622
+      7E43C26AA83FB44AF6BCE9C052C45F06C6E8A550865E8A5EB21F7DDF3230EC5F
+      0E86E8E52CF79353EE637E5288FFBD88DF8BF8D7738364DF29CCBFA9FD6F388C
+      F8F12BA1F6E00AD9F3E5D14BC0B87F3194A197EEFB107D3118AC5EBC6F09FA32
+      C67F887F50FEA7FC4BF98FF24F4FDE16E8C90D866E8C3F5213E7BF227EDC72A8
+      8E5D267BDE88B8657B1741E9DE8550826ED843BE088AF77C08457BC99730FED5
+      932FF08F6E6BFEA5FCD795138CB12F08CCC70364DF29CE7F11BF51825F83F855
+      314B64CF1376E99E0560D88D8E9FC5BBC9174211F91EF2458CFF994F4432FE63
+      B6E67FCABF9DD9C1D089F81D59FEB2EFA4F54FEB8FE63FCD3F7AFF34FED5567C
+      D3FE0FE56DD8331F4A76CF07C327F3A088FC53D1174021FAD5DD0B19FF24FE47
+      FC8BF84F8735FF53FE6DCF0A80B64C3FD97736256F80C6C4750CBFEED06AA88D
+      477C1C03861FBD182AF62D923D5F8278C59FCE85E24FE642D1AEB950889F85EC
+      731EFA7CB8BA6B01CB9FC43F89FF11FF6AB3F20FCAFF947F5BD27D31074EBCCD
+      43E612A8C731A8C336D41C5C89FD47FCD8A5608A417C1C8307D72ED99EFDE737
+      B7B1FF73A078D71CC49F8DD8E83B67C3D59D73109B7CAE2D7712FF25FE49FC8F
+      F817F11FE21FCD98FF29FF52FE93DAD79DC55083635085EFA012D79D09C7A022
+      5A8E4F36DEF825E28BB8E81FCF822BE8573F9E0D577692CF95F16EE2BFC43F89
+      FF11FF22FE43FC83F23FE5DF9793E32EF1071A0311BF90E1CEB2B5E1CA4782DB
+      7318E2DFC47F897F12FF23FED590E6CBF807E57FCABF2F27EFBB803F4782FF1B
+      C446FF48F45970F9E3598A7CBF21738B85F82FF14F81FFF90AFC873808B681F2
+      EFA38E62F8F1BB7B0EB0EFC078D357D6F9271DFFB7F8977FCB7C5A5E4BFC9BF8
+      6F2DF24FE27F8C7F11FF21FE41F99FF22FCB7F2B85F84FF117E35009C6215AFF
+      6CFDD1BCDF355B32FECEE38B46FC9BF82FF14FE27F8C7F11FF21FE41F99FF22F
+      E53FCA3FAC0D8B59FCA3F8436B9FAD3F9A73B6F7EF1ABE68C4BF89FF12FF64FC
+      8FF817F11FE21F94FF29F752FEC3FCC3E23FC55F8A7DD4061C075A7F5768FE5B
+      E79FABF8A211FF26FECBF827F13FE45F46E44365B636AC10F21FE51F8AFFAC0D
+      0B58FCA1F5CFD6DF34F3CF1523FE4BFC93F81F722F81FF20FF60F91FF32FE53F
+      967FF07D14B23650FC9B3765FDAB61C43F89FF11FF22FE43FC83F23FE5DFA2BD
+      8B59FEA1F82FC65F2D8C6B205C03E11A88B206427BC061EB1EE83FCF1F29E62E
+      2D3510610F2CEC011DE1931107D44203A177407B70DA034F874F461C9438A09A
+      1AC84DDA879F09879133CAFDFF4B61969CFFA7FBC0B5346F684AD9AC9A06328A
+      E33F723A0C7E56C0BF5798C13410A9B5A46D86E6542F683CBA49350D84FAAF84
+      7F17F1450D44B60749D9044D473D117FA36A1A88D2F8DF2BCA90692053F62049
+      1B700FB05E130D441C7F7B0D446A6C0F447B9084359A6820D47F250D446AF509
+      1EC21E08F7206A6920A401F6891A98030D44A6832136EDC1D81E48250D843448
+      518373A481C87430DA83E21E90EDC154D2404803A5F5D765D3E0A66A20320D2A
+      4EDC832E514D03210D9634D0CE0C6F871A88D4D81E9CF6C0B807554B03E9CCF2
+      631A2C69A08E34109906152DECC18DFB16AAA681B467FA405BBA37D3601D6920
+      52230DC288D86588A9960642F19FE22F8B7F0E3410990645F8885BBA7B9E6A1A
+      08CB3F3806147F85F8375503911AC347EC12C4534B03A1FCC7F24FF246167F59
+      FCB3D340641AD46E2BFEAE39AA6A2042FEDB00B50914FFD708F18FE20FADFFE8
+      25533428A1FFEA6B202CFFB1FCE321C45F16FF96B1F52F357AF75A6A2042FEF3
+      10E23FC55F8A7F0A6DE01A08D740B806C23510AE81700D84D781F03A105E07F2
+      7ED481900661C13DB8145FEF3A10869F2FC19FA60EE4DB2E830D9F7E07544B03
+      A1F947EF5FECBFA33A906FCD06D9183CEE28D24D0319FD2269CADA7CF9DD3DDD
+      3490275D0605FCBBBA6820635F26C14F4FC795F175D04094B0C9FAFF10F7B60E
+      42230D64EC528A2236BD7B691D88561A88B406428A3DF879FC943A102D349027
+      92F82BDA5F71DD39AA03D1420391DAABC97118FC5382C33A101BBECA1A884C83
+      75A08108F3CF3AFE1A68203331B5349019B541250D6426C63510AE81700D846B
+      205C03E11A08D740B806C23510AE81700D647A0D643AD34B0399CEF4AA0399CE
+      7E7C7257F73A10AAC3F8BAEDAAAC1D0F5BFEAC6B1D88A8813C6ABD6C6BC3BFBE
+      BDA36B1D083F0BC3CFC2F0B330FC2C0CD740B806C23510AE81700DE4D7751686
+      F620B407B85792ED96B33016EB1EE8BE1DBE5E676186AC7BC071C371B79C8561
+      7BE0532130E1005FEBB330C3D63DF844C9B1697994566761087F88F00D53F1EF
+      5C49D3FC2C8CA84138C2D7E32C8CA3F1277CBDCEC228CDBF3B9753753D0BE3A8
+      FF7A9E859982EF86B330CEDC07A2F55998999816F781B86A5ADC07E2721BF859
+      187E16869F85E16761B806C23510AE81700D846B206ED54066626A6920336A83
+      4A1AC84C4C2D0D446AA206A2540742BF83D2EF905A68205213EB101CD581B0DF
+      4135D0405CAD03D1420371F54E54ADEF0371E64E54ADEF0371E64E543D341047
+      F66AF2BEED2C80961A8833A6C5599877315E07F2BF5B07E28C06A2751D88331A
+      88D67520CE68205AD781BC7A3AE1F2DA54BB0EE4DDF0D5D5405E3A390EBC0E84
+      6B205C03E11A08D740B806F23ED6813C28CB65E7301C9E0179F650B33A9047C6
+      BC5FBC8FD4F6FBBF0675208F8CB96E3B0B4375208F15F09FF79BE05E51962E1A
+      08D581D8DF477ADF90A5AB0662FF0E268AB374D740FE2699FF34FEEED640EEE3
+      FBE71A08C0F7BDE5F0E6D904D740DCA481D8DB93EE52DD35107B7C776820FC7F
+      61F859187E16869F85E11A08D740B806C23510AE81F03A105E07A2CD5998E9EA
+      40A4A6D559985FAA03919D83D0E02CCCAFE13E9091AF92DD7A1FC888C29DA07A
+      DE07A2742769FFE787DC7A276AFF1FE375BB1375F48B4405FC83BADD07A2DCFF
+      83BAFD2F8C22BE0E77A28A7520230EF0B5BE1355AC03B15FFF6FDFBFB677A24A
+      EB401CBE7F8DEF4495D681D8AF3FBDEE4495D681C8FE9348C73B51A56761A6FC
+      37B7F52C0CCD7F61FECDD7FC2C8CEC7F91246761D8FAC331A0F9A7F55918D97F
+      734BCEC2D018B0F587738D6B205C03E11A08D740B806C235107E272ABF1395DF
+      89FAFEDC89EAEA59182D3410693DD40F374C6EB913F5797FA5AC6FCF70EEB9E3
+      4ED47F63FC71AD0E439B3B515D312D34903718FBDC5907F2B4AFC2ED7520AF25
+      63C0EB40781D08AF03E175205C03E11A08D740B806C23510AE81700D846B205C
+      03F9FFD640D4AC0379570D8469006ED44064BFC3AAA881B8AA41B0DF6135A803
+      99BC5E06AFBF1F77A8FF7CDD2ED720F4BE0F843408D200B4B813D595FB40FA3E
+      3BA0C99DA8AEDC0742FA8FED5C5FF325DDEF03E9FD7D8C6C0CBACEEFD5F53E90
+      DECF62A6EC7FF5BA13B5F7B3587828D1C1443317EC51BD0EC4150DC45CB05793
+      3A1067EFE230E31CD0AA0E64BA719868B90C5D17F7F33A10AE81700D44450DE4
+      BFC65861F0
+    }
+  end
 end
 end