1 #include <memory>
2
3 #include "gtest/gtest.h"
4 #include "avb_tools.h"
5 #include "nugget_tools.h"
6 #include "nugget/app/avb/avb.pb.h"
7 #include "nugget/app/keymaster/keymaster.pb.h"
8 #include "Keymaster.client.h"
9 #include <application.h>
10 #include <keymaster.h>
11 #include <nos/AppClient.h>
12 #include <nos/NuggetClient.h>
13 #include <nos/NuggetClientInterface.h>
14 #include "util.h"
15
16 #include <openssl/bio.h>
17 #include <openssl/evp.h>
18 #include <openssl/pem.h>
19
20 using std::cout;
21 using std::string;
22 using std::unique_ptr;
23
24 using namespace nugget::app::avb;
25 using namespace nugget::app::keymaster;
26
27 namespace {
28
29 class KeymasterProvisionTest: public testing::Test {
30 protected:
31 static unique_ptr<nos::NuggetClientInterface> client;
32 static unique_ptr<test_harness::TestHarness> uart_printer;
33
34 static void SetUpTestCase();
35 static void TearDownTestCase();
36
37 virtual void SetUp(void);
38
39 virtual void PopulateDefaultRequest(ProvisionDeviceIdsRequest *request);
40 };
41
42 unique_ptr<nos::NuggetClientInterface> KeymasterProvisionTest::client;
43 unique_ptr<test_harness::TestHarness> KeymasterProvisionTest::uart_printer;
44
SetUpTestCase()45 void KeymasterProvisionTest::SetUpTestCase() {
46 uart_printer = test_harness::TestHarness::MakeUnique();
47
48 client = nugget_tools::MakeNuggetClient();
49 client->Open();
50 EXPECT_TRUE(client->IsOpen()) << "Unable to connect";
51 }
52
TearDownTestCase()53 void KeymasterProvisionTest::TearDownTestCase() {
54 client->Close();
55 client = unique_ptr<nos::NuggetClientInterface>();
56
57 uart_printer = nullptr;
58 }
59
SetUp(void)60 void KeymasterProvisionTest::SetUp(void) {
61 avb_tools::ResetProduction(client.get());
62 }
63
PopulateDefaultRequest(ProvisionDeviceIdsRequest * request)64 void KeymasterProvisionTest::PopulateDefaultRequest(
65 ProvisionDeviceIdsRequest *request) {
66 request->set_product_brand("Pixel");
67 request->set_product_device("3");
68 request->set_product_name("Pixel");
69 request->set_serialno("12345678");
70 request->set_product_manufacturer("Google");
71 request->set_product_model("3");
72 request->set_imei("12345678");
73 request->set_meid("12345678");
74 }
75
76 // Tests
77
TEST_F(KeymasterProvisionTest,ProvisionDeviceIdsSuccess)78 TEST_F(KeymasterProvisionTest, ProvisionDeviceIdsSuccess) {
79 ProvisionDeviceIdsRequest request;
80 ProvisionDeviceIdsResponse response;
81
82 PopulateDefaultRequest(&request);
83
84 Keymaster service(*client);
85 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
86 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
87 }
88
TEST_F(KeymasterProvisionTest,ReProvisionDeviceIdsSuccess)89 TEST_F(KeymasterProvisionTest, ReProvisionDeviceIdsSuccess) {
90 ProvisionDeviceIdsRequest request;
91 ProvisionDeviceIdsResponse response;
92
93 PopulateDefaultRequest(&request);
94
95 Keymaster service(*client);
96
97 // First instance.
98 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
99 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
100
101 // Second ...
102 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
103 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
104 }
105
TEST_F(KeymasterProvisionTest,ProductionModeProvisionFails)106 TEST_F(KeymasterProvisionTest, ProductionModeProvisionFails) {
107 ProvisionDeviceIdsRequest request;
108 ProvisionDeviceIdsResponse response;
109
110 PopulateDefaultRequest(&request);
111
112 Keymaster service(*client);
113
114 // Set production bit.
115 avb_tools::SetProduction(client.get(), true, NULL, 0);
116
117 // Provisioning is now disallowed.
118 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
119 ASSERT_EQ((ErrorCode)response.error_code(),
120 ErrorCode::PRODUCTION_MODE_PROVISIONING);
121 }
122
TEST_F(KeymasterProvisionTest,InvalidDeviceIdFails)123 TEST_F(KeymasterProvisionTest, InvalidDeviceIdFails) {
124
125 ProvisionDeviceIdsRequest request;
126 ProvisionDeviceIdsResponse response;
127
128 PopulateDefaultRequest(&request);
129
130 string bad_serialno(KM_MNF_MAX_ENTRY_SIZE + 1, '5');
131 request.set_serialno(bad_serialno);
132
133 Keymaster service(*client);
134
135 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
136 ASSERT_EQ((ErrorCode)response.error_code(),
137 ErrorCode::INVALID_DEVICE_IDS);
138 }
139
TEST_F(KeymasterProvisionTest,MaxDeviceIdSuccess)140 TEST_F(KeymasterProvisionTest, MaxDeviceIdSuccess) {
141
142 ProvisionDeviceIdsRequest request;
143 ProvisionDeviceIdsResponse response;
144
145 PopulateDefaultRequest(&request);
146
147 string max_serialno(KM_MNF_MAX_ENTRY_SIZE, '5');
148 request.set_serialno(max_serialno);
149
150 Keymaster service(*client);
151
152 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
153 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
154 }
155
156 // Regression test for b/77830050#comment6
TEST_F(KeymasterProvisionTest,NoMeidSuccess)157 TEST_F(KeymasterProvisionTest, NoMeidSuccess) {
158
159 ProvisionDeviceIdsRequest request;
160 ProvisionDeviceIdsResponse response;
161
162 PopulateDefaultRequest(&request);
163 request.clear_meid();
164
165 Keymaster service(*client);
166
167 ASSERT_NO_ERROR(service.ProvisionDeviceIds(request, &response), "");
168 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
169 }
170
171 const static uint8_t ATTESTION_CERT_adacb483_0100b022[7 * 1024] = {
172 0x29, 0x81, 0xb0, 0x4a, 0x4c, 0xcf, 0x9d, 0x8e, 0x80, 0xbc, 0xd9, 0xee,
173 0x34, 0x23, 0x50, 0x55, 0x48, 0xb3, 0x7f, 0x79, 0xce, 0x66, 0x76, 0x91,
174 0x7b, 0x98, 0x31, 0xfc, 0x9b, 0x30, 0x44, 0xbf, 0xcd, 0xa0, 0x1e, 0x04,
175 0x51, 0x95, 0x86, 0x2d, 0xa6, 0x49, 0xce, 0x8a, 0x74, 0x0a, 0xf4, 0x96,
176 0x71, 0xf3, 0x5b, 0xe7, 0xf9, 0xb7, 0x7d, 0xe4, 0x0c, 0x76, 0xc4, 0x63,
177 0x7a, 0xba, 0x58, 0xde, 0x89, 0xab, 0xcd, 0xef, 0x01, 0x00, 0x02, 0x00,
178 0x83, 0xb4, 0xac, 0xad, 0x22, 0xb0, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00,
179 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181 0x29, 0x7d, 0x4b, 0x89, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x83, 0xee,
185 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50, 0x00, 0x08, 0x00, 0x00,
186 0xa1, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x57, 0x7c, 0xa0, 0xa6,
187 0xac, 0xc2, 0xe3, 0x45, 0x3b, 0x4f, 0xe3, 0x9b, 0x79, 0x68, 0x37, 0x70,
188 0xff, 0xf3, 0x0b, 0x4f, 0xf1, 0x80, 0x99, 0xc8, 0x37, 0xff, 0x3a, 0x8f,
189 0x4a, 0x27, 0x3a, 0x58, 0xe5, 0x03, 0x4b, 0xfd, 0x49, 0x8b, 0x63, 0xc1,
190 0xcb, 0xe6, 0xd9, 0xb0, 0xd3, 0x29, 0xc7, 0xd1, 0xee, 0x05, 0x4f, 0x3a,
191 0x02, 0xd2, 0x69, 0x4f, 0xc0, 0x96, 0x41, 0x69, 0xc1, 0x9e, 0x7e, 0xcb,
192 0xe5, 0xb9, 0x77, 0x2d, 0x73, 0x63, 0xaa, 0xb2, 0x7d, 0x5d, 0x82, 0x83,
193 0xc9, 0x0e, 0x75, 0x25, 0x27, 0x50, 0x65, 0x0d, 0xe8, 0x9d, 0x98, 0xe3,
194 0xd2, 0x5e, 0x7f, 0x4a, 0xca, 0x08, 0x2d, 0x99, 0x94, 0x69, 0xe9, 0x98,
195 0x59, 0x75, 0x73, 0xd5, 0xb0, 0x23, 0x9e, 0xa3, 0x31, 0x3a, 0x24, 0x59,
196 0xaa, 0xea, 0x5a, 0x79, 0x0d, 0xf2, 0x6f, 0xd9, 0x66, 0x4f, 0x1e, 0xd2,
197 0x49, 0x7b, 0xb9, 0xb2, 0xbb, 0x6e, 0xe2, 0xc2, 0x58, 0x19, 0xaf, 0x53,
198 0x22, 0x24, 0x32, 0x52, 0x1d, 0xbf, 0x9e, 0xf2, 0xfa, 0x65, 0xc0, 0x42,
199 0x03, 0x2b, 0xfc, 0x77, 0x04, 0xb7, 0xe0, 0xb8, 0xfd, 0x79, 0xf5, 0xb8,
200 0xee, 0x0e, 0x2d, 0x80, 0x52, 0x22, 0x60, 0x50, 0x60, 0x68, 0xbc, 0x5a,
201 0x01, 0x71, 0x7a, 0x88, 0x6c, 0xe9, 0x55, 0xb1, 0xbb, 0xec, 0x45, 0x5f,
202 0x03, 0x04, 0x19, 0x9b, 0xc0, 0xa0, 0x0b, 0xaa, 0x7b, 0x7a, 0xbf, 0xa7,
203 0x8f, 0x7f, 0x78, 0x4a, 0x48, 0xc8, 0x1e, 0xd5, 0xb7, 0x5e, 0xc7, 0xe5,
204 0x04, 0x6a, 0x9f, 0x8d, 0x6b, 0xb8, 0xf2, 0x0b, 0x30, 0x63, 0xe5, 0x87,
205 0x9c, 0x72, 0xc3, 0x02, 0x81, 0x37, 0x3e, 0x0a, 0xf0, 0xe2, 0xbc, 0x1a,
206 0xef, 0x82, 0x8f, 0x2c, 0xff, 0xd0, 0xe5, 0x70, 0x0a, 0x52, 0x97, 0x6f,
207 0xbc, 0x2c, 0x97, 0x7c, 0x17, 0x61, 0xc1, 0x38, 0xbe, 0x34, 0xd4, 0x69,
208 0xc4, 0x6a, 0xed, 0xed, 0xcc, 0x87, 0xcf, 0x11, 0x23, 0x13, 0x02, 0xeb,
209 0xb0, 0x2c, 0xd0, 0x54, 0x95, 0x03, 0xd2, 0x6d, 0x3c, 0xc7, 0x4b, 0xd5,
210 0xd8, 0x8e, 0xda, 0xef, 0x75, 0x8c, 0xe7, 0x60, 0x58, 0xcc, 0x93, 0x00,
211 0x1d, 0xe6, 0xa2, 0x72, 0xf8, 0xf1, 0x12, 0xc1, 0x04, 0x98, 0xf5, 0x25,
212 0xcd, 0x06, 0x7a, 0xb3, 0xc3, 0x11, 0xad, 0x1b, 0xa7, 0xc7, 0x0a, 0x1f,
213 0x16, 0x2a, 0x1e, 0x62, 0xed, 0x20, 0xb1, 0x53, 0xe1, 0x04, 0x1b, 0xe8,
214 0x98, 0x16, 0xce, 0xed, 0xf7, 0x24, 0xca, 0x8f, 0x25, 0xfa, 0x7c, 0xf8,
215 0x20, 0x59, 0x4e, 0xea, 0xe6, 0x58, 0x9d, 0x2a, 0x7a, 0xfd, 0x65, 0xed,
216 0x64, 0xdc, 0x66, 0x84, 0x08, 0xd3, 0xda, 0x6b, 0xcf, 0x50, 0x77, 0xed,
217 0x42, 0x66, 0x6d, 0x8d, 0xb7, 0xdc, 0xc2, 0x22, 0xaa, 0xec, 0x61, 0x66,
218 0xdb, 0xb5, 0xaf, 0x33, 0x0e, 0xe7, 0xb7, 0xca, 0x30, 0x82, 0x04, 0x9d,
219 0x30, 0x82, 0x02, 0x85, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x17,
220 0x10, 0x24, 0x68, 0x40, 0x71, 0x02, 0x97, 0x78, 0x50, 0x30, 0x0d, 0x06,
221 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00,
222 0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13,
223 0x10, 0x63, 0x63, 0x64, 0x31, 0x38, 0x62, 0x39, 0x62, 0x36, 0x30, 0x38,
224 0x64, 0x36, 0x35, 0x38, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
225 0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f,
226 0x78, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x35, 0x32, 0x35, 0x32,
227 0x33, 0x32, 0x38, 0x34, 0x37, 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x30, 0x35,
228 0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x34, 0x37, 0x5a, 0x30, 0x2f, 0x31,
229 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x39, 0x30,
230 0x65, 0x38, 0x64, 0x61, 0x33, 0x63, 0x61, 0x64, 0x66, 0x63, 0x37, 0x38,
231 0x32, 0x30, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c,
232 0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x30, 0x82,
233 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
234 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
235 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa5, 0x09, 0xd4, 0x09, 0xd2,
236 0x30, 0x19, 0x36, 0x34, 0x71, 0xfd, 0x7d, 0x41, 0x89, 0xe6, 0x2c, 0xa5,
237 0x9d, 0x10, 0x1b, 0x4f, 0x40, 0x6a, 0xb0, 0x5f, 0x56, 0x34, 0x16, 0xe6,
238 0xeb, 0xd7, 0xf3, 0xe9, 0xc5, 0xdc, 0x20, 0xf3, 0x86, 0xd1, 0x77, 0x19,
239 0xd7, 0x15, 0x1f, 0xe7, 0xec, 0x62, 0xdc, 0x0a, 0xbc, 0x64, 0xe9, 0x18,
240 0x52, 0xb0, 0xaa, 0xb8, 0xff, 0x58, 0x6a, 0xe0, 0x0f, 0xb8, 0x56, 0xaf,
241 0x77, 0xd3, 0xce, 0x3c, 0xdc, 0x48, 0x52, 0xdd, 0xb2, 0x86, 0x0d, 0x76,
242 0x17, 0x7c, 0xfd, 0xee, 0xb4, 0xe6, 0x6e, 0x0a, 0x08, 0x9e, 0x06, 0xca,
243 0x0f, 0xec, 0x4b, 0xb0, 0x7c, 0xaf, 0xea, 0x82, 0x27, 0xa8, 0xc9, 0xa7,
244 0x63, 0xda, 0x89, 0xf6, 0x30, 0xba, 0x3c, 0x3a, 0xe5, 0xc6, 0xef, 0x11,
245 0x06, 0x42, 0x8a, 0x2e, 0xfe, 0x19, 0xbe, 0xf2, 0xc7, 0x3b, 0x34, 0x16,
246 0xb2, 0xe2, 0x64, 0xc7, 0xca, 0x66, 0x02, 0x85, 0xe3, 0x57, 0x6f, 0x11,
247 0x13, 0x3a, 0xff, 0xd5, 0x30, 0x13, 0x7d, 0xea, 0xe0, 0x22, 0xa2, 0x91,
248 0x0c, 0xaf, 0xf0, 0x5c, 0xd7, 0xc1, 0xb4, 0x85, 0x69, 0x7c, 0xc0, 0x39,
249 0xdb, 0x4e, 0xc1, 0x5a, 0xd8, 0xcc, 0x42, 0x7c, 0x06, 0x74, 0x01, 0x93,
250 0xa3, 0xa4, 0x10, 0x96, 0x29, 0xf2, 0x8e, 0x0a, 0xf7, 0x49, 0x4b, 0x87,
251 0x49, 0x13, 0x89, 0xe5, 0x00, 0x10, 0x96, 0xea, 0x37, 0x0d, 0xd7, 0x5d,
252 0x43, 0x41, 0x2b, 0x4e, 0x59, 0x9a, 0x51, 0xee, 0x73, 0xdb, 0x52, 0x95,
253 0x08, 0xe2, 0x6b, 0xb2, 0x33, 0xf7, 0x04, 0xbe, 0x51, 0x1c, 0x23, 0x62,
254 0x6e, 0xc2, 0x5f, 0x00, 0xc3, 0xa4, 0xc9, 0xbd, 0xe7, 0xc6, 0x65, 0x0d,
255 0xb1, 0xc4, 0x5e, 0x62, 0xb9, 0x9c, 0x2a, 0x26, 0x05, 0x67, 0xd0, 0xa9,
256 0x9a, 0x12, 0x1c, 0x49, 0x7b, 0x36, 0xbe, 0x6f, 0xf2, 0x68, 0x65, 0x02,
257 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xba, 0x30, 0x81, 0xb7, 0x30, 0x1d,
258 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x77, 0xa4, 0xad,
259 0xdf, 0x1d, 0x29, 0x89, 0xca, 0x92, 0xe3, 0xba, 0xde, 0x27, 0x3c, 0x70,
260 0xdf, 0x36, 0x03, 0x7c, 0x0c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
261 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x1b, 0x17, 0x70, 0xc6, 0x97, 0xdc,
262 0x84, 0x54, 0x75, 0x7c, 0x3c, 0x98, 0x5c, 0xe6, 0x1d, 0x1d, 0x08, 0x59,
263 0x5d, 0x53, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
264 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55,
265 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30,
266 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d, 0x30, 0x4b, 0x30, 0x49,
267 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
268 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e, 0x67, 0x6f,
269 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
270 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
271 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31, 0x37, 0x31, 0x30, 0x32, 0x34, 0x36,
272 0x38, 0x34, 0x30, 0x37, 0x31, 0x30, 0x32, 0x39, 0x37, 0x37, 0x38, 0x35,
273 0x30, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
274 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x13, 0x22, 0xda,
275 0xf2, 0x92, 0x93, 0xce, 0xc0, 0x9f, 0x70, 0x40, 0xc9, 0xda, 0x85, 0x6b,
276 0x61, 0x6f, 0x8f, 0xbe, 0xe0, 0xa4, 0x04, 0x55, 0xc1, 0x63, 0x84, 0x61,
277 0x37, 0xf5, 0x4b, 0x71, 0x6d, 0x62, 0xaa, 0x6f, 0xbf, 0x6c, 0xe8, 0x48,
278 0x03, 0xad, 0x28, 0x85, 0x21, 0x9e, 0x3c, 0x1c, 0x91, 0x48, 0xee, 0x65,
279 0x28, 0x65, 0x70, 0xd0, 0xbd, 0x5b, 0xcc, 0xdb, 0xce, 0xb1, 0xf5, 0xb5,
280 0xc3, 0xca, 0x7a, 0xa9, 0xc8, 0x8a, 0x68, 0x12, 0x8a, 0xca, 0x6a, 0x85,
281 0xa6, 0xbc, 0xda, 0x36, 0xe9, 0xb9, 0x94, 0x35, 0x82, 0x5b, 0xca, 0xbc,
282 0xb6, 0x9f, 0x83, 0x03, 0x7f, 0x21, 0x6c, 0xee, 0x82, 0xc1, 0x3f, 0xbd,
283 0xc1, 0x41, 0x4b, 0xdd, 0x1a, 0x6f, 0x6c, 0xaf, 0x4a, 0x52, 0xfc, 0x19,
284 0x19, 0x17, 0xac, 0x29, 0x0c, 0x5e, 0xd7, 0x57, 0x90, 0xd5, 0xb1, 0x2b,
285 0x36, 0x29, 0x1f, 0x45, 0x33, 0x17, 0xe0, 0x95, 0x50, 0x92, 0x08, 0x44,
286 0xc2, 0x91, 0x11, 0xe8, 0x2e, 0x16, 0x50, 0x32, 0x98, 0xa5, 0x58, 0x82,
287 0xd8, 0x78, 0x26, 0x27, 0xa5, 0x92, 0xa2, 0x47, 0xec, 0x74, 0x9f, 0xbc,
288 0x0e, 0x87, 0x9b, 0xd0, 0x34, 0xce, 0x20, 0xb9, 0x6a, 0x89, 0x2b, 0x35,
289 0xa8, 0xb7, 0x19, 0x18, 0x8d, 0x31, 0x81, 0xf3, 0x0f, 0xb6, 0x95, 0x64,
290 0x4b, 0x79, 0x2e, 0xa1, 0xca, 0x69, 0xa6, 0x13, 0x10, 0x0a, 0x06, 0x1b,
291 0x04, 0x8b, 0x46, 0xa3, 0x89, 0x5b, 0xee, 0xdc, 0xeb, 0x41, 0x7b, 0xbb,
292 0x5c, 0x68, 0x6c, 0xd9, 0xb9, 0x8e, 0xe3, 0xd8, 0x87, 0x79, 0xe5, 0xf0,
293 0x69, 0xe2, 0xe8, 0xb7, 0x98, 0x73, 0xab, 0xfb, 0xfd, 0xb6, 0xaf, 0x3e,
294 0xc5, 0x04, 0xca, 0x9b, 0x70, 0x43, 0xe9, 0x27, 0xa7, 0x5b, 0x04, 0x90,
295 0xc8, 0x6d, 0x5e, 0x94, 0x63, 0xa0, 0x80, 0x07, 0x0d, 0x46, 0xfb, 0x3b,
296 0xd9, 0x9b, 0x5c, 0x6a, 0x6e, 0xb6, 0xf9, 0xa6, 0x82, 0xf4, 0x46, 0x9d,
297 0x9e, 0x14, 0xa7, 0xa2, 0xb7, 0x0f, 0x2c, 0x5e, 0xbe, 0x78, 0xb1, 0x44,
298 0x69, 0xf7, 0x83, 0x37, 0x6c, 0xa2, 0x52, 0xaf, 0x1a, 0x1d, 0xcd, 0x12,
299 0x3f, 0x39, 0x98, 0x24, 0xac, 0xfc, 0x32, 0x8a, 0xba, 0xd7, 0xcf, 0x5e,
300 0xf1, 0x10, 0x13, 0xcc, 0x58, 0x29, 0x26, 0x3f, 0x1d, 0xc1, 0xd4, 0x2a,
301 0xec, 0xb4, 0xa1, 0xaf, 0xd9, 0xdd, 0x16, 0x7b, 0x54, 0x8f, 0xb2, 0x39,
302 0xda, 0xdc, 0x26, 0x7d, 0x3a, 0x4f, 0x36, 0x72, 0x96, 0x12, 0x83, 0x7d,
303 0x98, 0x98, 0xd2, 0x4a, 0x4e, 0xfb, 0x0e, 0xe6, 0x84, 0xee, 0xf4, 0x26,
304 0xda, 0x01, 0x3b, 0xb3, 0x15, 0xda, 0x17, 0xc8, 0x78, 0x57, 0xfb, 0xd3,
305 0x91, 0x17, 0x2d, 0x3c, 0x27, 0xab, 0x00, 0xda, 0xb0, 0x98, 0x95, 0xa4,
306 0x84, 0x6b, 0xcd, 0xbf, 0xa7, 0xa7, 0x95, 0xef, 0xaa, 0xb0, 0x91, 0xf8,
307 0x98, 0xa8, 0x33, 0x3d, 0x90, 0x93, 0x9d, 0x75, 0x11, 0xe9, 0xbd, 0x70,
308 0x16, 0x6d, 0x22, 0xc9, 0x2f, 0x24, 0xb1, 0x55, 0x80, 0xcb, 0x6b, 0x19,
309 0xc1, 0x78, 0xa0, 0xc5, 0x24, 0x86, 0xbd, 0xb8, 0x12, 0x64, 0x87, 0x89,
310 0x91, 0x74, 0xd0, 0xf6, 0xa2, 0x4c, 0x44, 0xf8, 0x7d, 0xf5, 0x3d, 0x0b,
311 0x1d, 0x69, 0xf6, 0xb3, 0xfb, 0x0b, 0x3d, 0x50, 0xd9, 0x5a, 0xe6, 0xbb,
312 0x39, 0xd5, 0x9b, 0x6a, 0x16, 0xee, 0xce, 0xfe, 0x5c, 0x61, 0xc5, 0x2d,
313 0x83, 0xf5, 0xe8, 0x0e, 0x21, 0xfc, 0x2e, 0xb7, 0xc8, 0xbc, 0xf6, 0x4d,
314 0x6f, 0x9b, 0x1d, 0x69, 0x76, 0x6c, 0x89, 0x2c, 0x5f, 0x42, 0xde, 0xc5,
315 0x2f, 0xe4, 0x30, 0x18, 0xcd, 0x47, 0xbc, 0x72, 0xa1, 0x50, 0x87, 0xd0,
316 0x13, 0xc2, 0xe8, 0x2c, 0x55, 0xa1, 0xdc, 0x83, 0x3e, 0x66, 0x65, 0x88,
317 0xc2, 0xa8, 0x2c, 0x81, 0x8d, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
318 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
319 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
320 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
321 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
322 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
323 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
324 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
325 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
326 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
327 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
328 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
329 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
330 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
331 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
332 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
333 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
334 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
335 0xee, 0xee, 0xee, 0xee, 0x94, 0x02, 0x84, 0xee, 0xee, 0xee, 0xee, 0xee,
336 0x50, 0x50, 0x50, 0x50, 0x34, 0x02, 0x00, 0x00, 0x60, 0xd1, 0x7e, 0x20,
337 0x53, 0x4f, 0x4a, 0x8e, 0xcc, 0xdc, 0x7f, 0xae, 0x9e, 0x10, 0xfd, 0x62,
338 0x05, 0xd5, 0xd5, 0xcc, 0x78, 0x63, 0x53, 0xfb, 0x61, 0x5c, 0xee, 0x28,
339 0x92, 0x3f, 0x16, 0x88, 0x30, 0x82, 0x02, 0x30, 0x30, 0x82, 0x01, 0xb7,
340 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x11, 0x23, 0x38, 0x24, 0x34,
341 0x40, 0x08, 0x68, 0x01, 0x71, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48,
342 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06,
343 0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x63, 0x63, 0x64, 0x31, 0x38, 0x62,
344 0x39, 0x62, 0x36, 0x30, 0x38, 0x64, 0x36, 0x35, 0x38, 0x65, 0x31, 0x12,
345 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72,
346 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38,
347 0x30, 0x35, 0x32, 0x35, 0x32, 0x33, 0x32, 0x38, 0x35, 0x30, 0x5a, 0x17,
348 0x0d, 0x32, 0x38, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x35,
349 0x30, 0x5a, 0x30, 0x2f, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04,
350 0x05, 0x13, 0x10, 0x39, 0x30, 0x65, 0x38, 0x64, 0x61, 0x33, 0x63, 0x61,
351 0x64, 0x66, 0x63, 0x37, 0x38, 0x32, 0x30, 0x31, 0x12, 0x30, 0x10, 0x06,
352 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x09, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67,
353 0x42, 0x6f, 0x78, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48,
354 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03,
355 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xe4, 0x57, 0x44, 0xc2, 0xb1, 0x9f,
356 0xaf, 0x70, 0x8a, 0x17, 0x2b, 0x40, 0x4b, 0x7b, 0x8a, 0xb8, 0xb1, 0x0d,
357 0x6f, 0x78, 0x13, 0xc4, 0xdb, 0x6f, 0x0b, 0xaa, 0x57, 0x50, 0x09, 0x03,
358 0xc2, 0x6f, 0xa2, 0x01, 0x0a, 0x93, 0x3b, 0xac, 0x70, 0xe0, 0x2a, 0x6b,
359 0x1a, 0xbe, 0x25, 0xad, 0xb0, 0x0d, 0x1a, 0x9c, 0x9c, 0x94, 0xa5, 0x71,
360 0xd3, 0x56, 0x2c, 0x74, 0x99, 0xd2, 0x32, 0xf5, 0x77, 0x27, 0xa3, 0x81,
361 0xba, 0x30, 0x81, 0xb7, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
362 0x16, 0x04, 0x14, 0x6f, 0xb1, 0xb5, 0x31, 0x9d, 0xb6, 0xb8, 0x85, 0x15,
363 0xbe, 0xcf, 0xc0, 0x0c, 0x77, 0x1a, 0x8f, 0xe7, 0x54, 0xea, 0x96, 0x30,
364 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
365 0xbc, 0x5b, 0xcb, 0xd5, 0x79, 0xc6, 0x94, 0xdc, 0x19, 0x8f, 0x9b, 0x9f,
366 0x67, 0x53, 0xcc, 0xeb, 0xe6, 0x62, 0xdf, 0xde, 0x30, 0x0f, 0x06, 0x03,
367 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
368 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,
369 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f,
370 0x04, 0x4d, 0x30, 0x4b, 0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43,
371 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72,
372 0x6f, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
373 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73,
374 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31,
375 0x31, 0x32, 0x33, 0x33, 0x38, 0x32, 0x34, 0x33, 0x34, 0x34, 0x30, 0x30,
376 0x38, 0x36, 0x38, 0x30, 0x31, 0x37, 0x31, 0x30, 0x0a, 0x06, 0x08, 0x2a,
377 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x67, 0x00, 0x30, 0x64,
378 0x02, 0x30, 0x50, 0x73, 0xc6, 0x56, 0xeb, 0x18, 0x96, 0xab, 0x5f, 0xe7,
379 0xbc, 0x77, 0xb5, 0x1f, 0x0f, 0x93, 0x36, 0x06, 0xbd, 0xd0, 0xc4, 0xa5,
380 0x05, 0x01, 0x2d, 0x6d, 0x7c, 0x6c, 0x72, 0xf4, 0xbc, 0x3b, 0xdb, 0x27,
381 0xc5, 0x9f, 0xcb, 0xf7, 0x8f, 0x13, 0x72, 0x09, 0xa9, 0xa0, 0x96, 0xaa,
382 0x70, 0xf2, 0x02, 0x30, 0x62, 0x4c, 0xdb, 0x64, 0x3b, 0xf1, 0xfe, 0xe5,
383 0x3a, 0xbd, 0x72, 0x1a, 0x07, 0x5c, 0xb4, 0x3d, 0x11, 0xaa, 0xe4, 0x9a,
384 0x79, 0xc4, 0x88, 0x0a, 0xa9, 0x41, 0x09, 0xbe, 0xc0, 0x6e, 0xc8, 0xc3,
385 0x7c, 0x25, 0xd2, 0x6c, 0x7f, 0x3b, 0xc7, 0x6e, 0x46, 0x32, 0x65, 0x4b,
386 0xa3, 0x53, 0xf4, 0x95, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
387 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
388 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
389 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
390 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
391 0x74, 0x02, 0x85, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
392 0x4d, 0x01, 0x00, 0x00, 0x30, 0x82, 0x01, 0x49, 0x30, 0x81, 0xf0, 0xa0,
393 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3f, 0x2d, 0x32, 0x42, 0x04, 0x65,
394 0x72, 0x08, 0x12, 0x82, 0x10, 0x2b, 0xaa, 0x66, 0x15, 0x0f, 0x30, 0x0a,
395 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x25,
396 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x53,
397 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x2d, 0x32, 0x42, 0x31,
398 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32, 0x36, 0x35, 0x30,
399 0x34, 0x30, 0x22, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x38, 0x30, 0x37, 0x30,
400 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x5a, 0x18, 0x0f, 0x32, 0x30,
401 0x32, 0x38, 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
402 0x5a, 0x30, 0x25, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03,
403 0x13, 0x1a, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x2d,
404 0x32, 0x42, 0x31, 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32,
405 0x36, 0x35, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
406 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
407 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x1c, 0xf7, 0x2d, 0xb6, 0xd3,
408 0x52, 0x3e, 0x34, 0xf2, 0x42, 0x81, 0x1a, 0xf8, 0x04, 0x00, 0xe1, 0x68,
409 0x5e, 0xba, 0x92, 0x4c, 0x07, 0x10, 0xc3, 0x26, 0xc7, 0xe7, 0xa6, 0x35,
410 0x96, 0xaf, 0x31, 0xcc, 0x15, 0x6a, 0xc7, 0x8a, 0x2d, 0x06, 0xdc, 0x40,
411 0xb9, 0xc4, 0x58, 0xd5, 0x77, 0xcd, 0xf7, 0x61, 0x7d, 0x70, 0x85, 0xca,
412 0x32, 0x78, 0x7c, 0x8a, 0x7b, 0x8c, 0x8d, 0x29, 0x5a, 0xa3, 0xeb, 0x30,
413 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
414 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xf3, 0x9d, 0x47, 0x0b, 0x56,
415 0xe0, 0x67, 0xaa, 0x0e, 0xa2, 0x35, 0xbd, 0xfe, 0xb3, 0x83, 0xb6, 0xc8,
416 0x0b, 0x17, 0xee, 0x36, 0xa0, 0xe4, 0x89, 0xbc, 0x4f, 0xe6, 0x3e, 0x5a,
417 0x38, 0x6f, 0x67, 0x02, 0x20, 0x6f, 0x01, 0xbe, 0x6a, 0xba, 0x84, 0x5d,
418 0xe1, 0xbf, 0x6b, 0x65, 0x74, 0x37, 0xe5, 0xae, 0x5a, 0x56, 0x84, 0x73,
419 0x10, 0xb9, 0xa4, 0x32, 0xa8, 0xd8, 0xde, 0x79, 0xba, 0x2f, 0xfb, 0x6b,
420 0x06, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
421 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
422 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
423 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
424 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
425 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
426 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
427 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
428 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
429 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
430 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
431 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
432 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
433 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
434 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
435 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
436 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
437 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
438 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
439 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
440 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
441 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
442 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
443 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
444 0x74, 0x02, 0x88, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
445 0x4c, 0x01, 0x00, 0x00, 0x30, 0x82, 0x01, 0x48, 0x30, 0x81, 0xf0, 0xa0,
446 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x3f, 0x2d, 0x32, 0x42, 0x04, 0x65,
447 0x72, 0x08, 0x12, 0x82, 0x10, 0x2b, 0xaa, 0x66, 0x15, 0x0f, 0x30, 0x0a,
448 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x25,
449 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1a, 0x55,
450 0x32, 0x46, 0x47, 0x6e, 0x75, 0x62, 0x62, 0x79, 0x2d, 0x32, 0x42, 0x31,
451 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32, 0x36, 0x35, 0x30,
452 0x34, 0x30, 0x22, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x38, 0x30, 0x37, 0x30,
453 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x5a, 0x18, 0x0f, 0x32, 0x30,
454 0x32, 0x38, 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
455 0x5a, 0x30, 0x25, 0x31, 0x23, 0x30, 0x21, 0x06, 0x03, 0x55, 0x04, 0x03,
456 0x13, 0x1a, 0x55, 0x32, 0x46, 0x47, 0x6e, 0x75, 0x62, 0x62, 0x79, 0x2d,
457 0x32, 0x42, 0x31, 0x30, 0x38, 0x32, 0x31, 0x32, 0x30, 0x38, 0x37, 0x32,
458 0x36, 0x35, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
459 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
460 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xf5, 0x0e, 0x32, 0x2a, 0xbf,
461 0x15, 0x7c, 0xf4, 0xe4, 0xf2, 0xe9, 0xdb, 0xf6, 0x89, 0xf6, 0x52, 0x6c,
462 0x85, 0xf4, 0x47, 0xe0, 0x39, 0x6b, 0xa2, 0x68, 0x14, 0xf1, 0x9e, 0x84,
463 0x57, 0x98, 0x58, 0xcb, 0xee, 0xf5, 0x81, 0x72, 0xef, 0x9c, 0xa9, 0x55,
464 0x98, 0x67, 0x90, 0x8c, 0xdc, 0x74, 0xd5, 0xc5, 0xb3, 0x04, 0x14, 0xfc,
465 0xe0, 0x72, 0x06, 0x84, 0x5e, 0x9f, 0xaf, 0x50, 0x3c, 0x05, 0x36, 0x30,
466 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
467 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x4a, 0x6a, 0x68, 0x92, 0x28, 0x4c,
468 0x8b, 0x36, 0x5e, 0x68, 0x9f, 0x2e, 0x8c, 0xbe, 0xb9, 0x6d, 0x75, 0x12,
469 0x75, 0xf6, 0xd4, 0x56, 0x9a, 0x25, 0x14, 0xcd, 0xe0, 0xce, 0xb5, 0xd9,
470 0x62, 0xcb, 0x02, 0x20, 0x61, 0xf6, 0xa4, 0x9a, 0x8a, 0x4c, 0x08, 0xaf,
471 0x81, 0x16, 0xb4, 0x6e, 0x4f, 0x81, 0xb5, 0x03, 0x87, 0xe3, 0x72, 0xa7,
472 0xbd, 0xfa, 0x94, 0x24, 0xc4, 0xc1, 0x43, 0x93, 0x11, 0x2d, 0x97, 0xfb,
473 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
474 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
475 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
476 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
477 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
478 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
479 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
480 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
481 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
482 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
483 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
484 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
485 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
486 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
487 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
488 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
489 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
490 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
491 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
492 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
493 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
494 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
495 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
496 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
497 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
498 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
499 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
500 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
501 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
502 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
503 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
504 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
505 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
506 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
507 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
508 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
509 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
510 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
511 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
512 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
513 0xee, 0xee, 0xee, 0xee, 0x08, 0x07, 0x86, 0xee, 0xee, 0xee, 0xee, 0xee,
514 0x50, 0x50, 0x50, 0x50, 0x00, 0x0c, 0x00, 0x00, 0x15, 0x05, 0x00, 0x00,
515 0x01, 0x00, 0x01, 0x00, 0x42, 0xef, 0x49, 0x02, 0x82, 0x92, 0x65, 0xe5,
516 0xd9, 0x18, 0x69, 0x4f, 0x69, 0x12, 0x15, 0x9b, 0x54, 0xf3, 0x62, 0xe4,
517 0xcd, 0xd1, 0xb6, 0x00, 0x59, 0xca, 0xf0, 0xfb, 0x63, 0x33, 0xfa, 0x2c,
518 0xd2, 0x25, 0x8a, 0xb6, 0x62, 0x56, 0xaa, 0x55, 0x5f, 0x26, 0xb8, 0x22,
519 0x88, 0xfc, 0xc1, 0x5a, 0x50, 0xcd, 0xd0, 0xdc, 0x87, 0x5e, 0x43, 0xea,
520 0x26, 0x0a, 0x17, 0xcb, 0x86, 0x0e, 0x15, 0xed, 0xec, 0xb4, 0xf9, 0x68,
521 0x50, 0xcd, 0x26, 0x44, 0x78, 0x0e, 0x98, 0x5e, 0xc1, 0xa2, 0x4b, 0x5d,
522 0xf5, 0xb2, 0x73, 0x55, 0xb9, 0xa5, 0xa2, 0x0e, 0x01, 0xe6, 0x16, 0x7f,
523 0xef, 0xe3, 0xe9, 0x2d, 0x49, 0x00, 0x9d, 0x12, 0xe3, 0x09, 0x0c, 0x5d,
524 0xcc, 0x26, 0xc1, 0x2b, 0xdb, 0xc3, 0xd8, 0x4d, 0x3d, 0x3f, 0x94, 0xdc,
525 0xbf, 0x4b, 0x1b, 0x3e, 0x10, 0x28, 0xd9, 0xad, 0x5b, 0x9d, 0x15, 0xb9,
526 0xc4, 0x48, 0x58, 0x57, 0x43, 0x84, 0xdc, 0x22, 0x18, 0x53, 0xc0, 0x00,
527 0xcd, 0x36, 0x31, 0x99, 0x7b, 0xe0, 0xa8, 0x39, 0x8d, 0xfa, 0xc6, 0xbe,
528 0x4b, 0x61, 0xb1, 0xd1, 0xae, 0x1e, 0xac, 0xa8, 0xae, 0x45, 0xaa, 0x6b,
529 0x7c, 0x00, 0x8e, 0xc7, 0x18, 0xd0, 0x88, 0x95, 0xc9, 0x50, 0x44, 0x48,
530 0xc0, 0xbb, 0x60, 0x02, 0x98, 0x51, 0xa1, 0x0c, 0xaa, 0x44, 0x84, 0x36,
531 0x62, 0x71, 0x1f, 0x94, 0xcd, 0x39, 0x80, 0x6a, 0x82, 0x21, 0x15, 0x1f,
532 0x17, 0xb2, 0x74, 0x1b, 0xc3, 0x99, 0x10, 0x29, 0x4a, 0x28, 0x51, 0x99,
533 0x07, 0xf3, 0x5f, 0xbc, 0xbd, 0x35, 0x07, 0x41, 0x32, 0xd8, 0x59, 0x63,
534 0xbe, 0x4a, 0x2d, 0xf0, 0x06, 0xd7, 0xe2, 0x88, 0x68, 0x72, 0x12, 0xe7,
535 0x2a, 0xa0, 0x33, 0xfd, 0x04, 0xd5, 0xe9, 0xc4, 0x81, 0xeb, 0xe1, 0x97,
536 0x04, 0xcf, 0x08, 0xb5, 0x67, 0x79, 0x39, 0x26, 0xc3, 0x6e, 0x7d, 0x24,
537 0x2d, 0x0b, 0x75, 0x5f, 0x2d, 0x81, 0x63, 0xa9, 0x30, 0x0d, 0xe8, 0x79,
538 0xf0, 0x8d, 0x9e, 0xab, 0x24, 0x79, 0x5c, 0xf6, 0x9c, 0x83, 0x53, 0x88,
539 0x41, 0x92, 0x34, 0xb2, 0xec, 0xfa, 0x37, 0x5c, 0x9a, 0xea, 0x7a, 0xce,
540 0x1f, 0xe3, 0x5f, 0x0e, 0x12, 0x5c, 0xac, 0x1a, 0x0f, 0x3c, 0xf1, 0x9b,
541 0xda, 0xad, 0x06, 0xcc, 0x85, 0xd5, 0xaf, 0x51, 0xef, 0x97, 0x52, 0x4f,
542 0x33, 0xef, 0x82, 0x24, 0x54, 0x19, 0xa2, 0x79, 0x62, 0x0b, 0xcc, 0x29,
543 0xf9, 0xb0, 0xf6, 0xdc, 0xca, 0xae, 0xf9, 0xb3, 0x61, 0x69, 0x15, 0x19,
544 0x36, 0x39, 0x3e, 0x57, 0x1f, 0x2b, 0x15, 0x74, 0x28, 0xb4, 0xb1, 0x13,
545 0x2f, 0xc5, 0x78, 0x57, 0x76, 0x1e, 0xec, 0xa6, 0xfb, 0xa7, 0x72, 0xb7,
546 0xcf, 0x38, 0x86, 0x78, 0x8a, 0x46, 0x97, 0x44, 0x05, 0xa8, 0x24, 0x89,
547 0x9b, 0x6b, 0xcd, 0x56, 0x30, 0x82, 0x05, 0x11, 0x30, 0x82, 0x02, 0xf9,
548 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x06, 0x97, 0x36, 0x83, 0x31,
549 0x39, 0x58, 0x14, 0x16, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
550 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x29, 0x31, 0x19,
551 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10, 0x39, 0x35, 0x65,
552 0x32, 0x33, 0x66, 0x66, 0x39, 0x62, 0x36, 0x65, 0x62, 0x30, 0x32, 0x35,
553 0x61, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x03,
554 0x54, 0x45, 0x45, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x35, 0x32,
555 0x35, 0x32, 0x33, 0x32, 0x38, 0x34, 0x30, 0x5a, 0x17, 0x0d, 0x32, 0x38,
556 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32, 0x38, 0x34, 0x30, 0x5a, 0x30,
557 0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x10,
558 0x65, 0x65, 0x34, 0x62, 0x65, 0x65, 0x64, 0x33, 0x39, 0x33, 0x34, 0x37,
559 0x32, 0x65, 0x64, 0x62, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03, 0x55, 0x04,
560 0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d,
561 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
562 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82,
563 0x01, 0x81, 0x00, 0xfc, 0x02, 0x98, 0x15, 0xa4, 0xd2, 0x71, 0xad, 0x26,
564 0x19, 0xc0, 0x67, 0x90, 0x51, 0x8f, 0xa2, 0x99, 0x81, 0x8e, 0x29, 0xbb,
565 0x3f, 0x01, 0x27, 0xee, 0x9a, 0x5a, 0x6a, 0xfc, 0xfc, 0x97, 0x52, 0xbb,
566 0x6e, 0x9d, 0x25, 0xa4, 0x37, 0x4c, 0x90, 0xaf, 0x02, 0x83, 0xd3, 0xd7,
567 0x8d, 0x02, 0x56, 0x3e, 0xad, 0x53, 0x99, 0x7e, 0xa3, 0x5b, 0x82, 0xfc,
568 0xb0, 0x56, 0x49, 0x0f, 0x51, 0xd4, 0x90, 0xba, 0x95, 0xd9, 0x0f, 0xfa,
569 0x39, 0x96, 0xbf, 0xc0, 0x04, 0x44, 0xf6, 0x4d, 0x10, 0xa5, 0x6c, 0x45,
570 0x80, 0x4c, 0x2d, 0x88, 0x63, 0xa9, 0x96, 0x7e, 0x2c, 0x5f, 0xb9, 0x25,
571 0x69, 0x4c, 0x06, 0x04, 0x5b, 0xc7, 0x0c, 0x1c, 0xfd, 0xf1, 0x3a, 0xdd,
572 0x2e, 0xae, 0x10, 0x01, 0xe1, 0x2a, 0x4a, 0x87, 0x46, 0xb1, 0x76, 0xf3,
573 0x0d, 0xd1, 0x23, 0x11, 0xf7, 0x55, 0x1d, 0x57, 0x2e, 0xa3, 0xfc, 0xb2,
574 0x9a, 0xbb, 0x49, 0xd9, 0xd6, 0x20, 0x5c, 0xf7, 0x29, 0x1c, 0x2a, 0x82,
575 0xf0, 0x7b, 0x7e, 0xcb, 0x5c, 0x71, 0x0c, 0x64, 0x67, 0xda, 0x70, 0x71,
576 0xef, 0x0d, 0xb3, 0x39, 0x9b, 0x9e, 0xea, 0x23, 0x4e, 0xb2, 0x67, 0xd0,
577 0xcb, 0x1b, 0x1c, 0x9a, 0xc0, 0x1c, 0x5a, 0x9a, 0xfe, 0x5a, 0x7a, 0x24,
578 0xb1, 0x89, 0xdc, 0xcb, 0x59, 0xf2, 0xfe, 0xa8, 0x89, 0x90, 0x7e, 0x5e,
579 0xbd, 0xaf, 0x8d, 0xc1, 0x96, 0x2e, 0x0d, 0xb9, 0xb9, 0x2b, 0xd6, 0x49,
580 0xb8, 0x93, 0x70, 0x6e, 0x38, 0x7d, 0x56, 0x88, 0x79, 0xbb, 0xff, 0x21,
581 0x08, 0x6d, 0xf5, 0xae, 0xb4, 0x60, 0x7b, 0xd5, 0xc4, 0x26, 0x12, 0xea,
582 0x95, 0x71, 0x47, 0x3d, 0xf4, 0xee, 0x2e, 0x39, 0x24, 0x91, 0xf0, 0x6c,
583 0x23, 0x4e, 0xb1, 0x02, 0x1a, 0x95, 0xf7, 0x8f, 0x95, 0x9d, 0xce, 0x73,
584 0x13, 0x8b, 0xc9, 0xa7, 0x4f, 0xb2, 0x50, 0x9e, 0x19, 0xe6, 0xe5, 0xf7,
585 0xb8, 0xe3, 0x75, 0xb5, 0x6a, 0x24, 0xdb, 0x5d, 0x91, 0x03, 0x34, 0xc0,
586 0xe4, 0xa2, 0xc2, 0x0a, 0x9a, 0x74, 0x58, 0x7d, 0x3d, 0x3c, 0x40, 0x2a,
587 0x33, 0x14, 0xe1, 0xce, 0xf3, 0x86, 0xbf, 0x68, 0x0f, 0xa8, 0xe2, 0xc0,
588 0xa0, 0xa4, 0x37, 0x10, 0x91, 0x93, 0xee, 0x3f, 0x4c, 0xe9, 0x95, 0x9c,
589 0x70, 0xa9, 0x12, 0xde, 0x3b, 0x92, 0xa6, 0x0b, 0xd7, 0xaf, 0x76, 0x86,
590 0x24, 0x8a, 0x8a, 0xa5, 0x6d, 0x1b, 0x47, 0xe8, 0x21, 0xbe, 0x45, 0x9f,
591 0xb0, 0x92, 0x6f, 0xd0, 0x09, 0x51, 0x4c, 0x6e, 0x8b, 0xfc, 0x83, 0xfb,
592 0xb7, 0x80, 0xc7, 0xa1, 0x09, 0x14, 0x01, 0x63, 0x10, 0xc2, 0x9b, 0x20,
593 0x10, 0xd2, 0x9a, 0xf4, 0x3c, 0x9f, 0x9a, 0xaf, 0xf0, 0xf1, 0xe1, 0xbc,
594 0x85, 0x45, 0x68, 0x90, 0xaa, 0xf0, 0x7d, 0xf3, 0xf7, 0x0e, 0xba, 0x53,
595 0x58, 0x56, 0xb1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xba, 0x30,
596 0x81, 0xb7, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
597 0x14, 0x96, 0x55, 0x9d, 0x9e, 0x4c, 0x02, 0x18, 0x85, 0xa7, 0x97, 0xe2,
598 0x17, 0xab, 0x9b, 0x99, 0x4c, 0x36, 0x44, 0xd4, 0x54, 0x30, 0x1f, 0x06,
599 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x81, 0xf6,
600 0x73, 0x03, 0x40, 0x73, 0x83, 0x6d, 0x3e, 0x83, 0x38, 0x0a, 0x38, 0x3a,
601 0x3d, 0x38, 0xcd, 0x28, 0x8a, 0xdd, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
602 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
603 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
604 0x02, 0x02, 0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d,
605 0x30, 0x4b, 0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74,
606 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69,
607 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
608 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61,
609 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x30, 0x36, 0x39,
610 0x37, 0x33, 0x36, 0x38, 0x33, 0x33, 0x31, 0x33, 0x39, 0x35, 0x38, 0x31,
611 0x34, 0x31, 0x36, 0x33, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
612 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01,
613 0x00, 0x6f, 0x92, 0x65, 0x9f, 0x8a, 0xe1, 0x7c, 0xff, 0x31, 0x9c, 0xed,
614 0xfa, 0x1e, 0xb6, 0x66, 0xe3, 0x5e, 0xcc, 0xc2, 0x7c, 0xfe, 0x3b, 0xe1,
615 0x61, 0x17, 0x91, 0x65, 0x4c, 0xfa, 0x5a, 0x7e, 0xbc, 0x59, 0x42, 0xda,
616 0xb5, 0x45, 0x7a, 0x98, 0x0a, 0x2f, 0x55, 0x3e, 0x3b, 0x04, 0x95, 0xdd,
617 0x3f, 0xf5, 0xae, 0x44, 0x1f, 0x32, 0x61, 0xa8, 0x7c, 0xca, 0xca, 0x72,
618 0xbf, 0xbe, 0xc3, 0xe3, 0x2b, 0x49, 0x4c, 0x06, 0x03, 0x71, 0x69, 0xc9,
619 0x15, 0xd3, 0xd6, 0xd6, 0x5c, 0xd7, 0xd5, 0x90, 0x31, 0xe6, 0x3c, 0xa0,
620 0x4b, 0x8b, 0xf5, 0x15, 0xa4, 0x08, 0x7d, 0x53, 0x7f, 0xae, 0xb1, 0x95,
621 0x3e, 0x03, 0xec, 0x1a, 0x2a, 0x6b, 0x80, 0x37, 0xe2, 0x78, 0x8d, 0x6d,
622 0x82, 0xa9, 0x10, 0x79, 0x0f, 0x41, 0xc7, 0x25, 0x64, 0x40, 0xbd, 0x77,
623 0x8d, 0x0f, 0x00, 0xe7, 0x2e, 0x1b, 0x0f, 0x33, 0xfa, 0xbc, 0xd0, 0xb6,
624 0x25, 0x4a, 0xf6, 0xa0, 0xd0, 0x4b, 0xfb, 0x0b, 0x1f, 0x74, 0x7a, 0x51,
625 0x3d, 0x94, 0xdb, 0x95, 0x4d, 0x34, 0x98, 0xb6, 0x41, 0x25, 0xc7, 0xb5,
626 0x60, 0xaa, 0x08, 0x71, 0xc4, 0x12, 0xde, 0xa5, 0x5f, 0xc8, 0x59, 0x86,
627 0x8d, 0x51, 0x05, 0x63, 0x20, 0x61, 0x45, 0x73, 0xbd, 0x74, 0xa9, 0xdc,
628 0xae, 0x41, 0x63, 0x3c, 0xed, 0xe9, 0x87, 0xf6, 0xcb, 0xbb, 0xdc, 0x9a,
629 0xbd, 0x14, 0x2f, 0xd4, 0x31, 0xc6, 0x9c, 0xa7, 0x97, 0xa6, 0x1b, 0xa0,
630 0xde, 0xbf, 0xa2, 0xc2, 0x9b, 0x3f, 0xb3, 0x66, 0x64, 0xea, 0xa3, 0xad,
631 0x46, 0x42, 0xf1, 0x6f, 0xe7, 0x31, 0xff, 0x6f, 0x7f, 0x92, 0xbe, 0xab,
632 0x3a, 0x75, 0x2f, 0xfd, 0xa3, 0x48, 0x51, 0x4c, 0xe6, 0x6a, 0x81, 0x6a,
633 0xfe, 0xd5, 0x88, 0x37, 0x32, 0xdb, 0xe8, 0xb6, 0x14, 0x68, 0xb5, 0x53,
634 0xad, 0xb3, 0x4b, 0x06, 0x42, 0xbe, 0xd3, 0xc8, 0x66, 0x2a, 0xfd, 0x74,
635 0xf2, 0xa0, 0xb7, 0xd6, 0xd0, 0xd3, 0xb7, 0xe6, 0xba, 0xb6, 0x00, 0xd9,
636 0xab, 0x53, 0x70, 0x84, 0x35, 0xc4, 0x7e, 0x3d, 0x9b, 0x97, 0xd8, 0x86,
637 0x7f, 0x33, 0x09, 0x83, 0x35, 0x8e, 0xc8, 0x9f, 0x43, 0x0b, 0x64, 0x0c,
638 0xc1, 0xbb, 0xc9, 0x57, 0x2f, 0xb5, 0xe0, 0xfb, 0xea, 0x27, 0x02, 0x03,
639 0xcd, 0xb5, 0x9d, 0x1e, 0xe9, 0xbb, 0x7f, 0x09, 0x7c, 0x28, 0xe4, 0x19,
640 0xce, 0xe4, 0xa3, 0xd2, 0x52, 0xfa, 0x48, 0xa2, 0xdc, 0x50, 0xdb, 0x1a,
641 0x1a, 0x61, 0x13, 0x02, 0x77, 0x28, 0xf1, 0xa2, 0x4a, 0xac, 0xf3, 0x29,
642 0x00, 0x6b, 0x22, 0x37, 0x1a, 0x5c, 0x0c, 0x51, 0xf1, 0x11, 0xa0, 0xb7,
643 0x55, 0x7f, 0x58, 0x19, 0x3c, 0x1b, 0x0c, 0xe8, 0x3f, 0x92, 0x4c, 0xa1,
644 0x1e, 0xf0, 0xfe, 0x81, 0xb2, 0x8a, 0xf3, 0x3c, 0x70, 0xfa, 0x31, 0xec,
645 0x32, 0x55, 0x2d, 0xac, 0x9f, 0x3e, 0x30, 0x01, 0xad, 0x54, 0x13, 0x53,
646 0xf0, 0xd9, 0xb4, 0xa7, 0x14, 0xe7, 0x3c, 0xd2, 0x55, 0x54, 0xcf, 0x33,
647 0x11, 0x81, 0x9c, 0xea, 0xeb, 0x5c, 0x93, 0xfb, 0x0d, 0x9c, 0x02, 0xc7,
648 0x63, 0x64, 0x80, 0xfe, 0x23, 0x85, 0xbb, 0x0a, 0x97, 0x69, 0x84, 0xd4,
649 0x85, 0x5d, 0xae, 0x1c, 0xc3, 0x4d, 0xa3, 0x3f, 0x8e, 0xa4, 0x68, 0xb7,
650 0xf6, 0xc8, 0xef, 0x89, 0xa1, 0x0d, 0xab, 0x4e, 0xec, 0x31, 0xba, 0xca,
651 0xab, 0x1c, 0x61, 0x5c, 0x39, 0xe1, 0x6c, 0xc4, 0xa2, 0xf1, 0x48, 0xba,
652 0x13, 0x30, 0x62, 0x25, 0xb8, 0x81, 0xfd, 0xdc, 0x89, 0x1f, 0xfe, 0x2e,
653 0x5c, 0xee, 0xf2, 0x22, 0xa0, 0x57, 0x2d, 0x71, 0x9e, 0x64, 0xd8, 0x7b,
654 0x87, 0xd4, 0xe8, 0x7e, 0x82, 0x42, 0x66, 0x74, 0xd7, 0x68, 0xe0, 0xfd,
655 0x91, 0x61, 0xa1, 0xff, 0x83, 0x98, 0x75, 0x29, 0xc5, 0xee, 0xee, 0xee,
656 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
657 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
658 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
659 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
660 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
661 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
662 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
663 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
664 0x94, 0x02, 0x87, 0xee, 0xee, 0xee, 0xee, 0xee, 0x50, 0x50, 0x50, 0x50,
665 0x29, 0x02, 0x00, 0x00, 0x97, 0xc2, 0xe5, 0x7f, 0x04, 0x8d, 0xab, 0x71,
666 0x5f, 0xe7, 0xf6, 0x31, 0x88, 0xc6, 0x6b, 0xfc, 0x02, 0x65, 0x1b, 0x14,
667 0x49, 0xaa, 0x7c, 0xa2, 0x12, 0x01, 0x08, 0x50, 0x31, 0xf0, 0x5e, 0xf8,
668 0x30, 0x82, 0x02, 0x25, 0x30, 0x82, 0x01, 0xab, 0xa0, 0x03, 0x02, 0x01,
669 0x02, 0x02, 0x0a, 0x15, 0x24, 0x41, 0x18, 0x76, 0x46, 0x31, 0x44, 0x50,
670 0x41, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
671 0x02, 0x30, 0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x05,
672 0x13, 0x10, 0x39, 0x35, 0x65, 0x32, 0x33, 0x66, 0x66, 0x39, 0x62, 0x36,
673 0x65, 0x62, 0x30, 0x32, 0x35, 0x61, 0x31, 0x0c, 0x30, 0x0a, 0x06, 0x03,
674 0x55, 0x04, 0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30, 0x1e, 0x17, 0x0d,
675 0x31, 0x38, 0x30, 0x35, 0x32, 0x35, 0x32, 0x33, 0x32, 0x38, 0x34, 0x33,
676 0x5a, 0x17, 0x0d, 0x32, 0x38, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x32,
677 0x38, 0x34, 0x33, 0x5a, 0x30, 0x29, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03,
678 0x55, 0x04, 0x05, 0x13, 0x10, 0x65, 0x65, 0x34, 0x62, 0x65, 0x65, 0x64,
679 0x33, 0x39, 0x33, 0x34, 0x37, 0x32, 0x65, 0x64, 0x62, 0x31, 0x0c, 0x30,
680 0x0a, 0x06, 0x03, 0x55, 0x04, 0x0c, 0x0c, 0x03, 0x54, 0x45, 0x45, 0x30,
681 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
682 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42,
683 0x00, 0x04, 0x28, 0x3b, 0xf5, 0xc3, 0xb6, 0x12, 0xf2, 0xb7, 0x8d, 0x25,
684 0x90, 0x2f, 0x1d, 0x5e, 0x91, 0x98, 0xd6, 0xad, 0xf7, 0xc9, 0x28, 0x25,
685 0x62, 0xc1, 0xd5, 0x42, 0x7e, 0xd0, 0xa7, 0x0b, 0xd9, 0x9b, 0x25, 0x6a,
686 0x2b, 0xbb, 0x7d, 0x62, 0x0d, 0x78, 0x42, 0xa3, 0x96, 0x42, 0x71, 0xf5,
687 0xc5, 0x7a, 0xe4, 0xac, 0xe2, 0x17, 0xd3, 0x02, 0x33, 0x21, 0x55, 0x92,
688 0x4d, 0x62, 0xd3, 0x3d, 0x9d, 0x3c, 0xa3, 0x81, 0xba, 0x30, 0x81, 0xb7,
689 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2d,
690 0xab, 0x5f, 0x1a, 0x58, 0xc2, 0x0c, 0x11, 0x12, 0x44, 0x96, 0x91, 0x66,
691 0x7c, 0xe1, 0xab, 0x47, 0x0d, 0x8a, 0xc4, 0x30, 0x1f, 0x06, 0x03, 0x55,
692 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc7, 0xbd, 0xe5, 0x13,
693 0x91, 0x8c, 0x85, 0x2e, 0x04, 0x5c, 0x13, 0xb5, 0xa3, 0x28, 0x93, 0xb7,
694 0x32, 0x63, 0xa3, 0x59, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
695 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
696 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02,
697 0x04, 0x30, 0x54, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x4d, 0x30, 0x4b,
698 0x30, 0x49, 0xa0, 0x47, 0xa0, 0x45, 0x86, 0x43, 0x68, 0x74, 0x74, 0x70,
699 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2e,
700 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
701 0x6f, 0x6d, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69,
702 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x31, 0x35, 0x32, 0x34, 0x34,
703 0x31, 0x31, 0x38, 0x37, 0x36, 0x34, 0x36, 0x33, 0x31, 0x34, 0x34, 0x35,
704 0x30, 0x34, 0x31, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
705 0x04, 0x03, 0x02, 0x03, 0x68, 0x00, 0x30, 0x65, 0x02, 0x30, 0x3c, 0x07,
706 0x1f, 0xac, 0xc8, 0x38, 0x13, 0x81, 0xc5, 0xab, 0x00, 0x21, 0xea, 0xc9,
707 0x26, 0x34, 0xb4, 0xb8, 0xce, 0x7c, 0x19, 0x16, 0xef, 0x12, 0x50, 0x61,
708 0xc5, 0xce, 0x75, 0xec, 0x3b, 0x18, 0x73, 0x7f, 0x9b, 0x38, 0x74, 0xad,
709 0xd4, 0x78, 0xe2, 0xf8, 0x94, 0xf6, 0x1f, 0xa2, 0xa2, 0x12, 0x02, 0x31,
710 0x00, 0xee, 0x42, 0x9b, 0x75, 0x8e, 0x59, 0xe0, 0x9e, 0xfa, 0x93, 0xfd,
711 0x44, 0x82, 0xa7, 0x11, 0x9c, 0x07, 0xfd, 0x07, 0x90, 0x71, 0x27, 0xb2,
712 0x1e, 0x18, 0x58, 0x7e, 0xbe, 0xdf, 0xab, 0xfd, 0x2d, 0x26, 0xe8, 0x40,
713 0xa4, 0x96, 0xbb, 0x08, 0xe8, 0x1b, 0xb5, 0x47, 0xa3, 0xe7, 0xb7, 0xb2,
714 0xdc, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
715 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
716 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
717 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
718 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
719 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
720 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
721 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
722 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
723 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
724 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
725 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
726 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
727 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
728 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
729 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
730 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
731 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
732 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
733 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
734 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
735 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
736 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
737 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
738 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
739 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
740 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
741 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
742 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
743 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
744 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
745 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
746 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
747 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
748 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
749 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
750 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
751 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
752 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
753 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
754 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
755 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
756 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
757 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
758 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
759 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
760 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
761 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
762 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
763 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
764 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
765 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
766 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x8e, 0xe5, 0xcc, 0x90,
767 0xd5, 0xbe, 0xfc, 0x9a, 0x15, 0x3f, 0xce, 0x53, 0xfd, 0x9b, 0x13, 0x65,
768 0x9c, 0x26, 0x48, 0xef, 0x0d, 0xa1, 0xa2, 0x9c, 0x29, 0x1a, 0x71, 0x84,
769 0x7b, 0x61, 0xb4, 0xc0
770
771 };
772
773 #define CERT_BLOCK_SIZE 1024
774
TEST_F(KeymasterProvisionTest,ProvisionCertificatesSuccess)775 TEST_F(KeymasterProvisionTest, ProvisionCertificatesSuccess) {
776 // Fetch dev-id.
777 std::vector<uint8_t> dev_id;
778 nos::AppClient app(*client, APP_ID_NUGGET);
779
780 uint32_t retval;
781 dev_id.reserve(32);
782
783 retval = app.Call(NUGGET_PARAM_DEVICE_ID, dev_id, &dev_id);
784 ASSERT_EQ(retval, APP_SUCCESS);
785
786 // TODO: port this test over to Jenkins.
787 if (std::string(reinterpret_cast<const char *>(dev_id.data()),
788 dev_id.size() -1) != string("adacb483:0100b022")) {
789 return;
790 }
791
792 for (int i = 0; i < 7; i++) {
793 ProvisionCertificatesRequest request;
794 ProvisionCertificatesResponse response;
795
796 request.set_block_number(i);
797 request.set_cert_block(
798 &ATTESTION_CERT_adacb483_0100b022[i * CERT_BLOCK_SIZE],
799 CERT_BLOCK_SIZE);
800 uint8_t digest[SHA256_DIGEST_LENGTH];
801 request.set_digest(
802 SHA256(&ATTESTION_CERT_adacb483_0100b022[i * CERT_BLOCK_SIZE],
803 CERT_BLOCK_SIZE, &digest[0]), SHA256_DIGEST_LENGTH);
804
805 Keymaster service(*client);
806 ASSERT_NO_ERROR(service.ProvisionCertificates(request, &response), "");
807 ASSERT_EQ((ErrorCode)response.error_code(), ErrorCode::OK);
808
809 if (i == 0) {
810 // On a fresh spiflash, expect certs to be missing. On re-runs, certs
811 // will already be present.
812 EXPECT_TRUE(response.cert_status() == CertificateStatus::CERT_MISSING ||
813 response.cert_status() ==
814 CertificateStatus::CERT_PREVIOUSLY_PROVISIONED);
815 }
816 if (i == 6) {
817 // All done, cert status should indicate accordingly.
818 EXPECT_EQ(response.cert_status(),
819 CertificateStatus::CERT_PREVIOUSLY_PROVISIONED);
820 }
821 }
822 }
823
824 } // namespace
825