Further improvements. Clear Logs Menu Option is removed. Application Saves Logs before Reboot or Exit

This commit is contained in:
PSposito 2020-02-22 19:11:11 +02:00
parent f899e1bec1
commit 78d872f588
No known key found for this signature in database
GPG Key ID: 92E2BB27E8617EFC
17 changed files with 5604 additions and 2633 deletions

3
CameraControl.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
#/opt/CameraControl/cameracontrol.bin >/dev/null
./cameracontrol.bin >/dev/null

View File

@ -2,11 +2,11 @@ object Form3: TForm3
Left = 468
Height = 684
Top = 45
Width = 1181
Width = 1144
BorderStyle = bsToolWindow
Caption = 'Events Logged'
ClientHeight = 684
ClientWidth = 1181
ClientWidth = 1144
DesignTimePPI = 150
Icon.Data = {
BE2500000000010001003030000001002000A825000016000000280000003000
@ -319,7 +319,7 @@ object Form3: TForm3
Left = 0
Height = 56
Top = 624
Width = 1176
Width = 1136
Caption = 'Close'
OnClick = Button1Click
TabOrder = 0
@ -328,17 +328,18 @@ object Form3: TForm3
Left = 2
Height = 600
Top = 16
Width = 1174
Width = 1134
Color = clDefault
ColCount = 4
ParentFont = False
RowCount = 60
RowCount = 1
ScrollBars = ssAutoVertical
TabOrder = 1
TitleFont.Style = [fsBold]
TitleFont.Height = -21
TitleFont.Name = 'Sans'
TitleImageList = Form1.ImageListStatus
ColWidths = (
100
56
273
523
264
@ -347,7 +348,7 @@ object Form3: TForm3
4
0
0
'Number'
'No.'
1
0
'DateTime Stamp'

View File

@ -1,23 +1,329 @@
object Form4: TForm4
Left = 455
Height = 315
Height = 318
Top = 45
Width = 477
Width = 474
BorderStyle = bsToolWindow
Caption = 'Sytem Reboot'
ClientHeight = 315
ClientWidth = 477
ClientHeight = 318
ClientWidth = 474
DesignTimePPI = 150
Icon.Data = {
BE2500000000010001003030000001002000A825000016000000280000003000
0000600000000100200000000000002400006400000064000000000000000000
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
0004000000080000000B0000000D0000000F0000001100000012000000130000
0013000000130000001300000012000000110000000F0000000D0000000B0000
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
0014000000170000001A0000001D000000200000002200000023000000240000
002500000025000000240000002300000022000000200000001D0000001A0000
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0003000000090000000F000000150000001B000000212A28236D393832F65354
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F000000000000767F000000000000767F000000000000767F000000000000
767F
}
Position = poScreenCenter
LCLVersion = '2.1.0.0'
LCLVersion = '7.0'
object ListBox1: TListBox
Left = 0
Left = 8
Height = 248
Top = 16
Width = 472
Width = 464
Font.Style = [fsBold]
ItemHeight = 0
ParentFont = False
ScrollWidth = 470
ScrollWidth = 460
TabOrder = 0
TopIndex = -1
end

5
Reboot.lrj Normal file
View File

@ -0,0 +1,5 @@
{"version":1,"strings":[
{"hash":3882900,"name":"tform4.caption","sourcebytes":[83,121,116,101,109,32,82,101,98,111,111,116],"value":"Sytem Reboot"},
{"hash":93034084,"name":"tform4.button1.caption","sourcebytes":[82,101,98,111,111,116],"value":"Reboot"},
{"hash":77089212,"name":"tform4.button2.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
]}

View File

@ -14,7 +14,11 @@ unit Reboot;
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Unix;
{$IFDEF UNIX}
cthreads,
{$ENDIF}
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, Logs,
Unix;
type
@ -51,6 +55,43 @@ implementation
{ TForm4 }
procedure SaveLogs;
var
n : Integer;
LogsStringList : TStringlist;
DateString : String;
begin
HomeDir := expandfilename('~/');
DateString := FormatDateTime('DD/MM/YYYY-hh-mm-ss',now);
FileDestDir := Concat(HomeDir,'.cameracontrol-', DateString, '.log');
LogsStringList := TStringList.Create;
LogsStringList.Clear;
n := 0;
while n <= Logs.Form3.StringGrid1.RowCount - 1 do
begin
if Length(Form3.StringGrid1.Rows[n].Strings[0]) > 0 then
LogsStringList.Add(Concat(Form3.StringGrid1.Rows[n].Strings[0],',', Form3.StringGrid1.Rows[n].Strings[1],',', Form3.StringGrid1.Rows[n].Strings[2],',' , Form3.StringGrid1.Rows[n].Strings[3]));
Inc(n);
end;
ShowMessage(LogsStringList.Text);
n:= 0;
while n <= LogsStringList.Count - 1 do
begin
FileString := LogsStringList.Strings[n];
S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
Inc(n);
end;
LogsStringList.Free;
end;
procedure UndoCameraBlacklist;
begin
CmdString := '';
@ -210,6 +251,7 @@ end;
procedure TForm4.Button1Click(Sender: TObject);
begin
SaveLogs;
FpSystem('reboot');
end;

361
RebootDialog.frm Normal file
View File

@ -0,0 +1,361 @@
object Form5: TForm5
Left = 533
Height = 453
Top = 45
Width = 571
Anchors = [akTop]
BorderStyle = bsToolWindow
Caption = 'Reboot or Quit Application'
ClientHeight = 453
ClientWidth = 571
DesignTimePPI = 150
Icon.Data = {
BE2500000000010001003030000001002000A825000016000000280000003000
0000600000000100200000000000002400006400000064000000000000000000
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
0004000000080000000B0000000D0000000F0000001100000012000000130000
0013000000130000001300000012000000110000000F0000000D0000000B0000
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
0014000000170000001A0000001D000000200000002200000023000000240000
002500000025000000240000002300000022000000200000001D0000001A0000
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0003000000090000000F000000150000001B000000212A28236D393832F65354
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000
}
Position = poScreenCenter
LCLVersion = '7.0'
object Button1: TButton
Left = 32
Height = 39
Top = 400
Width = 184
Caption = 'Reboot'
Default = True
OnClick = Button1Click
TabOrder = 0
end
object Button2: TButton
Left = 312
Height = 39
Top = 400
Width = 184
Caption = 'Quit'
OnClick = Button2Click
TabOrder = 1
end
object ListBox1: TListBox
Left = 8
Height = 337
Top = 15
Width = 560
ItemHeight = 0
ScrollWidth = 556
TabOrder = 2
TopIndex = -1
end
object plURLLabel1: TplURLLabel
Cursor = crHandPoint
Left = 96
Height = 26
Top = 360
Width = 356
Caption = 'V4L2 limitations, forcing for Reboot'
Font.Color = clBlue
Font.Style = [fsUnderline]
ParentColor = False
ParentFont = False
OnClick = plURLLabel1Click
end
end

6
RebootDialog.lrj Normal file
View File

@ -0,0 +1,6 @@
{"version":1,"strings":[
{"hash":67309710,"name":"tform5.caption","sourcebytes":[82,101,98,111,111,116,32,111,114,32,81,117,105,116,32,65,112,112,108,105,99,97,116,105,111,110],"value":"Reboot or Quit Application"},
{"hash":93034084,"name":"tform5.button1.caption","sourcebytes":[82,101,98,111,111,116],"value":"Reboot"},
{"hash":363524,"name":"tform5.button2.caption","sourcebytes":[81,117,105,116],"value":"Quit"},
{"hash":175211220,"name":"tform5.plurllabel1.caption","sourcebytes":[86,52,76,50,32,108,105,109,105,116,97,116,105,111,110,115,44,32,102,111,114,99,105,110,103,32,102,111,114,32,82,101,98,111,111,116],"value":"V4L2 limitations, forcing for Reboot"}
]}

View File

@ -9,7 +9,7 @@ uses
cthreads,
{$ENDIF}
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TplLabelUnit,
LCLIntf, Unix;
LCLIntf, Logs, Unix;
type
@ -30,8 +30,13 @@ type
end;
var
Form5 : TForm5;
S : LongInt;
Form5 : TForm5;
S : LongInt;
FileString : String;
FileDestDir : String;
CmdString : String;
HomeDir : String;
Password : String;
implementation
@ -39,6 +44,43 @@ implementation
{ TForm5 }
procedure SaveLogs;
var
n : Integer;
LogsStringList : TStringlist;
DateString : String;
begin
HomeDir := expandfilename('~/');
DateString := FormatDateTime('DD/MM/YYYY-hh-mm-ss',now);
FileDestDir := Concat(HomeDir,'.cameracontrol-', DateString, '.log');
LogsStringList := TStringList.Create;
LogsStringList.Clear;
n := 0;
while n <= Logs.Form3.StringGrid1.RowCount - 1 do
begin
if Length(Form3.StringGrid1.Rows[n].Strings[0]) > 0 then
LogsStringList.Add(Concat(Form3.StringGrid1.Rows[n].Strings[0],',', Form3.StringGrid1.Rows[n].Strings[1],',', Form3.StringGrid1.Rows[n].Strings[2],',' , Form3.StringGrid1.Rows[n].Strings[3]));
Inc(n);
end;
ShowMessage(LogsStringList.Text);
n:= 0;
while n <= LogsStringList.Count - 1 do
begin
FileString := LogsStringList.Strings[n];
S := FpSystem(Concat('echo ' , FileString, ' >> ', FileDestDir));
Inc(n);
end;
LogsStringList.Free;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Form5.Hide;
@ -53,7 +95,8 @@ end;
procedure TForm5.Button1Click(Sender: TObject);
begin
SaveLogs;
S := FpSystem('reboot');
end;
end.
end.

55
RebootNeeded.old.frm Normal file
View File

@ -0,0 +1,55 @@
object Form5: TForm5
Left = 533
Height = 326
Top = 45
Width = 471
BorderStyle = bsDialog
Caption = 'Reboot Needed - Known V4L2 Limits'
ClientHeight = 326
ClientWidth = 471
DesignTimePPI = 150
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '7.0'
object ListBox1: TListBox
Left = 8
Height = 216
Top = 16
Width = 456
ItemHeight = 0
ScrollWidth = 454
TabOrder = 0
TopIndex = -1
end
object Button1: TButton
Left = 40
Height = 39
Top = 280
Width = 144
Caption = 'Reboot'
OnClick = Button1Click
TabOrder = 1
end
object Button2: TButton
Left = 280
Height = 39
Top = 280
Width = 144
Caption = 'Quit'
OnClick = Button2Click
TabOrder = 2
end
object plURLLabel1: TplURLLabel
Cursor = crHandPoint
Left = 64
Height = 26
Top = 240
Width = 324
Caption = 'Project''s Wiki - V4L2 Limitations'
Font.Color = clBlue
Font.Style = [fsUnderline]
ParentColor = False
ParentFont = False
OnClick = plURLLabel1Click
end
end

71
RebootNeeded.old.pas Normal file
View File

@ -0,0 +1,71 @@
unit RebootNeeded.old;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
TplLabelUnit, LCLIntf, Unix;
type
{ TForm5 }
TForm5 = class(TForm)
Button1 : TButton;
Button2 : TButton;
ListBox1 : TListBox;
plURLLabel1 : TplURLLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure plURLLabel1Click(Sender: TObject);
private
public
RebootNeededFlag : boolean;
end;
var
Form5: TForm5;
implementation
{$R *.frm}
{ TForm5 }
procedure TForm5.plURLLabel1Click(Sender: TObject);
begin
OpenUrl('https://gitlab.com/psposito/camera-control-webcam-switch-indicator/-/wikis/Project-History-and-other-Details#found-v4l2-limitations-forcing-for-reboot-when-v4l2-video-on-comes-to-number-60-it-is-mandatory-to-reboot-because-kernel-does-not-generate-more-devices-and-video-capture-is-not-possible');
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
FpSystem('reboot');
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
//Halt(0);
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
RebootNeeded.Form5.ListBox1.Items.Clear;
RebootNeeded.Form5.ListBox1.Items.Add('The limit of 59 Hacking preventing On/Off');
RebootNeeded.Form5.ListBox1.Items.Add('functions, has been reached.');
RebootNeeded.Form5.ListBox1.Items.Add('');
RebootNeeded.Form5.ListBox1.Items.Add('You must Reboot the System in Order to Reset');
RebootNeeded.Form5.ListBox1.Items.Add('their number, otherwise the application will');
RebootNeeded.Form5.ListBox1.Items.Add('not be effective.');
RebootNeeded.Form5.ListBox1.Items.Add('');
RebootNeeded.Form5.ListBox1.Items.Add('Please Save your opened Files & Close Windows');
RebootNeeded.Form5.ListBox1.Items.Add('');
RebootNeeded.Form5.ListBox1.Items.Add('Press Reboot or Quit to exit the Application');
RebootNeeded.Form5.Show; //RebootNeededDialog;
end;
end.

67
RebootNeeded.pas Normal file
View File

@ -0,0 +1,67 @@
unit RebootNeeded;
{$mode objfpc}{$H+}
{$warnings off}
{$hints off}
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
// Redesigned and further Developed at 28th of January 2020, by Initial developer
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
// Finalized, except traslations at 15th of February 2020.
interface
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
TplLabelUnit, LCLIntf, Unix;
type
{ TForm5 }
TForm5 = class(TForm)
Button1 : TButton;
Button2 : TButton;
ListBox1 : TListBox;
plURLLabel1 : TplURLLabel;
procedure RebootNow;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form5 : TForm5;
implementation
{$R *.frm}
{ TForm5 }
procedure TForm5.RebootNow;
begin
//Show;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Form5.ListBox1.Free;
Halt(0);
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
//FpSystem('reboot');
end;
end.

307
about.frm
View File

@ -3,10 +3,317 @@ object Form2: TForm2
Height = 548
Top = 688
Width = 1246
Anchors = [akTop]
BorderStyle = bsToolWindow
Caption = 'About'
ClientHeight = 548
ClientWidth = 1246
DesignTimePPI = 150
Icon.Data = {
BE2500000000010001003030000001002000A825000016000000280000003000
0000600000000100200000000000002400006400000064000000000000000000
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
0004000000080000000B0000000D0000000F0000001100000012000000130000
0013000000130000001300000012000000110000000F0000000D0000000B0000
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
0014000000170000001A0000001D000000200000002200000023000000240000
002500000025000000240000002300000022000000200000001D0000001A0000
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0003000000090000000F000000150000001B000000212A28236D393832F65354
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00000000000000C8F0000000000000F1F8000000000000D1F2000000000000
B0EC000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000AA00000000000047D9000000000000
88E5000000000000C8F0000000000000F1F8000000000000D1F2000000000000
B0EC000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000AA00000000000047D9000000000000
88E5000000000000C8F0000000000000F1F8000000000000D1F2000000000000
B0EC000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000AA00000000000047D9000000000000
88E5
}
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '7.0'

10
about.lrj Normal file
View File

@ -0,0 +1,10 @@
{"version":1,"strings":[
{"hash":4691652,"name":"tform2.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
{"hash":86477809,"name":"tform2.label1.caption","sourcebytes":[76,97,98,101,108,49],"value":"Label1"},
{"hash":86477810,"name":"tform2.label2.caption","sourcebytes":[76,97,98,101,108,50],"value":"Label2"},
{"hash":162329314,"name":"tform2.plurllabel2.caption","sourcebytes":[104,116,116,112,58,47,47,98,105,116,46,100,111,47,108,105,110,117,120,101,114],"value":"http://bit.do/linuxer"},
{"hash":112590572,"name":"tform2.plurllabel3.caption","sourcebytes":[104,116,116,112,115,58,47,47,119,105,107,105,46,102,114,101,101,112,97,115,99,97,108,46,111,114,103,47,70,80,67,95,109,111,100,105,102,105,101,100,95,76,71,80,76],"value":"https://wiki.freepascal.org/FPC_modified_LGPL"},
{"hash":4863637,"name":"tform2.button2.caption","sourcebytes":[67,108,111,115,101],"value":"Close"},
{"hash":86477811,"name":"tform2.label3.caption","sourcebytes":[76,97,98,101,108,51],"value":"Label3"},
{"hash":123144082,"name":"tform2.plurllabel1.caption","sourcebytes":[104,116,116,112,115,58,47,47,103,105,116,108,97,98,46,99,111,109,47,112,115,112,111,115,105,116,111,47,99,97,109,101,114,97,45,99,111,110,116,114,111,108,45,119,101,98,99,97,109,45,115,119,105,116,99,104,45,105,110,100,105,99,97,116,111,114],"value":"https://gitlab.com/psposito/camera-control-webcam-switch-indicator"}
]}

View File

@ -1,32 +1,33 @@
program cameracontrol;
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
// Redesigned and further Developed at 28th of January 2020, by Initial developer
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
{$mode objfpc}{$H+}
{$warnings off}
{$hints off}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Main, About, Logs, Reboot
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1); // Main Form
Application.CreateForm(TForm2, Form2); // Logs Form
Application.CreateForm(TForm3, Form3); // About Form
Application.CreateForm(TForm4, Form4); // Reboot Form
Application.Run;
end.
program cameracontrol;
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
// Redesigned and further Developed at 28th of January 2020, by Initial developer
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
// Finalized, except traslations at 15th of February 2020.
{$mode objfpc}{$H+}
{$warnings off}
{$hints off}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, Main, About, Logs, Reboot, RebootDialog;
{$R *.res}
begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm5, Form5);
Application.Run;
end.

6785
main.frm

File diff suppressed because it is too large Load Diff

View File

@ -13,8 +13,8 @@
{"hash":4691652,"name":"tform1.menuitem9.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
{"hash":315140,"name":"tform1.menuitem10.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
{"hash":110464019,"name":"tform1.menuitem12.caption","sourcebytes":[83,104,111,119,32,76,111,103,115],"value":"Show Logs"},
{"hash":73785566,"name":"tform1.menuitem36.caption","sourcebytes":[82,101,115,101,116,32,83,104,105,101,108,100,32,73,99,111,110],"value":"Reset Shield Icon"},
{"hash":11479619,"name":"tform1.menuitem34.caption","sourcebytes":[68,101,108,101,116,101,32,79,108,100,32,76,111,103,115],"value":"Delete Old Logs"},
{"hash":138516307,"name":"tform1.menuitem13.caption","sourcebytes":[67,108,101,97,114,32,76,111,103,115],"value":"Clear Logs"},
{"hash":157543397,"name":"tform1.menuitem19.caption","sourcebytes":[77,105,99,114,111,112,104,111,110,101],"value":"Microphone"},
{"hash":347301,"name":"tform1.menuitem20.caption","sourcebytes":[77,117,116,101],"value":"Mute"},
{"hash":96816293,"name":"tform1.menuitem21.caption","sourcebytes":[85,110,109,117,116,101],"value":"Unmute"},

View File

@ -37,7 +37,6 @@ type
MenuItem10 : TMenuItem;
MenuItem11 : TMenuItem;
MenuItem12 : TMenuItem;
MenuItem13 : TMenuItem;
MenuItem14 : TMenuItem;
MenuItem15 : TMenuItem;
MenuItem16 : TMenuItem;
@ -62,6 +61,7 @@ type
MenuItem33 : TMenuItem;
MenuItem34: TMenuItem;
MenuItem35 : TMenuItem;
MenuItem36: TMenuItem;
MenuItem39 : TMenuItem;
MenuItem4 : TMenuItem;
MenuItem40 : TMenuItem;
@ -100,7 +100,6 @@ type
procedure FormCreate(Sender: TObject);
procedure MenuItem10Click(Sender: TObject);
procedure MenuItem12Click(Sender: TObject);
procedure MenuItem13Click(Sender: TObject);
procedure MenuItem27Click(Sender: TObject);
procedure MenuItem29Click(Sender: TObject);
procedure MenuItem2Click(Sender: TObject);
@ -108,6 +107,7 @@ type
procedure MenuItem32Click(Sender: TObject);
procedure MenuItem33Click(Sender: TObject);
procedure MenuItem34Click(Sender: TObject);
procedure MenuItem36Click(Sender: TObject);
procedure MenuItem3Click(Sender: TObject);
procedure MenuItem4Click(Sender: TObject);
procedure MenuItem6Click(Sender: TObject);
@ -182,6 +182,7 @@ implementation
procedure RebootSystem; forward;
procedure SaveLogs; forward;
{$R *.frm}
@ -420,8 +421,7 @@ begin
// CamStatus := 0;
//if (VideoCardsCountNumber = 0) and (V4L2Val = 0 ) then // -> Camera is On
// CamStatus := 1;
//if (VideoCardsCountNumber = 1) and (V4L2Val = 0 ) then // -> Camera is Capturing
// CamStatus := 2;
//if (VideoCardsCountNumber = 1) and (V4L2Val = -1) then // -> Camera is Capturing
// CamStatus := 1;
//if (VideoCardsCountNumber = 0) and (CountNumber = 0) and (V4L2Val = 0) then // -> Camera is On
@ -439,6 +439,9 @@ begin
if CaptureStatus = 1 then // -> Camera is Capturing
CamStatus := 2;
if (VideoCardsCountNumber = 1) and (V4L2Val = 0) then // -> Camera is Capturing
CamStatus := 2;
end;
@ -618,10 +621,11 @@ begin
Form1.Close;
//VideoStringList.Free;
SndCardsStringList.Free;
SaveLogs;
Halt(0);
end;
procedure TForm1.MenuItem12Click(Sender: TObject); //ShowLogs;
procedure TForm1.MenuItem12Click(Sender: TObject); //Show Logs;
begin
Logs.Form3.Show;
end;
@ -649,7 +653,7 @@ begin
FindClose(SearchResult);
if LogsFilesList.Count >= 1 then
ShowMessage('The following Old Log Filenames were deleted:' + sLineBreak + LogsFilesList.Text)
ShowMessage('The following Old Log Filenames were deleted:' + sLineBreak + sLineBreak + LogsFilesList.Text)
else
ShowMessage('There were not detected any Old Log Filenames');
end;
@ -699,7 +703,12 @@ begin
DeleteOldLogs;
end;
procedure TForm1.MenuItem13Click(Sender: TObject); //Save Current and Clear Logs;
procedure TForm1.MenuItem36Click(Sender: TObject);
begin
ImageListStatus.GetIcon(0, TrayIcon3.Icon);
end;
procedure ClearLogs; //Save Current and Clear Logs, not used on build;
begin
SaveLogs;
@ -707,7 +716,7 @@ begin
Logs.Form3.StringGrid1.Clean;
GridLine := 1;
Logs.Form3.StringGrid1.InsertRowWithValues(0,['Number','DateTime Stamp', 'Event Description', 'Video Devices Number']);
ImageListStatus.GetIcon(0, TrayIcon3.Icon);
Form1.ImageListStatus.GetIcon(0, Form1.TrayIcon3.Icon);
if CamClicked then
CamClicked := false;
if MicClicked then
@ -1348,6 +1357,26 @@ begin
Inc(GridLine);
end;
if ((CamStatus = 0) and (CamSavedStatus = 2) and (CamClicked = false) and (CamClicksCounter= 0)) then // Webcam went On from Off, No User Clicked -> Hacked
begin
HackedTime := now;
PopUpWebcamHacked;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine, [IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', HackedTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera Hacked from Captuting to Off', IntToStr(VideoDevicesNumber)]);
ImageListStatus.GetIcon(1, TrayIcon3.Icon);
ImageListCam1.GetIcon(0, TrayIcon5.Icon);
//CamClicksCounter := 1;
//CamClicked := false;
CamSavedStatus := 0;
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamCaptStatus := true;
Inc(GridLine);
end;
//if ((VideoDevicesNumber = 0) and (CamStatus = 1) and (CamSavedStatus = 1) and (V4L2Val = -1) and (CamClicked = false) and (CamClicksCounter= 0)) then // Webcam went On from Off, No User Clicked -> Hacked
// begin
// HackedTime := now;
@ -1398,7 +1427,26 @@ begin
ImageListStatus.GetIcon(1, TrayIcon3.Icon);
ImageListCam1.GetIcon(0, TrayIcon5.Icon);
CamSavedStatus := -1;
CamSavedStatus := 0;
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamHacked;
PopUpWebcamCaptStatus := false;
//CamClicked := false;
//CamClicksCounter := 1;
Inc(GridLine);
end;
if ((CamStatus = 2) and (CamSavedStatus = 0) and (CamClicked = false) and (CamClicksCounter = 0)) then // Webcam disabled (Off), No User Clicked -> Hacked
begin
HackedTime := now;
Logs.Form3.StringGrid1.InsertRowWithValues ( GridLine, [IntToStr(GridLine), FormatDateTime('dd/mm/yyyy, ', HackedTime)
+ RightStr(DateTimeToStr(VPClock1.Time), 8), 'Camera Hacked to Capture from Off', IntToStr(VideoDevicesNumber)]);
ImageListStatus.GetIcon(1, TrayIcon3.Icon);
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
CamSavedStatus := 0;
//PopUpWebcamCaptStatus := false;
PopUpWebcamNoCapturing;
PopUpWebcamHacked;