-
Notifications
You must be signed in to change notification settings - Fork 28
/
frame.go
150 lines (120 loc) · 41.6 KB
/
frame.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package main
import (
"encoding/binary"
"fmt"
"encoding/hex"
"strings"
"io"
"errors"
)
const ( // IDs uint8? uint16?
cmdHERT uint16 = 0x1F6F // HERTPACKET
cmdLOGIN uint16 = 0x2329 // login ID+pass //cmdLOGPACKET1
cmdLOGPACKET2 byte = 0x43 // ??
cmdLOGPACKET3 byte = 0x49 // ??
cmdLOGPACKET4 byte = 0x4D // ??
)
var ( // dump data
// heart beat
heartReply = []byte{0x03, 0x00, 0xF0, 0x03, 0x71, 0x1F, 0x00}
// versionPacket
versionPacket = []byte{0x0E, 0x00, 0xF0, 0x03, 0x39, 0x06, 0x4E, 0x0F, 0x00, 0x00, 0xC3, 0x23, 0xBF, 0x5B, 0xC3, 0x23, 0xBF, 0x5B}
// replay LOGPACKET1
logData1 = []byte{0x65, 0x00, 0xF0, 0x03, 0x2B, 0x23, 0x00, 0x00, 0x00, 0x00, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x00, 0x00, 0x34, 0x61, 0x63, 0x63, 0x31, 0x33, 0x31, 0x65, 0x37, 0x32, 0x32, 0x31, 0x34, 0x32, 0x38, 0x32, 0x65, 0x66, 0x31, 0x36, 0x33, 0x66, 0x33, 0x64, 0x32, 0x66, 0x61, 0x38, 0x35, 0x63, 0x63, 0x63, 0x00, 0x31, 0x32, 0x32, 0x2E, 0x39, 0x36, 0x2E, 0x34, 0x32, 0x2E, 0x36, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0xF5, 0x33, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4A, 0x61, 0x63, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0D, 0x00, 0x00}
logData2 = []byte{0x06, 0x00, 0xF0, 0x03, 0x41, 0x9C, 0x85, 0x35, 0x00, 0x00}
logData3 = []byte{0x0C, 0x00, 0xF0, 0x03, 0xFB, 0x09, 0x85, 0x35, 0x00, 0x00, 0x2F, 0x61, 0xA6, 0x83, 0x30, 0xFD}
// replay
logData4 = "06 00 F0 03 44 06 00 00 00 00 " + "5D 32 F0 03 47 9C 85 35 00 00 CA 5F 56 22 00 B8 F6 77 16 77 51 BE 90 1A A8 08 43 32 00 00 E8 12 01 00 78 DA D5 9D 79 5C 54 D5 FB F8 C5 4A D9 C9 25 DC A6 52 3E 86 1B 08 84 0A 2E 7D 12 AF 0B B2 B8 A0 41 0A 98 5B 81 E2 28 33 E3 80 82 8A 5B DB D8 A7 D8 06 5A 30 B6 67 C0 D4 30 1A FD 28 41 9F 18 11 19 C1 85 2D CC 2D 45 21 35 CD 74 24 02 C7 F0 7B EE 8C F7 32 03 D4 39 33 F7 FE FE F8 FD C1 6B 02 EA C5 BB E7 3C E7 39 CF 76 9E F3 9C C6 32 9F 02 97 74 0A 5C E5 25 A1 15 91 33 E0 EE BB 14 94 A4 5F 82 85 76 82 8A F8 DA 18 59 B0 9A 02 5B F4 7B 6F 33 BE 26 A3 AF A9 E8 EB B5 B4 19 BA EF FF AD FB D9 A2 BF DC 5E A2 60 65 E5 3F FF B7 34 43 90 9D 40 F5 FF 86 41 EB 52 11 49 C1 5B 04 0C 8B ED 04 E7 E3 6B 9D D2 42 9A 29 B0 E1 CC 30 17 DC D3 28 78 5D F7 B3 E2 AC 8E E0 00 28 16 E1 19 DE B0 13 9C 8A AF 75 55 87 B4 8D AB 5E 78 3F 26 CD 2A 8F 02 C7 3C 3E E4 F0 0C 3C BF 8F 82 2D FB F0 0C C1 76 82 A4 F8 5A F4 77 73 CC 93 81 31 43 20 1C 1F CC C8 61 51 E8 B1 3B D5 F0 C2 75 3C 43 88 DD C4 AA B5 1A AF 33 8B AF F7 6A 0C 69 17 A6 45 64 71 61 58 04 22 56 0E B5 87 95 65 14 D0 5F 38 06 5F 46 0E 0A 3E E4 40 C1 FE 00 86 E1 AB 02 F1 40 0A FC 8F E0 19 E6 DA B9 54 4A DB 46 9E DE D8 D1 A7 32 40 ED AA 7A AB 23 3A 2D 02 E9 83 25 67 7D 38 D1 F1 C5 54 F4 FB E3 78 06 3F 3B E7 F2 F8 27 AE 65 01 B5 CE DA 85 ED 62 99 5D 91 73 A5 95 DA 7C 39 78 6B 18 86 77 1B 1B D0 67 65 3A 9E C1 DF CE 4D 3B EF 37 09 58 15 F1 B1 16 01 70 7C 0D A3 93 FD DC 8E EC F2 87 99 7D F1 0C 01 76 82 DB 68 6F DE D2 EF 4D D7 B2 C1 B5 CE BB 17 B6 AF 4A 8A 3E 81 74 24 DF 74 FB F0 63 33 C3 30 CE 4D 59 3E 1D A6 BD 81 67 08 B4 13 B4 C6 D7 BA A8 C3 1B C7 56 05 DE 18 59 13 AC 5B 93 68 E8 55 64 DE BE 68 96 33 0C 2A 37 65 4A 0D 8C 8E C4 33 CC 33 B2 51 A2 BD DC 6C 54 20 A4 55 33 FA 50 FC 81 B2 0E D9 DE 59 78 86 F9 46 6B 31 F2 CC D6 76 71 7A B0 46 28 B7 3D 64 9E 1C A2 76 32 0C AA C7 CA 2F D0 99 95 80 67 98 DE 9D 21 0D 31 A4 D8 64 9B C3 B0 10 4E 0E 61 D6 22 F9 23 65 99 0A 0A EF E0 19 7C BA 33 C8 11 43 9A 5D AE 79 72 28 DC C6 30 68 B3 94 75 97 A0 B0 1F 9E 61 06 63 27 B3 F9 D8 9B 73 E1 B3 19 0C 83 EF 2F A7 D3 F2 20 9A E0 BC A0 74 0C 42 39 3F 0C 61 70 70 26 BB 2F F6 7D 5B B7 01 A6 AD C5 33 CC D4 F9 30 53 33 82 D5 52 99 BD DA 34 1B DD 9D 61 3A A8 06 31 3A 39 6B 94 EA 06 05 D5 C5 78 86 59 7A 86 64 9A C1 56 2D 91 5B FE B0 16 AC F2 CD 65 58 68 70 5E CC 0E 8C 1E 4A C1 59 05 9E 61 76 0F 0C 36 BC 30 9C 3C 11 8D FC C9 93 04 36 6A 8E 9D 20 39 BE 56 90 41 DB 25 7B 1E FC 49 FF C3 0C 43 C4 E2 6F E6 50 F0 CD 62 3C C3 31 3D 43 32 CD 60 CB 2B C3 80 83 D1 07 29 98 97 89 67 28 B2 93 CA 90 4F AB B6 54 7B 41 78 33 77 1F 66 85 0D C3 90 3C EB 36 B2 15 B4 BD C6 31 7C 67 17 A3 63 B0 E3 89 C1 D2 89 61 D8 71 41 8C E4 F0 40 80 67 28 D1 C9 21 3E D9 4A ED A6 8A 68 A5 C0 EF 06 B7 B5 D8 73 C4 74 7D F8 5E C7 30 F5 8C A5 DA B5 7C 49 1B 05 C1 1C E5 50 63 C6 5A FC EF E9 5A D8 F2 B2 16 3E 10 54 CE 30 6C FF 64 22 5A 87 8E FD 78 86 1F EC 56 35 6E 69 18 5B 19 7C 5F 98 1A 9E C7 7D 5F 6C 7B 9F 02 77 7D 7C 71 B7 62 E7 BE C4 55 04 FE E4 37 BC EE 0B 43 BF FA EC 83 20 E4 53 9D 28 C7 33 14 DA 09 CA 43 35 1E D5 8B 35 B6 77 22 AE F6 BD 25 41 67 C6 46 33 18 A6 3C 65 28 FA 99 61 78 FD EB EF 57 20 7D F0 C1 33 28 11 43 7C 2D CD 10 97 12 81 7C 27 CB 43 DC F4 A1 53 0E EA 83 4A B4 27 2A DE C3 33 1C D1 AD 45 2F B4 16 A3 20 E4 3A 3F 6B A1 D7 07 2A F4 D3 5B B3 05 BF 6E C1 33 1C B5 13 A4 C6 D7 C6 69 2D 14 2E 35 F1 5A 0A C2 38 EE 4D EF BE 0C C3 0B F0 26 35 C7 55 79 15 CF B0 CF 6E 52 E5 BA 27 1E 8D 61 1A DD DE 48 0F CF E5 E6 3F 54 F9 33 6B E1 53 5D 8C D6 F5 B9 15 78 86 AF 3A 6D B5 96 DE 17 73 9B B8 31 CC 93 33 0C FE A1 A5 C8 3E AC 39 8F 67 D8 8F E2 4D 89 3E DE 84 85 ED DC 6D D4 E7 22 36 BE C8 7F 3D 98 82 C2 5A 3C C3 41 9D 4E 0E CB B0 51 F3 E3 3F DC 64 73 41 A5 33 95 49 41 30 99 C0 A7 FD 5A 7F 5E 24 DB F0 94 13 4B B9 C7 30 EC 9C 5D 18 9E 0C D3 5E C2 33 14 20 1F 26 14 C5 55 8E 87 A4 89 11 BF 73 67 78 79 0A EB 4F 3A D2 BE 5C EA 2B 78 86 43 2C 43 7C 32 1F 0C 03 9C 59 1B 75 3B 60 0F B2 D5 04 FE 43 96 9E 21 D5 31 8B 1F 39 24 BC CA CA A1 0F 2D 87 92 D7 F0 0C D9 2C 03 1F 72 E8 07 BF BB 31 FA E0 0F D5 D4 76 F0 5E 86 67 C8 61 18 B2 F9 91 C3 DB 5E AC 1C 8E 45 A3 75 98 EA 81 67 C8 65 19 F8 90 83 2D EC 45 7B F1 35 DD CF 0E BE 50 BD 03 9D 59 04 FE 03 30 3A 99 C3 8F 1C D4 76 0C C3 A4 A5 D5 61 64 0C 0A 96 81 0F 39 D8 C3 A1 5E 0C 43 C3 A0 6A 4F 32 86 3C 66 2D 78 92 C3 26 07 86 61 EA D2 EA BB 64 0C F9 2C 03 3F F6 41 BE 97 F5 ED B3 9E 41 71 C2 9C 79 78 86 4F 19 86 5C 7E E4 50 F4 2C 23 87 CF 2B 95 9F 53 B0 9F 40 0E 9F B1 0C FC C8 E1 D1 BB 14 4C D3 FD EC 80 67 C5 1C FC 7F 4B 33 AC B1 72 2D 93 74 50 20 E1 A5 76 60 E8 57 9F 19 EE 7D 90 8C 21 4A C7 20 49 95 28 28 B0 E6 95 21 D4 B6 F0 02 F2 EB 6E E0 19 D6 31 72 00 7E 6A 07 DE 7F 32 0C 5E 6E 1B 95 14 8C 3B 89 67 18 E2 31 BE 51 AA F1 4A 0D EB 30 BF 86 D1 B3 1C 4E AE A6 6B 6A 01 04 31 8E C7 6B E3 55 09 AD AE 5A 69 AB F9 B9 FB 9E 19 FA F8 9E 46 E7 85 F2 10 9E E1 55 96 41 C4 33 C3 01 45 60 32 05 3F 13 E4 A3 3C 5F 1B 5F B5 E1 82 20 CD 4F 23 01 4B CE 31 EF 2C 58 79 9F 39 BB E7 1E 6A 8F A5 A0 FA 2F 3C C3 84 D7 EC 55 1B 2E 8C 3A F3 46 AD 28 35 00 F9 94 A6 E6 05 BB CA C1 A5 1F 23 87 07 99 CA 14 0A 4A 09 F6 C5 A9 29 CF 6B A5 57 E9 1A 92 44 6B 59 E4 A2 F5 45 31 46 78 3B 87 7D 51 C1 30 EC 6E F4 FF 81 02 35 81 7D A8 D4 31 C4 F1 C4 10 01 F6 D3 58 7D 68 39 82 62 8B EA 3C 3C 43 95 8E 21 D6 88 21 94 17 39 D8 1C FC 86 8E B3 08 EA 17 A7 9F AE 85 3D 2F 72 58 01 73 2D 18 9D 0C 72 2B 15 84 C2 16 39 9E E1 8C 8E 61 23 4F 6B B1 0C 4A DF 60 18 06 B8 C5 65 F6 07 71 0A 9E E1 AC 5E 0E 29 B6 45 E8 EC CC F7 A8 8A B8 E9 0A 11 1A F3 F7 E6 64 47 86 81 82 1D DF 7E 07 DE CB F1 0C E7 74 0C F1 3C C9 61 29 7C 3C 91 D1 87 B9 FB E8 5A F7 87 47 F1 0C A5 3A 06 11 4F 0C 8B 60 9E 8A 8D FD 5D 95 68 5F 4C EB 83 67 50 E9 18 A4 3C 31 F8 C2 93 1B 0C 43 D8 B9 62 64 27 DB 08 CE 8B A4 F1 23 B5 A1 8D 5E E5 4B 35 7C F8 0F B3 0C CE 8B 2F AF 05 20 5F 4E 40 90 B7 DF 3F D6 A9 21 41 23 48 8D 29 93 82 63 2E 0F FE 03 6B 1F 66 41 35 AD 8F 3F E1 19 0E B0 0C D1 3C 30 CC 81 1F F7 33 0C 25 A1 AF 7D 89 7C FB 81 04 79 18 96 41 C4 83 0F 83 BE 67 6B 28 93 BE A6 73 2A B4 6F 8D AD 6F 06 7B AA 36 37 39 37 84 3F E4 C3 97 D3 E7 48 F5 F6 A1 CF 9B 6E 02 1B 50 12 E4 C4 28 96 41 92 1A A1 88 96 59 14 C5 A4 D2 35 7F 87 6C F3 F2 72 9D 3A F9 32 2C D8 87 CE AC 7A 82 FA A6 11 43 0C 3A 37 62 93 68 7F CA 26 8B 2B C3 DC 5B 1D 09 FA DF 61 EB 9B 46 0C E2 34 64 B3 13 1D 15 12 B0 CD E2 BC 16 01 D5 82 12 50 BE 4F 50 DF EC 64 90 47 28 36 CA 2C 8B 62 E4 F6 F4 5A 14 98 D7 FF 90 74 98 61 98 D3 54 1C 7C 19 0A 09 EA BC 73 8C 18 A4 32 9B 22 61 92 55 36 F2 6F 0B CC 3B 2F D6 5B 31 0C 27 43 03 F6 96 42 40 12 9E 61 49 90 A7 6A F9 09 41 62 F8 C3 38 B3 7B C5 8C F6 66 21 EB 47 A5 04 22 1B 39 90 40 1F 96 EA 18 84 95 E1 0F 05 69 E1 37 C8 FB 70 F0 0C 14 D4 A7 52 10 B8 1D CF 10 AA 97 43 6D F8 43 3E E2 0B 63 86 D7 77 23 3B 99 83 67 08 63 19 24 60 CD 13 83 5E 1F 66 C0 73 D9 03 C0 9B 20 5F BD CC 80 C1 9E 0F 86 F3 8C 1C A6 AF 56 BE 45 41 7B 0C 9E E1 2D C4 30 FD 29 83 03 4F 0C AF 3F ED 9F B4 FC 43 02 C7 BE C2 33 2C 60 19 62 F8 D1 87 A3 AC 3E 9C 0D A0 CF 0A 82 58 4F B4 CC 59 15 75 73 58 4B 58 B3 30 2D 42 81 FC D9 16 2E 0C B3 C1 3B 96 61 58 96 3C 42 46 C1 3C 82 9C B9 58 C7 E0 F1 38 4C 23 92 45 AA 05 15 36 39 A6 D7 BC 7B 8E BB 23 96 77 0C 20 CB 05 49 8C 18 86 57 DA A9 F9 8A FD 07 6D 7F 16 C9 A0 D7 24 3C C3 46 96 41 8C 18 9C 2B 7B 71 62 40 E7 66 32 DB 3F B9 76 E7 32 0A B6 7D 88 67 90 76 91 83 95 9A A3 3E 38 B0 B6 5A 3D 18 7D 1E 26 C8 47 C5 18 EB 83 CA 46 C1 45 1F 0C 7D 5A 6A CC 8A 3A C4 A0 C4 33 C4 1A 33 9C A5 7B F5 7C 79 61 50 5B D3 F5 5E CB 34 3C 43 A4 8E 61 40 5A D8 39 41 05 DD AF 16 CC 5B 3E 6A 51 40 21 F2 E3 B2 06 11 E4 69 F5 0C DA B0 73 52 B9 75 11 57 FB 60 58 F7 FF D6 6D 3D DA 17 DB FE 24 C8 D3 B2 6B 21 4C 8F 54 98 D7 73 DF B3 1C FA 9F DE 82 3E B7 27 13 E4 69 75 0C 9E 4F E5 C0 DD B7 6F 4B 33 5D 0E C2 4E 86 74 3E 18 56 B3 3E 6D 9D 63 64 C2 59 22 3B B9 BE EB DE CC E6 CB 56 7F 77 DD 1B C5 79 81 BB F0 0C 1B BA 9E 17 79 AF 34 D0 F7 41 C2 35 66 EA A4 2D 23 07 2F A7 4D 82 17 E0 04 41 BD 7B 79 57 86 7C 6E 0C B3 F2 19 06 75 54 50 E4 05 78 42 90 8F 5A 61 74 5E 08 2A EC F3 B9 D9 C9 BF D8 BE E2 E3 6A 65 5D 04 28 2F E1 19 56 1A 33 A8 EC 38 32 B8 FE 69 3A C3 AA 2E 72 A0 F3 E6 5C 18 BE 36 83 61 B5 9E 41 45 33 F8 21 06 2B 8E 72 08 F9 2F B3 2F EC E0 39 3A 27 D7 8C 67 78 C7 58 27 AB ED 91 4E CE E7 B2 2F D8 33 6B D1 2B ED DB 28 B8 40 50 BF 88 E8 B2 2F AC 38 AD 85 21 C3 98 C5 71 E8 73 03 C1 DE 7C 73 D9 07 5B 3F 94 EC 0C 7C 6F 9A 04 6C 78 A8 E3 F4 FD 92 E9 D1 9A 65 5B 1C EC B0 FD 18 01 83 D5 52 9D 1C 6E 87 69 F8 C8 05 19 F5 0D 36 9E 40 32 29 25 F0 AB AD F5 0C DA 30 4D 5C 06 F7 B3 DB 90 E1 82 E6 4E 02 8A 37 09 F4 C1 86 65 10 25 DB F0 CA 50 32 66 3D FA FB 5B 57 E1 19 6C 75 0C 4E 95 61 8F F8 58 8B D9 06 0C 15 AB D7 EE 41 67 16 81 AD B6 5B 9A EC FF C9 B2 27 0E F7 66 D0 BA F9 61 EF 8F 56 73 93 C3 57 F7 18 9D 54 47 04 D4 95 84 2E 1B 83 67 18 31 5B 27 87 53 61 D5 12 59 B8 9A AB 1F 35 1D DE F9 91 91 43 50 CD 74 24 83 89 43 F1 0C 4E 5D 18 AC 38 32 AC 39 C8 30 CC 39 52 FC 3B 5A 0B 82 3C 6D ED FC D1 35 73 3B 84 29 11 39 42 B9 39 79 A0 7F 88 F5 02 94 F3 29 58 1E 8B 67 A8 9F 3F 5A 85 18 52 23 B2 E9 5A 12 AF B5 E6 35 3E C8 9F B5 26 D8 9B 3F EA E5 90 1A A1 10 A6 3B 66 F1 C9 E0 F3 89 3B A1 7D 68 D0 33 A4 47 64 F1 93 33 F7 64 7B BC 8B 47 15 87 94 BE FD 68 03 9E E1 B6 3F 5D F7 F7 AA D8 D0 EA A1 5D A0 89 37 2B 17 D3 B3 1C 2A 0F D3 77 D4 3E 0B C1 33 FC 6A C4 20 96 D1 FE BD B5 D9 0C 81 B0 CD 81 F1 61 DA 6F 14 A6 AC 82 62 82 B5 B8 63 C4 20 D2 31 38 F0 22 87 10 37 BA 8F 75 2B 41 3D EB 6E 0F 0C BD CC 66 F0 37 EC 33 5F 19 80 62 0B 92 BC FD 6F 3D 30 D8 9A CD E0 6B C8 70 7F 7B 0A 59 5D AF B1 93 21 6D 81 46 98 E2 A8 90 42 5C 1E 1F 0C ED E5 5A E4 CB 9D 21 D0 87 EB 9D 0C 72 24 07 70 E4 D4 F3 6F B8 16 7D 02 E8 1E AD 39 45 78 86 1B 46 0C F1 9C 19 46 77 DE F7 57 28 07 91 E5 06 9B 8C 18 E2 78 94 C3 4C 85 17 61 7E B2 D9 88 41 CA 91 C1 70 6F AE 1A 14 86 FC D9 C9 0B F0 0C 3B 62 DD EB 13 4E 8C D2 86 6B 62 92 79 C9 57 0F EA 9C 39 E0 82 F6 E5 11 82 3B E6 3B 3B 19 52 F8 65 D0 EA 7B 72 02 F0 0C BB 58 06 51 AA 15 AF 3E ED C9 D2 3B F3 C8 CE CD CF 24 82 94 B9 8F 24 32 C7 FC D8 0C DB 3C 3E CF EE 0F 7F 88 4C 20 D3 C9 CF 75 0C 22 99 63 9E 38 DD 2E 9F FB D9 DD C9 30 59 3B 3C 41 FF CF 38 86 2F 74 0C 62 99 23 C4 64 D8 F3 DA BB 78 60 D8 09 A4 1F B7 12 F1 0C 19 12 41 F2 DC 47 31 32 FA EE 83 35 AF 7E 94 2B 78 A3 D8 73 01 41 4E 6C AF 8E 01 C9 21 2B 2E CD 9A 57 7D 38 99 5B 4D F7 5F 10 C4 9B 5F 32 6B 91 1F BD D7 96 D7 B5 A0 C6 E4 A2 75 90 FA E3 19 32 19 06 85 24 D5 AE 80 4F 86 7E 6B 8A 56 50 F0 0E 41 BF 5C 22 B3 16 20 49 B3 CA E6 C1 46 B1 39 90 17 E1 A0 33 05 3B 1C 08 7A 93 24 82 5A 64 1F CC AE AF FE BD 1C F6 B8 6E 46 67 F7 46 82 1A 4A B2 8E 41 94 EA 50 24 DA 4B D7 FD AD 79 63 C8 5D 75 E4 22 F2 27 43 F1 0C 29 12 41 86 DE 4E 6E 4C B4 3F C4 55 0E 8B 60 4C 67 FE A1 45 B9 04 F9 A6 04 FB 22 95 B1 D5 20 4D B7 CF E3 CE D0 CC E6 ED 0F 9C 50 2E 29 81 5F 08 62 1C 39 C3 90 27 49 B5 E5 DC 83 11 0C 6E 6C DF A0 F2 A7 6D 48 1F 2E 13 C8 21 4D 22 48 42 FA 00 8E 05 7C E8 E4 4C 10 0E 61 18 7A 5D 8E 44 7F 7F 7D 05 9E 21 5D B7 37 A3 C1 DC 98 DB 98 21 04 46 5F 61 18 76 E5 F7 45 76 52 10 85 67 F8 40 C7 20 45 E7 45 6C 9A 0D E7 73 33 0C AE B3 33 49 DE 3F E8 4E 33 10 F4 91 7E C8 9C DD F9 A2 24 5B E0 CA B0 0C 62 0F B0 F7 16 57 0B E2 FA C3 74 82 B5 90 E9 F4 41 A2 A5 6B 9B E1 ED DC F3 72 B7 F7 31 0C A2 DC 23 75 03 00 77 17 85 66 F8 88 B1 0F 79 31 7B 1D 38 CB C1 B0 57 6D DC 08 65 3D 05 6D 04 BD EE FF D1 31 88 F5 0C 9C FB 27 67 C1 F9 C9 6C 4E 0C 16 B8 A2 DF 97 E2 19 3E 66 E4 A0 10 C9 1D 0A B8 33 6C 7A 85 61 F8 E2 87 0A A4 8F 6D 04 BD 8B 9F 30 72 80 F8 F4 5E 39 7C 32 F4 DD 5E 81 EC 83 0B 81 8D DA 2E 11 EC D5 9F 17 D2 54 8B 5C EE 3A D9 7B 79 67 8F 56 38 8A FD D7 12 F8 F6 3B 24 82 3F D7 5C 74 B8 25 6D E0 C3 46 CD 82 0B 6C AD 79 92 70 0A 3A 37 95 5A 3C C3 FB 92 27 6F 7E F0 2F BA 86 12 9D 6A 51 24 4E A3 67 93 D8 80 B9 0C 41 F0 EC AB 9D F6 E1 F6 86 BE 44 35 D6 47 2C 83 54 6E 51 24 D2 31 F4 52 98 EF 3F 0C DA CB E4 06 23 0E 2A 2F CD 71 53 FE 82 67 D0 B2 0C A2 44 24 87 74 9A C1 22 DF 7C 86 4B 47 19 39 CC 76 3D F6 A6 1A DE 26 F0 ED 1F 77 CA 01 AD 85 48 4E 33 38 64 99 CF F0 93 92 AD 35 DF 0D 52 F6 87 52 02 FB 50 98 30 B4 4A 5C 17 23 0B 54 0B D3 AD 14 71 60 93 CD 5B 9C B5 FE 04 FA 7C FE 13 82 19 14 9D 0C 89 76 D9 12 B0 54 F0 15 6F 3E AF A1 7F BE E1 09 9E E1 B0 01 83 7D 9E 18 CC 89 B5 FE A6 57 ED 18 5D 67 8E 38 45 30 07 43 C7 30 31 2D 50 4D 01 F7 DA 81 61 7C 31 EE 79 FA 77 BF 11 CC 87 39 AA 63 88 A6 E5 20 B7 81 8D D0 EB 10 5F 0C 03 02 68 BF FA 4B 82 7B 28 FB 3A 19 D2 EC 20 1A AC 14 7C 31 50 B0 1B 7D 9D 25 90 C3 57 06 0C 0E F9 62 B0 E2 4D 0E EF E4 55 DF 42 DF 13 D4 D4 F6 77 32 A4 5B 28 90 1C 72 F8 62 B8 A7 A8 FE 94 8C E1 80 81 7D B0 CB 93 42 AF 2C 6E 0C DB 1F 33 0C 0F DD 0A F7 90 C5 9B 07 0D ED C3 21 29 58 16 F0 25 87 92 D0 91 6B D0 B9 49 10 67 7D AD 63 90 EA 18 68 3B 69 5D C0 2D C6 B9 95 C0 30 94 AE 0A 4A A4 E0 0C 81 AD 2E 30 60 B0 54 48 C0 9A D3 5A F8 C2 36 F6 BE DE 17 67 37 09 66 C3 04 82 BE E2 2C 1D C3 C6 A7 0C 22 B0 CB E3 CE F0 B4 86 F2 47 34 F2 A3 DC 09 7C B9 6C 03 06 AB BC 58 B0 CB E5 8B 21 D4 AD 78 11 05 71 04 75 FF 9C 84 A1 29 F4 DE 44 BE 7D 12 F7 B8 3B 10 0E AE 63 E5 D0 44 FF FD 69 04 33 8B 72 13 86 6A C5 75 E2 44 87 A2 98 14 FA 7E 16 B7 3C 4C 00 B8 A4 9A CE 00 7A 86 24 87 22 A9 9C 66 B0 E3 C8 30 ED 0B D3 19 E6 C6 7B 94 47 69 04 C9 BE 4F A4 3C DF 73 DF 75 AF 02 C5 E0 F1 04 F9 6A 3F 3D 43 8A EF 13 09 CF 0C 25 6E F4 BC C3 99 04 76 D2 5F C7 B0 51 E6 8B FC 1D 3B 5E 7B 0F C6 ED 16 A0 75 79 83 E0 DC 0C D0 CB A1 D6 F7 89 28 C3 9E 87 1E AD C1 66 AC C5 8A 88 F1 E5 8B 1E 0D D7 BE D5 21 91 59 15 21 7F B2 88 9B AD 5E 9A C8 D8 C9 5F B3 8E 5C DA 09 03 82 F0 0C 9B 57 79 55 6D BE 3E 45 2B D1 F0 34 4F 2C 9F 89 71 CA 7E DA 34 B9 EC A7 53 76 38 86 8B 20 CB 18 7F 2A BE CD B9 6E 7D 87 50 1E 91 3D E9 4C C4 1F D2 F4 C5 0F 9D 2B 6D D5 9C F7 45 75 C5 00 0A 86 08 F0 0C 7B BA 33 24 F2 C3 70 A0 51 56 45 C1 D8 74 3C C3 47 9D 0C A9 7A 86 98 0C 9A C1 5E 6D 5E DC FD F9 32 86 61 FE 9D 67 D1 67 F0 45 3C C3 7F 0C E5 90 4B 33 44 73 90 43 30 08 FA 30 3A E9 D3 D2 9E 30 1F 94 B5 78 86 8F 0D E5 90 43 33 C4 EA 18 1C CC 64 38 78 C9 74 86 4F BA 33 24 D1 0C 76 66 32 94 98 C1 B0 DD 70 2D F4 0C 7B 69 06 1B 73 19 46 98 CE B0 E3 6F 74 D2 3C 7D 58 04 BE C7 4D 67 D8 D9 7D 6F A6 99 2F 07 1B D8 61 61 3A C3 AE 4E 86 B4 A7 0C 49 E6 33 58 43 F6 04 D3 19 76 77 67 48 E6 C2 B0 63 AD E9 0C EF 76 32 A4 3F 65 48 31 7F 6F 5A 41 61 8A E9 0C EF 75 D7 49 DD BE B0 34 53 27 A3 55 A6 33 BC FF 37 67 96 79 B6 3A 13 D2 1B 19 5B 9D 7D 7E 99 23 05 A3 09 CE AC 36 43 7D D0 DB 07 B4 37 4D EB 15 EB 64 98 0F 2F AE 64 18 66 C0 82 6F 48 6A EE 17 A1 BD 93 21 59 CF 10 93 44 33 D8 98 C9 70 45 61 3A C3 A3 1E 6D 94 69 BD BD 86 0C 13 7F 30 9D 41 DB A3 7D 30 AD 7F D1 90 A1 BD C6 74 86 C7 3D EE 4D 0A 2C CC 64 78 E3 A2 E9 0C D9 9F 8E 3D 2F 6A 46 EB 90 1B AD B5 2F 92 A4 D8 16 09 54 8E 26 DE C1 30 F4 27 9B 27 B1 F9 C9 A6 0E E4 D7 4F EB 8F 67 C8 D1 31 38 57 47 B4 7B 9C 9B DF E6 51 1E 51 36 B6 62 D9 03 D7 F2 88 86 C9 AA C5 F7 62 64 7E 6A DA DF 16 A8 EC FF E1 9E 6F CF BE DC E0 51 9E C1 14 3C CE C4 33 E4 12 30 58 23 06 BA DE 16 6C 52 AE F8 A3 50 7A 1D 5C A3 F0 0C A0 5F 8B F4 88 1C 3E E6 C3 18 32 CC CF 2F 12 92 F4 68 5D 04 85 01 83 2D AF 0C 9E D0 82 CE 0E 7A CE 1D 8E 21 4F C7 10 2D 8B 68 34 AF DF BF AB 3E D0 F7 90 9E F6 4F E6 17 4B 29 78 14 8C 67 28 DA 3D FC 5C 64 AB FB 99 CD 4D 82 54 FF 1B 02 7A 2E 29 87 B7 06 E6 1A F6 26 7D B7 E0 36 05 E3 1E E2 19 BE EB CA A0 90 82 2D 87 5A D2 90 AB 6C 0E 24 4B 99 44 41 D6 41 3C 43 B1 31 83 DC 11 24 60 05 E6 D7 16 B7 BF D6 99 A7 A5 67 BB B9 9E C3 33 94 74 65 C8 15 81 75 BE F9 0C 6B D8 B9 6A 65 B3 95 33 49 E6 F4 5E 84 EF 59 06 89 CC FF 06 D7 7C D4 5C 18 39 92 AD 77 9F 8D 42 7F 7F D3 13 3C C3 FF 74 0C BD CF 87 DF 70 AF F6 EF F0 68 DE D6 26 92 09 D5 E6 BE D9 64 B8 37 C7 9D 0E 42 7B 44 5E 83 67 58 B8 BD 8F 76 43 85 8B 36 B2 59 C2 CF 0C 0A 36 67 3E 3D BF F8 0D 0A 34 2F E1 19 D6 7C 34 F6 78 54 BB 87 76 99 66 63 92 2D 3D 27 28 9F B7 DA 62 E3 6C 25 05 BE DF E1 19 D6 76 61 B0 CF E5 8D C1 95 9E 49 A2 8E C4 33 44 21 06 7F 1D 83 47 B5 6F 9B 9B 6A C9 1F C2 BD 11 B9 E2 54 CB 22 E7 4A 6B 35 17 86 9C FC E1 03 29 A8 F2 C4 33 AC D3 CB A1 65 99 C6 AB 3C A4 D9 39 71 A9 56 22 A3 7B CD 6D 73 B9 EA 83 BA 69 E5 2E 0A DC 09 F4 C1 E2 03 7A 5F F4 55 6D 6D 9F 52 1F DA 2C 91 D1 33 28 AD 81 8F B5 A8 38 E3 FD A9 FE E7 38 86 21 87 9D B5 F3 9B A4 66 E5 04 FF 99 E1 79 CD E3 0D 24 F7 58 2F 82 C7 37 AE 67 A4 1D 8C 5E 4A 38 DE 4B 32 5C 8B E5 6E 6D 5B 48 E6 60 5C 84 57 8D 18 E2 39 E6 48 8D F4 E1 D6 FA 4B 14 08 3E C1 33 9C FA DE 43 35 BF C3 A9 C1 FF 89 30 6D 11 FD 86 58 16 5F 0C FB D3 03 92 F5 EF 62 E0 18 2A 11 C3 06 3D 43 A2 8E 81 B7 5A F3 BE A3 36 21 14 28 09 72 83 55 4F 19 A2 74 72 88 36 F9 2D B5 AE 0C ED A3 19 86 79 8F 27 A4 52 F0 76 15 9E E1 B4 11 03 65 D6 BC BF 9E EF 5F F4 87 C4 77 29 A0 EB 6A 38 86 33 9D FA 90 A4 63 C8 E7 8B C1 31 6C 24 3A BB BD 86 E3 19 CE B2 0C 62 D9 22 B5 38 D1 BA C8 F4 79 DE 3D 33 48 EE 6E 41 FB 52 49 A0 93 E7 8C 18 A2 B5 B6 45 B1 30 3D 9B 17 86 50 BA DE EE 6A 89 67 28 35 62 90 68 ED 78 60 D0 E7 82 46 28 5D 27 9C 05 EF AB 78 06 15 BB 37 27 CA 17 A9 E9 B7 DD E2 93 23 CE 99 DF B3 F7 3F 31 EB C3 04 4C FE 0B D9 87 53 78 86 E3 AC 1C 26 9C 59 F4 9D E8 C3 60 10 CB 69 7B 6D 8A 6E 1A F6 91 BA B3 3D DE C5 A1 C5 BF 96 42 60 21 9E A1 AC 3B 83 8C 66 30 CF 9F 9C 0E 2E 89 4C 2D 69 0C 04 28 06 FD B9 80 60 2D 1A 8B 3C 5B E2 5B 05 B5 7E 7F F1 E1 4F FA 40 40 2A FB CE E0 08 E5 9E 30 B8 71 83 20 27 A6 18 A5 8A EE 70 51 AF 43 FE F4 0C 35 D7 7A B7 A1 AD 9E 03 BA BD 99 42 90 13 63 19 86 C1 0C 35 9F 7E 75 E5 37 8F 23 D0 B9 49 10 E3 24 65 3B FF 29 6A F1 28 9D DF 26 D4 BD 05 CB 9F 1C 06 D4 82 0F 05 93 7A E3 19 92 3B 19 E4 34 43 2F 8E 0C AF B3 0C 74 0F 27 05 EF 10 C4 DD 29 2C 83 28 8D D6 C9 D0 76 DE 7C 98 95 74 BD 3B 82 C0 3E 7C F5 F5 94 F3 1B 9A 9C 2B 42 9F 88 93 91 AD 86 5E C0 85 61 BE C1 9C 7F 2A 40 E7 BF C4 E0 19 7C BE 72 A9 88 6C 76 6F 0C 6F 72 AB 9A 7E D3 43 EB A7 11 EA DE 8D B6 32 53 0E 2F 2F 64 EF 46 3D 08 42 DF 57 4C C7 33 CC E8 CE 90 6A A5 30 ED 9D E0 9E FD EA 65 13 24 C8 A7 1E 7B 05 CF 40 19 33 C8 FD 34 12 B9 6D 11 1F BE 7D 65 9B 00 C5 4A 82 3A 3C C3 CC 6E 0C D1 E9 56 BC 30 9C 1F FB E6 13 0A 12 08 FC 87 59 C6 0C 19 7E 1A B1 C9 F3 59 7B 66 10 3C FA 00 E9 C3 DB A7 F1 0C B3 BB C9 C1 F4 F7 50 FF 66 06 C5 D9 E2 10 FD 5E C5 31 CC E9 69 5F E4 9B E6 CF F5 CC D0 32 3C 0E C5 9B 1E 1B F0 0C C7 7A DA 17 B9 53 93 AD 4C 78 D3 CB B0 17 65 70 3D DB 37 B8 FA 55 74 6E 4F 21 38 BB 8B 7A DC 9B 53 33 6C 4D 78 DB EC 9F F6 E6 50 82 BD F9 5D 37 7D A0 67 37 9B 6F AB DF 5D C4 30 3C 0B F7 DD D1 CF E7 11 E4 48 BB C9 21 46 36 8F 7E 4B 3D D7 3C 3F CA FA 00 7B 5E 3C A8 FB 92 82 7D 03 F1 0C 4B 7E EC 57 13 D5 FA 6C 5A 78 BB 40 1E 7C 3F 96 63 8C 33 C3 E0 CC 3A B8 B0 7E 13 05 67 56 E0 19 44 35 1E 95 12 CD AA 6B E1 5A E7 8A F0 1B 13 55 01 1D C2 B4 C1 79 7C EC CD A6 BC F7 BC D0 67 02 9E 41 AC 63 E8 AB 0A D7 0E AF 0E D0 38 6B 17 36 0A E4 F4 5D 31 47 30 87 61 8E 81 1C 76 FA D3 FD BC 53 86 E2 19 24 3D 30 84 9A CD E0 03 DF 97 30 3E 6D 68 89 F2 D2 5C A0 67 AB E1 18 36 76 5F 8B 54 F3 D7 C2 C8 87 89 3A 8F 6C D4 C2 65 78 06 69 77 06 39 3F 0C 6F 06 94 5D A3 60 DC 5B 78 86 98 BF D1 49 53 72 21 3D 33 8C F9 96 9E BB F0 0E 41 5E 2E B6 3B 43 3A 57 06 7D 9C 75 66 B1 B2 EE F4 92 42 02 FF 21 D2 58 27 E5 0B 1B 25 26 E7 62 FE A6 67 EF 49 39 90 F9 B4 6B BA 31 08 E5 FC 30 CC 80 8E 1A 0A 8E FD 8A 67 B0 BA E2 7C 7F F9 75 61 9A 5F BE 79 F3 CC BA 32 68 DE 65 67 D4 40 D8 4E 0A AA BF C1 33 58 1B 30 F0 F1 FE 66 FC C7 9D 0C 23 7F A3 A0 2E 19 CF 60 63 C0 60 C7 07 C3 47 9D 0C 6A 42 06 5B 03 06 07 1E 18 AA BE EF 64 28 1D 43 C6 60 67 C0 D0 8B 07 06 5F B6 1F 66 1C 04 26 52 70 81 A0 37 C9 DE 80 C1 82 07 86 9F 58 5F 6E DC 4C 9A 61 34 41 5D CF 41 CF 90 4E 33 58 F2 C0 D0 FB 36 CB 30 98 66 F8 84 80 A1 97 01 03 1F 75 FF 19 EC BD E6 71 19 34 C3 C2 6A 82 5A 92 01 03 1F 6F FC 39 B1 75 DE 71 2D A4 0C BD 0D 18 F8 B0 51 41 4B 59 86 CB 34 03 49 8E F4 19 03 06 3E 6C 54 EF 37 59 86 69 34 43 1C 01 C3 B3 06 0C 7C D8 A8 FE E3 59 86 5E 34 83 86 80 E1 39 03 06 3E DE 6B CE 71 65 19 6C 69 86 E3 04 0C 7D 0C EC 03 1F 3A 79 6F 4A E7 3D B5 2F 07 91 D5 50 FA 1A 30 F0 61 1F CA 58 86 20 58 40 FB 34 E5 78 86 4D 06 0C 7C D8 87 9D 2C 43 FF D6 20 F4 19 F4 01 9E 61 F3 15 0F C4 20 AA F7 CB 41 FF 3E 0F 0C 6D 2C C3 38 17 BA 07 E3 35 02 7D 88 D3 C9 61 7C A9 5F 3D 1F B5 66 F4 C5 BE 65 26 A8 79 16 7D 6F 4D 90 2B 8E D7 C9 41 BF 2F 1C 78 95 C3 F9 E4 12 25 59 AF DA 16 83 BD C9 FD DC 34 EC 87 29 5D 4E E7 A3 DC BF C6 33 6C D5 33 24 F2 B3 2F 28 98 C4 F6 26 A9 EB 68 86 69 04 3D 5A DB 0C 18 AC 78 60 68 9D 6A 3A 43 82 01 83 35 0F 0C C3 63 4D 67 10 EB 18 06 DC F4 53 BB 56 47 5F 8F 4E 0B 6F E6 78 A7 58 C4 C4 59 92 25 85 FD D5 D7 2B 08 7A 72 24 46 0C D2 44 6E 0C 1B 61 F1 07 0C 83 CD A8 C0 55 D6 99 35 72 82 D8 FF 8A 4D 4D 64 BD 73 43 F0 0D 81 DC 46 A1 9F 17 EC C8 A1 1F E6 72 3A C3 F0 5D F5 B2 83 36 97 DD 09 EC 83 D4 80 C1 3E 97 2B 43 0C 0C BF CF 30 D8 66 6D 11 F8 7F A2 24 F0 A3 46 5C 98 A0 8A 6C 73 A9 F2 2B 8B 96 2D 56 8B CC 9A 6D D6 F3 1C 6F 65 D0 E6 54 0A DA D3 F0 0C 4E 46 0C 5C FB 06 0D 19 3E 0A 98 86 D6 61 F4 4C 3C C3 BF 8C 18 C4 60 CB 71 5E F1 A7 C7 4D 97 C3 C8 2E 72 B0 E1 41 0E FA 9C D8 0B 0F 82 D2 0F 80 F2 4D 3C 83 33 CB 20 D2 31 58 70 3C B3 36 55 98 2E 87 51 5D E4 60 CF 89 61 0E 7C 10 6F 3A C3 E0 2E 72 B0 E7 4D 27 0F 1C BF 87 64 12 4F 60 A3 86 74 61 E0 4F 1F 42 DC 2A AE 4F 82 D1 04 B6 7A 68 17 06 2B 8E 67 96 F7 08 D3 D7 62 18 CB F0 42 3A CD C0 6D 4E EF 6C 18 BD C7 74 06 41 27 43 E2 62 B5 30 8D 5B ED 00 31 FC 6C 3A C3 8B 46 0C 5C 7B B4 66 C3 A6 5A D3 19 5E EA CA A0 E0 C6 D0 F6 D0 74 86 C9 E5 E3 AB D6 6A 06 34 04 68 9C CF 87 B4 4C AD F7 AF F5 50 2D 6E 13 CA FD 14 E4 3C 3D E7 AB 1B 1E 7C 46 58 DF 9C 62 C4 30 31 CD 5F 6D FA 9B 03 86 76 F2 C8 69 36 4F FB 9F 6F 51 7C 33 E9 45 3C 43 CD 71 5D 4D ED 6E 78 D3 68 D5 92 16 91 CC 4F 3D 35 C3 C6 44 5B 65 34 67 8F BD 77 50 3A EB 5F CB 28 28 27 A8 A9 D5 76 63 10 5C A6 DF E9 E9 95 CD 95 41 7D 7D 1A FA 9C 40 C0 50 D7 83 1C EC 78 91 C3 AA 9A E2 35 14 D4 FD 85 67 A8 EF 81 C1 82 23 83 DE 56 2F 72 DD A8 5C 05 EB 08 FA 8A 7F EC 69 2D F2 F8 58 8B B3 F7 83 3E A1 40 40 70 FF A2 A1 07 39 F4 E2 65 2D BC 2A BF 47 7B 33 88 60 6F 9E EF 49 0E C0 4D 0E FA B5 98 05 6B C7 0F 20 8A BB D5 DD E5 90 6C A3 36 F7 1E AB 21 83 C4 AD 38 DE 06 D6 1C C2 33 9C EA 81 C1 8E 17 86 19 20 78 3D 09 BC 81 A0 C7 BB 07 86 5E BC 30 A8 03 BC 2F 4D 80 EA 44 3C 43 D5 DF E8 83 7D 2E 57 06 14 6F A1 F3 63 27 C1 99 75 DA 88 81 7E CF 2C 5E 66 53 34 35 C3 D2 AC 3E 10 43 06 0F 9F 71 99 9E 04 EF 77 5F 84 33 7F C3 60 C7 99 61 6E 1E DD C7 49 3D 4B D0 E3 DD 8D 21 8E 27 39 04 1D 1C 93 E4 0F E3 DF 23 E8 F1 EE C6 20 91 D9 F2 C2 30 77 2F FD 3B 37 82 B5 28 ED 81 C1 8E 17 86 8F C1 2F B5 00 7C 9B 08 7A BC 7B DA 17 B9 E6 DA 49 C3 F8 A2 F4 AD F5 A5 B3 C1 A3 91 A0 BF DA 88 61 62 1A D2 49 93 EF 60 18 FA 51 8D CD 6C 9F D8 6F EE 9F 52 B0 92 C0 7F 38 D1 8D C1 F4 39 52 46 0C D7 4C 67 28 EF C6 20 E6 C4 F0 C0 0C 86 93 DD 18 62 38 AD 85 EA A6 E9 0C 93 55 DD CF 0B 0B B3 CF 8B B9 60 7B 87 ED F9 CF 8E 0E 0E 83 62 82 9E DE DB 67 45 CD F1 20 48 F5 7F A4 EF BD E0 AF C7 3B 60 B4 37 DD 7B 4F 70 5E FC AA 67 F8 13 31 64 44 E6 73 8D 79 8D E7 70 DA 22 06 CF 70 3C C3 9D B3 A2 F2 50 9D 1C 24 69 8E 79 C3 4D 9A 45 F2 CF BD 28 A3 B6 B7 BC 84 CE 4E 02 7F 72 47 A5 A8 7C 03 8C A9 F6 7F E4 5C E7 DF CE 3D 67 DE 29 87 FE A7 E9 9F A7 7F 88 67 F8 AC B5 77 8B A8 4E 90 E4 D7 86 62 BC BC B8 BD FC AD 85 C7 A7 01 6D 14 44 9C C0 33 7C 6E C8 A0 90 64 38 16 F0 B5 16 EA 6D 2E E8 B3 90 A0 07 E3 0B 43 86 5C 51 1A 37 06 C3 BE 41 F7 DC 67 E6 53 B0 6B 13 9E 21 A3 B5 77 3D CB 90 23 4A 72 2C 70 AE 0C 50 F3 21 07 BF F1 A5 5B D0 CF 09 FA 27 F7 1A 32 64 47 CB 1D 0B 5C 21 42 C3 07 C3 0D B7 78 C4 B0 85 20 D6 FB 52 BF 16 89 3A 86 43 B1 29 8E 87 E2 93 CD BF 2B 67 B8 16 25 35 01 F4 DB AC 04 72 C8 64 F5 81 8F 99 C9 86 73 FE 67 BF AD 7B 1B 97 20 47 9A D8 4D 0E 5C EE 0C 4E 37 F0 61 1A 7E 2A 1C 56 02 24 F5 AC E4 D6 DE 5A 51 9D 30 75 5E B6 38 D5 31 3F 3A D5 8A D3 1D 52 1F 78 93 9D C3 39 A1 85 EE B7 AF 98 81 67 28 D4 B8 5D 89 D5 8E D4 86 FD 21 4E E5 77 E6 C0 EE 9B 51 99 14 4C 23 B8 9F F5 2D CB 20 49 A5 DF F7 0B E2 8D A1 B2 C0 66 19 05 35 04 3D 18 CA A7 0C 5B FE 40 EB A1 70 52 5B A9 9D D2 7C 9F F0 B1 37 FB B6 D2 B3 17 48 E2 CD C3 46 72 70 AB 8F 68 15 C1 82 56 3E E4 B0 E8 15 BA 0F 25 94 60 56 CF 11 8D F3 9D 75 4F 9E 85 2D 3F F2 74 D7 FE 28 BB 16 F6 C3 EC 28 18 3A 1B CF F0 DF EE 6B 91 CE CF 5A A8 1F D4 95 50 30 9A 20 FF 70 B4 73 2D B4 D6 45 5E E5 4B 35 A6 D7 30 8C D6 82 F5 69 0F 3C 57 71 92 82 E2 BD 78 86 7D 46 FA 30 42 E5 A0 8E 86 00 5E F4 61 D2 BE DE E8 53 49 30 1F E6 AB 6E 3A 19 BD 93 D6 49 5B 33 19 96 5E ED CC 91 D2 EF 14 FF 9B C0 B7 DF DF 8D 61 A3 8E A1 97 99 FA F0 FD 7F 18 86 43 63 E8 F9 76 FB 08 E6 1E 1C 30 60 B0 2A 12 A6 BE 94 67 7A BD B9 67 9D 3C 76 F7 39 37 F4 7B 02 DF FE 60 27 43 06 C3 60 C1 41 27 1F 97 B1 39 D2 7D 74 FD BF 98 A0 C7 FB 6B 1D 83 B3 56 D4 22 E6 F9 BD 45 9F 1A 29 7D 86 BA E2 19 0A 34 23 CA 42 1E 4A 4C 9E 53 F4 77 72 B8 72 84 7D BB EA F7 F7 77 A0 DF 13 E8 E4 21 3D C3 69 BE 18 7E 63 19 5E F9 BA 1A E9 A7 F7 59 3C 43 16 5A 8B 10 ED 48 08 FB 83 1F 5B FD F1 61 76 6E D2 11 A5 8C EC DE 62 B6 66 F2 69 1F 24 8B C0 87 FC C8 21 8C 9D 7B 50 57 A9 DC 49 C1 26 02 86 1C 1D 03 05 81 E9 3C 9D 59 AC 9D 3C FB 65 0E 8A 1D FF B3 05 CF 90 AB 79 45 B5 B1 C3 E2 46 6C 9D 58 36 B8 91 6B CD DD 07 C6 AA 18 86 82 D0 EA 42 E4 CB 11 DC 4B 82 2E 0C B6 1C D7 62 EF 76 F6 AE BD DD 93 44 92 39 DE 17 41 D1 69 A3 E4 7A 5B 1D CB C1 87 99 05 ED E1 EC 79 51 5D BC 1E FD B3 23 C1 8C BB 6E 0C 62 4E 0C 83 17 B3 F7 71 0A 36 23 DB F0 C5 9F 78 86 FC 6E 0C 22 4E 0C E7 DF 60 E3 AC A4 A0 6C 0A EE 12 D8 A8 4F 59 06 DA 8F 1A A1 B2 52 8B 38 F8 0F 3E 90 C3 BE 55 F4 7A CB B2 81 5E 70 F2 28 41 0E 44 C7 30 A2 66 8B 46 98 FA 96 82 6B 1F C8 0C D8 98 C2 F4 AA 2D 3A DE 9E 50 72 A0 38 16 CF B0 EA 51 5F 15 FA FB BA 99 07 7C D8 A8 4E FB 90 18 F0 44 80 7C 7B 82 B3 7B 35 CB 20 96 D3 F9 D9 A5 1C 63 DE C3 DB 18 86 5B 01 F4 7B 6A 24 75 9C CD BF F4 D1 6E AD 8F 4F E6 67 8E 96 A1 1C 52 C5 49 E8 F3 DD 40 3C 43 BF EB 7D 2E AF FF D1 A5 C1 57 2B 90 D3 FD 9B 5C E7 26 75 32 1C 90 EA 7C 09 82 D8 7F CC BD 01 E5 EB 7F 74 6E F0 6B D2 CF E2 E0 4F 0E EA 9F EA 3E A7 40 F0 3E 41 0D E5 4E DF 66 D1 25 41 5A D4 45 BE DF 8D EA F3 A5 B0 9C 82 C1 04 7B F3 E2 A0 3E F7 1D 2F BC A2 5E AB F1 AA 0A 6F 91 B2 B3 60 AD 4C 98 51 6B 68 A3 E8 F7 0E F4 0C 1B BE F1 46 F1 CD 94 BB 78 86 4B 83 74 7F 5F B5 A4 45 28 F7 CB A1 F3 62 DC DE D7 EB 64 A0 72 DE 79 8F 82 E1 04 71 D6 E5 4E 86 24 BF 6C A1 9C 5E 0F 9B 1C 3E 18 D6 C0 2F F4 27 81 3E 5C 19 C4 AC C3 C4 64 3F BA 4F EC 10 C5 61 FE 83 3F B4 B3 EF E3 CC FA E6 97 8F 28 38 49 60 A3 7E 66 19 D0 5A 64 E9 E5 60 6B 76 5F F1 6C 18 FC 1B C3 90 10 BA DE 89 82 A8 7F E1 19 AE 76 32 A4 22 86 44 9A C1 FC 79 A4 73 20 F4 65 F6 1D D2 EC 7F FF EA 03 DE 04 F9 A8 07 03 A6 6A 97 B5 49 52 F8 F2 ED 0D 6A 28 59 52 64 9F 42 1E E1 19 3E 7C 59 70 6D CB 15 97 53 E1 2D D1 32 5F B5 50 6E 95 1F 97 6E 59 C4 07 C3 9C 6F DD 16 A2 EF 09 EE 14 EF 79 59 70 6F CB 15 27 ED 92 C6 E1 55 5B 34 63 D5 6F DC 5C 95 1E DE 4C BF 8D 2A DC 6B 95 47 F6 FE 43 CF B1 DE 33 90 8A F6 44 35 41 1E E6 A3 97 27 96 8B 5B C7 D7 C7 B7 39 37 2C D4 4A 74 73 8B ED F3 CD D7 C9 01 6B 58 3F EA 74 E9 5F 14 5C 23 98 C3 99 3D 6C 78 79 18 8A 2F 96 69 F8 D6 87 80 F4 8A 1B C8 B7 27 98 7B 50 D4 D7 F2 4C 24 3A B3 16 6B 85 49 11 8A 78 8E E7 A6 3F BC 73 81 D9 17 73 AA 9F F9 D1 12 5E 27 99 4F FB CC 94 C4 A8 9B AE DA 0D 1D 92 93 96 0A 1E E4 A0 61 67 47 C3 E9 39 48 0E 04 F3 AB D7 38 F4 55 AD FF 71 7C 7D A8 4E 1F E8 F7 48 F8 9A 37 B8 69 D5 0D 29 05 B3 76 12 CC A7 35 62 18 5B 1D A1 8D 91 85 9B 3D 2B D8 90 E1 DE C9 F0 57 29 78 F3 0E C1 7C 5A 07 C1 35 E4 47 21 FB E0 A6 F2 ED 70 3B E3 A7 16 A4 04 68 04 2A BA B6 16 CC 29 0F D3 C7 E2 E4 BB 14 F4 0D 21 98 4F 6B C4 E0 D9 E0 A7 DE 28 0B 51 9B FB FE 85 21 C3 E8 AC 87 28 DE 49 25 F0 61 84 C6 FA 90 BE 9E 53 8D 75 26 8C 66 DF 09 FA 77 51 06 7D 6F F1 3C 9E 61 BD 11 43 BC CE 46 59 73 60 D8 B0 C8 74 06 0B 9B 7E 88 C1 E3 D4 B6 36 41 52 78 B3 30 49 77 6E 16 98 CB 10 01 DE EF B3 B9 41 65 3B FA 67 92 FE 87 DE 2C 03 DA 0F CD 31 69 F4 79 65 63 B6 1C C2 C0 DB 9D B5 D5 8D 9E F3 29 28 25 88 79 87 78 D1 0C 82 F4 19 27 9D 4C BE 13 D5 D3 DB 76 9D 3A D9 7B 60 2B DA 9B 4A 82 5E 35 0F 4F D7 6B 1B 3A 04 C9 4B EF D3 67 A5 44 6E C9 DB 0C 6D AA 7A 56 14 05 C3 08 72 20 AF B2 0C C8 A7 2E 10 CA 2D 91 2C CC 9F 2D EF 63 58 D7 6B AC 4B A4 E0 2E 41 BC E9 E9 E9 5A BA A1 43 2A A3 19 AC 14 22 E0 26 07 43 06 4A F1 2C F2 ED 23 09 6A CD 13 0C E5 90 15 23 B3 CC E7 52 C7 31 64 E8 FD F8 DA 02 B2 B8 7B 62 37 7D 90 24 3A E6 9A 3B D3 CC 07 FE 55 C1 9C DD D1 AB 1F D4 52 B0 33 03 CF 30 C9 50 0E D9 D1 48 0E 5C 7A DD 0D 73 A4 EA 89 D2 0D 14 B4 10 C8 C1 CB 90 21 47 CF E0 60 36 83 7E 2D 5E 7F 7A D7 FE D6 9A 71 E0 4F 70 C7 DC ED 29 43 5C B5 70 AF A3 42 22 B3 CE 8F CE B0 CA 36 B7 9E E5 03 4D 6C DD DF BF BA 78 F3 61 E8 57 42 D0 5F ED 3E EA A4 F0 BE 44 F6 96 9A 9F BB F6 9D F6 61 5D E3 82 BE 64 F7 FD 2B 59 06 CF 06 2B B5 DB E9 F0 06 0A 7C 39 E4 06 3B 19 A6 C3 07 C9 64 73 0F 1A A7 59 34 44 D6 BA AB 42 AE D1 6F 1E 44 CB 2C 8A B8 9C 9B B3 21 ED DF 6C BD 3B F4 B4 80 82 B5 04 B3 9B AE 1B 31 C4 41 2F 8E EF 4E AE 1D C8 CE E1 BC 46 DF 93 DB 43 10 77 DF 30 62 A0 63 3D B4 3F 38 C4 DD 49 03 19 9D EC BB B2 A2 7C 06 6C 5D 8F 67 68 62 19 74 75 F7 F4 79 05 5C EE 14 CF 86 23 2F B1 F3 CC 61 F2 03 0A A6 7D 4A 30 2B D8 7B 55 63 64 2D 33 E7 2F 6E AF 55 91 50 8E EC C4 6E 1B C4 B1 36 C7 F4 1C 69 C6 33 6C 9C 15 EA F1 32 05 5B E7 13 CC E9 1D 39 BE 46 F4 C8 EB 4A 70 07 9D B3 76 6E 78 EB BE 30 83 CE 11 5A 72 D8 9B FA B5 98 EE 56 BC 78 27 04 EE 21 E8 0B EA CE 90 42 33 D8 70 8E 37 DF 3A 50 FC 15 05 DF 13 D4 16 53 BA 33 24 99 2F 07 A3 BE A0 11 74 6F 54 3D C1 9B 4D A9 2C 83 F3 C9 C1 75 23 55 81 F7 27 CA FD 8E C6 98 D4 D3 DA F3 5A 50 7B A7 A5 BF 03 7F 11 F4 99 7F 35 DC BD 66 7D 47 DF 9A 25 DA 11 65 D3 EB E8 BE 62 2E 33 51 0D EF F3 0E 2B 89 46 71 7F 34 C1 8C BB FD 46 0C C2 BD 11 0A 8A 43 7F 35 3A EB 6C 18 06 1B D7 E5 9F 50 B0 9A A0 6F D0 C7 C5 5D 15 75 CF B3 DE AF 01 FD FD 3C F1 5E 07 B4 37 2D F3 A5 60 99 67 5E 5E CE 60 C6 9D 82 7E 0F A5 98 A0 87 73 46 17 06 FB 22 61 AA 65 7E 1C 58 00 57 86 90 17 03 90 0C 5E 23 F0 61 28 23 86 B8 54 E4 CF A5 E8 E2 9C 43 5C 19 8A 43 E9 BE 83 40 82 3E B1 99 5D E4 60 AB 93 83 18 7A 71 66 38 B7 9D 7E 6B B1 17 41 8E 74 56 17 06 0B 9D 3E C4 9B 14 63 F4 CC 40 55 A7 23 9F D6 AB 80 60 5E 71 8F 0C 52 B0 CA E5 CA 50 BA 9C FE E7 91 04 F1 E6 9C 1E 19 C4 60 55 C0 95 C1 DF 4D 79 12 9D 59 04 76 F2 58 8F 0C B1 60 6D E6 DE 8C EC 8C 79 6B CE 22 3F 6E 0C C1 4C 92 22 1D 03 7D 1F 49 28 B7 28 90 C8 2C F2 C5 C9 56 0A F3 F3 F6 06 73 BC 73 E8 37 59 0A 09 F2 93 DF 75 67 48 E1 87 61 80 DB 48 E4 53 FF 49 10 6F 16 EB 18 9C 4F FA E9 CE 2B 43 16 51 AA 95 C2 74 86 37 CD 60 58 32 DA AB 7C A5 86 3D B7 13 23 38 D6 58 3F 13 31 0C A7 0E D2 FD B4 C5 04 FE E4 52 63 86 24 FE 18 76 29 68 3B F9 85 0D C1 CC E4 C5 F4 7B EE B4 3F BB 11 EC 78 E8 6D 6E 62 F3 72 49 8B D6 22 3B 77 8A E0 4E B1 58 C7 40 CB 61 62 12 1D EF 71 AB 6F 52 70 7C BC E9 0C 12 1D 03 ED 43 AD 6A 09 BC FF 8A CA AF 6D 6C 95 7F 93 DB EE E0 56 61 FA FA 5C 2E F1 E6 F1 39 9E 81 14 54 AC 21 98 39 30 6B 94 2A BE CD F5 EC E0 9F E9 DA 9E 98 A3 1F 85 BE FF 96 CD 3F DC A6 FB C5 07 13 DC 09 AA D5 31 8C 51 89 DA 5D 1A 42 6F 98 D7 0F D2 B3 4F 7B EA A0 FB 36 B2 B9 6A 75 C6 0C 69 FC 31 28 42 AB 91 9D AE 98 44 70 4F CD 67 CD FD FE DF 4F 54 F9 B5 BA 34 F8 35 F1 30 DB AD 2F 6B AB 1B A7 9D A3 E0 32 C1 5A CC 15 8D 57 25 B4 7A AA B6 FE 2E 48 F6 BB E1 C4 F1 ED AA E9 B0 97 9D EB 1E 2D A4 F5 61 27 41 2E C8 AF 93 A1 D6 EF 06 D7 19 56 33 60 F2 9F A6 BF 7D B9 62 AB 53 D5 F2 0E D7 EA 65 AD AE F2 C0 56 B4 27 14 DC D6 22 92 9D 71 F7 E2 0B DE 09 64 3A B9 79 F3 78 8D 54 33 01 16 F2 55 DF 64 EB 7A 07 86 D0 6F BA FD 41 70 17 A6 DF DB 23 CB 2C 6B C7 DF 94 6A DC B4 4B B4 D1 3C BE 6D F7 91 FC 1E 8A B1 7E 25 88 B3 FA BF ED 54 BA 56 33 7E B7 54 13 6B F6 5B 83 86 6F A9 D7 16 B2 67 96 1F DD CB 7A 94 60 2D 06 E8 19 64 52 8D B3 36 FC 77 61 E2 FA 7C 89 3C 42 21 96 5B 9A F0 66 50 27 83 1F 80 35 EB D3 FE 1A 88 FC FA E1 04 F9 A8 31 2B C6 DF 97 6A 68 FB E0 A4 F6 6B 1A 5B 19 F1 8B 73 E5 5B 0F F8 E9 7F D8 B1 8E 02 09 56 0E 17 60 88 CC E9 4A 64 B3 93 76 C9 3D 3E E6 F4 1A FA 72 EA AD B3 32 49 DE 7C 6C 84 85 BF 3A 97 C7 3F E9 53 19 70 D4 55 F5 56 C7 54 95 A3 86 9B 8D F2 66 67 FD F5 82 8D E9 03 CA BD CA 70 0C 5B 15 2F C6 39 55 4D EF A0 BF F8 C8 15 F7 86 59 BB 19 39 04 42 35 AD E3 DB F0 0C 2F 19 30 70 9F 3F 69 01 CF D6 30 72 F8 24 B2 25 94 82 47 D8 78 73 8B E2 B7 0C B1 3C B2 CC 7C FB D4 55 0E FD AF 32 B9 A0 4F 22 BD 43 F7 03 CD 81 63 B8 97 21 4A E3 8F 61 28 B8 F8 33 6B 51 0E C7 BC 28 68 0B C2 33 FC 9E 11 9D CE 27 83 9A 65 50 41 E4 08 0A 06 CE C4 33 0C 2F 19 D0 10 5F 3F 25 39 E4 F7 58 B3 FC D9 AE 67 D6 AC 14 86 61 6C 8C 10 9D 59 AB 53 71 0C CF 28 86 FC 77 BC 56 AA 19 5B EF AB 71 55 85 77 4C AA 5C D8 22 91 9B FA AE 9A 61 CF DE B0 33 6C 7F D4 A8 76 64 A3 7E FE F4 FF 0F 86 DE 4D E3 CB 7D AF 8F 3C A3 7B 9B 46 23 31 29 1F F7 CF 36 AA C4 F5 52 A4 BA 71 AB 04 CF B0 B6 C9 FD CA D6 56 DA 97 D2 FF FF 73 9D F5 B7 AF 8E 61 F8 E1 15 E5 71 1F 78 14 81 67 58 D7 E4 49 EB A4 36 E4 77 B1 DC 8A 8F 7E DA E3 0C 03 05 A9 EF A9 1B EB B0 BD 6A 83 14 15 03 9D 1A 12 34 42 55 0C DA 9F D3 35 3C F8 D5 EC 5A 6C 4D BE 97 50 36 E4 24 D6 8F BA 90 59 B3 74 7C A3 54 E3 55 15 D6 11 23 F3 3B 6A DE DC E4 9E 63 BD E8 18 69 14 05 D5 19 78 86 5A 96 41 C4 03 83 3F 54 BD CB D8 6A B7 1C E5 4B A7 08 7C DA 0B 99 75 2C 43 2C 0F 0C 41 F0 C6 05 F6 3E EF B4 75 C8 AF 9F 70 15 CF 50 DF 65 2D B8 CD 03 99 07 76 F5 8C 1C 4E B9 29 77 ED 07 CF D9 78 86 DB B3 5D CB 50 7C 01 2B AE F3 71 5E EC D9 BD 3A 9A 9D 39 90 77 04 F9 F6 CF A4 E2 19 76 CC 18 5F 25 D5 F4 56 FB DD F3 80 00 0D F7 BD B9 7C 1B 23 87 88 C3 4F EA 7A C3 B4 43 78 86 CF E6 8D AC D9 72 7D D2 E3 15 6D 14 2C 6C E5 EE 4F 9E 67 FD A8 E0 AC 0E A4 0F BF D4 E3 19 3E 67 19 44 A9 0B 5B 25 29 96 88 DB 32 8B 0F 86 E2 51 5B 10 43 19 81 7D 28 F4 7B 1E A4 27 F8 F2 1F 28 D8 D4 C6 30 5C 7F 7E F9 62 0A 2E 9D C7 33 CC 8D A1 CF 8A B1 D5 5B 79 B9 33 38 0B 9E B1 65 19 3E 55 0A 29 68 29 C3 33 AC 10 F7 D9 BD AD 42 22 E7 A7 C7 DB 0F 2A D8 F9 B4 7D 6F 7E BB 93 28 C6 C9 DC BC ED B9 F2 6D AD 2E 55 11 65 2E 97 17 FF C1 95 61 3A 54 7F D6 F9 DE 41 E0 FB 48 B7 EA F0 0C 71 DB 5E A1 19 D4 01 6D 12 B9 BF 42 9C 66 59 64 FA 8C DA 9E 19 CE 8E A0 E3 BE C7 6B F0 0C FD E2 5C 76 AF F8 5D B2 D7 8A 97 7B 49 33 E0 5D D6 9F 9C B1 F0 18 F2 A3 FE 15 82 67 E8 1F 37 E5 B2 CF 2F 12 F4 FF AF BF EB CF 75 5F 94 B0 6F 91 54 BD 2D F0 A5 60 7B 1A 9E 61 80 9E 81 27 39 50 F0 51 1C EB 4F BA 15 2F A0 A0 9D 60 6F 8E 79 C7 E2 97 2D 35 D6 20 FA 99 0F 86 D9 A0 8A 64 E3 EE 6B B4 6F FF DD 17 78 06 D5 2A 3A EE 76 3A 17 70 91 BE 23 26 32 F9 1E 4C 37 FF E1 7F EC FC EA 51 15 D7 06 C2 93 4C 3C C3 71 23 06 31 67 86 3D 3F 98 CE 50 66 C4 20 E1 CE F0 8D E9 0C 27 8C 18 A2 39 E6 69 FD 61 D8 2E D3 19 CA BB EA 03 47 86 62 33 18 4E 76 D5 07 4E 0C 33 A1 58 68 3A 43 45 57 7D C8 E5 E6 C3 FC 7E 8D 61 D8 75 78 DA C0 E7 A1 30 11 CF E0 BD D2 90 21 56 EB 08 63 2B 84 ED CE 10 F2 D0 BC 73 33 8F ED D1 7A B7 31 08 AD CB 09 02 86 C9 2B BB E8 24 A7 F7 BB 7D E1 99 FF 9A BE 16 53 56 76 59 0B 05 37 FF C1 77 98 E9 0C 53 57 76 D1 49 8E 0C F4 5A 98 CA 30 8D 65 10 CB E8 FB BC F6 F9 DC 19 F4 FA F0 83 6E 1E 49 A0 04 CF F0 5A A7 1C 6A C3 9B A5 72 AB 22 D7 33 11 C7 47 A9 42 DB B8 32 50 63 3C D3 49 7A 30 2E 64 FE DB 98 21 8D 0F 06 FD 5A E4 BB 15 1E F7 85 FF BD 8F 67 70 37 5A 0B C1 03 7B E0 B6 16 85 0E 6C 7E F2 F0 65 14 5F 78 12 F8 B4 17 36 38 9D 4F B8 E8 A1 0D D0 48 CC EA A5 ED 3A 87 B3 E4 43 B6 B6 F8 81 F2 7B 0A 76 11 F8 30 17 0D 18 2C 78 A8 E3 3C 98 CB BE 35 90 A5 AC 23 B9 77 70 21 F3 41 94 E0 D4 92 47 2E 0D E1 8F 28 F0 E1 C1 97 1B CB BE F1 F7 E6 EA 73 F3 29 10 60 D7 E2 A7 CC EC 14 D7 32 9F B6 F1 AA 65 6A 8F 2B 6F B4 89 64 D6 45 22 0E 77 69 FD C1 EF 3B B6 9E 95 BF E9 31 05 5E 83 F0 0C 45 99 74 8E D4 43 EB AF 71 A9 89 D7 52 10 C6 43 6D F1 69 6E F0 AE B2 76 5C 96 CF E7 38 86 AB 99 73 CF B9 D7 2F 3F 37 4A 15 AE 99 28 F7 E3 FC FE 85 61 3D AB F4 F6 16 E4 DF 9E 88 C4 33 AC A8 EA DD 9A 50 6B 7D 3D EA EA B0 C6 75 B5 62 59 44 E3 08 15 9D AB 35 65 1E 47 CF 79 B9 1D 5B DC 1D 49 EA BC 57 33 37 FF E9 AC 8A BA E9 71 3F 4C 33 FE 4C 78 B3 57 55 70 AB E9 7D 18 86 7B 73 05 7B 6F B1 D8 4D 79 9C 82 69 7D F1 0C FD 1E D2 0C CE E5 61 D5 1B 75 7F DB 8A 63 8E 74 46 03 63 27 5F DD ED E5 3D 07 94 0D 78 86 FE 0F 9D CB F5 0C C2 54 BF 1C 1E 72 C5 9D EF B9 C3 BD E9 14 1C 19 82 67 18 60 C8 90 CD 3D E6 BD 75 8F 61 D8 9F 1F F5 84 4C 1F C6 3C D1 E9 43 7A 98 E6 E9 1B 62 BC DD 53 5B D2 A8 DD 46 11 CC C0 BC 9A A9 7A EC 54 B9 B4 63 42 B9 FF 75 B1 6C 7E 2B 9F F9 EA E2 D0 C2 8B C8 56 1F C2 33 5C 68 73 D3 2E 6D 92 80 15 EF 73 51 28 58 BD 83 64 46 EE D5 CC 8B 4F 19 AC 79 67 18 E0 46 FF 4E 1A 8B 67 78 D0 E4 F4 73 7C B3 A7 CA E7 84 73 43 F8 43 49 92 15 C7 1E 8C 7F B3 0C F9 11 F4 99 49 A2 0F B2 6B 23 CF 48 5B 3D 55 A1 27 44 A9 E1 28 A6 B0 CC E1 4B 0E 07 BE DE B4 81 82 6B 04 0C 7B 8C 18 84 49 96 05 1B 39 F4 DB CF 36 60 98 AF 78 52 43 B6 37 B3 EF 8E 38 BF E1 2F 81 7C 69 93 79 6F 25 FD BD 1C 4A 42 87 AE A3 08 EA DD 57 33 8B 6E D1 F6 C1 A5 21 AC C6 A9 3E A1 59 28 0F A7 E7 0D E6 70 60 60 CF 8B 43 5A 25 DA 9B EF 3C C4 33 7C D7 8D 41 0C 16 59 7C 30 A8 97 D3 FA 58 F8 3E 9E 61 E1 C0 3E 5A 51 3D CD 61 9E FF F2 F7 75 BD 3E C7 26 09 72 5D E9 B3 F3 9F 19 2E 67 3E 68 75 6A 88 7A E4 7A 26 E0 84 40 BE EC 41 34 E7 3E 52 EF 20 76 3E 0C FC E0 85 BE 2F C0 33 68 8C 18 44 E0 98 C5 17 43 6F A8 50 52 50 ED 8B 67 78 68 C4 C0 35 27 66 C8 30 7B E8 A9 2D 14 DC DC 85 67 68 31 62 10 73 66 A8 99 C3 E6 8A B3 94 37 28 B0 09 C1 33 7C A8 F1 6A 10 6A 5D CF 2C 41 B6 1A E9 43 2A 37 5B 3D 0B 3C 3A EB BC 09 75 72 0A A2 B0 6F 57 DD C8 0C 4A B0 6F 4C 68 10 A6 46 E4 C5 C8 1C F3 E2 92 E9 7B 17 F6 5C CE 6E D6 46 4D CF 3A 79 09 C5 FE FF C5 33 AC 89 EF 73 79 C3 09 83 79 62 1C DF B6 EB BC 23 F6 15 AC 4D 18 48 60 AB 6F 64 AE ED CA 90 C7 17 43 C4 F6 C2 BA 2F 40 D9 0F CF 10 D5 95 41 C1 17 C3 5F EB A6 0F A5 88 E4 B0 AE 2B 03 F0 C5 30 20 B4 E0 44 2D FC FE 04 CF 60 11 31 5C 13 D9 3C 41 BB 50 B3 51 66 53 24 06 9B 22 BE FC C9 1F 02 A6 22 1B 15 3D 02 CF 30 64 15 FD 16 89 AB F6 8D B6 B8 74 EB 22 EE BE 7D E7 BE D8 06 F4 FD 8B 47 5B F0 0C 43 75 0C EE B7 C3 9B C6 56 87 B4 0B D2 42 9A A5 E0 58 60 BE 7D F8 2F 9B 03 51 47 D5 49 28 18 B0 04 CF 30 4C CF 70 2A BC 49 50 1B D2 1E CD D1 9F 9C 03 9B 3E 66 6B 8B 2D 4A 64 B7 A7 3C C0 33 08 8C 18 E2 E4 D6 9C 18 A6 43 F9 25 53 19 9A 32 6B E4 74 BD DB AD DC B7 D5 15 C2 3A B8 EA C3 3C B0 AA 63 EF 56 DF A5 67 3F 2E BC 88 67 B8 9D E4 FA EB F2 8E 91 B7 43 DA D1 BF CF F9 3D 94 99 90 94 C3 E6 82 E2 8A F7 A3 F8 22 1D CF B0 63 2F DD 07 F2 7C 85 DF 3D E7 86 25 ED 9E B0 F9 26 37 FB B0 7C 13 7B 76 57 0F 46 BE DC CC AB 78 86 CF 3E A3 19 FA A9 FC 50 BC BC E4 21 57 39 CC 02 19 3B E3 4E BB 96 EE F1 4E 20 90 43 E1 BB 2E 67 23 9B BD D2 C2 5B F8 88 F5 7C E0 E7 95 6C 8C 93 A9 4C D4 BF 2D 87 63 98 BB 63 D4 CD B5 1A E7 DB 21 0F 7B 97 86 B7 73 CD CB 19 DA C9 49 75 83 D1 27 FE CD E8 5B 99 17 9E 73 68 DE AA 16 DC 8C A9 B6 87 D8 8B E6 CB 61 0A E3 CB 21 5F 7E 9A EE 67 DB 27 E0 7C 28 86 E1 E2 73 BD EE 6C 55 5B B6 4A D5 14 C4 A4 73 67 68 DE 6D F0 D6 C0 1D 0A EA 05 78 86 4B 3A 86 BE B7 68 86 8D 3C 30 08 D9 D9 4D E5 A3 AC CB 28 78 EE 7D 3C C3 E5 E7 86 57 85 1F 1D A5 7E E3 28 05 8B 79 60 70 7F 9F 89 71 3E BF F0 78 95 BA F1 E4 3F DA C9 FF 03 66 6B F2 79"
// replay for logout
logoutPacket = []byte{}
)
const (
sizeOfLength = 2
sizeOfUnknown = 2
sizeOfCmd = 2
headerSize = sizeOfLength + sizeOfUnknown + sizeOfCmd
)
// Frame defines a packet for SDGO client
type Frame struct {
cmd uint16
unk uint16
data []byte
rawData []byte
}
func newFrame(cmd uint16) Frame {
return Frame{cmd: cmd, unk: 0x03F0}
}
func newFrame2() Frame {
return Frame{unk: 0x03F0}
}
func (f Frame) String() string {
return fmt.Sprintf("[%04X][%04d][%04X]% 02X", f.cmd, len(f.data), f.unk, f.rawData )
}
type rawHeader []byte
func (h rawHeader) Length() uint16 {
return binary.LittleEndian.Uint16(h[0:])
}
func (h rawHeader) Unknown() uint16 {
return binary.LittleEndian.Uint16(h[2:])
}
func (h rawHeader) Cmd() uint16 {
return binary.LittleEndian.Uint16(h[4:])
}
func (h rawHeader) String() string {
return fmt.Sprintf("[%04X][%04d][%04d]", h.Cmd(), h.Length(), h.Unknown() )
}
func readFrame(conn io.ReadCloser, buffer []byte) (f Frame, err error) {
if _, err := io.ReadFull(conn, buffer[:headerSize]); err != nil {
return f, errors.New("readFrame: " + err.Error())
}
dec := rawHeader(buffer)
f.cmd = dec.Cmd()
f.unk = dec.Unknown()
length := dec.Length() - sizeOfCmd
if length > 0 {
if _, err := io.ReadFull(conn, buffer[headerSize:headerSize+length]); err != nil {
return f, errors.New("readFrame: " + err.Error())
}
}
f.data = buffer[headerSize - sizeOfCmd : headerSize+length]
f.rawData = buffer[0 : headerSize+length]
return f, nil
}
func writeRawFrame(conn io.WriteCloser, dataHex string) (n int, err error) {
nospace := SpaceStringsBuilder(dataHex)
data, err := hex.DecodeString(nospace)
if err != nil {
return
}
return conn.Write(data)
}
func writeFrame(conn io.WriteCloser, data []byte) (n int, err error) {
size := len(data)
buf := make([]byte, 4, 4+size)
binary.LittleEndian.PutUint16(buf[0:2], uint16(size))
buf[2] = 0xF0
buf[3] = 0x03
_, err = conn.Write(buf)
if err != nil {
return
}
return conn.Write(data)
}
func Raw2Byte(dataHex string) ([]byte) {
nospace := SpaceStringsBuilder(dataHex)
data, err := hex.DecodeString(nospace)
if err != nil {
return nil
}
return data
}
func SpaceStringsBuilder(str string) string {
var b strings.Builder
b.Grow(len(str))
for _, ch := range str {
if ch != ' ' && ch != '\n' {
b.WriteRune(ch)
}
}
return b.String()
}