1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2015-2017 Intel Corporation 3 */ 4 5 #ifndef TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_ 6 #define TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_ 7 8 #include "test_cryptodev.h" 9 10 #define GMAC_LARGE_PLAINTEXT_LENGTH 65344 11 #define MAX_AAD_LENGTH (65535 - RTE_PKTMBUF_HEADROOM) 12 #define GCM_LARGE_AAD_LENGTH 65296 13 #define AEAD_TEXT_MAX_LENGTH 8096 14 15 static_assert(GMAC_LARGE_PLAINTEXT_LENGTH <= LARGE_MBUF_DATAPAYLOAD_SIZE, 16 "GMAC_LARGE_PLAINTEXT_LENGTH should not be greater than LARGE_MBUF_DATAPAYLOAD_SIZE"); 17 static_assert(MAX_AAD_LENGTH <= LARGE_MBUF_DATAPAYLOAD_SIZE, 18 "MAX_AAD_LENGTH should not be greater than LARGE_MBUF_DATAPAYLOAD_SIZE"); 19 static_assert(GCM_LARGE_AAD_LENGTH <= LARGE_MBUF_DATAPAYLOAD_SIZE, 20 "GCM_LARGE_AAD_LENGTH should not be greater than LARGE_MBUF_DATAPAYLOAD_SIZE"); 21 static_assert(AEAD_TEXT_MAX_LENGTH <= LARGE_MBUF_DATAPAYLOAD_SIZE, 22 "AEAD_TEXT_MAX_LENGTH should not be greater than LARGE_MBUF_DATAPAYLOAD_SIZE"); 23 24 25 static uint8_t gcm_aad_zero_text[MAX_AAD_LENGTH] = { 0 }; 26 27 static uint8_t gcm_aad_text[MAX_AAD_LENGTH] = { 28 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 29 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef, 30 0x00, 0xf1, 0xe2, 0xd3, 0xc4, 0xb5, 0xa6, 0x97, 31 0x88, 0x79, 0x6a, 0x5b, 0x4c, 0x3d, 0x2e, 0x1f }; 32 33 static uint8_t gcm_aad_64B_text[MAX_AAD_LENGTH] = { 34 0xED, 0x3E, 0xA8, 0x1F, 0x74, 0xE5, 0xD1, 0x96, 35 0xA4, 0xD5, 0x4B, 0x26, 0xBB, 0x20, 0x61, 0x7B, 36 0x3B, 0x9C, 0x2A, 0x69, 0x90, 0xEF, 0xD7, 0x9A, 37 0x94, 0xC2, 0xF5, 0x86, 0xBD, 0x00, 0xF6, 0xEA, 38 0x0B, 0x14, 0x24, 0xF2, 0x08, 0x67, 0x42, 0x3A, 39 0xB5, 0xB8, 0x32, 0x97, 0xB5, 0x99, 0x69, 0x75, 40 0x60, 0x00, 0x8F, 0xF7, 0x6F, 0x16, 0x52, 0x66, 41 0xF1, 0xA9, 0x38, 0xFD, 0xB0, 0x61, 0x60, 0xB5 }; 42 43 static uint8_t ccm_aad_test_1[8] = { 44 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 45 }; 46 47 static uint8_t ccm_aad_test_2[22] = { 48 0x08, 0x40, 0x0F, 0xD2, 0xE1, 0x28, 0xA5, 0x7C, 49 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xAB, 0xAE, 50 0xA5, 0xB8, 0xFC, 0xBA, 0x00, 0x00 51 }; 52 53 struct aead_test_data { 54 enum rte_crypto_aead_algorithm algo; 55 56 struct { 57 uint8_t data[64]; 58 unsigned len; 59 } key; 60 61 struct { 62 alignas(16) uint8_t data[64]; 63 unsigned len; 64 } iv; 65 66 struct { 67 uint8_t *data; 68 unsigned len; 69 } aad; 70 71 struct { 72 uint8_t data[AEAD_TEXT_MAX_LENGTH]; 73 unsigned len; 74 } plaintext; 75 76 struct { 77 uint8_t data[AEAD_TEXT_MAX_LENGTH]; 78 unsigned len; 79 } ciphertext; 80 81 struct { 82 uint8_t data[16]; 83 unsigned len; 84 } auth_tag; 85 }; 86 87 struct gmac_test_data { 88 struct { 89 uint8_t data[64]; 90 unsigned len; 91 } key; 92 93 struct { 94 alignas(16) uint8_t data[64]; 95 unsigned len; 96 } iv; 97 98 struct { 99 uint8_t *data; 100 unsigned len; 101 } plaintext; 102 103 struct { 104 uint8_t data[16]; 105 unsigned len; 106 } gmac_tag; 107 108 }; 109 110 /** AES-GCM-128 Test Vectors */ 111 static const struct aead_test_data gcm_test_case_1 = { 112 .algo = RTE_CRYPTO_AEAD_AES_GCM, 113 .key = { 114 .data = { 115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 117 .len = 16 118 }, 119 .iv = { 120 .data = { 121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 122 0x00, 0x00, 0x00, 0x00 }, 123 .len = 12 124 }, 125 .aad = { 126 .data = gcm_aad_zero_text, 127 .len = 0 128 }, 129 .plaintext = { 130 .data = { 131 0x00 }, 132 .len = 0 133 }, 134 .ciphertext = { 135 .data = { 136 0x00 137 }, 138 .len = 0 139 }, 140 .auth_tag = { 141 .data = { 142 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61, 143 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a }, 144 .len = 16 145 } 146 }; 147 148 static const struct aead_test_data gcm_test_case_2 = { 149 .algo = RTE_CRYPTO_AEAD_AES_GCM, 150 .key = { 151 .data = { 152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 154 .len = 16 155 }, 156 .iv = { 157 .data = { 158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 159 0x00, 0x00, 0x00, 0x00 }, 160 .len = 12 161 }, 162 .aad = { 163 .data = gcm_aad_zero_text, 164 .len = 0 165 }, 166 .plaintext = { 167 .data = { 168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 170 .len = 16 171 }, 172 .ciphertext = { 173 .data = { 174 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92, 175 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 }, 176 .len = 16 177 }, 178 .auth_tag = { 179 .data = { 180 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd, 181 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf }, 182 .len = 16 183 } 184 }; 185 186 static const struct aead_test_data gcm_test_case_3 = { 187 .algo = RTE_CRYPTO_AEAD_AES_GCM, 188 .key = { 189 .data = { 190 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 191 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, 192 .len = 16 193 }, 194 .iv = { 195 .data = { 196 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 197 0xde, 0xca, 0xf8, 0x88 }, 198 .len = 12 199 }, 200 .aad = { 201 .data = gcm_aad_zero_text, 202 .len = 0 203 }, 204 .plaintext = { 205 .data = { 206 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 207 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 208 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 209 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 210 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 211 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 212 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 213 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, 214 .len = 64 215 }, 216 .ciphertext = { 217 .data = { 218 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 219 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 220 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 221 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 222 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 223 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 224 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 225 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85 226 }, 227 .len = 64 228 }, 229 .auth_tag = { 230 .data = { 231 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, 232 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 }, 233 .len = 16 234 } 235 }; 236 237 static const struct aead_test_data gcm_test_case_4 = { 238 .algo = RTE_CRYPTO_AEAD_AES_GCM, 239 .key = { 240 .data = { 241 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 242 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 243 }, 244 .len = 16 245 }, 246 .iv = { 247 .data = { 248 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 249 0xde, 0xca, 0xf8, 0x88 }, 250 .len = 12 251 }, 252 .aad = { 253 .data = gcm_aad_zero_text, 254 .len = 8 255 }, 256 .plaintext = { 257 .data = { 258 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 259 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 260 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 261 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 262 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 263 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 264 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 265 0xba, 0x63, 0x7b, 0x39 266 }, 267 .len = 60 268 }, 269 .ciphertext = { 270 .data = { 271 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 272 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 273 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 274 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 275 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 276 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 277 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 278 0x3d, 0x58, 0xe0, 0x91 279 }, 280 .len = 60 281 }, 282 .auth_tag = { 283 .data = { 284 0xA2, 0xA4, 0x35, 0x75, 0xDC, 0xB0, 0x57, 0x74, 285 0x07, 0x02, 0x30, 0xC2, 0xE7, 0x52, 0x02, 0x00 286 }, 287 .len = 16 288 } 289 290 }; 291 292 static const struct aead_test_data gcm_test_case_5 = { 293 .algo = RTE_CRYPTO_AEAD_AES_GCM, 294 .key = { 295 .data = { 296 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 297 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 298 }, 299 .len = 16 300 }, 301 .iv = { 302 .data = { 303 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 304 0xde, 0xca, 0xf8, 0x88 }, 305 .len = 12 306 }, 307 .aad = { 308 .data = gcm_aad_text, 309 .len = 8 310 }, 311 .plaintext = { 312 .data = { 313 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 314 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 315 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 316 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 317 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 318 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 319 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 320 0xba, 0x63, 0x7b, 0x39 321 }, 322 .len = 60 323 }, 324 .ciphertext = { 325 .data = { 326 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 327 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 328 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 329 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 330 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 331 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 332 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 333 0x3d, 0x58, 0xe0, 0x91 334 }, 335 .len = 60 336 }, 337 .auth_tag = { 338 .data = { 339 0xC5, 0x2D, 0xFB, 0x54, 0xAF, 0xBB, 0x07, 0xA1, 340 0x9A, 0xFF, 0xBE, 0xE0, 0x61, 0x4C, 0xE7, 0xA5 341 }, 342 .len = 16 343 } 344 345 }; 346 347 static const struct aead_test_data gcm_test_case_6 = { 348 .algo = RTE_CRYPTO_AEAD_AES_GCM, 349 .key = { 350 .data = { 351 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 352 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 353 }, 354 .len = 16 355 }, 356 .iv = { 357 .data = { 358 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 359 0xde, 0xca, 0xf8, 0x88 360 }, 361 .len = 12 362 }, 363 .aad = { 364 .data = gcm_aad_zero_text, 365 .len = 12 366 }, 367 .plaintext = { 368 .data = { 369 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 370 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 371 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 372 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 373 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 374 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 375 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 376 0xba, 0x63, 0x7b, 0x39 377 }, 378 .len = 60 379 }, 380 .ciphertext = { 381 .data = { 382 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 383 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 384 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 385 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 386 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 387 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 388 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 389 0x3d, 0x58, 0xe0, 0x91 390 }, 391 .len = 60 392 }, 393 .auth_tag = { 394 .data = { 395 0x74, 0xFC, 0xFA, 0x29, 0x3E, 0x60, 0xCC, 0x66, 396 0x09, 0xD6, 0xFD, 0x00, 0xC8, 0x86, 0xD5, 0x42 397 }, 398 .len = 16 399 } 400 }; 401 402 static const struct aead_test_data gcm_test_case_7 = { 403 .algo = RTE_CRYPTO_AEAD_AES_GCM, 404 .key = { 405 .data = { 406 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 407 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 408 }, 409 .len = 16 410 }, 411 .iv = { 412 .data = { 413 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 414 0xde, 0xca, 0xf8, 0x88 415 }, 416 .len = 12 417 }, 418 .aad = { 419 .data = gcm_aad_text, 420 .len = 12 421 }, 422 .plaintext = { 423 .data = { 424 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 425 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 426 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 427 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 428 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 429 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 430 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 431 0xba, 0x63, 0x7b, 0x39 432 }, 433 .len = 60 434 }, 435 .ciphertext = { 436 .data = { 437 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 438 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 439 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 440 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 441 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 442 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 443 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 444 0x3d, 0x58, 0xe0, 0x91 445 }, 446 .len = 60 447 }, 448 .auth_tag = { 449 .data = { 450 0xE9, 0xE4, 0xAB, 0x76, 0xB7, 0xFF, 0xEA, 0xDC, 451 0x69, 0x79, 0x38, 0xA2, 0x0D, 0xCA, 0xF5, 0x92 452 }, 453 .len = 16 454 } 455 }; 456 457 static const struct aead_test_data gcm_test_case_8 = { 458 .algo = RTE_CRYPTO_AEAD_AES_GCM, 459 .key = { 460 .data = { 461 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 462 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 463 }, 464 .len = 16 465 }, 466 .iv = { 467 .data = { 468 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 469 0xde, 0xca, 0xf8, 0x88 470 }, 471 .len = 12 472 }, 473 .aad = { 474 .data = gcm_aad_text, 475 .len = 12 476 }, 477 .plaintext = { 478 .data = { 479 0xC5, 0x34, 0x2E, 0x83, 0xEB, 0x4C, 0x02, 0x03, 480 0xF7, 0xB2, 0x57, 0x35, 0x26, 0x81, 0x63, 0xAE, 481 0x1F, 0xCD, 0x2D, 0x02, 0x91, 0x5A, 0xDB, 0x3A, 482 0xF1, 0x38, 0xD8, 0x75, 0x86, 0x20, 0xCC, 0x1E, 483 0xE6, 0xDC, 0xFF, 0xB5, 0xEA, 0x0E, 0x18, 0x7A, 484 0x86, 0x6C, 0xAB, 0x39, 0x2D, 0x90, 0xAC, 0x77, 485 0x5D, 0xED, 0x65, 0xB3, 0x05, 0x29, 0xBB, 0x09, 486 0xD0, 0x21, 0x74, 0x6A, 0x67, 0x1C, 0x95, 0x42, 487 0x55, 0xAD, 0xC8, 0x91, 0x28, 0xFE, 0x16, 0x9A, 488 0xE1, 0xCB, 0xCD, 0x68, 0x3B, 0xDF, 0x3E, 0x3A, 489 0x34, 0xFE, 0x9B, 0xFB, 0xF5, 0x15, 0x2A, 0x29, 490 0x18, 0x99, 0x24, 0xBF, 0xB6, 0x43, 0xDB, 0xD1, 491 0x69, 0x26, 0x1E, 0x31, 0x2C, 0x8C, 0x3C, 0x6B, 492 0x7F, 0x06, 0xA6, 0x03, 0xE2, 0x1A, 0x50, 0xFE, 493 0x7C, 0x69, 0xE5, 0x5F, 0x35, 0x93, 0xE9, 0x20, 494 0x14, 0xB1, 0xCA, 0x61, 0xE7, 0x9C, 0x89, 0x08, 495 0xD6, 0xB1, 0xC2, 0x63, 0x1B, 0x86, 0x5E, 0xF1, 496 0xF5, 0x23, 0x0E, 0x9B, 0xE5, 0xBD, 0x5D, 0x04, 497 0xF7, 0xEF, 0x8E, 0x46, 0xB0, 0x11, 0x4F, 0x69, 498 0x62, 0x35, 0x51, 0xB7, 0x24, 0xA2, 0x31, 0xD0, 499 0x32, 0x4E, 0xB8, 0x44, 0xC7, 0x59, 0xDE, 0x25, 500 0xEA, 0x2D, 0x00, 0x0E, 0xF1, 0x07, 0xBA, 0xBB, 501 0x9A, 0xBC, 0x4F, 0x57, 0xB7, 0x13, 0x57, 0xEF, 502 0xD9, 0xF6, 0x80, 0x69, 0xEA, 0xE8, 0x47, 0x9C, 503 0x51, 0x71, 0xE6, 0x8F, 0x69, 0x29, 0xB4, 0x60, 504 0xE8, 0x50, 0xE5, 0xD0, 0x9B, 0xD2, 0x62, 0x6F, 505 0x09, 0x5C, 0xD1, 0x4B, 0x85, 0xE2, 0xFD, 0xD3, 506 0xEB, 0x28, 0x55, 0x77, 0x97, 0xCA, 0xD6, 0xA8, 507 0xDC, 0x35, 0x68, 0xF7, 0x6A, 0xCF, 0x48, 0x3F, 508 0x49, 0x31, 0x00, 0x65, 0xB7, 0x31, 0x1A, 0x49, 509 0x75, 0xDE, 0xCE, 0x7F, 0x18, 0xB5, 0x31, 0x9A, 510 0x64, 0x6D, 0xE5, 0x49, 0x1D, 0x6D, 0xF2, 0x21, 511 0x9F, 0xF5, 0xFF, 0x7C, 0x41, 0x30, 0x33, 0x06, 512 0x7B, 0xA4, 0xD8, 0x99, 0xF6, 0xCC, 0xDF, 0xC4, 513 0x3F, 0xF3, 0xCD, 0xE7, 0x74, 0xC4, 0x4A, 0x19, 514 0x5C, 0xCA, 0x42, 0x31, 0xF1, 0x3B, 0x65, 0x1C, 515 0x3D, 0x56, 0x08, 0xBE, 0x15, 0x37, 0x23, 0x50, 516 0xD6, 0xA3, 0x57, 0x64, 0x25, 0xBE, 0xDA, 0xC2, 517 0x4E, 0xF5, 0x1A, 0xAD, 0x6F, 0x43, 0x78, 0x21, 518 0xF9, 0x36, 0x39, 0x1F, 0x5F, 0xF7, 0x1B, 0xA0, 519 0xEE, 0x8B, 0x4F, 0x8A, 0x9D, 0xD8, 0xED, 0x37, 520 0xCE, 0x0D, 0x70, 0xE0, 0x3F, 0xE7, 0x11, 0x30, 521 0x17, 0x1D, 0x03, 0x5E, 0xA0, 0x3D, 0x3F, 0x9E, 522 0xF5, 0xD3, 0x74, 0x2E, 0xC1, 0xD6, 0xFF, 0xF7, 523 0x2E, 0xE7, 0x80, 0x88, 0xCF, 0x0E, 0x7F, 0x12, 524 0x71, 0x62, 0xC7, 0xF1, 0xC4, 0x2B, 0x64, 0x5D, 525 0x1C, 0x9A, 0xB4, 0xCB, 0xB8, 0x24, 0xB3, 0x0B, 526 0x33, 0xF2, 0x8A, 0x8F, 0x76, 0xC8, 0x81, 0xDA, 527 0x1A, 0x10, 0xB5, 0xA9, 0xCD, 0xDC, 0x1A, 0x02, 528 0xC1, 0xAE, 0x4F, 0x02, 0x1B, 0x13, 0x96, 0x5A, 529 0x2E, 0x03, 0xA2, 0x68, 0xB2, 0x29, 0xAC, 0x28, 530 0xB8, 0xDC, 0xD5, 0x27, 0x55, 0xEC, 0x43, 0xDC, 531 0xB7, 0x49, 0x1D, 0xE1, 0x30, 0x25, 0x81, 0xA6, 532 0x90, 0x1F, 0x75, 0xBA, 0x19, 0x1E, 0xF7, 0xC5, 533 0x77, 0x35, 0xEE, 0x68, 0x71, 0x22, 0xA0, 0xB4, 534 0xCC, 0x99, 0x86, 0x1B, 0x1B, 0xC8, 0x27, 0xFC, 535 0x6D, 0x8D, 0xE7, 0x8B, 0xC3, 0x40, 0x3D, 0xA8, 536 0xCB, 0x9B, 0xC4, 0x12, 0x07, 0xDD, 0xA1, 0x92, 537 0xE5, 0x80, 0x7A, 0xF4, 0xDB, 0x4C, 0xE6, 0xEE, 538 0xF9, 0xD5, 0x1C, 0x20, 0x18, 0xD3, 0x8F, 0xDF, 539 0x1C, 0xD3, 0x51, 0x4E, 0x0E, 0xED, 0x06, 0x61, 540 0xF7, 0xBA, 0x81, 0x3A, 0x2F, 0xEA, 0xED, 0x70, 541 0xA9, 0xD9, 0x54, 0x4D, 0xFC, 0x1D, 0x19, 0xEA, 542 0xA6, 0x39, 0x8C, 0x6C, 0x78, 0xA8, 0x05, 0xEB, 543 0xF2, 0xB5, 0xDE, 0x06, 0x9D, 0x8A, 0x78, 0x2A, 544 0xF5, 0x50, 0xA4, 0xBD, 0x9B, 0xDA, 0xCA, 0x66, 545 0xC0, 0x23, 0xAB, 0xE8, 0x95, 0x7E, 0xC9, 0xD2, 546 0x6F, 0x09, 0xF2, 0x9A, 0x17, 0x89, 0xDA, 0x47, 547 0x65, 0x8C, 0x20, 0xFA, 0x4E, 0x86, 0x18, 0xEB, 548 0x7C, 0x08, 0xEC, 0x8A, 0x05, 0x54, 0x96, 0xD2, 549 0x7A, 0x8A, 0x81, 0x58, 0x75, 0x8C, 0x7B, 0x02, 550 0xEE, 0x1F, 0x51, 0x88, 0xD0, 0xD1, 0x90, 0x99, 551 0x0C, 0xAE, 0x51, 0x2E, 0x54, 0x3E, 0xB1, 0x7D, 552 0xBC, 0xE8, 0x54, 0x93, 0x6D, 0x10, 0x3C, 0xC6, 553 0x71, 0xF6, 0xF5, 0x0B, 0x07, 0x0A, 0x6E, 0x59, 554 0x20, 0x45, 0x21, 0x7D, 0x37, 0x64, 0x92, 0x09, 555 0xA7, 0xE2, 0x34, 0x6F, 0xFC, 0xCC, 0x66, 0x0E, 556 0x88, 0x1B, 0x19, 0x86, 0x11, 0xD7, 0x81, 0x25, 557 0xF1, 0x8A, 0x03, 0xB7, 0x7A, 0xF0, 0x98, 0x4A, 558 0x5C, 0xA1, 0x6D, 0x85, 0xA4, 0x8C, 0x4B, 0x65, 559 0x9F, 0x72, 0x64, 0x14, 0xBA, 0x74, 0xEE, 0xA3, 560 0x88, 0xFE, 0x1B, 0xCF, 0x11, 0x4F, 0xD1, 0xAC, 561 0xFA, 0x14, 0xC3, 0xA7, 0xDD, 0x06, 0x85, 0x4E, 562 0x64, 0x06, 0x92, 0x9C, 0xDF, 0x06, 0x09, 0xF1, 563 0x4D, 0xE8, 0xF8, 0x2F, 0x69, 0xB6, 0x8A, 0xAF, 564 0x25, 0x21, 0xB5, 0x48, 0x59, 0xF8, 0x9D, 0x60, 565 0xAE, 0x42, 0x11, 0x7A, 0x68, 0x4D, 0x7E, 0x76, 566 0xB0, 0xD2, 0xE3, 0xD9, 0x24, 0x16, 0x20, 0x0A, 567 0xEB, 0xE0, 0x68, 0xCB, 0xBC, 0xAB, 0x67, 0xE4, 568 0xF3, 0x25, 0x1F, 0xD3, 0x85, 0xA7, 0x1D, 0x7E, 569 0x3C, 0x63, 0xCB, 0xC2, 0x50, 0x90, 0x0F, 0x4B, 570 0x6E, 0x68, 0x06, 0x84, 0x65, 0xF7, 0xD0, 0xD4, 571 0x12, 0xED, 0xFA, 0xC9, 0x40, 0xE2, 0xC0, 0xC9, 572 0x46, 0x22, 0x47, 0x5E, 0x6D, 0xC1, 0x63, 0xDB, 573 0x51, 0x98, 0xDA, 0x1A, 0xC4, 0xB9, 0xED, 0xE9, 574 0x09, 0xB9, 0xCF, 0x91, 0x04, 0x1C, 0x63, 0xD8, 575 0xC5, 0xA5, 0xAE, 0x53, 0x7B, 0xA1, 0x29, 0x83, 576 0x37, 0xFB, 0xBF, 0x96, 0xBB, 0x24, 0x3D, 0x77, 577 0x8C, 0x0F, 0xB3, 0x4B, 0x66, 0x9C, 0x54, 0xBB, 578 0xF6, 0xDD, 0xD1, 0xB4, 0xD2, 0xF6, 0xAA, 0xED, 579 0x18, 0x56, 0x63, 0x3E, 0x0B, 0xCA, 0xAB, 0x70, 580 0xBB, 0x63, 0xEA, 0xB1, 0x00, 0x65, 0x90, 0x18, 581 0xB8, 0x63, 0xA2, 0xF2, 0xB6, 0x1E, 0x61, 0x7B, 582 0xD5, 0x01, 0xD9, 0x4D, 0xC9, 0x9D, 0x99, 0xC1, 583 0x57, 0x9D, 0x6F, 0xAE, 0x64, 0xE4, 0x0C, 0x7E, 584 0xFA, 0x15, 0x5E, 0xB6, 0x43, 0xB8, 0x8B, 0x89, 585 0x87, 0xCD, 0x4F, 0xAD, 0x30, 0x1E, 0xA5, 0x03, 586 0x7A, 0xC2, 0x10, 0x42, 0x14, 0x88, 0xD6, 0x7A, 587 0x6D, 0x56, 0x52, 0x2E, 0x8D, 0x1B, 0x5D, 0x36, 588 0x27, 0xA0, 0x21, 0x4B, 0x64, 0xF0, 0xC5, 0x41, 589 0xAD, 0x05, 0x4A, 0x24, 0xE4, 0x70, 0x88, 0x63, 590 0x12, 0xD0, 0xBC, 0x05, 0x38, 0xD9, 0x41, 0x68, 591 0x9F, 0x16, 0x9A, 0x54, 0x09, 0x21, 0x64, 0x36, 592 0x63, 0x97, 0x3A, 0xB5, 0xE0, 0x25, 0x43, 0x8A, 593 0x6A, 0x59, 0x97, 0xC1, 0x31, 0xA5, 0x66, 0xD2, 594 0xF0, 0x1C, 0xDF, 0x97, 0x51, 0xD0, 0x61, 0xBA, 595 0x55, 0x5F, 0xD7, 0x0D, 0xD4, 0x75, 0x8E, 0x79, 596 0x04, 0x75, 0x00, 0xB9, 0xC0, 0x7A, 0x66, 0x05, 597 0x9F, 0x2B, 0x44, 0x42, 0x75, 0x0F, 0xD5, 0x15, 598 0xD6, 0x16, 0x8F, 0x6C, 0x6E, 0xD4, 0x37, 0xCF, 599 0xB4, 0xDA, 0x93, 0x00, 0x11, 0xFB, 0xBE, 0xEE, 600 0x3B, 0x6D, 0x1D, 0xBA, 0x33, 0xD1, 0x52, 0x8B, 601 0x16, 0x39, 0x42, 0x27, 0xE6, 0x56, 0x4C, 0x41, 602 0x91, 0xB0, 0x98, 0xAE, 0x9B, 0x2D, 0x9B, 0x23, 603 0x80, 0x4C, 0xEA, 0x98, 0x57, 0x95, 0x28, 0x94, 604 0x43, 0xD3, 0x88, 0x12, 0xDF, 0x89, 0x5A, 0x7B, 605 0xC5, 0xCB, 0x36, 0x54, 0x65, 0x74, 0xB8, 0x4E, 606 0xE2, 0x4D, 0x01, 0xD5, 0x9C, 0x82, 0xB9, 0x1A, 607 0x09, 0xD2, 0xCE, 0x04, 0x36, 0xD8, 0x41, 0xAC, 608 0x4C, 0xAD, 0xC6, 0x52, 0x91, 0x1A, 0x06, 0x6D, 609 0xFC, 0xAB, 0x29, 0x93, 0x87, 0x88, 0xB9, 0x8C, 610 0xFA, 0x57, 0x2B, 0x05, 0x03, 0xD0, 0x18, 0xED, 611 0x7A, 0x7B, 0x81, 0x6A, 0x97, 0x65, 0x5B, 0x90, 612 0xDE, 0xA9, 0xFC, 0x8F, 0xFC, 0xBB, 0x98, 0xD8, 613 0xFA, 0x32, 0x3F, 0x3F, 0x7F, 0x74, 0x65, 0x38, 614 0xC4, 0x28, 0xEC, 0x27, 0x1F, 0x28, 0x01, 0xB1, 615 0xAF, 0x2B, 0x8A, 0x05, 0x38, 0x7B, 0x77, 0xC9, 616 0x61, 0x77, 0x34, 0x2C, 0x22, 0xE5, 0xEB, 0xDC, 617 0x9D, 0x18, 0x6E, 0x23, 0x25, 0x52, 0x69, 0xB7, 618 0x05, 0xDB, 0x66, 0x5D, 0xEA, 0x76, 0x83, 0x82, 619 0x97, 0x39, 0xAF, 0xC0, 0x50, 0x81, 0x18, 0x0D, 620 0x22, 0xFA, 0xB7, 0x44, 0x5C, 0x3F, 0x69, 0xF3, 621 0xAC, 0xC5, 0x63, 0x9F, 0xD8, 0x72, 0x7E, 0x9A, 622 0xC2, 0xEB, 0x79, 0xD0, 0x74, 0x65, 0xE8, 0xCA, 623 0xFD, 0xA8, 0x7D, 0x23, 0x07, 0x99, 0x3E, 0xAF, 624 0xDB, 0x67, 0x10, 0xC0, 0xE5, 0x61, 0x77, 0xC6, 625 0x8D, 0xC4, 0x0E, 0xAA, 0x55, 0xE3, 0xC0, 0xC7, 626 0xA5, 0x36, 0x28, 0x61, 0xDB, 0x16, 0x96, 0x5E, 627 0x01, 0x47, 0x82, 0xE3, 0xEB, 0x20, 0x3F, 0x10, 628 0xFA, 0x5A, 0xBC, 0xD3, 0xF9, 0xCE, 0x04, 0x87, 629 0x51, 0x07, 0xF9, 0xD0, 0xE7, 0x6D, 0xCB, 0xCC, 630 0xC4, 0x15, 0x00, 0xE2, 0xDC, 0x8E, 0x7B, 0x5C, 631 0x9A, 0xF2, 0x78, 0x70, 0x4D, 0xA1, 0xAA, 0xB5, 632 0x13, 0xCC, 0x71, 0x66, 0x5A, 0x79, 0x13, 0x3B, 633 0x12, 0xCD, 0x40, 0x30, 0x5A, 0x49, 0xD4, 0x20, 634 0xED, 0xCF, 0x4A, 0x75, 0xE6, 0xD5, 0xDD, 0x0F, 635 0xD4, 0xBE, 0x98, 0x9F, 0xD7, 0x1F, 0xC0, 0x02, 636 0x31, 0xFA, 0x67, 0x37, 0x25, 0x86, 0x56, 0x85, 637 0x2B, 0xA2, 0x57, 0xCD, 0x8E, 0x74, 0xE7, 0x69, 638 0xEE, 0x33, 0x5A, 0x3F, 0xCD, 0x1E, 0xE3, 0xB9, 639 0xAA, 0x52, 0xF5, 0x22, 0x4E, 0xE3, 0xFF, 0xC8, 640 0xE3, 0x13, 0xA3, 0x9A, 0x63, 0x23, 0xC3, 0xD7, 641 0xE5, 0x88, 0x3E, 0x0A, 0x4B, 0xA5, 0x01, 0xE6, 642 0x13, 0xCF, 0xED, 0xEE, 0x2A, 0x58, 0x09, 0x3F, 643 0x2F, 0x28, 0xE7, 0xC4, 0x6B, 0xEC, 0x49, 0x51, 644 0x79, 0x8F, 0xD5, 0x19, 0x5D, 0xA5, 0x10, 0xCE, 645 0x8E, 0xF6, 0x26, 0x78, 0x7A, 0xA8, 0x11, 0x52, 646 0x5F, 0x97, 0x14, 0xC9, 0x29, 0x87, 0xB8, 0xA0, 647 0x2D, 0xE6, 0xA7, 0x2A, 0xD4, 0xFF, 0xEB, 0xBA, 648 0xFD, 0x58, 0x39, 0x33, 0xB1, 0xCE, 0x0E, 0x78, 649 0x67, 0x1E, 0xA1, 0x92, 0x77, 0x63, 0xF8, 0xC0, 650 0x02, 0x49, 0x73, 0xC0, 0xA1, 0x26, 0x83, 0x04, 651 0x9A, 0x5D, 0x85, 0x68, 0x2A, 0x2F, 0xCB, 0x88, 652 0x8D, 0x14, 0xB1, 0x33, 0xFA, 0xFB, 0xE9, 0x05, 653 0xBE, 0x24, 0x1A, 0x6B, 0x29, 0x2B, 0x3F, 0x52, 654 0x8F, 0xFB, 0xE6, 0x02, 0x77, 0x50, 0x71, 0xDB, 655 0xE9, 0x92, 0x3F, 0xE1, 0x20, 0x62, 0x80, 0xAE, 656 0xA4, 0x98, 0xC6, 0xCD, 0xE0, 0xB1, 0xC3, 0x33, 657 0xB1, 0xC5, 0x91, 0x3C, 0x19, 0x34, 0xA8, 0xD9, 658 0xB3, 0x25, 0x69, 0xE3, 0x9C, 0x5F, 0x78, 0xD0, 659 0x83, 0x1F, 0xAB, 0x85, 0x13, 0x56, 0x69, 0xB5, 660 0x06, 0x47, 0x62, 0x37, 0x27, 0x15, 0x14, 0x05, 661 0x4A, 0xF4, 0x6A, 0x68, 0x2A, 0x6A, 0xC3, 0x5A, 662 0xDF, 0xB5, 0xAE, 0x2F, 0x8D, 0x8F, 0x21, 0xDB, 663 0x33, 0x00, 0x9B, 0xD4, 0xC4, 0x08, 0x3B, 0x81, 664 0x63, 0x4C, 0xB0, 0x39, 0x4C, 0x0A, 0xD5, 0x71, 665 0x3E, 0x5A, 0x50, 0x58, 0x9C, 0x07, 0x89, 0x79, 666 0x79, 0x2F, 0x0B, 0xD9, 0x50, 0xBC, 0xCF, 0x46, 667 0x7A, 0x68, 0x5C, 0xBF, 0x1E, 0x49, 0x77, 0x92, 668 0x85, 0x11, 0x39, 0xA6, 0x2F, 0xDA, 0x7B, 0xFA, 669 0x72, 0x87, 0x06, 0xCD, 0x84, 0x41, 0x20, 0x1B, 670 0x66, 0x3F, 0x42, 0x0C, 0x9E, 0x19, 0xD3, 0x18, 671 0x57, 0xA0, 0xEE, 0x16, 0x3A, 0xC7, 0xF9, 0xD3, 672 0x8B, 0xC9, 0x24, 0x70, 0x70, 0x51, 0x7C, 0x06, 673 0x68, 0xD3, 0x29, 0xC9, 0x85, 0x9A, 0x1C, 0xE6, 674 0x8C, 0x17, 0xF4, 0x88, 0xDF, 0xEA, 0xFF, 0x44, 675 0x8D, 0x54, 0xBE, 0x22, 0x07, 0xA5, 0x7C, 0x0C, 676 0xF4, 0x8D, 0xB1, 0x0C, 0x07, 0xED, 0xBD, 0x28, 677 0x19, 0xDA, 0x07, 0x71, 0xA8, 0xA1, 0xE0, 0xDD, 678 0xEE, 0x08, 0x18, 0xA5, 0xBD, 0xDD, 0x32, 0x0B, 679 0x70, 0x1C, 0xD9, 0xEE, 0x19, 0xC2, 0xAE, 0x5C, 680 0xE3, 0x02, 0x74, 0x70, 0x96, 0x61, 0xB1, 0x73, 681 0x3B, 0xD6, 0x74, 0xC0, 0x82, 0xA9, 0x1F, 0xE0, 682 0xF1, 0x22, 0x50, 0xF3, 0x9F, 0xE5, 0x13, 0x92, 683 0xFC, 0x0A, 0x1A, 0x3C, 0xB4, 0x46, 0xFB, 0x81, 684 0x00, 0x84, 0xA4, 0x5E, 0x6B, 0x8C, 0x25, 0x6E, 685 0xD7, 0xB7, 0x3B, 0x01, 0x65, 0xFB, 0x0B, 0x46, 686 0x67, 0x27, 0x2D, 0x51, 0xAD, 0xB5, 0xE0, 0x85, 687 0xC2, 0x95, 0xA3, 0xE3, 0x68, 0x4D, 0x9E, 0x8C, 688 0x11, 0x53, 0xF0, 0xB2, 0x85, 0xFA, 0x52, 0x4E, 689 0xEC, 0xF9, 0xB7, 0x3C, 0x89, 0x2C, 0x4D, 0x32, 690 0x9A, 0xCB, 0x17, 0xF3, 0x16, 0xBF, 0x44, 0x40, 691 0xE9, 0x5E, 0x51, 0x8C, 0x1E, 0x52, 0x0A, 0xC2, 692 0xCD, 0xA5, 0xAA, 0x03, 0x27, 0xB0, 0x8F, 0x64, 693 0xDB, 0xD7, 0x03, 0x01, 0x8A, 0x24, 0x28, 0x7E, 694 0x53, 0x6F, 0x24, 0xFD, 0xAA, 0xE3, 0x78, 0xB6, 695 0xA5, 0x5D, 0x5A, 0x67, 0x20, 0xE2, 0xBE, 0x3A, 696 0x2B, 0xE7, 0x86, 0x11, 0xDD, 0x96, 0xCB, 0x09, 697 0x65, 0xA0, 0x36, 0xF9, 0xB0, 0x20, 0x21, 0x8E, 698 0xDB, 0xC0, 0x73, 0xC7, 0x79, 0xD8, 0xDA, 0xC2, 699 0x66, 0x13, 0x64, 0x34, 0x0C, 0xE1, 0x22, 0x24, 700 0x61, 0x67, 0x08, 0x39, 0x97, 0x3F, 0x33, 0x96, 701 0xF2, 0x44, 0x18, 0x75, 0xBB, 0xF5, 0x6A, 0x5C, 702 0x2C, 0xAE, 0x2A, 0x79, 0x3D, 0x47, 0x19, 0x53, 703 0x50, 0x6C, 0x9F, 0xB3, 0x82, 0x55, 0x09, 0x78, 704 0x7B, 0xAD, 0xBC, 0x05, 0x6F, 0xC8, 0x3D, 0xB6, 705 0x7B, 0x30, 0xE6, 0xBB, 0x8B, 0xD0, 0x2F, 0xA6, 706 0x15, 0xCC, 0x77, 0x8C, 0x21, 0xBA, 0x03, 0xED, 707 0x56, 0x85, 0x82, 0x4F, 0x97, 0x8C, 0x59, 0x4F, 708 0x53, 0x5A, 0xD2, 0x70, 0xD9, 0x07, 0xB3, 0xBD, 709 0x1D, 0x3E, 0x97, 0xD4, 0x7D, 0x93, 0x35, 0xA4, 710 0x82, 0x6E, 0xEA, 0x4B, 0xC8, 0x6C, 0xF5, 0xE6, 711 0xEB, 0xAF, 0x11, 0xB0, 0xB4, 0x71, 0x8F, 0x7B, 712 0xC4, 0x8C, 0xE2, 0x66, 0x51, 0x31, 0x99, 0x01, 713 0x5B, 0xE7, 0x48, 0xF8, 0x4C, 0xE3, 0x9A, 0x77, 714 0xF1, 0xC6, 0x09, 0xDE, 0x76, 0xD4, 0xE3, 0x5C, 715 0xDF, 0xA3, 0xEC, 0x3C, 0x86, 0x7C, 0xA5, 0x3F, 716 0x8D, 0x2A, 0xF3, 0x0B, 0x54, 0xB7, 0x54, 0xA2, 717 0xC1, 0x69, 0xC0, 0x6F, 0x1C, 0x1C, 0x76, 0xD8, 718 0x9F, 0x7A, 0x32, 0xB0, 0xA1, 0xA6, 0x9B, 0xB7, 719 0x21, 0x56, 0x28, 0x2D, 0xB6, 0x97, 0x03, 0x5E, 720 0x65, 0xE3, 0x74, 0x9A, 0x96, 0x7A, 0xF9, 0xF5, 721 0xDD, 0x85, 0xCA, 0x4C, 0xB4, 0x03, 0x6A, 0xCD, 722 0xB6, 0x01, 0xDC, 0x8B, 0xD8, 0x73, 0x8F, 0x4D, 723 0x7F, 0xD6, 0x71, 0xEC, 0xD7, 0xC6, 0x0B, 0x5F, 724 0x09, 0x21, 0xB2, 0x78, 0xA8, 0xAF, 0xAD, 0x2C, 725 0xD4, 0x93, 0x9F, 0x71, 0xF7, 0x05, 0x89, 0x42, 726 0xC9, 0x15, 0x6F, 0x2D, 0xE0, 0xBA, 0xC3, 0xD6, 727 0xBF, 0xAC, 0xF8, 0x24, 0x58, 0x79, 0xA9, 0xC4, 728 0xB4, 0x49, 0x3E, 0x0B, 0x9E, 0x5E, 0xE4, 0xA6, 729 0x8B, 0xE8, 0xDE, 0xFB, 0x4A, 0xF1, 0x69, 0x9D, 730 0x4F, 0x77, 0x83, 0x78, 0x55, 0x19, 0x42, 0x45, 731 0xBF, 0xBD, 0xBD, 0x12, 0x0F, 0xEF, 0x8D, 0x04, 732 0xD8, 0x5C, 0xF2, 0xC9, 0xF1, 0xA6, 0xE0, 0x3E, 733 0x22, 0xA8, 0xA2, 0x5E, 0x66, 0xE9, 0xAB, 0xB4, 734 0x71, 0xBE, 0x4B, 0x3F, 0xBE, 0xC4, 0xBA, 0x4A 735 }, 736 .len = 2048 737 }, 738 .ciphertext = { 739 .data = { 740 0x5E, 0x86, 0x02, 0x64, 0x32, 0xBF, 0x70, 0xC2, 741 0x19, 0x99, 0x7F, 0x47, 0x0D, 0xA4, 0x91, 0xA8, 742 0x7A, 0xC0, 0xA5, 0x7E, 0xA8, 0x6C, 0x88, 0x00, 743 0xEA, 0xB5, 0x96, 0x6B, 0x25, 0xBD, 0xE7, 0x42, 744 0xDB, 0x35, 0xE7, 0x92, 0x2B, 0x00, 0x82, 0x35, 745 0xD4, 0x2C, 0xCF, 0x47, 0xC8, 0xB2, 0xB3, 0x57, 746 0xF7, 0x24, 0x83, 0x7F, 0xC5, 0x2E, 0xF1, 0xC9, 747 0x57, 0x1A, 0xEF, 0xC2, 0x3A, 0x8C, 0x1E, 0x92, 748 0x88, 0x05, 0xAF, 0x55, 0xE6, 0x0C, 0xA7, 0x6B, 749 0x59, 0x62, 0x32, 0x21, 0xF1, 0xFF, 0xB5, 0x5B, 750 0x22, 0x26, 0x6F, 0x0A, 0x36, 0xDC, 0x0D, 0x16, 751 0x3B, 0x4E, 0x7C, 0xA3, 0x75, 0x30, 0x3F, 0xB0, 752 0x99, 0x38, 0x42, 0x8E, 0x89, 0xA3, 0x7C, 0x99, 753 0x2F, 0x0A, 0xA1, 0xC7, 0xFD, 0x2D, 0x21, 0x8F, 754 0xBD, 0xD4, 0x11, 0xEA, 0x55, 0xF5, 0x6A, 0x50, 755 0x90, 0x3B, 0x60, 0x57, 0xE1, 0x86, 0x1E, 0x50, 756 0x28, 0x67, 0x3F, 0xD2, 0xF3, 0xBD, 0xFA, 0xEE, 757 0xD6, 0x5A, 0x38, 0x30, 0xA3, 0xDD, 0x78, 0xC4, 758 0x37, 0x59, 0x52, 0xC0, 0x92, 0x54, 0xC7, 0x53, 759 0xF0, 0xE6, 0xA9, 0x63, 0x1F, 0x9B, 0x97, 0xFB, 760 0x40, 0x23, 0xFE, 0x52, 0x6A, 0xF0, 0x3A, 0x94, 761 0xEB, 0x6A, 0x9E, 0x8F, 0xC5, 0x05, 0x9C, 0x04, 762 0x1B, 0x00, 0x34, 0x96, 0x12, 0xDA, 0x60, 0xC6, 763 0xAA, 0x1A, 0x3E, 0xEB, 0x70, 0x17, 0x10, 0xBC, 764 0xF5, 0xC2, 0xE2, 0x71, 0xF3, 0xB8, 0x1D, 0xCE, 765 0x47, 0x94, 0x21, 0x71, 0x34, 0x8C, 0xCC, 0xDD, 766 0x27, 0xCE, 0x6F, 0x68, 0xFF, 0x91, 0x4E, 0xC4, 767 0xA0, 0xCA, 0xB0, 0x4F, 0x17, 0x53, 0x73, 0x92, 768 0x6C, 0xA8, 0x16, 0x06, 0xE3, 0xD9, 0x92, 0x99, 769 0xBE, 0xB0, 0x7D, 0x56, 0xF2, 0x72, 0x30, 0xDA, 770 0xC4, 0x4E, 0xF4, 0xA6, 0x8F, 0xD2, 0xC7, 0x8A, 771 0xA2, 0xFC, 0xF5, 0x63, 0x17, 0x48, 0x56, 0x4D, 772 0xBE, 0x94, 0xFE, 0xF5, 0xB1, 0xA9, 0x96, 0xAB, 773 0x3F, 0x2D, 0xD4, 0x15, 0xEE, 0x4F, 0xFA, 0x2C, 774 0xBE, 0x91, 0xB7, 0xBC, 0x18, 0xC8, 0xDB, 0x02, 775 0x20, 0x29, 0xF1, 0xC1, 0x88, 0x8C, 0x8D, 0xD1, 776 0xB3, 0x4E, 0x93, 0x96, 0xDD, 0x22, 0xAB, 0x55, 777 0xB5, 0x9F, 0x8B, 0x20, 0xAE, 0xC6, 0x0E, 0x26, 778 0xC6, 0xFE, 0x2D, 0x5F, 0x95, 0x89, 0x06, 0x15, 779 0x3D, 0x88, 0x16, 0xEC, 0x9B, 0x4A, 0x1B, 0x5D, 780 0x2E, 0xB2, 0x13, 0x56, 0x9F, 0x33, 0xB3, 0x45, 781 0xBF, 0x5F, 0x25, 0x7E, 0x75, 0x22, 0xD2, 0xE6, 782 0x9F, 0xAC, 0x2D, 0xFD, 0x99, 0xC2, 0x9B, 0xFC, 783 0xD7, 0x7A, 0x9B, 0x05, 0x30, 0x0F, 0xB7, 0x4A, 784 0xFE, 0x24, 0xDD, 0x39, 0x9B, 0xBB, 0x2F, 0xDD, 785 0xF9, 0xFB, 0xCA, 0x6C, 0x87, 0xBA, 0x73, 0xD4, 786 0x85, 0x7B, 0xB2, 0x6F, 0x5C, 0xD8, 0xFB, 0xE9, 787 0x41, 0x24, 0x3A, 0x3B, 0x4F, 0x91, 0x77, 0xA2, 788 0x35, 0x78, 0xE5, 0x4C, 0xFE, 0x8B, 0x04, 0x03, 789 0xD3, 0x84, 0xA9, 0x1C, 0xA7, 0x7C, 0x45, 0x13, 790 0x7D, 0xC5, 0x0A, 0x2F, 0x02, 0xF8, 0x56, 0xD5, 791 0x5F, 0x35, 0xED, 0x06, 0xBF, 0x67, 0xBA, 0x51, 792 0x02, 0x95, 0x36, 0xF2, 0x9A, 0xBA, 0x9D, 0xF6, 793 0xD6, 0x77, 0x50, 0xC9, 0xFC, 0x1E, 0x32, 0xB5, 794 0x2F, 0xEA, 0x3C, 0x76, 0xB4, 0xE1, 0xCC, 0x42, 795 0xEB, 0x71, 0x79, 0xD3, 0x7D, 0xB7, 0xC0, 0x88, 796 0x25, 0x81, 0xE8, 0xC0, 0xB8, 0x38, 0x7E, 0x7B, 797 0xFD, 0x18, 0xAB, 0x08, 0xB2, 0x71, 0xA5, 0xAD, 798 0xA7, 0xBE, 0x48, 0x5F, 0x86, 0xE2, 0x41, 0x3D, 799 0x7C, 0x37, 0x7A, 0xAB, 0xDB, 0xE0, 0x3B, 0x3D, 800 0xB6, 0xE8, 0x23, 0x7C, 0xF1, 0x8F, 0xBA, 0xB7, 801 0xE9, 0x78, 0x0B, 0xCA, 0x67, 0xA8, 0x10, 0x36, 802 0xEB, 0x72, 0xED, 0xDD, 0xF0, 0x5C, 0x74, 0x8E, 803 0xE5, 0x2A, 0xAE, 0x6E, 0xC4, 0xF1, 0xFC, 0xD8, 804 0xEE, 0x56, 0x07, 0x88, 0x02, 0xDC, 0x9D, 0xB7, 805 0xF9, 0x13, 0xE1, 0xE1, 0x9D, 0x89, 0x26, 0x0B, 806 0x23, 0x74, 0x4A, 0x43, 0xAA, 0xA0, 0xA8, 0x97, 807 0x85, 0x15, 0x58, 0xAB, 0x2B, 0xB5, 0xDA, 0x1A, 808 0xBA, 0x29, 0x62, 0xCF, 0xDD, 0xA3, 0xBA, 0x9D, 809 0x7D, 0x83, 0xA5, 0x18, 0xD4, 0x03, 0x0F, 0x61, 810 0x9F, 0xB1, 0x7E, 0xEC, 0xD2, 0x6E, 0xAF, 0xCF, 811 0x1E, 0xC1, 0x88, 0x97, 0x99, 0xD6, 0xBF, 0x47, 812 0xB9, 0x0A, 0x69, 0x11, 0x3A, 0x55, 0x8B, 0x1D, 813 0x2D, 0xFF, 0x78, 0xC8, 0xDE, 0x82, 0x29, 0xD6, 814 0x08, 0x3C, 0xC4, 0xCB, 0x2F, 0x01, 0xD0, 0xE8, 815 0xB1, 0x75, 0x5E, 0x23, 0xE0, 0x37, 0x7C, 0x1C, 816 0xB6, 0xD9, 0x47, 0xDE, 0x23, 0x87, 0xD3, 0x68, 817 0x47, 0x46, 0x78, 0xF3, 0xBF, 0x54, 0xA3, 0xB9, 818 0x54, 0xD5, 0xC5, 0x0A, 0x7C, 0x92, 0x2A, 0xC2, 819 0x14, 0x76, 0xA6, 0x5C, 0x6D, 0x0B, 0x94, 0x56, 820 0x00, 0x6B, 0x5C, 0x27, 0xDE, 0x77, 0x9B, 0xF1, 821 0xB1, 0x8C, 0xA7, 0x49, 0x77, 0xFC, 0x4E, 0x29, 822 0x23, 0x8F, 0x2F, 0xF7, 0x83, 0x8D, 0x36, 0xD9, 823 0xAB, 0x0E, 0x78, 0xF5, 0x90, 0x05, 0xB9, 0x79, 824 0x70, 0x88, 0x59, 0x6F, 0xE2, 0xC5, 0xD7, 0x80, 825 0x95, 0x04, 0x29, 0xE0, 0xFA, 0x37, 0xE8, 0x8B, 826 0xC5, 0x21, 0x51, 0x1A, 0x62, 0xCE, 0x93, 0xAF, 827 0x1A, 0xFE, 0xC3, 0x6F, 0x86, 0x94, 0x5E, 0x13, 828 0xA6, 0x9A, 0x26, 0xF0, 0xB5, 0x7C, 0x41, 0x9A, 829 0x80, 0xB8, 0x84, 0x5A, 0x55, 0xA9, 0xB0, 0x6A, 830 0xFA, 0xEB, 0x46, 0x32, 0x0B, 0xE2, 0x9C, 0x65, 831 0x86, 0x11, 0x39, 0x7E, 0xAF, 0x93, 0x19, 0x09, 832 0x70, 0x40, 0x80, 0x14, 0xBA, 0x1D, 0xB3, 0x62, 833 0x5B, 0xF3, 0x9A, 0x21, 0x98, 0x7E, 0x63, 0xB6, 834 0x1A, 0xBD, 0x65, 0x98, 0x35, 0x2A, 0xA9, 0x76, 835 0x29, 0x59, 0x84, 0x25, 0x81, 0xB8, 0xDE, 0x25, 836 0x32, 0x10, 0x50, 0xB7, 0xD3, 0xB3, 0x69, 0xC8, 837 0xE1, 0x33, 0xCB, 0x9E, 0x9C, 0x7A, 0x7C, 0xD2, 838 0x6C, 0x92, 0x97, 0xA9, 0xFA, 0xAF, 0x30, 0xBA, 839 0x9A, 0xB3, 0x3D, 0x9A, 0xE5, 0x0A, 0x9B, 0x8D, 840 0x89, 0xE2, 0x2B, 0xB8, 0xBC, 0xF0, 0x23, 0xFF, 841 0x7B, 0x0D, 0x00, 0x36, 0xEE, 0x79, 0xCB, 0xA5, 842 0x70, 0x4C, 0x66, 0x02, 0x79, 0x2E, 0x5B, 0x83, 843 0xCE, 0x55, 0x8B, 0x89, 0xD6, 0xE3, 0x71, 0x63, 844 0xBC, 0xB1, 0x5F, 0x67, 0xB4, 0x7E, 0x05, 0x0D, 845 0xAC, 0x6D, 0x4E, 0x2C, 0xA5, 0xF4, 0x47, 0x89, 846 0xAC, 0x5E, 0xBE, 0x2F, 0xFC, 0x9B, 0x2F, 0x0B, 847 0xBE, 0x63, 0x54, 0x97, 0xBB, 0x23, 0x27, 0xCD, 848 0xB9, 0xB2, 0x28, 0x0D, 0xA4, 0x78, 0x2C, 0xAB, 849 0xD1, 0xC9, 0x94, 0x40, 0x54, 0xF2, 0x35, 0x61, 850 0x49, 0x01, 0x87, 0x55, 0xA5, 0xB5, 0x1E, 0x84, 851 0x92, 0x9E, 0xC1, 0xA4, 0x0B, 0x66, 0x2B, 0xF8, 852 0xAF, 0xC3, 0x1E, 0xAF, 0x66, 0x3F, 0x6F, 0x5F, 853 0x70, 0xEC, 0x25, 0x29, 0xE4, 0x65, 0xB2, 0x04, 854 0x47, 0xF6, 0x3C, 0xB5, 0x5F, 0x66, 0x9F, 0xA4, 855 0x1B, 0xFC, 0xA2, 0xD5, 0x3E, 0x84, 0xBA, 0x88, 856 0x0D, 0xF1, 0x6A, 0xF2, 0xF6, 0x1D, 0xF1, 0xA3, 857 0x45, 0xB2, 0x51, 0xD8, 0xA2, 0x8F, 0x55, 0xA6, 858 0x89, 0xC4, 0x15, 0xD5, 0x73, 0xA8, 0xB1, 0x31, 859 0x66, 0x9E, 0xC1, 0x43, 0xE1, 0x5D, 0x4E, 0x04, 860 0x84, 0x8F, 0xF2, 0xBC, 0xE1, 0x4E, 0x4D, 0x60, 861 0x81, 0xCA, 0x53, 0x34, 0x95, 0x17, 0x3B, 0xAE, 862 0x8F, 0x95, 0xA7, 0xC6, 0x47, 0xC6, 0xAC, 0x32, 863 0x12, 0x39, 0xCA, 0xEF, 0xE0, 0x07, 0xBF, 0x17, 864 0x4F, 0xDC, 0x1B, 0x4E, 0x3C, 0x84, 0xF1, 0x9F, 865 0x43, 0x70, 0x19, 0xE6, 0xF3, 0x8B, 0x8B, 0x5D, 866 0xDB, 0xD2, 0x9D, 0xD4, 0xB2, 0x30, 0x45, 0x55, 867 0xA2, 0x67, 0xA2, 0x76, 0x4A, 0x74, 0xAD, 0x88, 868 0x71, 0xE6, 0x3E, 0x13, 0x06, 0x30, 0x17, 0xE1, 869 0xEF, 0xAC, 0x71, 0xFB, 0x43, 0xCD, 0xF6, 0xFA, 870 0x0E, 0x4C, 0x4E, 0x16, 0xF6, 0x6A, 0x09, 0x86, 871 0x6B, 0xEA, 0x47, 0x6C, 0x70, 0xE7, 0xAD, 0xA2, 872 0xE0, 0xFD, 0x7F, 0xF0, 0x5C, 0x21, 0x53, 0x0F, 873 0x28, 0xA1, 0x43, 0xE1, 0x06, 0xCA, 0x0B, 0x31, 874 0x88, 0x22, 0xA6, 0xE6, 0x34, 0x5B, 0xE6, 0xCF, 875 0x25, 0x81, 0x63, 0xFF, 0x78, 0x66, 0x85, 0x19, 876 0xE2, 0x0A, 0x7E, 0x81, 0x8A, 0x17, 0x1A, 0x18, 877 0x8A, 0x5F, 0x5D, 0x9E, 0x82, 0x13, 0x10, 0xB9, 878 0xD3, 0xE6, 0x93, 0x1C, 0xE4, 0x2C, 0xCB, 0x49, 879 0x1E, 0xB6, 0x36, 0x13, 0xBF, 0x28, 0xEE, 0xCC, 880 0x49, 0xF5, 0x79, 0xFC, 0x20, 0x65, 0xBD, 0xE8, 881 0xF0, 0x1B, 0x4E, 0xC0, 0x0D, 0x3E, 0x89, 0x91, 882 0xCC, 0x64, 0x10, 0xC0, 0x2A, 0x2B, 0xA3, 0xFA, 883 0x60, 0x3D, 0xC3, 0x52, 0x2F, 0x93, 0xDE, 0xB7, 884 0x6E, 0x8A, 0xDF, 0x6C, 0x08, 0xCC, 0x8B, 0x3B, 885 0xC8, 0x50, 0xEF, 0x58, 0x64, 0x9A, 0x3D, 0x16, 886 0x70, 0x94, 0x11, 0xD8, 0x94, 0x2B, 0x70, 0x91, 887 0x10, 0x70, 0x88, 0xF0, 0x40, 0x75, 0x9A, 0x2B, 888 0x39, 0xA1, 0x27, 0x3F, 0x2E, 0x91, 0xEA, 0xA1, 889 0xCC, 0x12, 0xC1, 0x7F, 0x73, 0x8C, 0x5C, 0x6B, 890 0xFC, 0xC5, 0x6A, 0x1C, 0x05, 0xF1, 0x3D, 0x30, 891 0x82, 0x4A, 0x65, 0x35, 0xCE, 0x80, 0x10, 0xBB, 892 0x41, 0x94, 0xFB, 0x84, 0x80, 0x7B, 0x91, 0xC4, 893 0x4D, 0xA3, 0x5F, 0xB9, 0xFB, 0xF9, 0xC9, 0x1D, 894 0x4F, 0x99, 0x1C, 0x1F, 0x47, 0x44, 0x89, 0x0E, 895 0xED, 0x6D, 0xB5, 0x85, 0x41, 0x94, 0xEF, 0xF9, 896 0x2E, 0xA0, 0xC8, 0xCA, 0xFB, 0x44, 0x02, 0xC6, 897 0xBF, 0x96, 0x87, 0x80, 0x1D, 0xEF, 0x2A, 0x81, 898 0xAB, 0xB2, 0x56, 0xDF, 0x54, 0x8B, 0xAB, 0xAF, 899 0xFE, 0x18, 0x8C, 0xAA, 0xD4, 0x00, 0x17, 0xBE, 900 0xCF, 0x06, 0xE5, 0xA6, 0xBF, 0x5A, 0x52, 0x3B, 901 0x4E, 0xF5, 0x65, 0x60, 0x95, 0xDE, 0x8A, 0x25, 902 0x88, 0xA5, 0x24, 0x96, 0x29, 0x13, 0x0D, 0x19, 903 0x45, 0x95, 0x91, 0x08, 0xD2, 0x9C, 0x4C, 0x34, 904 0x42, 0xF0, 0xA5, 0x72, 0xEB, 0xFB, 0x5E, 0xAA, 905 0x68, 0x80, 0x82, 0xAC, 0x34, 0xAD, 0x89, 0xF6, 906 0xAF, 0x54, 0x82, 0xCF, 0x98, 0x8C, 0x75, 0x63, 907 0x8D, 0xBD, 0x1C, 0x2A, 0xD7, 0x00, 0xA7, 0x8E, 908 0xB9, 0x33, 0xB6, 0x3B, 0x95, 0x9A, 0x59, 0x1D, 909 0x3F, 0x23, 0x6B, 0x18, 0xF8, 0x4F, 0x1A, 0x8D, 910 0xC0, 0x26, 0x9F, 0x87, 0x61, 0xB6, 0xC6, 0x60, 911 0x38, 0x22, 0x73, 0x1C, 0x99, 0x23, 0xEF, 0xD9, 912 0xFD, 0xCB, 0x54, 0x74, 0xBB, 0x77, 0x14, 0xA3, 913 0xA9, 0xE6, 0x7C, 0x7E, 0x03, 0x3A, 0x13, 0x6E, 914 0x1D, 0x6F, 0x64, 0xB3, 0xFA, 0xFB, 0x52, 0xDE, 915 0xDF, 0x08, 0xFB, 0x6F, 0xC5, 0xFA, 0x51, 0x6A, 916 0x69, 0x29, 0x9B, 0x96, 0xE8, 0x16, 0xC8, 0xD1, 917 0xE4, 0x19, 0xBD, 0x14, 0x74, 0x27, 0xE7, 0x10, 918 0xF0, 0xC3, 0xE2, 0xA7, 0x60, 0x48, 0xBF, 0xDD, 919 0xC4, 0x0D, 0xD0, 0xF2, 0xEF, 0xA6, 0xC9, 0xA2, 920 0x73, 0xD1, 0xCF, 0x41, 0xE1, 0x3B, 0xE5, 0x49, 921 0x91, 0x5D, 0x09, 0xFD, 0x1D, 0x95, 0x29, 0xDB, 922 0x52, 0x48, 0xEB, 0xF5, 0x1D, 0xF8, 0x06, 0x67, 923 0x75, 0xF2, 0x57, 0xA4, 0x20, 0x60, 0xEA, 0xB0, 924 0x85, 0x93, 0x7C, 0xDD, 0x52, 0x01, 0xD4, 0x57, 925 0xA8, 0x31, 0x2D, 0xF9, 0x0A, 0xD2, 0x2A, 0xD1, 926 0x34, 0x18, 0x35, 0x16, 0xB6, 0x8B, 0x0F, 0x0B, 927 0xCF, 0x50, 0x80, 0xFE, 0x76, 0xCC, 0x4F, 0x30, 928 0x98, 0x19, 0x16, 0x3D, 0x01, 0xEA, 0x8D, 0x8A, 929 0x3D, 0xDC, 0xFB, 0x1F, 0x77, 0x8D, 0x72, 0x76, 930 0x02, 0x3C, 0x5D, 0xEE, 0x55, 0x13, 0x5B, 0x6E, 931 0x5A, 0x2D, 0xD5, 0x77, 0xD7, 0x01, 0x84, 0x7D, 932 0x21, 0x8C, 0xDD, 0x94, 0x7D, 0x31, 0x3D, 0xF0, 933 0xE7, 0x28, 0xF5, 0x72, 0x36, 0x60, 0xE0, 0x59, 934 0x5F, 0xFE, 0x38, 0xF8, 0x2F, 0xDB, 0x9E, 0x55, 935 0x5A, 0xD6, 0xBA, 0x6C, 0x87, 0xF3, 0xC0, 0x76, 936 0x5F, 0xA3, 0x0A, 0xC3, 0xA3, 0x8D, 0x0E, 0x52, 937 0xA8, 0xDA, 0x26, 0x3A, 0xF9, 0x3E, 0x36, 0xB1, 938 0x06, 0xF8, 0x20, 0x2D, 0x1C, 0x0B, 0x93, 0xBB, 939 0xD3, 0x64, 0x77, 0xCE, 0x11, 0xFC, 0xA2, 0x0E, 940 0x1B, 0x5B, 0x9E, 0x13, 0x9F, 0x20, 0x8B, 0xAA, 941 0xCD, 0x72, 0xD7, 0xA6, 0xF3, 0x1E, 0x4F, 0x72, 942 0xC6, 0x49, 0x0F, 0x7B, 0xF0, 0x4C, 0x61, 0x1F, 943 0x43, 0x0D, 0x4F, 0x0D, 0x33, 0x13, 0xED, 0x63, 944 0xE5, 0xDB, 0x71, 0xAB, 0xA4, 0x83, 0xEF, 0xDC, 945 0x86, 0x9D, 0x4B, 0xBD, 0x1B, 0x8A, 0xFE, 0x39, 946 0xA8, 0x8B, 0xBA, 0x4C, 0x85, 0x28, 0xFC, 0xB3, 947 0x62, 0x85, 0xD2, 0xF0, 0x38, 0xD0, 0x4B, 0xA4, 948 0xD1, 0x3B, 0xD4, 0xD0, 0x2C, 0x78, 0x6C, 0x6A, 949 0xC2, 0x64, 0x2C, 0x31, 0x4A, 0xD8, 0x69, 0x24, 950 0xED, 0x77, 0x7D, 0x68, 0x9A, 0xA1, 0x78, 0x81, 951 0xD9, 0x7E, 0x6C, 0xFE, 0x0A, 0x0D, 0x76, 0xF7, 952 0x4B, 0x58, 0xE7, 0xC9, 0xB5, 0x11, 0x07, 0x87, 953 0x88, 0x6A, 0x9F, 0x3D, 0xE0, 0xEE, 0xCC, 0x60, 954 0x6B, 0x6B, 0xE6, 0xB5, 0x54, 0x8B, 0x32, 0x1F, 955 0x04, 0x1D, 0x0E, 0x9E, 0xFA, 0x6D, 0xB0, 0xE0, 956 0x6D, 0xF9, 0x79, 0xB4, 0xAB, 0x5E, 0xDF, 0x23, 957 0x7F, 0x95, 0xAD, 0x80, 0x17, 0x23, 0x90, 0x1F, 958 0xF0, 0xC3, 0xD9, 0x2D, 0xAC, 0x3F, 0x63, 0xF5, 959 0x77, 0xC5, 0x05, 0xAC, 0x06, 0xB6, 0xA1, 0xB4, 960 0xA2, 0x40, 0xB3, 0x99, 0x34, 0x7D, 0x31, 0xD4, 961 0xB1, 0xD4, 0xC1, 0xBB, 0x71, 0x1E, 0xDA, 0x3F, 962 0xA9, 0x12, 0x68, 0xFA, 0x5B, 0x20, 0x24, 0x6D, 963 0x4D, 0x72, 0x43, 0x18, 0xBF, 0x66, 0x71, 0x69, 964 0x26, 0x7D, 0x77, 0x78, 0xF8, 0xE5, 0x20, 0xAE, 965 0x56, 0x6C, 0x0F, 0x72, 0x94, 0x42, 0x85, 0x4F, 966 0xE4, 0xFB, 0x32, 0x26, 0x1B, 0x1C, 0x6E, 0x0B, 967 0xF0, 0xB8, 0x58, 0x00, 0xD2, 0x36, 0x64, 0xAD, 968 0xA9, 0x00, 0xCE, 0x35, 0x3C, 0x88, 0x79, 0x94, 969 0x0C, 0x0C, 0x9B, 0xF2, 0xDA, 0xBD, 0xCA, 0x93, 970 0x37, 0x26, 0xD3, 0x08, 0x54, 0xD2, 0x0D, 0xBC, 971 0x5D, 0x43, 0x5F, 0xCF, 0x28, 0xB5, 0xAA, 0x15, 972 0x28, 0x46, 0x45, 0x6B, 0xE8, 0xDF, 0xE8, 0xCE, 973 0x8F, 0xC0, 0x1A, 0x53, 0x63, 0x3B, 0x53, 0x75, 974 0xDD, 0x43, 0x1F, 0x07, 0x0A, 0xD5, 0xA1, 0x2A, 975 0x6E, 0x28, 0xE1, 0xD7, 0xD0, 0x09, 0xCF, 0x62, 976 0xC1, 0x5F, 0x21, 0xDB, 0xC5, 0x40, 0x99, 0x48, 977 0x87, 0x6E, 0x11, 0xF5, 0x5A, 0x4E, 0xBC, 0xF9, 978 0xA8, 0x02, 0x7C, 0x47, 0x39, 0xA5, 0xD8, 0x52, 979 0xB1, 0x80, 0xDC, 0xFE, 0x08, 0x4B, 0x5D, 0x09, 980 0xDE, 0x06, 0xF3, 0x2A, 0xAD, 0x14, 0x76, 0x40, 981 0x2F, 0x82, 0x28, 0x6A, 0xB6, 0x43, 0xEF, 0x71, 982 0x63, 0xC2, 0x56, 0xEB, 0x3B, 0x4B, 0x52, 0x2F, 983 0x93, 0xD3, 0x18, 0x3E, 0x18, 0xA8, 0xF7, 0x58, 984 0xFC, 0x8B, 0x3D, 0x4D, 0x4B, 0x72, 0xBD, 0xF7, 985 0x04, 0xC9, 0xB8, 0xD7, 0x6C, 0x8C, 0x67, 0xBB, 986 0x4C, 0x9B, 0x57, 0xF7, 0x22, 0x4E, 0x41, 0xB6, 987 0xFD, 0xD9, 0xF8, 0x41, 0x62, 0x0F, 0xFF, 0xAA, 988 0xC6, 0x87, 0x95, 0xFF, 0xFD, 0x58, 0xD9, 0xB2, 989 0xBA, 0x47, 0x61, 0x24, 0xEA, 0x92, 0x6E, 0x74, 990 0xB3, 0xDA, 0xE5, 0x83, 0x99, 0x24, 0xB1, 0x71, 991 0x2A, 0x33, 0xB2, 0xD5, 0x8F, 0xF0, 0x32, 0xCE, 992 0x37, 0xCF, 0xC7, 0x1C, 0xE8, 0xDE, 0x46, 0x78, 993 0x96, 0x97, 0xF6, 0x73, 0x90, 0xE5, 0x71, 0x05, 994 0xEA, 0x0D, 0xC2, 0x1D, 0x9E, 0x43, 0x34, 0xBC, 995 0x8F, 0x45, 0xE5, 0x08, 0xCA, 0x20, 0x0C, 0x84 996 }, 997 .len = 2048 998 }, 999 .auth_tag = { 1000 .data = { 1001 0xD0, 0x62, 0x1F, 0x20, 0x1C, 0xE8, 0xDD, 0x36, 1002 0x00, 0x74, 0xF6, 0xD7, 0xFD, 0x2C, 0xA0, 0xAF 1003 }, 1004 .len = 16 1005 } 1006 }; 1007 1008 static const struct aead_test_data gcm_J0_test_case_1 = { 1009 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1010 .key = { 1011 .data = { 1012 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1013 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, 1014 .len = 16 1015 }, 1016 .iv = { 1017 .data = { 1018 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1019 0xde, 0xca, 0xf8, 0x88, 0x00, 0x00, 0x00, 0x01 }, 1020 .len = 0 1021 }, 1022 .aad = { 1023 .data = gcm_aad_zero_text, 1024 .len = 0 1025 }, 1026 .plaintext = { 1027 .data = { 1028 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1029 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1030 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1031 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1032 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1033 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1034 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1035 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, 1036 .len = 64 1037 }, 1038 .ciphertext = { 1039 .data = { 1040 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24, 1041 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c, 1042 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0, 1043 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e, 1044 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c, 1045 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05, 1046 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97, 1047 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85 1048 }, 1049 .len = 64 1050 }, 1051 .auth_tag = { 1052 .data = { 1053 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, 1054 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 }, 1055 .len = 16 1056 } 1057 }; 1058 1059 /** AES-GCM-192 Test Vectors */ 1060 static const struct aead_test_data gcm_test_case_192_1 = { 1061 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1062 .key = { 1063 .data = { 1064 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1065 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1066 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1067 }, 1068 .len = 24 1069 }, 1070 .iv = { 1071 .data = { 1072 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1073 0x00, 0x00, 0x00, 0x00 1074 }, 1075 .len = 12 1076 }, 1077 .aad = { 1078 .data = gcm_aad_zero_text, 1079 .len = 0 1080 }, 1081 .plaintext = { 1082 .data = { 0x00 }, 1083 .len = 0 1084 }, 1085 .ciphertext = { 1086 .data = { 0x00 }, 1087 .len = 0 1088 }, 1089 .auth_tag = { 1090 .data = { 1091 0xCD, 0x33, 0xB2, 0x8A, 0xC7, 0x73, 0xF7, 0x4B, 1092 0xA0, 0x0E, 0xD1, 0xF3, 0x12, 0x57, 0x24, 0x35 1093 }, 1094 .len = 16 1095 } 1096 }; 1097 1098 static const struct aead_test_data gcm_test_case_192_2 = { 1099 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1100 .key = { 1101 .data = { 1102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1105 }, 1106 .len = 24 1107 }, 1108 .iv = { 1109 .data = { 1110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1111 0x00, 0x00, 0x00, 0x00 1112 }, 1113 .len = 12 1114 }, 1115 .aad = { 1116 .data = gcm_aad_zero_text, 1117 .len = 0 1118 }, 1119 .plaintext = { 1120 .data = { 1121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 1123 }, 1124 .len = 16 1125 }, 1126 .ciphertext = { 1127 .data = { 1128 0x98, 0xE7, 0x24, 0x7C, 0x07, 0xF0, 0xFE, 0x41, 1129 0x1C, 0x26, 0x7E, 0x43, 0x84, 0xB0, 0xF6, 0x00 1130 }, 1131 .len = 16 1132 }, 1133 .auth_tag = { 1134 .data = { 1135 0x2F, 0xF5, 0x8D, 0x80, 0x03, 0x39, 0x27, 0xAB, 1136 0x8E, 0xF4, 0xD4, 0x58, 0x75, 0x14, 0xF0, 0xFB 1137 1138 }, 1139 .len = 16 1140 } 1141 }; 1142 1143 static const struct aead_test_data gcm_test_case_192_3 = { 1144 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1145 .key = { 1146 .data = { 1147 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C, 1148 0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08, 1149 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C 1150 }, 1151 .len = 24 1152 }, 1153 .iv = { 1154 .data = { 1155 0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD, 1156 0xDE, 0xCA, 0xF8, 0x88 1157 }, 1158 .len = 12 1159 }, 1160 .aad = { 1161 .data = gcm_aad_zero_text, 1162 .len = 0 1163 }, 1164 .plaintext = { 1165 .data = { 1166 0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5, 1167 0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A, 1168 0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA, 1169 0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72, 1170 0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53, 1171 0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25, 1172 0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57, 1173 0xBA, 0x63, 0x7B, 0x39, 0x1A, 0xAF, 0xD2, 0x55 1174 }, 1175 .len = 64 1176 }, 1177 .ciphertext = { 1178 .data = { 1179 0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41, 1180 0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57, 1181 0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84, 1182 0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C, 1183 0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25, 1184 0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47, 1185 0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9, 1186 0xCC, 0xDA, 0x27, 0x10, 0xAC, 0xAD, 0xE2, 0x56 1187 }, 1188 .len = 64 1189 }, 1190 .auth_tag = { 1191 .data = { 1192 0x99, 0x24, 0xA7, 0xC8, 0x58, 0x73, 0x36, 0xBF, 1193 0xB1, 0x18, 0x02, 0x4D, 0xB8, 0x67, 0x4A, 0x14 1194 }, 1195 .len = 16 1196 } 1197 }; 1198 1199 static const struct aead_test_data gcm_test_case_192_4 = { 1200 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1201 .key = { 1202 .data = { 1203 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C, 1204 0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08, 1205 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C 1206 }, 1207 .len = 24 1208 }, 1209 .iv = { 1210 .data = { 1211 0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD, 1212 0xDE, 0xCA, 0xF8, 0x88 1213 }, 1214 .len = 12 1215 }, 1216 .aad = { 1217 .data = gcm_aad_zero_text, 1218 .len = 8 1219 }, 1220 .plaintext = { 1221 .data = { 1222 0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5, 1223 0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A, 1224 0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA, 1225 0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72, 1226 0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53, 1227 0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25, 1228 0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57, 1229 0xBA, 0x63, 0x7B, 0x39 1230 }, 1231 .len = 60 1232 }, 1233 .ciphertext = { 1234 .data = { 1235 0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41, 1236 0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57, 1237 0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84, 1238 0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C, 1239 0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25, 1240 0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47, 1241 0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9, 1242 0xCC, 0xDA, 0x27, 0x10 1243 }, 1244 .len = 60 1245 }, 1246 .auth_tag = { 1247 .data = { 1248 0x57, 0x5F, 0x03, 0xA0, 0x8D, 0x8F, 0x40, 0x26, 1249 0xE5, 0x64, 0x1F, 0x5B, 0x5C, 0xC2, 0xFD, 0x4B 1250 }, 1251 .len = 16 1252 } 1253 }; 1254 1255 static const struct aead_test_data gcm_test_case_192_5 = { 1256 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1257 .key = { 1258 .data = { 1259 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C, 1260 0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08, 1261 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C 1262 }, 1263 .len = 24 1264 }, 1265 .iv = { 1266 .data = { 1267 0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD, 1268 0xDE, 0xCA, 0xF8, 0x88 1269 }, 1270 .len = 12 1271 }, 1272 .aad = { 1273 .data = gcm_aad_text, 1274 .len = 8 1275 }, 1276 .plaintext = { 1277 .data = { 1278 0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5, 1279 0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A, 1280 0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA, 1281 0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72, 1282 0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53, 1283 0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25, 1284 0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57, 1285 0xBA, 0x63, 0x7B, 0x39 1286 }, 1287 .len = 60 1288 }, 1289 .ciphertext = { 1290 .data = { 1291 0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41, 1292 0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57, 1293 0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84, 1294 0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C, 1295 0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25, 1296 0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47, 1297 0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9, 1298 0xCC, 0xDA, 0x27, 0x10 1299 }, 1300 .len = 60 1301 }, 1302 .auth_tag = { 1303 .data = { 1304 0xB6, 0x35, 0x56, 0xE7, 0xBA, 0x46, 0xA3, 0x38, 1305 0xED, 0xAD, 0x79, 0x9F, 0xB3, 0x5B, 0x34, 0xA8 1306 }, 1307 .len = 16 1308 } 1309 }; 1310 1311 static const struct aead_test_data gcm_test_case_192_6 = { 1312 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1313 .key = { 1314 .data = { 1315 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C, 1316 0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08, 1317 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C 1318 }, 1319 .len = 24 1320 }, 1321 .iv = { 1322 .data = { 1323 0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD, 1324 0xDE, 0xCA, 0xF8, 0x88 1325 }, 1326 .len = 12 1327 }, 1328 .aad = { 1329 .data = gcm_aad_zero_text, 1330 .len = 12 1331 }, 1332 .plaintext = { 1333 .data = { 1334 0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5, 1335 0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A, 1336 0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA, 1337 0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72, 1338 0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53, 1339 0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25, 1340 0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57, 1341 0xBA, 0x63, 0x7B, 0x39 1342 }, 1343 .len = 60 1344 }, 1345 .ciphertext = { 1346 .data = { 1347 0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41, 1348 0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57, 1349 0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84, 1350 0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C, 1351 0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25, 1352 0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47, 1353 0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9, 1354 0xCC, 0xDA, 0x27, 0x10 1355 }, 1356 .len = 60 1357 }, 1358 .auth_tag = { 1359 .data = { 1360 0xCA, 0x8A, 0x8A, 0x91, 0x5A, 0xF9, 0x76, 0xE3, 1361 0xFF, 0x2C, 0xE4, 0x7D, 0xE5, 0x62, 0x75, 0x18 1362 }, 1363 .len = 16 1364 } 1365 }; 1366 1367 static const struct aead_test_data gcm_test_case_192_7 = { 1368 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1369 .key = { 1370 .data = { 1371 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C, 1372 0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08, 1373 0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C 1374 }, 1375 .len = 24 1376 }, 1377 .iv = { 1378 .data = { 1379 0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD, 1380 0xDE, 0xCA, 0xF8, 0x88 1381 }, 1382 .len = 12 1383 }, 1384 .aad = { 1385 .data = gcm_aad_text, 1386 .len = 12 1387 }, 1388 .plaintext = { 1389 .data = { 1390 0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5, 1391 0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A, 1392 0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA, 1393 0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72, 1394 0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53, 1395 0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25, 1396 0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57, 1397 0xBA, 0x63, 0x7B, 0x39 1398 }, 1399 .len = 60 1400 }, 1401 .ciphertext = { 1402 .data = { 1403 0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41, 1404 0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57, 1405 0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84, 1406 0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C, 1407 0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25, 1408 0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47, 1409 0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9, 1410 0xCC, 0xDA, 0x27, 0x10 1411 }, 1412 .len = 60 1413 }, 1414 .auth_tag = { 1415 .data = { 1416 0xC2, 0xD8, 0x4C, 0x6B, 0xA8, 0x3B, 0xA5, 0x6B, 1417 0x18, 0x9F, 0xE6, 0xEF, 0x66, 0x24, 0xDD, 0xDA 1418 }, 1419 .len = 16 1420 } 1421 }; 1422 1423 /** AES-GCM-256 Test Vectors */ 1424 static const struct aead_test_data gcm_test_case_256_1 = { 1425 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1426 .key = { 1427 .data = { 1428 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1429 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1431 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 1432 .len = 32 1433 }, 1434 .iv = { 1435 .data = { 1436 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1437 0x00, 0x00, 0x00, 0x00 }, 1438 .len = 12 1439 }, 1440 .aad = { 1441 .data = gcm_aad_zero_text, 1442 .len = 0 1443 }, 1444 .plaintext = { 1445 .data = { 0x00 }, 1446 .len = 0 1447 }, 1448 .ciphertext = { 1449 .data = { 0x00 }, 1450 .len = 0 1451 }, 1452 .auth_tag = { 1453 .data = { 1454 0x53, 0x0F, 0x8A, 0xFB, 0xC7, 0x45, 0x36, 0xB9, 1455 0xA9, 0x63, 0xB4, 0xF1, 0xC4, 0xCB, 0x73, 0x8B }, 1456 .len = 16 1457 } 1458 }; 1459 1460 static const struct aead_test_data gcm_test_case_256_2 = { 1461 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1462 .key = { 1463 .data = { 1464 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1466 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1467 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 1468 .len = 32 1469 }, 1470 .iv = { 1471 .data = { 1472 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1473 0x00, 0x00, 0x00, 0x00 }, 1474 .len = 12 1475 }, 1476 .aad = { 1477 .data = gcm_aad_zero_text, 1478 .len = 0 1479 }, 1480 .plaintext = { 1481 .data = { 1482 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1483 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 1484 .len = 16 1485 }, 1486 .ciphertext = { 1487 .data = { 1488 0xCE, 0xA7, 0x40, 0x3D, 0x4D, 0x60, 0x6B, 0x6E, 1489 0x07, 0x4E, 0xC5, 0xD3, 0xBA, 0xF3, 0x9D, 0x18 }, 1490 .len = 16 1491 }, 1492 .auth_tag = { 1493 .data = { 1494 0xD0, 0xD1, 0xC8, 0xA7, 0x99, 0x99, 0x6B, 0xF0, 1495 0x26, 0x5B, 0x98, 0xB5, 0xD4, 0x8A, 0xB9, 0x19 }, 1496 .len = 16 1497 } 1498 }; 1499 1500 static const struct aead_test_data gcm_test_case_256_3 = { 1501 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1502 .key = { 1503 .data = { 1504 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1505 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1506 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1507 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1508 .len = 32 1509 }, 1510 .iv = { 1511 .data = { 1512 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1513 0xde, 0xca, 0xf8, 0x88 }, 1514 .len = 12 1515 }, 1516 .aad = { 1517 .data = gcm_aad_zero_text, 1518 .len = 0 1519 }, 1520 .plaintext = { 1521 .data = { 1522 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1523 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1524 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1525 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1526 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1527 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1528 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1529 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, 1530 .len = 64 1531 }, 1532 .ciphertext = { 1533 .data = { 1534 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1535 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1536 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1537 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1538 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1539 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1540 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1541 0xFA, 0x47, 0xC8, 0x2E, 0xF0, 0x68, 0xE1, 0x3E }, 1542 .len = 64 1543 }, 1544 .auth_tag = { 1545 .data = { 1546 0x64, 0xAF, 0x1D, 0xFB, 0xE8, 0x0D, 0x37, 0xD8, 1547 0x92, 0xC3, 0xB9, 0x1D, 0xD3, 0x08, 0xAB, 0xFC }, 1548 .len = 16 1549 } 1550 }; 1551 1552 static const struct aead_test_data gcm_test_case_256_4 = { 1553 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1554 .key = { 1555 .data = { 1556 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1557 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1558 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1559 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1560 .len = 32 1561 }, 1562 .iv = { 1563 .data = { 1564 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1565 0xde, 0xca, 0xf8, 0x88 }, 1566 .len = 12 1567 }, 1568 .aad = { 1569 .data = gcm_aad_zero_text, 1570 .len = 8 1571 }, 1572 .plaintext = { 1573 .data = { 1574 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1575 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1576 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1577 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1578 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1579 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1580 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1581 0xba, 0x63, 0x7b, 0x39 }, 1582 .len = 60 1583 }, 1584 .ciphertext = { 1585 .data = { 1586 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1587 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1588 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1589 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1590 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1591 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1592 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1593 0xFA, 0x47, 0xC8, 0x2E }, 1594 .len = 60 1595 }, 1596 .auth_tag = { 1597 .data = { 1598 0x63, 0x16, 0x91, 0xAE, 0x17, 0x05, 0x5E, 0xA6, 1599 0x6D, 0x0A, 0x51, 0xE2, 0x50, 0x21, 0x85, 0x4A }, 1600 .len = 16 1601 } 1602 1603 }; 1604 1605 static const struct aead_test_data gcm_test_case_256_5 = { 1606 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1607 .key = { 1608 .data = { 1609 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1610 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1611 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1612 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1613 .len = 32 1614 }, 1615 .iv = { 1616 .data = { 1617 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1618 0xde, 0xca, 0xf8, 0x88 }, 1619 .len = 12 1620 }, 1621 .aad = { 1622 .data = gcm_aad_text, 1623 .len = 8 1624 }, 1625 .plaintext = { 1626 .data = { 1627 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1628 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1629 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1630 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1631 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1632 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1633 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1634 0xba, 0x63, 0x7b, 0x39 }, 1635 .len = 60 1636 }, 1637 .ciphertext = { 1638 .data = { 1639 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1640 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1641 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1642 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1643 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1644 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1645 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1646 0xFA, 0x47, 0xC8, 0x2E }, 1647 .len = 60 1648 }, 1649 .auth_tag = { 1650 .data = { 1651 0xA7, 0x99, 0xAC, 0xB8, 0x27, 0xDA, 0xB1, 0x82, 1652 0x79, 0xFD, 0x83, 0x73, 0x52, 0x4D, 0xDB, 0xF1 }, 1653 .len = 16 1654 } 1655 1656 }; 1657 1658 static const struct aead_test_data gcm_test_case_256_6 = { 1659 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1660 .key = { 1661 .data = { 1662 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1663 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1664 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1665 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1666 .len = 32 1667 }, 1668 .iv = { 1669 .data = { 1670 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1671 0xde, 0xca, 0xf8, 0x88 }, 1672 .len = 12 1673 }, 1674 .aad = { 1675 .data = gcm_aad_zero_text, 1676 .len = 12 1677 }, 1678 .plaintext = { 1679 .data = { 1680 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1681 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1682 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1683 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1684 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1685 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1686 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1687 0xba, 0x63, 0x7b, 0x39 }, 1688 .len = 60 1689 }, 1690 .ciphertext = { 1691 .data = { 1692 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1693 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1694 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1695 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1696 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1697 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1698 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1699 0xFA, 0x47, 0xC8, 0x2E }, 1700 .len = 60 1701 }, 1702 .auth_tag = { 1703 .data = { 1704 0x5D, 0xA5, 0x0E, 0x53, 0x64, 0x7F, 0x3F, 0xAE, 1705 0x1A, 0x1F, 0xC0, 0xB0, 0xD8, 0xBE, 0xF2, 0x64 }, 1706 .len = 16 1707 } 1708 }; 1709 1710 static const struct aead_test_data gcm_test_case_256_7 = { 1711 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1712 .key = { 1713 .data = { 1714 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1715 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1716 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1717 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1718 .len = 32 1719 }, 1720 .iv = { 1721 .data = { 1722 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1723 0xde, 0xca, 0xf8, 0x88 }, 1724 .len = 12 1725 }, 1726 .aad = { 1727 .data = gcm_aad_text, 1728 .len = 12 1729 }, 1730 .plaintext = { 1731 .data = { 1732 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1733 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1734 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1735 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1736 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1737 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1738 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1739 0xba, 0x63, 0x7b, 0x39 }, 1740 .len = 60 1741 }, 1742 .ciphertext = { 1743 .data = { 1744 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1745 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1746 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1747 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1748 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1749 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1750 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1751 0xFA, 0x47, 0xC8, 0x2E }, 1752 .len = 60 1753 }, 1754 .auth_tag = { 1755 .data = { 1756 0x4E, 0xD0, 0x91, 0x95, 0x83, 0xA9, 0x38, 0x72, 1757 0x09, 0xA9, 0xCE, 0x5F, 0x89, 0x06, 0x4E, 0xC8 }, 1758 .len = 16 1759 } 1760 }; 1761 1762 static const struct aead_test_data gcm_test_case_256_8 = { 1763 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1764 .key = { 1765 .data = { 1766 0xD8, 0xFD, 0x8F, 0x5A, 0x13, 0x7B, 0x05, 0x2C, 1767 0xA4, 0x64, 0x7A, 0xDD, 0x1E, 0x9A, 0x68, 0x33, 1768 0x04, 0x70, 0xE8, 0x1E, 0x42, 0x84, 0x64, 0xD2, 1769 0x23, 0xA1, 0x6A, 0x0A, 0x05, 0x7B, 0x90, 0xDE}, 1770 .len = 32 1771 }, 1772 .iv = { 1773 .data = { 1774 0x8D, 0xDF, 0xB8, 0x7F, 0xD0, 0x79, 0x77, 0x55, 1775 0xD5, 0x48, 0x03, 0x05}, 1776 .len = 12 1777 }, 1778 .aad = { 1779 .data = gcm_aad_64B_text, 1780 .len = 64 1781 }, 1782 .plaintext = { 1783 .data = { 1784 0x4D, 0xBC, 0x2C, 0x7F, 0x25, 0x1F, 0x07, 0x25, 1785 0x54, 0x8C, 0x43, 0xDB, 0xD8, 0x06, 0x9F, 0xBF, 1786 0xCA, 0x60, 0xF4, 0xEF, 0x13, 0x87, 0xE8, 0x2F, 1787 0x4D, 0x9D, 0x1D, 0x87, 0x9F, 0x91, 0x79, 0x7E, 1788 0x3E, 0x98, 0xA3, 0x63, 0xC6, 0xFE, 0xDB, 0x35, 1789 0x96, 0x59, 0xB2, 0x0C, 0x80, 0x96, 0x70, 0x07, 1790 0x87, 0x42, 0xAB, 0x4F, 0x31, 0x73, 0xC4, 0xF9, 1791 0xB0, 0x1E, 0xF1, 0xBC, 0x7D, 0x45, 0xE5, 0xF3}, 1792 .len = 64 1793 }, 1794 .ciphertext = { 1795 .data = { 1796 0x21, 0xFA, 0x59, 0x4F, 0x1F, 0x6B, 0x19, 0xC2, 1797 0x68, 0xBC, 0x05, 0x93, 0x4E, 0x48, 0x6C, 0x5B, 1798 0x0B, 0x7A, 0x43, 0xB7, 0x60, 0x8E, 0x00, 0xC4, 1799 0xAB, 0x14, 0x6B, 0xCC, 0xA1, 0x27, 0x6A, 0xDE, 1800 0x8E, 0xB6, 0x98, 0xBB, 0x4F, 0xD0, 0x6F, 0x30, 1801 0x0F, 0x04, 0xA8, 0x5B, 0xDC, 0xD8, 0xE8, 0x8A, 1802 0x73, 0xD9, 0xB8, 0x60, 0x7C, 0xE4, 0x32, 0x4C, 1803 0x3A, 0x0B, 0xC2, 0x82, 0xDA, 0x88, 0x17, 0x69}, 1804 .len = 64 1805 }, 1806 .auth_tag = { 1807 .data = { 1808 0x3B, 0x80, 0x83, 0x72, 0xE5, 0x1B, 0x94, 0x15, 1809 0x75, 0xC8, 0x62, 0xBC, 0xA1, 0x66, 0x91, 0x45}, 1810 .len = 16 1811 } 1812 }; 1813 1814 /** variable AAD AES-GCM-128 Test Vectors */ 1815 static const struct aead_test_data gcm_test_case_aad_1 = { 1816 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1817 .key = { 1818 .data = { 1819 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1820 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, 1821 .len = 16 1822 }, 1823 .iv = { 1824 .data = { 1825 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1826 0xde, 0xca, 0xf8, 0x88 }, 1827 .len = 12 1828 }, 1829 .aad = { 1830 .data = gcm_aad_text, 1831 .len = GCM_LARGE_AAD_LENGTH 1832 }, 1833 .plaintext = { 1834 .data = { 1835 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1836 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1837 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1838 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1839 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1840 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1841 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1842 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, 1843 .len = 64 1844 }, 1845 .ciphertext = { 1846 .data = { 1847 0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24, 1848 0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C, 1849 0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0, 1850 0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E, 1851 0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C, 1852 0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05, 1853 0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97, 1854 0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85 1855 }, 1856 .len = 64 1857 }, 1858 .auth_tag = { 1859 .data = { 1860 0xCA, 0x70, 0xAF, 0x96, 0xA8, 0x5D, 0x40, 0x47, 1861 0x0C, 0x3C, 0x48, 0xF5, 0xF0, 0xF5, 0xA5, 0x7D 1862 }, 1863 .len = 16 1864 } 1865 }; 1866 1867 /** variable AAD AES-GCM-256 Test Vectors */ 1868 static const struct aead_test_data gcm_test_case_aad_2 = { 1869 .algo = RTE_CRYPTO_AEAD_AES_GCM, 1870 .key = { 1871 .data = { 1872 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1873 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08, 1874 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1875 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a }, 1876 .len = 32 1877 }, 1878 .iv = { 1879 .data = { 1880 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1881 0xde, 0xca, 0xf8, 0x88 }, 1882 .len = 12 1883 }, 1884 .aad = { 1885 .data = gcm_aad_text, 1886 .len = GCM_LARGE_AAD_LENGTH 1887 }, 1888 .plaintext = { 1889 .data = { 1890 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 1891 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 1892 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 1893 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 1894 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 1895 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 1896 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 1897 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 }, 1898 .len = 64 1899 }, 1900 .ciphertext = { 1901 .data = { 1902 0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA, 1903 0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E, 1904 0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04, 1905 0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9, 1906 0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5, 1907 0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0, 1908 0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB, 1909 0xFA, 0x47, 0xC8, 0x2E, 0xF0, 0x68, 0xE1, 0x3E 1910 }, 1911 .len = 64 1912 }, 1913 .auth_tag = { 1914 .data = { 1915 0xBA, 0x06, 0xDA, 0xA1, 0x91, 0xE1, 0xFE, 0x22, 1916 0x59, 0xDA, 0x67, 0xAF, 0x9D, 0xA5, 0x43, 0x94 1917 }, 1918 .len = 16 1919 } 1920 }; 1921 1922 /** GMAC Test Vectors */ 1923 static uint8_t gmac_plaintext[GMAC_LARGE_PLAINTEXT_LENGTH] = { 1924 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1925 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1926 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1927 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1928 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1929 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1930 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1931 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1932 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1933 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1934 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1935 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1936 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1937 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1938 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1939 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1940 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1941 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 1942 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 1943 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10 1944 }; 1945 1946 static const struct gmac_test_data gmac_test_case_1 = { 1947 .key = { 1948 .data = { 1949 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 1950 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 1951 }, 1952 .len = 16 1953 }, 1954 .iv = { 1955 .data = { 1956 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 1957 0xde, 0xca, 0xf8, 0x88 }, 1958 .len = 12 1959 }, 1960 .plaintext = { 1961 .data = gmac_plaintext, 1962 .len = 160 1963 }, 1964 .gmac_tag = { 1965 .data = { 1966 0x4C, 0x0C, 0x4F, 0x47, 0x2D, 0x78, 0xF6, 0xD8, 1967 0x03, 0x53, 0x20, 0x2F, 0x1A, 0xDF, 0x90, 0xD0 1968 }, 1969 .len = 16 1970 }, 1971 }; 1972 1973 static const struct gmac_test_data gmac_test_case_2 = { 1974 .key = { 1975 .data = { 1976 0xaa, 0x74, 0x0a, 0xbf, 0xad, 0xcd, 0xa7, 0x79, 1977 0x22, 0x0d, 0x3b, 0x40, 0x6c, 0x5d, 0x7e, 0xc0, 1978 0x9a, 0x77, 0xfe, 0x9d, 0x94, 0x10, 0x45, 0x39, 1979 }, 1980 .len = 24 1981 }, 1982 .iv = { 1983 .data = { 1984 0xab, 0x22, 0x65, 0xb4, 0xc1, 0x68, 0x95, 1985 0x55, 0x61, 0xf0, 0x43, 0x15, }, 1986 .len = 12 1987 }, 1988 .plaintext = { 1989 .data = gmac_plaintext, 1990 .len = 80 1991 }, 1992 .gmac_tag = { 1993 .data = { 1994 0xCF, 0x82, 0x80, 0x64, 0x02, 0x46, 0xF4, 0xFB, 1995 0x33, 0xAE, 0x1D, 0x90, 0xEA, 0x48, 0x83, 0xDB 1996 }, 1997 .len = 16 1998 }, 1999 }; 2000 2001 static const struct gmac_test_data gmac_test_case_3 = { 2002 .key = { 2003 .data = { 2004 0xb5, 0x48, 0xe4, 0x93, 0x4f, 0x5c, 0x64, 0xd3, 2005 0xc0, 0xf0, 0xb7, 0x8f, 0x7b, 0x4d, 0x88, 0x24, 2006 0xaa, 0xc4, 0x6b, 0x3c, 0x8d, 0x2c, 0xc3, 0x5e, 2007 0xe4, 0xbf, 0xb2, 0x54, 0xe4, 0xfc, 0xba, 0xf7, 2008 }, 2009 .len = 32 2010 }, 2011 .iv = { 2012 .data = { 2013 0x2e, 0xed, 0xe1, 0xdc, 0x64, 0x47, 0xc7, 2014 0xaf, 0xc4, 0x41, 0x53, 0x58, 2015 }, 2016 .len = 12 2017 }, 2018 .plaintext = { 2019 .data = gmac_plaintext, 2020 .len = 65 2021 }, 2022 .gmac_tag = { 2023 .data = { 2024 0x77, 0x46, 0x0D, 0x6F, 0xB1, 0x87, 0xDB, 0xA9, 2025 0x46, 0xAD, 0xCD, 0xFB, 0xB7, 0xF9, 0x13, 0xA1 2026 }, 2027 .len = 16 2028 }, 2029 }; 2030 2031 /******* GCM PERF VECTORS ***********/ 2032 2033 struct cryptodev_perf_test_data { 2034 struct { 2035 uint8_t data[64]; 2036 unsigned len; 2037 } key; 2038 2039 struct { 2040 alignas(16) uint8_t data[64]; 2041 unsigned len; 2042 } iv; 2043 2044 struct { 2045 uint8_t data[64]; 2046 unsigned len; 2047 } aad; 2048 2049 struct { 2050 uint8_t data[2048]; 2051 unsigned len; 2052 } plaintext; 2053 2054 struct { 2055 uint8_t data[2048]; 2056 unsigned len; 2057 } ciphertext; 2058 2059 struct { 2060 uint8_t data[16]; 2061 unsigned len; 2062 } auth_tag; 2063 2064 struct { 2065 uint32_t size; 2066 uint8_t data[16]; 2067 unsigned len; 2068 } auth_tags[7]; 2069 2070 }; 2071 2072 /* 2048B */ 2073 static const struct cryptodev_perf_test_data AES_GCM_128_12IV_0AAD = { 2074 .key = { 2075 .data = { 2076 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 2077 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, 2078 .len = 16 2079 }, 2080 .iv = { 2081 .data = { 2082 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 2083 0xde, 0xca, 0xf8, 0x88 }, 2084 .len = 12 2085 }, 2086 .aad = { 2087 .data = { 0 }, 2088 .len = 0 2089 }, 2090 .plaintext = { 2091 .data = { 2092 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2093 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2094 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2095 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2096 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2097 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2098 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2099 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2100 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2101 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2102 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2103 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2104 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2105 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2106 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2107 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2108 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2109 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2110 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2111 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2112 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2113 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2114 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2115 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2116 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2117 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2118 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2119 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2120 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2121 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2122 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2123 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2124 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2125 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2126 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2127 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2128 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2129 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2130 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2131 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2132 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2133 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2134 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2135 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2136 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2137 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2138 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2139 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2140 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2141 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2142 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2143 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2144 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2145 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2146 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2147 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2148 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2149 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2150 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2151 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2152 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2153 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2154 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2155 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2156 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2157 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2158 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2159 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2160 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2161 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2162 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2163 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2164 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2165 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2166 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2167 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2168 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2169 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2170 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2171 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2172 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2173 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2174 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2175 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2176 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2177 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2178 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2179 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2180 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2181 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2182 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2183 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2184 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2185 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2186 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2187 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2188 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2189 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2190 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2191 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2192 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2193 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2194 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2195 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2196 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2197 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2198 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2199 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2200 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2201 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2202 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2203 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2204 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2205 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2206 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2207 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2208 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2209 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2210 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2211 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2212 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2213 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2214 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2215 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2216 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2217 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2218 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2219 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2220 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2221 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2222 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2223 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2224 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2225 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2226 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2227 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2228 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2229 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2230 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2231 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2232 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2233 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2234 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2235 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2236 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2237 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2238 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2239 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2240 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2241 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2242 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2243 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2244 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2245 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2246 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2247 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2248 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2249 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2250 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2251 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2252 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2253 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2254 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2255 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2256 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2257 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2258 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2259 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2260 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2261 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2262 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2263 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2264 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2265 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2266 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2267 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2268 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2269 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2270 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2271 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2272 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2273 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2274 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2275 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2276 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2277 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2278 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2279 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2280 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2281 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2282 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2283 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2284 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2285 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2286 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2287 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2288 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2289 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2290 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2291 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2292 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2293 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2294 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2295 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2296 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2297 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2298 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2299 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2300 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2301 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2302 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2303 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2304 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2305 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2306 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2307 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2308 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2309 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2310 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2311 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2312 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2313 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2314 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2315 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2316 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2317 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2318 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2319 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2320 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2321 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2322 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2323 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2324 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2325 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2326 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2327 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2328 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2329 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2330 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2331 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2332 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2333 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2334 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2335 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2336 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2337 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2338 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2339 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2340 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2341 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2342 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2343 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2344 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2345 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2346 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2347 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 2348 }, 2349 .len = 2048 2350 }, 2351 .ciphertext = { 2352 .data = { 2353 0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24, 2354 0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C, 2355 0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0, 2356 0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E, 2357 0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C, 2358 0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05, 2359 0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97, 2360 0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85, 2361 0x04, 0x99, 0x55, 0xE1, 0x36, 0x76, 0xB7, 0x14, 2362 0x1D, 0xF0, 0xF6, 0x8C, 0x65, 0xD5, 0xAD, 0xFB, 2363 0x90, 0x7F, 0x5D, 0xA2, 0xD6, 0xFD, 0xD0, 0xE5, 2364 0x0D, 0x9B, 0x68, 0x21, 0x49, 0x42, 0x6E, 0x13, 2365 0xEC, 0x22, 0x50, 0x2A, 0x30, 0x47, 0x49, 0xA1, 2366 0x7F, 0xC3, 0x09, 0xE0, 0x56, 0x91, 0xC4, 0x54, 2367 0x70, 0xD7, 0x19, 0x40, 0xCA, 0x6B, 0x65, 0x27, 2368 0x3E, 0xE9, 0xD1, 0x0F, 0x1C, 0xB5, 0x45, 0x0D, 2369 0x27, 0xE7, 0xCF, 0x94, 0x10, 0xBF, 0xA2, 0xFA, 2370 0x86, 0x20, 0x3F, 0x6E, 0xE9, 0x95, 0x03, 0x5A, 2371 0x46, 0x11, 0x75, 0xD5, 0x37, 0x71, 0x7F, 0xE0, 2372 0xBC, 0x9F, 0xC8, 0xE9, 0xB1, 0x08, 0x2C, 0x59, 2373 0x6E, 0x51, 0x4A, 0x83, 0x38, 0xC1, 0xED, 0xE2, 2374 0x2E, 0x88, 0x90, 0xA5, 0x7D, 0xA4, 0x93, 0x9A, 2375 0x30, 0xD6, 0x96, 0x34, 0x0F, 0xC4, 0xD1, 0x7E, 2376 0xC9, 0x8F, 0xC5, 0xBB, 0x80, 0x50, 0x85, 0x75, 2377 0x7D, 0x82, 0x36, 0xDB, 0x62, 0x15, 0xAF, 0x4B, 2378 0x0A, 0x9D, 0xCD, 0x64, 0x00, 0xAB, 0x88, 0x28, 2379 0xA8, 0x35, 0x17, 0x70, 0x6F, 0x47, 0x44, 0xCD, 2380 0x65, 0xAE, 0xD5, 0x05, 0x0A, 0xA8, 0x2F, 0x48, 2381 0xAC, 0xA1, 0x72, 0x64, 0x1C, 0x7E, 0xD3, 0xF5, 2382 0xD8, 0x4E, 0x73, 0x17, 0x0C, 0xE5, 0x9F, 0xB6, 2383 0x00, 0xFA, 0xD7, 0x2C, 0x3D, 0x6A, 0x10, 0x47, 2384 0x7C, 0xF2, 0x6B, 0x13, 0x10, 0x8A, 0x76, 0x39, 2385 0xF8, 0x50, 0x33, 0xAC, 0x08, 0x1D, 0xA3, 0x48, 2386 0xE1, 0xD0, 0x05, 0x49, 0xB7, 0x76, 0x03, 0x72, 2387 0x07, 0xC5, 0xD3, 0x08, 0x79, 0x38, 0x66, 0xC1, 2388 0x52, 0xAF, 0x83, 0xCD, 0xF3, 0x86, 0x62, 0xBF, 2389 0x92, 0x24, 0x97, 0xBD, 0x5D, 0x7D, 0x81, 0x56, 2390 0x4C, 0xF3, 0xD2, 0x60, 0xC2, 0xDE, 0x61, 0xC1, 2391 0x39, 0x61, 0xDA, 0x07, 0x50, 0xC7, 0x98, 0x63, 2392 0x7E, 0xDD, 0x54, 0xCA, 0xDE, 0x12, 0xD2, 0xA8, 2393 0x19, 0x08, 0x6E, 0xF9, 0xFA, 0x6F, 0x58, 0x97, 2394 0xD4, 0x0B, 0x5C, 0x5B, 0xE5, 0x30, 0xE5, 0x4C, 2395 0x0E, 0x16, 0x87, 0xF0, 0x2C, 0xCB, 0x53, 0xB8, 2396 0x0C, 0xE5, 0xDF, 0x16, 0x7B, 0xE8, 0xC2, 0xCF, 2397 0xCC, 0xFF, 0x51, 0x24, 0xC1, 0xDD, 0x59, 0x9C, 2398 0xA7, 0x56, 0x03, 0xB9, 0x0A, 0x37, 0xA2, 0xAC, 2399 0x28, 0x8B, 0xEB, 0x51, 0x4E, 0xF1, 0xAE, 0xB5, 2400 0xC8, 0xB5, 0xCB, 0x8D, 0x23, 0xF6, 0x24, 0x2D, 2401 0xF6, 0x59, 0x62, 0xC0, 0xCB, 0xD3, 0x18, 0xE4, 2402 0xB7, 0x73, 0xEF, 0xDB, 0x13, 0x9A, 0xF5, 0xD3, 2403 0xD5, 0x61, 0x01, 0x14, 0xA5, 0xE5, 0x0D, 0x27, 2404 0xC9, 0xA5, 0x08, 0x1C, 0x60, 0xBA, 0x73, 0xFF, 2405 0xA9, 0xE0, 0x27, 0x86, 0x3F, 0xF7, 0x15, 0x03, 2406 0x69, 0xA7, 0x2B, 0x57, 0xAC, 0xA6, 0x70, 0x55, 2407 0xE9, 0xB5, 0x3F, 0xEB, 0x6F, 0xCE, 0x8A, 0xA1, 2408 0x9D, 0x8B, 0x84, 0xF1, 0x7C, 0xD0, 0x35, 0x21, 2409 0x91, 0x3D, 0x3D, 0x6E, 0x83, 0xFC, 0x45, 0x36, 2410 0x93, 0xDA, 0x66, 0xDF, 0x1A, 0x59, 0x22, 0xA5, 2411 0xC4, 0x99, 0x9B, 0xF8, 0x48, 0x9A, 0x50, 0x09, 2412 0xAB, 0xAE, 0x56, 0xB6, 0x49, 0x02, 0x3E, 0x90, 2413 0xB6, 0x07, 0x7E, 0xA7, 0x6A, 0x0A, 0xB5, 0x85, 2414 0x31, 0x0D, 0x84, 0xD4, 0x01, 0xE4, 0x48, 0x63, 2415 0xF3, 0xC1, 0x54, 0x65, 0xA6, 0x4C, 0x8B, 0x33, 2416 0xF9, 0x70, 0x59, 0x3B, 0xA6, 0xF6, 0x2B, 0x66, 2417 0xC5, 0xD2, 0xEB, 0xAB, 0x67, 0xD2, 0xE3, 0x78, 2418 0xA9, 0x1A, 0x4C, 0x99, 0xA9, 0xA6, 0xCA, 0xF7, 2419 0x65, 0xF0, 0x48, 0xF8, 0x2A, 0xEA, 0x96, 0x9F, 2420 0xC4, 0x50, 0x9A, 0x0C, 0xB6, 0x0D, 0x8A, 0x2F, 2421 0xC3, 0x99, 0x4E, 0xA0, 0x06, 0x4D, 0xAB, 0x25, 2422 0x2E, 0x44, 0x47, 0xB6, 0x98, 0xF1, 0x2C, 0x96, 2423 0x54, 0x51, 0x12, 0x41, 0x0D, 0xEF, 0x32, 0x9A, 2424 0x4A, 0xBD, 0xA2, 0x26, 0x53, 0xA8, 0xFD, 0x8B, 2425 0x6C, 0x95, 0x0A, 0x1A, 0x96, 0xEF, 0x3C, 0x85, 2426 0x34, 0x4E, 0x25, 0x9E, 0x1C, 0x67, 0x33, 0x8A, 2427 0xFF, 0x6D, 0x98, 0x93, 0x3D, 0x3F, 0x49, 0x6B, 2428 0xBF, 0x7C, 0x4F, 0x63, 0x5D, 0x62, 0x64, 0x67, 2429 0x0D, 0x07, 0x7F, 0x24, 0x4A, 0x23, 0xBC, 0x35, 2430 0xE0, 0x92, 0x6F, 0x51, 0xE7, 0x25, 0x97, 0xB9, 2431 0x14, 0x35, 0x2B, 0x48, 0xAC, 0x6F, 0x54, 0xDF, 2432 0xF2, 0xB4, 0xB0, 0xE0, 0xD3, 0x28, 0x0D, 0x66, 2433 0x46, 0x28, 0x0A, 0x16, 0x9C, 0x87, 0x73, 0xB7, 2434 0x9C, 0x2B, 0xB5, 0x43, 0xC9, 0x46, 0xB9, 0x1F, 2435 0x5F, 0x3C, 0x45, 0x03, 0x4B, 0xBF, 0x44, 0x4D, 2436 0xE1, 0x44, 0xDA, 0x54, 0xC5, 0x32, 0x3A, 0xFA, 2437 0x21, 0x5C, 0xAD, 0xD5, 0x1E, 0x1B, 0x54, 0x7C, 2438 0x9F, 0xEA, 0x92, 0x8C, 0xEA, 0x69, 0xC0, 0xCE, 2439 0xDA, 0x09, 0xAD, 0x95, 0xA0, 0x8E, 0x0B, 0x8E, 2440 0x10, 0x4F, 0x5B, 0x8F, 0xB8, 0x2D, 0xAC, 0x4C, 2441 0x94, 0x4B, 0x7C, 0x1E, 0xF1, 0x53, 0x20, 0x9B, 2442 0xD6, 0xC4, 0x92, 0x4C, 0x7F, 0xFB, 0x8B, 0x8E, 2443 0x40, 0x2F, 0x24, 0xA3, 0x4E, 0x46, 0x64, 0xF4, 2444 0xC6, 0x35, 0x0F, 0xC7, 0x40, 0x55, 0x43, 0xAF, 2445 0x7E, 0x91, 0x76, 0x48, 0x6F, 0x97, 0x7A, 0xF8, 2446 0x32, 0x1E, 0xD3, 0x5B, 0xBC, 0x19, 0xB5, 0x48, 2447 0xFA, 0x4F, 0x52, 0x77, 0x5B, 0x9E, 0xA2, 0xC8, 2448 0x9A, 0x83, 0x30, 0x8D, 0x9F, 0x0B, 0x6F, 0xA8, 2449 0x2E, 0x84, 0xCC, 0xC1, 0x50, 0x96, 0x46, 0xAE, 2450 0x73, 0x91, 0x7D, 0xCD, 0x88, 0xAB, 0x67, 0x3F, 2451 0x66, 0x3A, 0x8D, 0xB1, 0x89, 0x07, 0x93, 0xDB, 2452 0x42, 0x22, 0xDC, 0x13, 0xBD, 0xCD, 0xBB, 0x12, 2453 0x8D, 0x88, 0x44, 0x13, 0x22, 0x52, 0x81, 0xDC, 2454 0xEF, 0xA1, 0xE4, 0xA3, 0xA7, 0xBA, 0xEE, 0x98, 2455 0x79, 0x45, 0x29, 0x05, 0x65, 0x3D, 0xDC, 0xAF, 2456 0xA1, 0x37, 0x29, 0xFD, 0x05, 0xD1, 0x3A, 0xF7, 2457 0x32, 0x1D, 0x02, 0xEC, 0x28, 0x1E, 0x0F, 0x96, 2458 0xF3, 0x21, 0x19, 0x5F, 0x49, 0xB9, 0xEA, 0x9A, 2459 0xAD, 0x34, 0x58, 0xD1, 0xD9, 0xB1, 0x7D, 0xD2, 2460 0xEA, 0xED, 0x74, 0xE8, 0x25, 0x9A, 0x7B, 0xC5, 2461 0xC8, 0xD8, 0x76, 0xB6, 0xBC, 0x0B, 0x78, 0xCE, 2462 0xD9, 0xA6, 0xBB, 0x2F, 0x79, 0xA4, 0x45, 0x05, 2463 0x55, 0x6E, 0x20, 0x84, 0xEB, 0xC8, 0x70, 0xB0, 2464 0x3A, 0x2D, 0x06, 0x98, 0x29, 0x10, 0xB8, 0xC5, 2465 0xE9, 0xE4, 0xB6, 0xDE, 0x97, 0x9A, 0x0D, 0x8C, 2466 0xB6, 0x22, 0x16, 0x59, 0xAB, 0xB5, 0xD7, 0x14, 2467 0xAB, 0x08, 0x02, 0x27, 0x7B, 0xF7, 0x0E, 0xAC, 2468 0xC5, 0xAC, 0x4D, 0x7F, 0xE5, 0x65, 0x51, 0x40, 2469 0x44, 0x92, 0xB1, 0x6A, 0xB7, 0x00, 0x76, 0x89, 2470 0x6E, 0x08, 0x5F, 0x45, 0x2B, 0x53, 0x86, 0x86, 2471 0xA7, 0x85, 0xBC, 0x62, 0xAC, 0xAA, 0x82, 0x73, 2472 0x0A, 0xEB, 0x35, 0x16, 0x95, 0x26, 0xAB, 0x9E, 2473 0xE9, 0x64, 0x53, 0x99, 0x08, 0x31, 0xF5, 0x6B, 2474 0x1F, 0xFE, 0x47, 0x4B, 0x09, 0x33, 0x4F, 0xBF, 2475 0x1F, 0x0B, 0x4C, 0xB2, 0xB4, 0xA4, 0x17, 0xA9, 2476 0xAD, 0xC5, 0x62, 0x7C, 0xF1, 0x1B, 0xAE, 0x46, 2477 0xD3, 0xAC, 0xFD, 0x43, 0xFE, 0x79, 0xD0, 0x58, 2478 0x2F, 0x6C, 0x9F, 0xD0, 0x65, 0xA4, 0x64, 0x03, 2479 0xAF, 0x73, 0x46, 0x75, 0x7D, 0x49, 0x1B, 0x4C, 2480 0xFA, 0x49, 0xD8, 0x9A, 0xCC, 0x59, 0xC6, 0xC7, 2481 0xA1, 0x05, 0xC2, 0x32, 0xC8, 0x6C, 0x50, 0xA8, 2482 0x06, 0x58, 0xBE, 0x6C, 0x7D, 0x22, 0xD6, 0x0D, 2483 0x74, 0x40, 0xCE, 0xD6, 0x64, 0xD6, 0x47, 0xD0, 2484 0xBF, 0xF1, 0x5C, 0x54, 0xF9, 0x06, 0x3F, 0x3D, 2485 0x86, 0xBA, 0xF2, 0x0F, 0x5E, 0x2C, 0x01, 0xCC, 2486 0xD9, 0xC7, 0xB1, 0x4A, 0xB3, 0xD7, 0x26, 0xCC, 2487 0xC3, 0x7A, 0x74, 0x2C, 0xE1, 0x22, 0x65, 0xA0, 2488 0x5B, 0xCA, 0xF4, 0xE1, 0x7D, 0xE1, 0x56, 0xFD, 2489 0x94, 0x10, 0xC6, 0xA1, 0x4A, 0xE8, 0x6B, 0x34, 2490 0x4E, 0x71, 0x60, 0x77, 0x0F, 0x03, 0xDD, 0xFF, 2491 0xC8, 0x59, 0x54, 0x6C, 0xD4, 0x4A, 0x55, 0x24, 2492 0x35, 0x21, 0x60, 0x73, 0xDF, 0x6F, 0xE7, 0x3C, 2493 0xC2, 0xF0, 0xDA, 0xA9, 0xE5, 0x8C, 0xAC, 0xB6, 2494 0xFD, 0x2E, 0xF7, 0xA0, 0x18, 0xA7, 0x55, 0x47, 2495 0xD1, 0xCB, 0x9E, 0xAA, 0x58, 0x54, 0x3B, 0x37, 2496 0x18, 0xB5, 0xC1, 0xBB, 0x41, 0x59, 0xE4, 0x28, 2497 0x4A, 0x13, 0x90, 0x6A, 0xF7, 0xD1, 0xB3, 0x71, 2498 0xB6, 0x6E, 0xF6, 0x5D, 0x2E, 0x0E, 0x6C, 0x4A, 2499 0x7B, 0xF7, 0xB6, 0x21, 0xD4, 0xFC, 0x47, 0x8C, 2500 0x9B, 0x0A, 0x90, 0xAC, 0x11, 0x52, 0x86, 0x07, 2501 0x24, 0xDA, 0xA9, 0x49, 0x50, 0xD9, 0xDC, 0xE2, 2502 0x19, 0x87, 0x73, 0x88, 0xC3, 0xE4, 0xED, 0xC9, 2503 0x1C, 0xA8, 0x7E, 0x39, 0x48, 0x91, 0x10, 0xAB, 2504 0xFC, 0x3C, 0x1E, 0xEE, 0x08, 0xA1, 0xB9, 0xB2, 2505 0x02, 0x57, 0xB1, 0xD1, 0x35, 0x5E, 0x3D, 0x94, 2506 0xFB, 0x36, 0x27, 0x1A, 0x0E, 0x75, 0xFC, 0xBC, 2507 0xDB, 0xF3, 0xF5, 0x7C, 0x08, 0x39, 0xAA, 0xF4, 2508 0x2E, 0xEE, 0xCF, 0xCD, 0x2D, 0x70, 0xB8, 0x84, 2509 0xE6, 0x22, 0x5C, 0xC0, 0xB9, 0x33, 0xCB, 0x97, 2510 0xA1, 0xA3, 0xEE, 0x93, 0x71, 0xCF, 0xC9, 0x21, 2511 0x31, 0x7A, 0xEC, 0xE7, 0x70, 0xF2, 0xAA, 0x91, 2512 0xAA, 0x48, 0xAD, 0xAC, 0x03, 0xB1, 0x26, 0x52, 2513 0xBC, 0x65, 0x22, 0xA1, 0x09, 0x3D, 0xAB, 0x16, 2514 0x08, 0xBF, 0xCF, 0x3F, 0x59, 0x08, 0x6F, 0x68, 2515 0xEB, 0x8A, 0xB3, 0xCF, 0x77, 0x82, 0xFB, 0x25, 2516 0x78, 0x16, 0x4C, 0xDB, 0x72, 0xF5, 0xCF, 0x79, 2517 0x71, 0xE4, 0x4E, 0x23, 0x15, 0x7F, 0x1E, 0xA8, 2518 0x3E, 0xC0, 0x59, 0x91, 0x20, 0xAE, 0x2C, 0x1D, 2519 0x90, 0xC8, 0x49, 0x42, 0x48, 0x29, 0x82, 0x66, 2520 0x68, 0x49, 0x73, 0xDA, 0xE4, 0x28, 0xCD, 0x7B, 2521 0x4D, 0xE4, 0x23, 0x34, 0xB9, 0xE1, 0xB4, 0x42, 2522 0x67, 0x22, 0x5B, 0xEE, 0xE6, 0x74, 0x32, 0x6F, 2523 0x21, 0x9F, 0x97, 0x46, 0x03, 0xE1, 0xC9, 0x7A, 2524 0x14, 0x27, 0x30, 0xE1, 0xB2, 0x34, 0xE6, 0xAF, 2525 0x7B, 0xAA, 0xDD, 0x89, 0x04, 0x30, 0xD6, 0x78, 2526 0x0B, 0x3D, 0xC3, 0x69, 0xB0, 0x67, 0x4F, 0x4E, 2527 0x12, 0x21, 0x93, 0x2D, 0x79, 0xDD, 0x8B, 0xDB, 2528 0xEA, 0x90, 0x66, 0x54, 0xA8, 0x05, 0xF2, 0xE4, 2529 0x59, 0x8A, 0x96, 0x52, 0x30, 0xF0, 0x4E, 0x9A, 2530 0xE5, 0xD8, 0x72, 0x1C, 0x3B, 0x63, 0x02, 0xB9, 2531 0xC7, 0xA1, 0xDA, 0xC8, 0x6C, 0x48, 0xE0, 0xDE, 2532 0x59, 0x64, 0x89, 0x2C, 0xF9, 0xC8, 0x3B, 0x00, 2533 0xEC, 0xF2, 0x68, 0x51, 0x67, 0x05, 0x85, 0xAF, 2534 0xB8, 0xD5, 0x65, 0xEE, 0x73, 0x26, 0x88, 0xFB, 2535 0xA9, 0xD6, 0x6C, 0x68, 0x9D, 0x9F, 0x23, 0x6A, 2536 0x10, 0x24, 0x82, 0xB2, 0xB7, 0x40, 0x19, 0x3E, 2537 0x6F, 0xA2, 0xD5, 0x2C, 0x6E, 0x8D, 0xE9, 0x33, 2538 0x6E, 0x24, 0x94, 0x05, 0xE9, 0x2D, 0xD9, 0x3A, 2539 0x8C, 0xE5, 0xCC, 0x1D, 0x3F, 0xB8, 0x71, 0xA8, 2540 0x98, 0x33, 0xBB, 0x1A, 0xAC, 0x41, 0x0A, 0x04, 2541 0xFE, 0x4D, 0x46, 0x17, 0x8A, 0xCB, 0xF3, 0x4B, 2542 0x97, 0x02, 0xCC, 0x9D, 0x11, 0xF1, 0xBC, 0xA9, 2543 0xC1, 0xD1, 0xB6, 0xD6, 0x7B, 0x5F, 0x9D, 0x22, 2544 0x86, 0x71, 0xEC, 0x42, 0x53, 0xB7, 0x85, 0x30, 2545 0xAF, 0x1D, 0x01, 0xA7, 0xBF, 0x72, 0xC2, 0xC6, 2546 0xC9, 0xB8, 0xD8, 0xC7, 0xE9, 0xC4, 0xBA, 0xC5, 2547 0xB1, 0x8A, 0xB8, 0x62, 0xBF, 0x75, 0x75, 0x69, 2548 0xF8, 0x8D, 0x7E, 0xD9, 0xD2, 0x28, 0xB5, 0x40, 2549 0xCE, 0xCB, 0xB8, 0x74, 0x31, 0x40, 0x7B, 0x0D, 2550 0x73, 0x98, 0x99, 0x12, 0xB7, 0x75, 0x3E, 0xBC, 2551 0xAE, 0x48, 0xCA, 0xA9, 0x1E, 0xA7, 0x95, 0x31, 2552 0x87, 0x0F, 0x14, 0x52, 0xB6, 0x8E, 0x42, 0x50, 2553 0xB2, 0x76, 0x75, 0xD8, 0x7E, 0x66, 0x23, 0x13, 2554 0x8B, 0x29, 0xAA, 0x13, 0xCA, 0x8A, 0xD8, 0x9B, 2555 0x7B, 0x38, 0xD2, 0xE8, 0x67, 0xD1, 0x89, 0x25, 2556 0x9C, 0x63, 0x2F, 0xC3, 0x26, 0xC7, 0x74, 0x83, 2557 0x05, 0xED, 0x67, 0x02, 0x85, 0xAD, 0x1D, 0x0E, 2558 0xA9, 0xD6, 0xE1, 0xC7, 0x39, 0xA0, 0x6E, 0x72, 2559 0xCE, 0x56, 0x6C, 0xB8, 0x4A, 0xDE, 0x11, 0xA2, 2560 0xBF, 0xC1, 0x84, 0x98, 0x8F, 0xCA, 0x79, 0x74, 2561 0xCA, 0x9F, 0x45, 0x16, 0xBC, 0xB1, 0xF4, 0x03, 2562 0x76, 0x6E, 0xD5, 0x46, 0x60, 0xD7, 0x1D, 0xF0, 2563 0x87, 0x29, 0x63, 0x07, 0x06, 0xB9, 0xC2, 0x69, 2564 0x6D, 0xF9, 0x4B, 0x30, 0x96, 0x83, 0xB8, 0xC5, 2565 0xBE, 0x3A, 0xBA, 0xD0, 0x3E, 0x2B, 0x04, 0x16, 2566 0x6A, 0x00, 0x3B, 0x1A, 0x8E, 0xF8, 0xF6, 0x21, 2567 0x01, 0xD6, 0x08, 0x41, 0x74, 0xA2, 0xFC, 0x36, 2568 0xED, 0x11, 0x51, 0x5A, 0x4A, 0x21, 0x1A, 0x03, 2569 0x11, 0x95, 0x11, 0xF6, 0x73, 0x38, 0x67, 0xFC, 2570 0xF1, 0x2B, 0x22, 0x54, 0x65, 0x40, 0x7D, 0x8C, 2571 0x13, 0xC4, 0x46, 0x87, 0x09, 0x2B, 0xB5, 0xA1, 2572 0x82, 0x49, 0x46, 0x56, 0xF5, 0x5F, 0xF1, 0x04, 2573 0xD8, 0x6F, 0xDB, 0x38, 0xAD, 0xF4, 0x1A, 0xA3, 2574 0xFF, 0x7C, 0xC7, 0xA6, 0xAF, 0x87, 0x5C, 0x8C, 2575 0xEA, 0x3C, 0x9D, 0x7A, 0x4A, 0xD8, 0xA8, 0x66, 2576 0xDB, 0xBF, 0x12, 0x58, 0x98, 0x8E, 0xBA, 0x6F, 2577 0xAF, 0x20, 0xDA, 0xEE, 0x82, 0x34, 0x2F, 0x33, 2578 0x88, 0x98, 0xBA, 0xB2, 0x54, 0x7F, 0x9E, 0x63, 2579 0x19, 0x6C, 0x7D, 0xCE, 0x85, 0xF8, 0xB6, 0x77, 2580 0xCB, 0x38, 0x1F, 0xB1, 0x79, 0xBD, 0xED, 0x32, 2581 0xE3, 0xB9, 0x40, 0xEF, 0x3E, 0x6C, 0x29, 0x88, 2582 0x70, 0x99, 0x47, 0xA6, 0x4A, 0x1C, 0xCC, 0x0B, 2583 0x9B, 0x72, 0xA9, 0x29, 0x83, 0x4C, 0xDE, 0x4F, 2584 0x65, 0x4E, 0xCE, 0xBD, 0xFA, 0x76, 0x8D, 0xA6, 2585 0x1A, 0xD8, 0x66, 0xFE, 0xA4, 0x2A, 0x61, 0x50, 2586 0xEE, 0x15, 0xF1, 0xF0, 0x9D, 0xFF, 0xEC, 0xEE, 2587 0x00, 0x03, 0xFE, 0xAC, 0x53, 0x02, 0xCC, 0x87, 2588 0xB1, 0xA2, 0xD8, 0x34, 0x2C, 0xEC, 0xA6, 0x4C, 2589 0x02, 0xC0, 0xC1, 0x72, 0xD6, 0x54, 0x35, 0x24, 2590 0x25, 0x8B, 0xEC, 0xDA, 0x47, 0x5F, 0x5D, 0x7E, 2591 0xD8, 0x01, 0x51, 0xDD, 0x8F, 0xB4, 0x48, 0xDD, 2592 0x94, 0x99, 0x95, 0x77, 0xB3, 0x42, 0x14, 0xEB, 2593 0x26, 0x61, 0xE9, 0x22, 0xE3, 0x07, 0x73, 0xFB, 2594 0xEF, 0x38, 0x55, 0x35, 0x8F, 0xCC, 0x30, 0x1E, 2595 0x38, 0xE0, 0x35, 0xF4, 0x9A, 0x7C, 0xCF, 0x38, 2596 0x0B, 0x9E, 0xF4, 0x88, 0x4A, 0xEA, 0xF2, 0x67, 2597 0x9F, 0x61, 0x40, 0x34, 0x09, 0xDC, 0xBF, 0xFB, 2598 0x22, 0x27, 0x04, 0x8B, 0x8D, 0x85, 0x7F, 0xB2, 2599 0x29, 0x62, 0x25, 0x73, 0x7F, 0x46, 0x2E, 0xA3, 2600 0x8E, 0xAF, 0xEC, 0x55, 0x98, 0x1A, 0xEE, 0x29, 2601 0xA0, 0x1A, 0x5F, 0xFE, 0x5D, 0xA5, 0x76, 0x93, 2602 0xAB, 0x57, 0x56, 0xEA, 0xDB, 0x39, 0xAC, 0x48, 2603 0xBE, 0x95, 0x92, 0x2B, 0xC6, 0xE1, 0x2F, 0x36, 2604 0x4B, 0x08, 0x01, 0x90, 0x50, 0xD8, 0xFA, 0xF9, 2605 0x94, 0x4E, 0x76, 0x9B, 0x72, 0x59, 0xC2, 0x2F, 2606 0x61, 0x04, 0x0A, 0x9E, 0x28, 0xE5, 0x24, 0x1E, 2607 0x79, 0xCF, 0x8D, 0xB6, 0x52, 0xA7, 0x79, 0x5F, 2608 0x44, 0x98, 0xD5, 0x0E, 0x6E, 0x4B, 0x64, 0x9B, 2609 }, 2610 .len = 2048 2611 }, 2612 .auth_tags[0] = { 2613 .size = 64, 2614 .data = { 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6, 2615 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 }, 2616 .len = 16 2617 }, 2618 .auth_tags[1] = { 2619 .size = 128, 2620 .data = { 0xE9, 0xA9, 0x75, 0xB6, 0xEF, 0x6F, 0x8C, 0xF1, 2621 0xB3, 0xA9, 0x19, 0xA4, 0xAE, 0x66, 0xBD, 0x9E }, 2622 .len = 16 2623 }, 2624 .auth_tags[2] = { 2625 .size = 256, 2626 .data = { 0x29, 0xC3, 0x18, 0x96, 0x54, 0xCB, 0xF5, 0xAA, 2627 0x4E, 0x62, 0xB6, 0xFF, 0x45, 0xA6, 0x18, 0x0C }, 2628 .len = 16 2629 }, 2630 .auth_tags[3] = { 2631 .size = 512, 2632 .data = { 0x3B, 0xD7, 0xC3, 0x5F, 0xE4, 0x1B, 0xC2, 0xBC, 2633 0xE9, 0xAC, 0xF2, 0xCE, 0xA7, 0x7B, 0x1D, 0x70 }, 2634 .len = 16 2635 }, 2636 .auth_tags[4] = { 2637 .size = 1024, 2638 .data = { 0xCC, 0xBB, 0xBC, 0xCF, 0x86, 0x01, 0x4D, 0x93, 2639 0x4B, 0x68, 0x55, 0x19, 0xA1, 0x40, 0xCD, 0xEA }, 2640 .len = 16 2641 }, 2642 .auth_tags[5] = { 2643 .size = 1536, 2644 .data = { 0x67, 0x31, 0x11, 0xA2, 0x58, 0xB5, 0x1C, 0x23, 2645 0xC0, 0x41, 0x05, 0x30, 0xC6, 0xBA, 0xFA, 0x88 }, 2646 .len = 16 2647 }, 2648 .auth_tags[6] = { 2649 .size = 2048, 2650 .data = { 0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86, 2651 0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F }, 2652 .len = 16 2653 }, 2654 .auth_tag = { 2655 .data = { 2656 0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86, 2657 0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F 2658 }, 2659 .len = 16 2660 }, 2661 }; 2662 2663 static const struct gmac_test_data gmac_test_case_4 = { 2664 .key = { 2665 .data = { 2666 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 2667 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 2668 }, 2669 .len = 16 2670 }, 2671 .iv = { 2672 .data = { 2673 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 2674 0xde, 0xca, 0xf8, 0x88 2675 }, 2676 .len = 12 2677 }, 2678 .plaintext = { 2679 .data = gmac_plaintext, 2680 .len = GMAC_LARGE_PLAINTEXT_LENGTH 2681 }, 2682 .gmac_tag = { 2683 .data = { 2684 0x3f, 0x07, 0xcb, 0xb9, 0x86, 0x3a, 0xea, 0xc2, 2685 0x2f, 0x3a, 0x2a, 0x93, 0xd8, 0x09, 0x6b, 0xda 2686 }, 2687 .len = 16 2688 } 2689 }; 2690 2691 /* 2692 * Test vector used to test GMAC SGL with 16 segments 2693 * plaintext length = ~32KB / segment size = ~2 KB 2694 */ 2695 static const struct gmac_test_data gmac_test_case_5 = { 2696 .key = { 2697 .data = { 2698 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 2699 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 2700 }, 2701 .len = 16 2702 }, 2703 .iv = { 2704 .data = { 2705 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 2706 0xde, 0xca, 0xf8, 0x88 2707 }, 2708 .len = 12 2709 }, 2710 .plaintext = { 2711 .data = gmac_plaintext, 2712 .len = GMAC_LARGE_PLAINTEXT_LENGTH/2 2713 }, 2714 .gmac_tag = { 2715 .data = { 2716 0xb1, 0xba, 0xe7, 0x28, 0xd3, 0x95, 0x80, 0xd7, 2717 0x2e, 0xf5, 0xd0, 0x20, 0x80, 0x95, 0x16, 0x97 2718 }, 2719 .len = 16 2720 } 2721 }; 2722 2723 static const struct aead_test_data gcm_test_case_SGL_1 = { 2724 .algo = RTE_CRYPTO_AEAD_AES_GCM, 2725 .key = { 2726 .data = { 2727 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c, 2728 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 }, 2729 .len = 16 2730 }, 2731 .iv = { 2732 .data = { 2733 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad, 2734 0xde, 0xca, 0xf8, 0x88 }, 2735 .len = 12 2736 }, 2737 .aad = { 2738 .data = gcm_aad_zero_text, 2739 .len = 0 2740 }, 2741 .plaintext = { 2742 .data = { 2743 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2744 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2745 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2746 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2747 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2748 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2749 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2750 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2751 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2752 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2753 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2754 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2755 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2756 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2757 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2758 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2759 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2760 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2761 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2762 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2763 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2764 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2765 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2766 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2767 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2768 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2769 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2770 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2771 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2772 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2773 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2774 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2775 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2776 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2777 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2778 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2779 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2780 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2781 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2782 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2783 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2784 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2785 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2786 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2787 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2788 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2789 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2790 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2791 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2792 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2793 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2794 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2795 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2796 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2797 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2798 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2799 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2800 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2801 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2802 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2803 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2804 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2805 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2806 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2807 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2808 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2809 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2810 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2811 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2812 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2813 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2814 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2815 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2816 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2817 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2818 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2819 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2820 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2821 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2822 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2823 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2824 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2825 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2826 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2827 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2828 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2829 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2830 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2831 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2832 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2833 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2834 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2835 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2836 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2837 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2838 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2839 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2840 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2841 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2842 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2843 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2844 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2845 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2846 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2847 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2848 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2849 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2850 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2851 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2852 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2853 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2854 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2855 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2856 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2857 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2858 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2859 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2860 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2861 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2862 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2863 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2864 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2865 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2866 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2867 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2868 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2869 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2870 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2871 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2872 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2873 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2874 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2875 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2876 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2877 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2878 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2879 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2880 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2881 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2882 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2883 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2884 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2885 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2886 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2887 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2888 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2889 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2890 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2891 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2892 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2893 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2894 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2895 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2896 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2897 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2898 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2899 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2900 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2901 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2902 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2903 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2904 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2905 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2906 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2907 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2908 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2909 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2910 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2911 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2912 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2913 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2914 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2915 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2916 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2917 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2918 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2919 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2920 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2921 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2922 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2923 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2924 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2925 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2926 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2927 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2928 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2929 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2930 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2931 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2932 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2933 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2934 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2935 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2936 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2937 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2938 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2939 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2940 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2941 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2942 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2943 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2944 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2945 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2946 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2947 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2948 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2949 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2950 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2951 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2952 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2953 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2954 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2955 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2956 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2957 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2958 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 2959 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2960 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2961 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2962 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2963 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2964 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 2965 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2966 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2967 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2968 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2969 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2970 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2971 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2972 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2973 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2974 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2975 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2976 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2977 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2978 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2979 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2980 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 2981 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2982 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2983 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2984 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2985 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2986 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2987 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2988 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2989 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 2990 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 2991 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 2992 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 2993 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 2994 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2995 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 2996 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 2997 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 2998 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 2999 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3000 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 3001 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3002 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3003 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3004 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3005 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3006 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 3007 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3008 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3009 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3010 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3011 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3012 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3013 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3014 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3015 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3016 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3017 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3018 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3019 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3020 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3021 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3022 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 3023 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3024 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3025 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3026 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3027 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3028 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3029 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3030 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3031 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3032 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3033 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3034 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3035 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3036 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3037 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3038 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3039 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3040 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3041 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3042 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3043 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 3044 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3045 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3046 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3047 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3048 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3049 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 3050 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3051 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3052 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3053 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3054 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3055 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3056 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3057 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3058 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3059 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3060 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3061 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3062 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3063 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3064 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3065 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 3066 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3067 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3068 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3069 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3070 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3071 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3072 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3073 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3074 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3075 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3076 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3077 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3078 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3079 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3080 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3081 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3082 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3083 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3084 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3085 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3086 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a, 3087 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3088 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3089 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3090 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3091 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3092 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55, 3093 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3094 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3095 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3096 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3097 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3098 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3099 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3100 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3101 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3102 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3103 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3104 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3105 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3106 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3107 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3108 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53, 3109 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3110 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3111 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3112 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3113 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3114 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3115 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3116 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3117 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3118 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3119 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3120 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3121 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54, 3122 0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3123 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c, 3124 0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5, 3125 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b, 3126 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda, 3127 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3128 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3129 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72, 3130 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53, 3131 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25, 3132 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57, 3133 3134 }, 3135 .len = 3120 3136 }, 3137 .ciphertext = { 3138 .data = { 3139 0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24, 3140 0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C, 3141 0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0, 3142 0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E, 3143 0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C, 3144 0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05, 3145 0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97, 3146 0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85, 3147 0x05, 0x99, 0x55, 0xE1, 0x36, 0x76, 0xB7, 0x14, 3148 0x1D, 0xF0, 0xF6, 0x8C, 0x65, 0xD5, 0xAD, 0xFA, 3149 0x90, 0x7F, 0x5D, 0xA2, 0xD6, 0xFD, 0xD0, 0xE5, 3150 0x0D, 0x9B, 0x68, 0x21, 0x49, 0x42, 0x6E, 0x13, 3151 0xEC, 0x22, 0x50, 0x2A, 0x30, 0x47, 0x49, 0xA1, 3152 0x7F, 0xC3, 0x09, 0xE0, 0x56, 0x91, 0xC4, 0x54, 3153 0x70, 0xD7, 0x19, 0x40, 0xCA, 0x6B, 0x65, 0x27, 3154 0x3E, 0xE9, 0xD1, 0x0F, 0x1C, 0xB5, 0x45, 0x0C, 3155 0x29, 0xE7, 0xCF, 0x94, 0x10, 0xBF, 0xA2, 0xFA, 3156 0x86, 0x20, 0x3F, 0x6E, 0xE9, 0x95, 0x03, 0x5C, 3157 0x46, 0x11, 0x75, 0xD5, 0x37, 0x71, 0x7F, 0xE0, 3158 0xBC, 0x9F, 0xC8, 0xE9, 0xB1, 0x08, 0x2C, 0x59, 3159 0x6E, 0x51, 0x4A, 0x83, 0x38, 0xC1, 0xED, 0xE2, 3160 0x2E, 0x88, 0x90, 0xA5, 0x7D, 0xA4, 0x93, 0x9A, 3161 0x30, 0xD6, 0x96, 0x34, 0x0F, 0xC4, 0xD1, 0x7E, 3162 0xC9, 0x8F, 0xC5, 0xBB, 0x80, 0x50, 0x85, 0x73, 3163 0x8B, 0x7C, 0x0A, 0xDA, 0xD3, 0x37, 0x1C, 0x8B, 3164 0x1E, 0xAE, 0x29, 0x54, 0x05, 0x53, 0x48, 0xE5, 3165 0x94, 0xF1, 0xC5, 0x1A, 0x60, 0xDC, 0x61, 0x43, 3166 0xCD, 0x45, 0x4C, 0x6B, 0x95, 0xAD, 0x52, 0xE0, 3167 0x9E, 0xD1, 0x4E, 0xCC, 0x03, 0x27, 0x50, 0xD4, 3168 0xEB, 0xBD, 0x71, 0xA6, 0xD0, 0x2B, 0x23, 0xC0, 3169 0x9E, 0x5F, 0x34, 0xFD, 0xDE, 0xC1, 0x43, 0x35, 3170 0x77, 0xFB, 0xFD, 0xDF, 0xA0, 0x28, 0x42, 0x3B, 3171 0x0F, 0x2D, 0x31, 0xB4, 0x7A, 0xA8, 0x2F, 0xDF, 3172 0x58, 0xB5, 0x00, 0x19, 0x8D, 0xEB, 0x2C, 0xBB, 3173 0xAE, 0xAD, 0x74, 0x7F, 0x25, 0xAA, 0x24, 0x3E, 3174 0xCD, 0x89, 0x5E, 0x05, 0xD3, 0xBA, 0x0E, 0x9A, 3175 0x34, 0x7B, 0xE0, 0x11, 0xD2, 0xBA, 0x5A, 0x51, 3176 0xB4, 0x0D, 0xEE, 0x61, 0x73, 0xFC, 0xD2, 0x01, 3177 0x2D, 0x52, 0x3E, 0x37, 0x55, 0x3F, 0x58, 0xA8, 3178 0x1C, 0x8F, 0x1D, 0xD6, 0x3C, 0x39, 0x06, 0x18, 3179 0x65, 0x60, 0x55, 0x19, 0xAD, 0x1E, 0x78, 0xE9, 3180 0xF7, 0xF5, 0xFC, 0xCD, 0x5F, 0xF1, 0x34, 0x0C, 3181 0xA6, 0xFD, 0x1E, 0x9E, 0xB3, 0xCE, 0x2E, 0x10, 3182 0xFB, 0x98, 0xDD, 0x0E, 0x09, 0x5D, 0x4E, 0x58, 3183 0x75, 0x9A, 0x54, 0x74, 0xFB, 0x40, 0x76, 0x55, 3184 0x0E, 0x3E, 0xA4, 0xCE, 0x56, 0xA5, 0xE0, 0x53, 3185 0xB7, 0xAD, 0x36, 0x99, 0x6E, 0xCD, 0xC2, 0x90, 3186 0x6E, 0xEA, 0xBC, 0x21, 0xAC, 0x31, 0xFF, 0x2B, 3187 0x00, 0xA7, 0x5E, 0xC1, 0x7A, 0xF1, 0xAB, 0x24, 3188 0xA3, 0x40, 0x0B, 0xEB, 0x16, 0x62, 0x35, 0x1E, 3189 0xE9, 0xA5, 0xD3, 0x7E, 0xAA, 0x7E, 0x28, 0xA8, 3190 0x3F, 0xD8, 0x0A, 0x04, 0x12, 0x0F, 0xFF, 0x68, 3191 0x10, 0x85, 0x22, 0xD6, 0x05, 0x6A, 0x3A, 0xCB, 3192 0xC0, 0xCF, 0x8C, 0x20, 0xF0, 0x34, 0x32, 0xAA, 3193 0x76, 0x93, 0xE2, 0x23, 0x4F, 0xF2, 0xE6, 0x84, 3194 0x3B, 0xD4, 0xF3, 0x5D, 0xF3, 0x17, 0xEE, 0x27, 3195 0x67, 0xC3, 0x01, 0x6F, 0x32, 0xDE, 0xF6, 0xF6, 3196 0x87, 0xE9, 0x82, 0xEF, 0x1F, 0xA1, 0xE2, 0x68, 3197 0xF8, 0x5D, 0x49, 0x92, 0x47, 0x01, 0x75, 0x87, 3198 0x52, 0xD3, 0x54, 0xAE, 0x3B, 0xB7, 0xB2, 0x07, 3199 0x0F, 0x62, 0x7B, 0xF7, 0x50, 0x97, 0x9A, 0x4A, 3200 0x98, 0x65, 0x23, 0xA3, 0x5D, 0x76, 0x0A, 0x9C, 3201 0x6C, 0xE7, 0x89, 0xAD, 0x86, 0x70, 0xE7, 0x16, 3202 0x5F, 0x2F, 0x2E, 0x97, 0x29, 0x31, 0xF0, 0x60, 3203 0x33, 0x2C, 0xD7, 0xAA, 0xD6, 0xF0, 0x50, 0xB8, 3204 0xBD, 0x29, 0xA8, 0xA9, 0xAC, 0x5E, 0x0A, 0x3A, 3205 0x59, 0x34, 0x9A, 0x92, 0x25, 0x71, 0xB3, 0x16, 3206 0xC5, 0xD3, 0xA4, 0x15, 0x75, 0x9A, 0xB5, 0x78, 3207 0x6E, 0xCF, 0xAF, 0xC0, 0x39, 0x28, 0x44, 0x21, 3208 0xBB, 0xE8, 0x32, 0xAB, 0xCB, 0xF8, 0x4B, 0xE7, 3209 0x63, 0x9C, 0x56, 0xE7, 0xB2, 0xD6, 0x23, 0x17, 3210 0xDE, 0x92, 0xE9, 0x22, 0xC3, 0x36, 0xA5, 0xAC, 3211 0xA9, 0x98, 0x34, 0xAA, 0xFB, 0x03, 0x33, 0x33, 3212 0xBE, 0xD8, 0x22, 0x7F, 0xFA, 0x34, 0xA0, 0x35, 3213 0xC8, 0xA0, 0xDC, 0x35, 0x82, 0x06, 0x58, 0xE6, 3214 0xBF, 0x7C, 0x4F, 0x63, 0x5D, 0x62, 0x64, 0x67, 3215 0x0D, 0x07, 0x7F, 0x24, 0x4A, 0x23, 0xBC, 0x35, 3216 0xE0, 0x92, 0x6F, 0x51, 0xE7, 0x25, 0x97, 0xB9, 3217 0x14, 0x35, 0x2B, 0x48, 0xAC, 0x6F, 0x54, 0xDF, 3218 0xF2, 0xB4, 0xB0, 0xE0, 0xD3, 0x28, 0x0D, 0x67, 3219 0x48, 0x28, 0x0A, 0x16, 0x9C, 0x87, 0x73, 0xB7, 3220 0x9C, 0x2B, 0xB5, 0x43, 0xC9, 0x46, 0xB9, 0x19, 3221 0x01, 0xAA, 0xDE, 0x75, 0xA6, 0x0F, 0xB5, 0x72, 3222 0x6A, 0x51, 0xE3, 0xAC, 0xE0, 0xF6, 0x96, 0x13, 3223 0xBB, 0xC7, 0x08, 0x13, 0x9E, 0x47, 0xAA, 0xF5, 3224 0x9E, 0x69, 0xAC, 0x95, 0x29, 0xFE, 0xFF, 0x99, 3225 0xB2, 0x52, 0x72, 0x45, 0xF2, 0x07, 0xEB, 0x3C, 3226 0x0F, 0x75, 0x29, 0x73, 0x0D, 0x77, 0x58, 0x83, 3227 0xCB, 0xDD, 0xE7, 0x68, 0x1C, 0xE3, 0xD1, 0xA4, 3228 0x5D, 0xD1, 0xAB, 0xB4, 0x5A, 0x3F, 0x27, 0x66, 3229 0xDA, 0xB4, 0x81, 0x65, 0xCE, 0x1A, 0x9A, 0x7D, 3230 0xC7, 0xB6, 0x31, 0xDE, 0x83, 0xC2, 0x7C, 0xF8, 3231 0xD3, 0xC7, 0x97, 0x28, 0x50, 0xF2, 0x95, 0xFC, 3232 0xA7, 0xB2, 0xA6, 0x46, 0xEF, 0x10, 0xD2, 0x38, 3233 0x93, 0x14, 0x8D, 0xA7, 0x09, 0x17, 0x42, 0x7A, 3234 0x85, 0xB9, 0x42, 0x71, 0x2A, 0x51, 0x9B, 0x66, 3235 0x71, 0x12, 0x57, 0xB7, 0xBD, 0x26, 0xB7, 0x91, 3236 0xF8, 0x84, 0x44, 0x35, 0xAD, 0x6F, 0xCB, 0xD7, 3237 0xFC, 0xA1, 0x28, 0x77, 0x09, 0x5B, 0x6D, 0x52, 3238 0x43, 0xA1, 0xE2, 0x0A, 0x7E, 0x5A, 0x84, 0x45, 3239 0x20, 0xDE, 0xA5, 0x73, 0x1D, 0x37, 0x6E, 0xD8, 3240 0x7A, 0x0D, 0x91, 0xBE, 0xF4, 0xB3, 0x89, 0xE9, 3241 0x1F, 0x1E, 0xF6, 0xD5, 0x37, 0xB4, 0x3C, 0x1D, 3242 0xBE, 0x0D, 0x5B, 0x01, 0xB0, 0x8B, 0xCE, 0x3E, 3243 0x6D, 0x8B, 0x99, 0x9A, 0xC5, 0xAE, 0xFE, 0xA9, 3244 0x78, 0x34, 0x20, 0xA7, 0x6C, 0x7D, 0x46, 0x72, 3245 0x37, 0xAF, 0xFD, 0x17, 0x59, 0xED, 0x83, 0x5B, 3246 0xEB, 0x6E, 0x4A, 0xF1, 0xE6, 0x0D, 0x44, 0x92, 3247 0x65, 0x8E, 0x97, 0xD6, 0x83, 0x6E, 0x97, 0xCA, 3248 0x4C, 0x0A, 0xCE, 0x32, 0x2A, 0xAD, 0x22, 0x73, 3249 0xCB, 0xCB, 0xC3, 0x55, 0x08, 0x63, 0x23, 0xC2, 3250 0x31, 0x24, 0x90, 0x54, 0x99, 0xB2, 0x8C, 0xC7, 3251 0x8A, 0xB6, 0xFF, 0xC2, 0x75, 0xB1, 0xD9, 0x3D, 3252 0x95, 0xDC, 0xB6, 0xCF, 0x11, 0x74, 0x06, 0x54, 3253 0x03, 0xE3, 0x9B, 0x49, 0xE4, 0xF2, 0x73, 0x04, 3254 0xF7, 0xDC, 0x71, 0xD7, 0xFA, 0x3C, 0xD2, 0x61, 3255 0x77, 0x61, 0xB3, 0xDB, 0x6B, 0xCE, 0xCA, 0xFF, 3256 0xF0, 0xAD, 0xBC, 0x94, 0xC8, 0xF8, 0xD5, 0xF4, 3257 0x38, 0xA3, 0x61, 0xAA, 0x8C, 0x96, 0xEE, 0x56, 3258 0xAC, 0xB4, 0x42, 0xBA, 0x1A, 0xE1, 0x70, 0x98, 3259 0x1F, 0x9A, 0x6F, 0x98, 0xB9, 0x13, 0x46, 0xAB, 3260 0x0B, 0xCD, 0xA3, 0x7B, 0x0C, 0xCB, 0x8F, 0x72, 3261 0x23, 0xCF, 0x9E, 0xD8, 0xBB, 0x3F, 0x32, 0x27, 3262 0x54, 0xB8, 0x60, 0x64, 0x83, 0xAE, 0x22, 0xD1, 3263 0x6A, 0xC9, 0xF8, 0x13, 0xC4, 0xE4, 0xFF, 0x97, 3264 0xD8, 0x92, 0xA3, 0xD1, 0xD4, 0x86, 0xD7, 0xC3, 3265 0xBB, 0x40, 0xA2, 0x45, 0x78, 0xB1, 0xDB, 0x80, 3266 0xC6, 0x8D, 0x0A, 0xF0, 0xC3, 0xC2, 0xE3, 0x48, 3267 0xA1, 0x05, 0xC2, 0x32, 0xC8, 0x6C, 0x50, 0xA8, 3268 0x06, 0x58, 0xBE, 0x6C, 0x7D, 0x22, 0xD6, 0x0D, 3269 0x74, 0x40, 0xCE, 0xD6, 0x64, 0xD6, 0x47, 0xD0, 3270 0xBF, 0xF1, 0x5C, 0x54, 0xF9, 0x06, 0x3F, 0x3D, 3271 0x86, 0xBA, 0xF2, 0x0F, 0x5E, 0x2C, 0x01, 0xCC, 3272 0xD9, 0xC7, 0xB1, 0x4A, 0xB3, 0xD7, 0x26, 0xCC, 3273 0xC3, 0x7A, 0x74, 0x2C, 0xE1, 0x22, 0x65, 0xA0, 3274 0x5B, 0xCA, 0xF4, 0xE1, 0x7D, 0xE1, 0x56, 0xFD, 3275 0x95, 0x10, 0xC6, 0xA1, 0x4A, 0xE8, 0x6B, 0x34, 3276 0x4E, 0x71, 0x60, 0x77, 0x0F, 0x03, 0xDD, 0xFE, 3277 0xC8, 0x59, 0x54, 0x6C, 0xD4, 0x4A, 0x55, 0x24, 3278 0x35, 0x21, 0x60, 0x73, 0xDF, 0x6F, 0xE7, 0x3C, 3279 0xC2, 0xF0, 0xDA, 0xA9, 0xE5, 0x8C, 0xAC, 0xB6, 3280 0xFD, 0x2E, 0xF7, 0xA0, 0x18, 0xA7, 0x55, 0x47, 3281 0xD1, 0xCB, 0x9E, 0xAA, 0x58, 0x54, 0x3B, 0x37, 3282 0x18, 0xB5, 0xC1, 0xBB, 0x41, 0x59, 0xE4, 0x29, 3283 0x44, 0x13, 0x90, 0x6A, 0xF7, 0xD1, 0xB3, 0x71, 3284 0xB6, 0x6E, 0xF6, 0x5D, 0x2E, 0x0E, 0x6C, 0x4C, 3285 0x7B, 0xF7, 0xB6, 0x21, 0xD4, 0xFC, 0x47, 0x8C, 3286 0x9B, 0x0A, 0x90, 0xAC, 0x11, 0x52, 0x86, 0x07, 3287 0x24, 0xDA, 0xA9, 0x49, 0x50, 0xD9, 0xDC, 0xE2, 3288 0x19, 0x87, 0x73, 0x88, 0xC3, 0xE4, 0xED, 0xC9, 3289 0x1C, 0xA8, 0x7E, 0x39, 0x48, 0x91, 0x10, 0xAB, 3290 0xFC, 0x3C, 0x1E, 0xEE, 0x08, 0xA1, 0xB9, 0xB4, 3291 0xF4, 0xA9, 0x8D, 0xD0, 0x84, 0x7C, 0x8E, 0x54, 3292 0xEF, 0x05, 0xC3, 0x2A, 0x0B, 0x8D, 0x3C, 0x71, 3293 0xE7, 0x37, 0x27, 0x16, 0x07, 0xA2, 0x8F, 0x7A, 3294 0x86, 0x05, 0x56, 0xA3, 0xB2, 0x75, 0xC5, 0x2C, 3295 0xD4, 0x52, 0x60, 0x68, 0xA6, 0x6A, 0x48, 0xB6, 3296 0x92, 0x50, 0xEC, 0x22, 0xAD, 0x01, 0x75, 0x57, 3297 0xAF, 0xDF, 0x0F, 0x36, 0x93, 0x59, 0xF9, 0xE3, 3298 0xA1, 0x41, 0x3B, 0x60, 0xB3, 0x13, 0x12, 0x50, 3299 0x4B, 0x18, 0x20, 0xB9, 0x7B, 0x88, 0x27, 0x81, 3300 0xB1, 0xDA, 0xCA, 0x6F, 0x63, 0x95, 0x40, 0xA1, 3301 0x42, 0xE2, 0x14, 0xB8, 0x2B, 0x10, 0xB9, 0xDA, 3302 0xE7, 0x30, 0x91, 0x13, 0x52, 0xC9, 0xA3, 0x5C, 3303 0xD7, 0xBB, 0x39, 0x8F, 0x9A, 0xB8, 0xC5, 0xAF, 3304 0xC6, 0x3E, 0x65, 0x90, 0x91, 0x8C, 0x9F, 0xDD, 3305 0x84, 0xFB, 0xAD, 0x72, 0x4D, 0xD1, 0x42, 0xAD, 3306 0x0A, 0x1B, 0x3A, 0xC6, 0x06, 0x03, 0x19, 0xCB, 3307 0x31, 0x8C, 0x18, 0xD4, 0xEE, 0x90, 0x94, 0x3C, 3308 0x44, 0xDC, 0xFB, 0x78, 0x5C, 0xB5, 0xE3, 0x2F, 3309 0x89, 0x74, 0x0E, 0x28, 0x9C, 0xE4, 0xB4, 0xD2, 3310 0xE3, 0x5A, 0x32, 0xF9, 0xC0, 0x81, 0x6A, 0x38, 3311 0xC2, 0xCF, 0xD8, 0xD9, 0x3E, 0xAD, 0xF9, 0xB1, 3312 0xA2, 0x55, 0x64, 0x1E, 0xEC, 0xF5, 0x0D, 0xB1, 3313 0x8D, 0x07, 0x4E, 0xE5, 0x59, 0xE1, 0xE7, 0xFE, 3314 0x4C, 0xCF, 0x11, 0xF8, 0x27, 0xC2, 0x29, 0xE2, 3315 0xAF, 0x74, 0xAA, 0x53, 0x81, 0xD2, 0xFD, 0x5A, 3316 0xF1, 0xEB, 0x96, 0x2C, 0x3E, 0x9B, 0xC2, 0x74, 3317 0xFB, 0x65, 0x08, 0xA2, 0x63, 0xD3, 0xC5, 0x51, 3318 0xAF, 0x19, 0x8B, 0x34, 0x8B, 0x7D, 0xB7, 0x97, 3319 0x55, 0x97, 0x6D, 0x01, 0x5D, 0x98, 0xAA, 0x67, 3320 0x11, 0xBD, 0xC2, 0x99, 0x2F, 0xB4, 0xCA, 0x04, 3321 0x36, 0xF0, 0xB1, 0xA0, 0xBD, 0xA3, 0x4F, 0x4F, 3322 0xB6, 0x7B, 0xF5, 0x1E, 0x38, 0x87, 0xC2, 0x38, 3323 0x99, 0x5C, 0xE9, 0x2D, 0xDF, 0xAF, 0x5A, 0xF3, 3324 0x7A, 0x17, 0x70, 0x35, 0xEC, 0xD5, 0x19, 0xF7, 3325 0xB0, 0x21, 0x1E, 0x77, 0x30, 0x23, 0x54, 0x26, 3326 0x61, 0x4E, 0xB9, 0x02, 0xDE, 0xF4, 0x86, 0x93, 3327 0x47, 0x28, 0x43, 0x47, 0xB0, 0x56, 0xDC, 0x84, 3328 0x3E, 0x6A, 0x6B, 0xEA, 0x4D, 0x63, 0xFE, 0x56, 3329 0x5E, 0xF7, 0x6B, 0x1E, 0x5B, 0x63, 0xF1, 0x07, 3330 0x20, 0x2E, 0x9B, 0xEE, 0xDC, 0x70, 0x5E, 0x36, 3331 0x59, 0xE3, 0x3D, 0xA6, 0x0E, 0x50, 0x71, 0x06, 3332 0xDD, 0x8B, 0x3C, 0xF7, 0xEC, 0x3C, 0x7A, 0x08, 3333 0x8D, 0x4E, 0x6A, 0x08, 0xB0, 0xEE, 0x50, 0xE0, 3334 0xF9, 0x0E, 0x40, 0xC0, 0x11, 0xBF, 0x8A, 0x17, 3335 0x63, 0x9D, 0x59, 0x14, 0x0E, 0x25, 0x94, 0x09, 3336 0xE6, 0x34, 0xEC, 0x0F, 0xE4, 0x7C, 0x59, 0xCD, 3337 0x99, 0x85, 0x8E, 0x0F, 0xA1, 0x9E, 0x84, 0xBC, 3338 0x13, 0x20, 0x5F, 0x56, 0x26, 0x10, 0x1A, 0x77, 3339 0x77, 0x7B, 0x4B, 0x68, 0x13, 0x8A, 0x2C, 0xA5, 3340 0x01, 0xBF, 0xAD, 0xF2, 0x2C, 0xD9, 0x4B, 0x24, 3341 0x4C, 0xF5, 0x96, 0x4E, 0xD8, 0xE8, 0x98, 0xA8, 3342 0x9C, 0x63, 0x2F, 0xC3, 0x26, 0xC7, 0x74, 0x83, 3343 0x05, 0xED, 0x67, 0x02, 0x85, 0xAD, 0x1D, 0x0E, 3344 0xA9, 0xD6, 0xE1, 0xC7, 0x39, 0xA0, 0x6E, 0x72, 3345 0xCE, 0x56, 0x6C, 0xB8, 0x4A, 0xDE, 0x11, 0xA2, 3346 0xBF, 0xC1, 0x84, 0x98, 0x8F, 0xCA, 0x79, 0x75, 3347 0xC4, 0x9F, 0x45, 0x16, 0xBC, 0xB1, 0xF4, 0x03, 3348 0x76, 0x6E, 0xD5, 0x46, 0x60, 0xD7, 0x1D, 0xF6, 3349 0xD9, 0xBF, 0xF8, 0x71, 0xEB, 0x09, 0x33, 0x56, 3350 0xE6, 0xEC, 0x72, 0xC8, 0xB3, 0x47, 0x14, 0x2C, 3351 0x24, 0xA1, 0x1F, 0x16, 0xBE, 0x77, 0xFA, 0x9F, 3352 0x6B, 0x83, 0x05, 0x03, 0x4D, 0x6F, 0xC9, 0x76, 3353 0x69, 0x8D, 0xD7, 0x91, 0x26, 0x2B, 0x1C, 0x84, 3354 0xF2, 0x2B, 0x23, 0xA6, 0xFF, 0x7B, 0xEE, 0xCC, 3355 0x4E, 0x03, 0x8A, 0x80, 0x9E, 0x88, 0x96, 0xC3, 3356 0x7A, 0x3E, 0x1B, 0xAC, 0x40, 0x84, 0xD1, 0x64, 3357 0x89, 0x5F, 0xE3, 0x41, 0x89, 0x77, 0x4B, 0x28, 3358 0x83, 0xCA, 0x78, 0x4F, 0x36, 0xC8, 0xCE, 0x53, 3359 0x75, 0x39, 0x3A, 0x58, 0x92, 0x91, 0xF5, 0xA7, 3360 0x6A, 0xD0, 0xB2, 0xBB, 0xFC, 0x8E, 0x3B, 0xFC, 3361 0x83, 0x67, 0x42, 0xAA, 0x18, 0x51, 0x48, 0xD4, 3362 0xC4, 0x85, 0x60, 0xA4, 0x2D, 0xD4, 0x4E, 0xA1, 3363 0xF0, 0xB6, 0x41, 0x98, 0x6F, 0x84, 0xDE, 0x0C, 3364 0x03, 0x8D, 0x83, 0x4A, 0x71, 0xBB, 0x32, 0x8B, 3365 0x83, 0xF7, 0xD8, 0x08, 0x05, 0xA4, 0x48, 0xFE, 3366 0xCA, 0xBB, 0x21, 0xA8, 0xBA, 0x2A, 0xD2, 0x65, 3367 0x4E, 0xEF, 0xA1, 0x8F, 0x01, 0x09, 0xC6, 0x8C, 3368 0xE5, 0x35, 0x32, 0xBB, 0x19, 0x15, 0xAB, 0x7A, 3369 0xFD, 0x29, 0x76, 0xF9, 0xD1, 0xC5, 0x3E, 0xFD, 3370 0x7A, 0x74, 0xBC, 0x41, 0x4F, 0x2C, 0x79, 0x6F, 3371 0x45, 0x4E, 0xFD, 0x88, 0x49, 0x9A, 0x90, 0x6F, 3372 0x65, 0x00, 0xC8, 0x08, 0xB8, 0x3B, 0x40, 0x06, 3373 0x9A, 0x98, 0x5B, 0x6A, 0xD3, 0x5E, 0x32, 0x0E, 3374 0xB0, 0x21, 0xE6, 0x2D, 0xEF, 0x7B, 0x99, 0x1B, 3375 0xAF, 0x96, 0x20, 0x12, 0xE9, 0x31, 0xDA, 0x20, 3376 0xB0, 0x27, 0x99, 0xC7, 0x14, 0x56, 0x3A, 0x08, 3377 0x46, 0xA4, 0xB2, 0x0C, 0x6C, 0x1F, 0x1B, 0xAF, 3378 0x9F, 0x90, 0x03, 0xBB, 0x03, 0xE0, 0x20, 0xE9, 3379 0x45, 0x33, 0xA0, 0x3E, 0x01, 0x2C, 0xA7, 0x4A, 3380 0xCC, 0xC6, 0xF5, 0xA3, 0x35, 0x0D, 0xE1, 0x5E, 3381 0x90, 0x0B, 0xAC, 0x9A, 0x05, 0x79, 0xB2, 0x90, 3382 0x39, 0xEE, 0xC8, 0x20, 0x55, 0xB3, 0x71, 0x46, 3383 0xAC, 0x92, 0x42, 0x85, 0xD5, 0x12, 0x03, 0x8D, 3384 0xBC, 0x82, 0xE7, 0x5A, 0x6E, 0x2E, 0x2C, 0xC0, 3385 0xB6, 0x44, 0xF8, 0xBB, 0x5F, 0x7A, 0x42, 0x86, 3386 0x28, 0xF0, 0x9B, 0xF9, 0x17, 0xDD, 0x35, 0x2F, 3387 0x56, 0xE4, 0x63, 0xFF, 0xEC, 0x87, 0xC5, 0x53, 3388 0xBF, 0x64, 0xB2, 0xDA, 0xDE, 0xC1, 0x6C, 0x85, 3389 0x82, 0x51, 0x40, 0x41, 0xC9, 0x7A, 0x0A, 0xB8, 3390 0xB2, 0x75, 0x03, 0x88, 0x22, 0x6D, 0x76, 0x6E, 3391 0x2D, 0x2B, 0x73, 0xCB, 0x48, 0xC4, 0xED, 0xE0, 3392 0x96, 0xFA, 0x36, 0x9F, 0x99, 0xC7, 0x97, 0xDE, 3393 0x6D, 0xFC, 0x69, 0x86, 0x57, 0x5F, 0xB9, 0x93, 3394 0x78, 0x5C, 0x07, 0x64, 0x61, 0xD0, 0x41, 0x14, 3395 0x32, 0xED, 0xC0, 0xE4, 0xAC, 0xFC, 0x10, 0x0D, 3396 0xAF, 0xEE, 0xDA, 0xB3, 0x6D, 0xB8, 0x7C, 0x10, 3397 0xD5, 0x3B, 0x88, 0xE1, 0x15, 0xE1, 0xA4, 0x27, 3398 0xFE, 0xEE, 0x0A, 0xC8, 0x95, 0xCF, 0xCA, 0x99, 3399 0x98, 0x1D, 0xF3, 0x0E, 0xB8, 0x03, 0xD5, 0x51, 3400 0x4B, 0x56, 0xB9, 0x07, 0x85, 0x58, 0x17, 0x51, 3401 0x16, 0xC4, 0x86, 0xBB, 0xD3, 0x50, 0x01, 0x0E, 3402 0x7B, 0x9C, 0xEF, 0xF0, 0x28, 0x4A, 0xD7, 0x3D, 3403 0x1E, 0x3A, 0xBB, 0xCF, 0x2C, 0x90, 0x12, 0x2A, 3404 0xB3, 0x90, 0x72, 0xE3, 0x93, 0x81, 0xE8, 0xA4, 3405 0xEF, 0x8F, 0xD9, 0x45, 0x4F, 0xB1, 0xD0, 0x21, 3406 0xDA, 0x20, 0x5C, 0xE9, 0x41, 0x41, 0x4E, 0x48, 3407 0x95, 0x4D, 0x5A, 0xB3, 0xE5, 0x8B, 0xFC, 0xDE, 3408 0xB9, 0x7B, 0x93, 0xBE, 0xA2, 0x74, 0x1B, 0xFA, 3409 0xED, 0xCC, 0x0E, 0xDD, 0x96, 0x13, 0x2C, 0xAC, 3410 0xDE, 0x2B, 0x2D, 0x8A, 0x30, 0x5A, 0xB8, 0x4B, 3411 0x08, 0x2C, 0x74, 0xF7, 0xB4, 0x45, 0xD3, 0xA5, 3412 0x62, 0x87, 0xCA, 0x16, 0xEB, 0x49, 0x46, 0x0C, 3413 0x87, 0x7F, 0x11, 0x1D, 0x22, 0x66, 0x0A, 0x38, 3414 0x90, 0x3A, 0x31, 0x38, 0x73, 0xB2, 0xD5, 0x5E, 3415 0x06, 0xC4, 0x1E, 0x3D, 0xB7, 0x52, 0xB8, 0xE5, 3416 0xC0, 0xF9, 0x72, 0xBC, 0x7A, 0x8A, 0xD3, 0xB4, 3417 0x1D, 0xA9, 0x93, 0x3B, 0x7E, 0xFF, 0x8E, 0xA0, 3418 0x96, 0x52, 0xE9, 0x9E, 0x60, 0x4C, 0x02, 0x90, 3419 0xE5, 0x46, 0x92, 0xB3, 0xB8, 0x24, 0xE9, 0xD0, 3420 0xCE, 0xD3, 0x0B, 0xCD, 0x8B, 0xE8, 0x72, 0xEA, 3421 0x6E, 0xBF, 0x2B, 0x99, 0x6F, 0xC0, 0x65, 0xE8, 3422 0x92, 0x30, 0x03, 0x28, 0xA9, 0xB0, 0xA7, 0x03, 3423 0x92, 0x2C, 0xC8, 0x38, 0x8C, 0x38, 0x56, 0xEE, 3424 0xDB, 0x39, 0xBD, 0x7E, 0xE9, 0x8D, 0xDB, 0xC1, 3425 0xD5, 0x71, 0xC7, 0x84, 0xF3, 0xB2, 0x23, 0x22, 3426 0xB5, 0x98, 0xB3, 0x36, 0xF1, 0xC4, 0xB1, 0xA4, 3427 0xF2, 0x84, 0x24, 0xE5, 0x97, 0x48, 0x34, 0x43, 3428 0xEF, 0xD9, 0xF4, 0x10, 0xE4, 0x13, 0xEE, 0x6C, 3429 0xE7, 0x5D, 0x9B, 0xBA, 0x35, 0xF5, 0x7D, 0xE5, 3430 0xBF, 0x8A, 0xCC, 0x3D, 0x28, 0xCF, 0xE8, 0x90, 3431 0xE3, 0xCF, 0x01, 0x69, 0xD7, 0xC0, 0xD2, 0x2C, 3432 0xC2, 0x9B, 0x89, 0xF2, 0xA9, 0x83, 0xA2, 0xA9, 3433 0x12, 0xAA, 0x56, 0xD8, 0xCB, 0xA5, 0x8B, 0x0A, 3434 0x03, 0xC1, 0xE1, 0x8E, 0x02, 0x36, 0x3D, 0x8F, 3435 0x58, 0x4D, 0xEB, 0x93, 0x91, 0xC6, 0xE7, 0x22, 3436 0xCE, 0xA8, 0x02, 0xD2, 0x82, 0x0D, 0x43, 0x4D, 3437 0x4E, 0x11, 0xF8, 0x7B, 0x45, 0xD0, 0x23, 0xF7, 3438 0x14, 0x35, 0x16, 0xA4, 0x0B, 0xAD, 0xFE, 0xE2, 3439 0x2B, 0xFD, 0xF7, 0x17, 0xA9, 0x93, 0x77, 0x82, 3440 0x45, 0x6E, 0x51, 0x1F, 0x5C, 0x2C, 0x5F, 0xFF, 3441 0x1A, 0xA3, 0x0E, 0x29, 0xA5, 0x1D, 0xFD, 0x0E, 3442 0xDD, 0x14, 0xF6, 0x69, 0x20, 0x15, 0xFD, 0xBB, 3443 0xF8, 0xAF, 0x3D, 0xF3, 0xCC, 0xB8, 0x7E, 0x64, 3444 0xED, 0x99, 0xF3, 0x1D, 0xFC, 0x96, 0xA2, 0x0A, 3445 0x9C, 0xC2, 0x9B, 0xD7, 0x03, 0xA6, 0x79, 0x3B, 3446 0x16, 0x0C, 0x6C, 0x5C, 0x2B, 0x61, 0x0E, 0x48, 3447 0x96, 0x5C, 0x46, 0x7F, 0xC3, 0xCD, 0x3C, 0x10, 3448 0x30, 0x8F, 0xC4, 0xB5, 0x92, 0x46, 0x1C, 0xDF, 3449 0x10, 0xEE, 0x43, 0x27, 0x42, 0x70, 0xD2, 0xC4, 3450 0x5E, 0x77, 0x78, 0x0E, 0x0E, 0xC3, 0x8B, 0x72, 3451 0xA0, 0xFC, 0x4C, 0x0F, 0x5D, 0xBE, 0xBE, 0x07, 3452 0x5B, 0x53, 0x38, 0xC8, 0x96, 0x82, 0x2D, 0x2D, 3453 0x8E, 0xA8, 0x6C, 0x68, 0x34, 0x42, 0x31, 0x90, 3454 0xD6, 0x4D, 0x29, 0xA9, 0x90, 0x95, 0x19, 0xD6, 3455 0x8F, 0x2F, 0xF4, 0xD3, 0x71, 0x21, 0xB7, 0x7D, 3456 0x51, 0xA6, 0x15, 0xE5, 0xDA, 0x08, 0x6A, 0x23, 3457 0xDE, 0x6C, 0xBA, 0xCF, 0x84, 0xF1, 0x47, 0x25, 3458 0x4A, 0xF1, 0x2F, 0x24, 0xED, 0x3B, 0xED, 0xF0, 3459 0xA7, 0x48, 0xAE, 0x58, 0x7F, 0x0B, 0x3B, 0x78, 3460 0xCE, 0x94, 0x32, 0x82, 0x63, 0x22, 0x67, 0xAA, 3461 0x45, 0x37, 0xCC, 0x43, 0xD5, 0x10, 0x59, 0x5B, 3462 0x09, 0xC6, 0x1C, 0x32, 0xCD, 0x19, 0xA2, 0x3C, 3463 0x2B, 0x84, 0x03, 0xD5, 0x97, 0x20, 0xE7, 0xFB, 3464 0x2D, 0x0A, 0x3C, 0x5C, 0xFD, 0x39, 0x9C, 0xDE, 3465 0x02, 0x3D, 0xC7, 0xDD, 0x51, 0xDE, 0x99, 0xB3, 3466 0x65, 0x00, 0x60, 0xCF, 0xAE, 0xCD, 0xE2, 0x83, 3467 0xD5, 0x36, 0x2C, 0x89, 0x28, 0x6D, 0xC3, 0x6A, 3468 0x80, 0xCD, 0x1A, 0xC3, 0x75, 0x11, 0x7E, 0x65, 3469 0x2A, 0x44, 0x9D, 0xB5, 0x12, 0x2A, 0x78, 0xD0, 3470 0x4D, 0xF8, 0x5E, 0xBF, 0xEC, 0x6B, 0x60, 0xD2, 3471 0x89, 0x92, 0x5E, 0x17, 0xDA, 0x33, 0x83, 0xDB, 3472 0xED, 0xF4, 0x5E, 0x82, 0xE9, 0x04, 0xD7, 0xE0, 3473 0xA4, 0x1B, 0xFE, 0x32, 0x93, 0x05, 0x2C, 0xCF, 3474 0xA2, 0xAE, 0x83, 0xCA, 0x2F, 0x5E, 0x47, 0x1C, 3475 0x85, 0x0D, 0x01, 0xE5, 0x44, 0x3D, 0xE4, 0x58, 3476 0x8E, 0xC0, 0x46, 0x05, 0x95, 0xBE, 0x59, 0xED, 3477 0x0F, 0x7B, 0xA1, 0xF7, 0xDB, 0x2C, 0x79, 0x86, 3478 0xE9, 0x54, 0x98, 0xA6, 0x2A, 0xD0, 0xFE, 0xC9, 3479 0x59, 0x1D, 0x31, 0xC6, 0x27, 0x83, 0x2C, 0x12, 3480 0x9C, 0xE1, 0x43, 0x3C, 0xEC, 0x65, 0x3B, 0xEF, 3481 0xFD, 0x92, 0xBC, 0x0E, 0x38, 0xBA, 0x56, 0x1C, 3482 0xC0, 0x81, 0x9E, 0xBE, 0x76, 0x59, 0x88, 0xA4, 3483 0x0C, 0x6B, 0xD9, 0x7C, 0xD6, 0x8C, 0x32, 0xCD, 3484 0x3F, 0xB6, 0xEF, 0xBF, 0xA6, 0xC7, 0xC9, 0xD3, 3485 0x02, 0xB0, 0x3B, 0xFF, 0xFC, 0x4A, 0x97, 0x14, 3486 0xFF, 0xF2, 0x48, 0xFE, 0x1B, 0xCE, 0x7D, 0x24, 3487 0xA1, 0xD6, 0x03, 0xB0, 0x2F, 0xAA, 0xF7, 0x71, 3488 0xC9, 0x0E, 0xCB, 0x57, 0xBA, 0xEF, 0xB5, 0x65, 3489 0xE1, 0x44, 0xE4, 0x6A, 0xEB, 0xE8, 0x2B, 0x8F, 3490 0x06, 0x23, 0x7A, 0xA9, 0x70, 0xAE, 0x48, 0x65, 3491 0x94, 0xEE, 0xA5, 0x94, 0x78, 0x7D, 0x09, 0xF8, 3492 0xB5, 0x4D, 0x64, 0x67, 0x10, 0x16, 0xA2, 0xFC, 3493 0x49, 0x93, 0x76, 0x71, 0xED, 0x56, 0x25, 0xB5, 3494 0x87, 0xE8, 0x84, 0x16, 0x55, 0xE1, 0x1E, 0x34, 3495 0xE3, 0xB2, 0x49, 0x8F, 0xDC, 0xDA, 0xC3, 0x17, 3496 0x82, 0x0E, 0x19, 0xD7, 0xE0, 0x09, 0xD7, 0xD9, 3497 0x59, 0x6B, 0x55, 0x60, 0x1C, 0x1B, 0x02, 0xE8, 3498 0xD1, 0x90, 0xF6, 0x3E, 0x94, 0x4A, 0x12, 0x0C, 3499 0xBB, 0x69, 0xFD, 0x7C, 0xA0, 0xDD, 0x5F, 0x93, 3500 0x9F, 0xFE, 0x2E, 0x79, 0xDB, 0xBE, 0x6F, 0x85, 3501 0xAD, 0x9B, 0xDE, 0xAA, 0x10, 0xCA, 0xDB, 0xF2, 3502 0xF9, 0xD0, 0x54, 0x15, 0x00, 0xF0, 0x6F, 0x86, 3503 0x16, 0xF6, 0xA8, 0xA4, 0x08, 0x7B, 0x50, 0xF1, 3504 0x35, 0xAC, 0xB6, 0xBB, 0x8B, 0xA0, 0x86, 0x3B, 3505 0x3B, 0xDA, 0x9F, 0x89, 0xB5, 0x9C, 0x44, 0x41, 3506 0x6A, 0xFD, 0x8A, 0x79, 0xA0, 0xFB, 0x7D, 0x1B, 3507 0xE8, 0xC4, 0xA7, 0x3F, 0x66, 0x97, 0xA9, 0xF8, 3508 0xEA, 0x0C, 0x30, 0x81, 0x63, 0xE4, 0xE3, 0x84, 3509 0x62, 0xC5, 0x19, 0xFB, 0x00, 0xD6, 0x72, 0xE6, 3510 0xC9, 0x6C, 0xDB, 0xEB, 0xF3, 0x6F, 0xDB, 0xE7, 3511 0x00, 0x53, 0xCE, 0x1D, 0xE5, 0xF5, 0x53, 0x18, 3512 0xE5, 0xAA, 0xDA, 0x90, 0x7B, 0xCB, 0x2B, 0x74, 3513 0xED, 0x70, 0xFE, 0x90, 0xA8, 0xC8, 0x80, 0x2B, 3514 0x93, 0x08, 0xDB, 0x6A, 0x0F, 0x3D, 0xA1, 0xFA, 3515 0xB6, 0x63, 0x18, 0xF8, 0x43, 0x68, 0x00, 0xD0, 3516 0x7A, 0x97, 0xCD, 0x5B, 0xB2, 0x84, 0x90, 0x06, 3517 0xB9, 0x81, 0xC5, 0x81, 0x05, 0x55, 0x8C, 0xC4, 3518 0x03, 0x89, 0xF5, 0x63, 0x87, 0x39, 0xEC, 0xD6, 3519 0x89, 0x01, 0xE7, 0x1C, 0x4C, 0xDF, 0x5D, 0x65, 3520 0xFE, 0x4B, 0x91, 0x04, 0x5B, 0x0E, 0x03, 0x38, 3521 0x2F, 0x21, 0xA8, 0x36, 0x58, 0x93, 0xAD, 0x1F, 3522 0xEB, 0xC3, 0x91, 0x90, 0x9B, 0x95, 0xCD, 0x53, 3523 0x81, 0xAA, 0xA9, 0x48, 0x4D, 0x2B, 0x22, 0xC7, 3524 0xBE, 0x1B, 0x38, 0x21, 0xA1, 0xFE, 0x23, 0xB4, 3525 0xAC, 0x66, 0x92, 0x9E, 0xF2, 0x27, 0xDC, 0x23, 3526 0x70, 0x6E, 0xBA, 0xF9, 0xED, 0x3B, 0xCE, 0x63, 3527 0xAD, 0x68, 0xF2, 0x80, 0xFA, 0x1B, 0x14, 0xB5, 3528 0xB4, 0x07, 0xE3, 0x5A, 0x81, 0x74, 0xE1, 0xF2, 3529 }, 3530 .len = 3120 3531 }, 3532 .auth_tag = { 3533 .data = { 3534 0xEA, 0xE9, 0x10, 0xB6, 0xB7, 0xAB, 0xEA, 0x90, 3535 0x8A, 0xD5, 0x63, 0x88, 0xDB, 0x2B, 0x8F, 0x23, 3536 }, 3537 .len = 16 3538 } 3539 }; 3540 3541 /** AES-CCM-128 Test Vectors */ 3542 static const struct aead_test_data ccm_test_case_128_1 = { 3543 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3544 .key = { 3545 .data = { 3546 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 3547 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F 3548 }, 3549 .len = 16 3550 }, 3551 .iv = { 3552 .data = { 3553 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 3554 }, 3555 .len = 7 3556 }, 3557 .aad = { 3558 .data = ccm_aad_test_1, 3559 .len = 8 3560 }, 3561 .plaintext = { 3562 .data = { 3563 0x20, 0x21, 0x22, 0x23 3564 }, 3565 .len = 4 3566 }, 3567 .ciphertext = { 3568 .data = { 3569 0x71, 0x62, 0x01, 0x5B 3570 }, 3571 .len = 4 3572 }, 3573 .auth_tag = { 3574 .data = { 3575 0x4D, 0xAC, 0x25, 0x5D 3576 }, 3577 .len = 4 3578 } 3579 }; 3580 3581 static const struct aead_test_data ccm_test_case_128_2 = { 3582 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3583 .key = { 3584 .data = { 3585 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3586 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F 3587 }, 3588 .len = 16 3589 }, 3590 .iv = { 3591 .data = { 3592 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3593 0x03, 0x97, 0x76, 0xE7, 0x0C 3594 }, 3595 .len = 13 3596 }, 3597 .aad = { 3598 .data = ccm_aad_test_2, 3599 .len = 22 3600 }, 3601 .plaintext = { 3602 .data = { 3603 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3604 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3605 0x7E, 0x78, 0xA0, 0x50 3606 }, 3607 .len = 20 3608 }, 3609 .ciphertext = { 3610 .data = { 3611 0xF3, 0xD0, 0xA2, 0xFE, 0x9A, 0x3D, 0xBF, 0x23, 3612 0x42, 0xA6, 0x43, 0xE4, 0x32, 0x46, 0xE8, 0x0C, 3613 0x3C, 0x04, 0xD0, 0x19 3614 }, 3615 .len = 20 3616 }, 3617 .auth_tag = { 3618 .data = { 3619 0x78, 0x45, 0xCE, 0x0B, 0x16, 0xF9, 0x76, 0x23 3620 }, 3621 .len = 8 3622 } 3623 }; 3624 3625 static const struct aead_test_data ccm_test_case_128_3 = { 3626 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3627 .key = { 3628 .data = { 3629 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3630 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F 3631 }, 3632 .len = 16 3633 }, 3634 .iv = { 3635 .data = { 3636 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3637 0x03, 0x97, 0x76, 0xE7, 0x0C 3638 }, 3639 .len = 13 3640 }, 3641 .aad = { 3642 .data = gcm_aad_zero_text, 3643 .len = 0 3644 }, 3645 .plaintext = { 3646 .data = { 3647 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3648 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3649 0x7E, 0x78, 0xA0, 0x50 3650 }, 3651 .len = 20 3652 }, 3653 .ciphertext = { 3654 .data = { 3655 0xF3, 0xD0, 0xA2, 0xFE, 0x9A, 0x3D, 0xBF, 0x23, 3656 0x42, 0xA6, 0x43, 0xE4, 0x32, 0x46, 0xE8, 0x0C, 3657 0x3C, 0x04, 0xD0, 0x19 3658 }, 3659 .len = 20 3660 }, 3661 .auth_tag = { 3662 .data = { 3663 0x41, 0x83, 0x21, 0x89, 0xA3, 0xD3, 0x1B, 0x43 3664 }, 3665 .len = 8 3666 } 3667 }; 3668 3669 /** AES-CCM-192 Test Vectors */ 3670 static const struct aead_test_data ccm_test_case_192_1 = { 3671 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3672 .key = { 3673 .data = { 3674 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 3675 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 3676 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 3677 }, 3678 .len = 24 3679 }, 3680 .iv = { 3681 .data = { 3682 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 3683 }, 3684 .len = 7 3685 }, 3686 .aad = { 3687 .data = ccm_aad_test_1, 3688 .len = 8 3689 }, 3690 .plaintext = { 3691 .data = { 3692 0x20, 0x21, 0x22, 0x23 3693 }, 3694 .len = 4 3695 }, 3696 .ciphertext = { 3697 .data = { 3698 0x18, 0xEE, 0x17, 0x30 3699 }, 3700 .len = 4 3701 }, 3702 .auth_tag = { 3703 .data = { 3704 0xC8, 0xC3, 0x26, 0xD5 3705 }, 3706 .len = 4 3707 } 3708 }; 3709 3710 static const struct aead_test_data ccm_test_case_192_2 = { 3711 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3712 .key = { 3713 .data = { 3714 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3715 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F, 3716 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 3717 }, 3718 .len = 24 3719 }, 3720 .iv = { 3721 .data = { 3722 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3723 0x03, 0x97, 0x76, 0xE7, 0x0C 3724 }, 3725 .len = 13 3726 }, 3727 .aad = { 3728 .data = ccm_aad_test_2, 3729 .len = 22 3730 }, 3731 .plaintext = { 3732 .data = { 3733 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3734 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3735 0x7E, 0x78, 0xA0, 0x50 3736 }, 3737 .len = 20 3738 }, 3739 .ciphertext = { 3740 .data = { 3741 0x41, 0xC6, 0x2D, 0xD5, 0x31, 0xF2, 0xD5, 0xC8, 3742 0xCC, 0x57, 0x01, 0x2E, 0x7E, 0x2B, 0xF1, 0x26, 3743 0x6A, 0xC7, 0xCB, 0xA5 3744 }, 3745 .len = 20 3746 }, 3747 .auth_tag = { 3748 .data = { 3749 0x77, 0xA3, 0x41, 0xD5, 0x2A, 0xE3, 0x25, 0x37 3750 }, 3751 .len = 8 3752 } 3753 }; 3754 3755 static const struct aead_test_data ccm_test_case_192_3 = { 3756 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3757 .key = { 3758 .data = { 3759 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3760 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F, 3761 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57 3762 }, 3763 .len = 24 3764 }, 3765 .iv = { 3766 .data = { 3767 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3768 0x03, 0x97, 0x76, 0xE7, 0x0C 3769 }, 3770 .len = 13 3771 }, 3772 .aad = { 3773 .data = gcm_aad_zero_text, 3774 .len = 0 3775 }, 3776 .plaintext = { 3777 .data = { 3778 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3779 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3780 0x7E, 0x78, 0xA0, 0x50 3781 }, 3782 .len = 20 3783 }, 3784 .ciphertext = { 3785 .data = { 3786 0x41, 0xC6, 0x2D, 0xD5, 0x31, 0xF2, 0xD5, 0xC8, 3787 0xCC, 0x57, 0x01, 0x2E, 0x7E, 0x2B, 0xF1, 0x26, 3788 0x6A, 0xC7, 0xCB, 0xA5 3789 }, 3790 .len = 20 3791 }, 3792 .auth_tag = { 3793 .data = { 3794 0x84, 0x72, 0x6E, 0xE7, 0x8E, 0x8E, 0x3A, 0xC6 3795 }, 3796 .len = 8 3797 } 3798 }; 3799 3800 /** AES-CCM-256 Test Vectors */ 3801 static const struct aead_test_data ccm_test_case_256_1 = { 3802 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3803 .key = { 3804 .data = { 3805 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 3806 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 3807 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 3808 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F 3809 }, 3810 .len = 32 3811 }, 3812 .iv = { 3813 .data = { 3814 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 3815 }, 3816 .len = 7 3817 }, 3818 .aad = { 3819 .data = ccm_aad_test_1, 3820 .len = 8 3821 }, 3822 .plaintext = { 3823 .data = { 3824 0x20, 0x21, 0x22, 0x23 3825 }, 3826 .len = 4 3827 }, 3828 .ciphertext = { 3829 .data = { 3830 0x8A, 0xB1, 0xA8, 0x74 3831 }, 3832 .len = 4 3833 }, 3834 .auth_tag = { 3835 .data = { 3836 0x95, 0xFC, 0x08, 0x20 3837 }, 3838 .len = 4 3839 } 3840 }; 3841 3842 static const struct aead_test_data ccm_test_case_256_2 = { 3843 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3844 .key = { 3845 .data = { 3846 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3847 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F, 3848 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 3849 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F 3850 }, 3851 .len = 32 3852 }, 3853 .iv = { 3854 .data = { 3855 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3856 0x03, 0x97, 0x76, 0xE7, 0x0C 3857 }, 3858 .len = 13 3859 }, 3860 .aad = { 3861 .data = ccm_aad_test_2, 3862 .len = 22 3863 }, 3864 .plaintext = { 3865 .data = { 3866 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3867 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3868 0x7E, 0x78, 0xA0, 0x50 3869 }, 3870 .len = 20 3871 }, 3872 .ciphertext = { 3873 .data = { 3874 0x25, 0x82, 0x89, 0x09, 0x3E, 0x39, 0x1F, 0x16, 3875 0xD2, 0x82, 0x3D, 0xF6, 0xCE, 0x97, 0x72, 0x07, 3876 0xEC, 0x23, 0x17, 0x98 3877 }, 3878 .len = 20 3879 }, 3880 .auth_tag = { 3881 .data = { 3882 0xAB, 0x02, 0xE9, 0xD1, 0x16, 0x69, 0xED, 0x0A 3883 }, 3884 .len = 8 3885 } 3886 }; 3887 3888 static const struct aead_test_data ccm_test_case_256_3 = { 3889 .algo = RTE_CRYPTO_AEAD_AES_CCM, 3890 .key = { 3891 .data = { 3892 0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85, 3893 0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F, 3894 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 3895 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F 3896 }, 3897 .len = 32 3898 }, 3899 .iv = { 3900 .data = { 3901 0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5, 3902 0x03, 0x97, 0x76, 0xE7, 0x0C 3903 }, 3904 .len = 13 3905 }, 3906 .aad = { 3907 .data = gcm_aad_zero_text, 3908 .len = 0 3909 }, 3910 .plaintext = { 3911 .data = { 3912 0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE, 3913 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB, 3914 0x7E, 0x78, 0xA0, 0x50 3915 }, 3916 .len = 20 3917 }, 3918 .ciphertext = { 3919 .data = { 3920 0x25, 0x82, 0x89, 0x09, 0x3E, 0x39, 0x1F, 0x16, 3921 0xD2, 0x82, 0x3D, 0xF6, 0xCE, 0x97, 0x72, 0x07, 3922 0xEC, 0x23, 0x17, 0x98 3923 }, 3924 .len = 20 3925 }, 3926 .auth_tag = { 3927 .data = { 3928 0x15, 0x80, 0xC4, 0xC9, 0x3F, 0xAB, 0x2A, 0xFD 3929 }, 3930 .len = 8 3931 } 3932 }; 3933 static uint8_t chacha_aad_rfc8439[] = { 3934 0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3, 3935 0xc4, 0xc5, 0xc6, 0xc7 3936 }; 3937 3938 static const struct aead_test_data chacha20_poly1305_case_rfc8439 = { 3939 .algo = RTE_CRYPTO_AEAD_CHACHA20_POLY1305, 3940 .key = { 3941 .data = { 3942 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 3943 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 3944 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 3945 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f 3946 }, 3947 .len = 32 3948 }, 3949 .iv = { 3950 .data = { 3951 0x07, 0x00, 0x00, 0x00, 0x40, 0x41, 0x42, 0x43, 3952 0x44, 0x45, 0x46, 0x47 3953 }, 3954 .len = 12 3955 }, 3956 .aad = { 3957 .data = chacha_aad_rfc8439, 3958 .len = 12 3959 }, 3960 .plaintext = { 3961 .data = { 3962 0x4c, 0x61, 0x64, 0x69, 0x65, 0x73, 0x20, 0x61, 3963 0x6e, 0x64, 0x20, 0x47, 0x65, 0x6e, 0x74, 0x6c, 3964 0x65, 0x6d, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x20, 3965 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 3966 0x73, 0x20, 0x6f, 0x66, 0x20, 0x27, 0x39, 0x39, 3967 0x3a, 0x20, 0x49, 0x66, 0x20, 0x49, 0x20, 0x63, 3968 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x66, 3969 0x65, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6f, 3970 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 3971 0x74, 0x69, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20, 3972 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75, 3973 0x72, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x73, 3974 0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x77, 0x6f, 3975 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x69, 3976 0x74, 0x2e 3977 }, 3978 .len = 114 3979 }, 3980 .ciphertext = { 3981 .data = { 3982 0xd3, 0x1a, 0x8d, 0x34, 0x64, 0x8e, 0x60, 0xdb, 3983 0x7b, 0x86, 0xaf, 0xbc, 0x53, 0xef, 0x7e, 0xc2, 3984 0xa4, 0xad, 0xed, 0x51, 0x29, 0x6e, 0x08, 0xfe, 3985 0xa9, 0xe2, 0xb5, 0xa7, 0x36, 0xee, 0x62, 0xd6, 3986 0x3d, 0xbe, 0xa4, 0x5e, 0x8c, 0xa9, 0x67, 0x12, 3987 0x82, 0xfa, 0xfb, 0x69, 0xda, 0x92, 0x72, 0x8b, 3988 0x1a, 0x71, 0xde, 0x0a, 0x9e, 0x06, 0x0b, 0x29, 3989 0x05, 0xd6, 0xa5, 0xb6, 0x7e, 0xcd, 0x3b, 0x36, 3990 0x92, 0xdd, 0xbd, 0x7f, 0x2d, 0x77, 0x8b, 0x8c, 3991 0x98, 0x03, 0xae, 0xe3, 0x28, 0x09, 0x1b, 0x58, 3992 0xfa, 0xb3, 0x24, 0xe4, 0xfa, 0xd6, 0x75, 0x94, 3993 0x55, 0x85, 0x80, 0x8b, 0x48, 0x31, 0xd7, 0xbc, 3994 0x3f, 0xf4, 0xde, 0xf0, 0x8e, 0x4b, 0x7a, 0x9d, 3995 0xe5, 0x76, 0xd2, 0x65, 0x86, 0xce, 0xc6, 0x4b, 3996 0x61, 0x16 3997 }, 3998 .len = 114 3999 }, 4000 .auth_tag = { 4001 .data = { 4002 0x1a, 0xe1, 0x0b, 0x59, 0x4f, 0x09, 0xe2, 0x6a, 4003 0x7e, 0x90, 0x2e, 0xcb, 0xd0, 0x60, 0x06, 0x91 4004 }, 4005 .len = 16 4006 } 4007 }; 4008 4009 static uint8_t chacha_aad_2[] = { 4010 0xf3, 0x33, 0x88, 0x86, 0x00, 0x00, 0x00, 0x00, 4011 0x00, 0x00, 0x4e, 0x91 4012 }; 4013 4014 static const struct aead_test_data chacha20_poly1305_case_2 = { 4015 .algo = RTE_CRYPTO_AEAD_CHACHA20_POLY1305, 4016 .key = { 4017 .data = { 4018 0x1c, 0x92, 0x40, 0xa5, 0xeb, 0x55, 0xd3, 0x8a, 4019 0xf3, 0x33, 0x88, 0x86, 0x04, 0xf6, 0xb5, 0xf0, 4020 0x47, 0x39, 0x17, 0xc1, 0x40, 0x2b, 0x80, 0x09, 4021 0x9d, 0xca, 0x5c, 0xbc, 0x20, 0x70, 0x75, 0xc0 4022 }, 4023 .len = 32 4024 }, 4025 .iv = { 4026 .data = { 4027 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 4028 0x05, 0x06, 0x07, 0x08 4029 }, 4030 .len = 12 4031 }, 4032 .aad = { 4033 .data = chacha_aad_2, 4034 .len = 12 4035 }, 4036 .plaintext = { 4037 .data = { 4038 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 4039 0x2d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x73, 0x20, 4040 0x61, 0x72, 0x65, 0x20, 0x64, 0x72, 0x61, 0x66, 4041 0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 4042 0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 4043 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 4044 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 4045 0x6f, 0x66, 0x20, 0x73, 0x69, 0x78, 0x20, 0x6d, 4046 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e, 4047 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 4048 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 4049 0x2c, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 4050 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f, 4051 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x64, 4052 0x20, 0x62, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65, 4053 0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 4054 0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61, 4055 0x6e, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 4056 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 4057 0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 4058 0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, 4059 0x75, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65, 4060 0x72, 0x6e, 0x65, 0x74, 0x2d, 0x44, 0x72, 0x61, 4061 0x66, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x72, 4062 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 4063 0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 4064 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x20, 4065 0x63, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 4066 0x6d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 4067 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x20, 4068 0x2f, 0xe2, 0x80, 0x9c, 0x77, 0x6f, 0x72, 0x6b, 4069 0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67, 4070 0x72, 0x65, 0x73, 0x73, 0x2e, 0x2f, 0xe2, 0x80, 4071 0x9d 4072 }, 4073 .len = 265 4074 }, 4075 .ciphertext = { 4076 .data = { 4077 0x64, 0xa0, 0x86, 0x15, 0x75, 0x86, 0x1a, 0xf4, 4078 0x60, 0xf0, 0x62, 0xc7, 0x9b, 0xe6, 0x43, 0xbd, 4079 0x5e, 0x80, 0x5c, 0xfd, 0x34, 0x5c, 0xf3, 0x89, 4080 0xf1, 0x08, 0x67, 0x0a, 0xc7, 0x6c, 0x8c, 0xb2, 4081 0x4c, 0x6c, 0xfc, 0x18, 0x75, 0x5d, 0x43, 0xee, 4082 0xa0, 0x9e, 0xe9, 0x4e, 0x38, 0x2d, 0x26, 0xb0, 4083 0xbd, 0xb7, 0xb7, 0x3c, 0x32, 0x1b, 0x01, 0x00, 4084 0xd4, 0xf0, 0x3b, 0x7f, 0x35, 0x58, 0x94, 0xcf, 4085 0x33, 0x2f, 0x83, 0x0e, 0x71, 0x0b, 0x97, 0xce, 4086 0x98, 0xc8, 0xa8, 0x4a, 0xbd, 0x0b, 0x94, 0x81, 4087 0x14, 0xad, 0x17, 0x6e, 0x00, 0x8d, 0x33, 0xbd, 4088 0x60, 0xf9, 0x82, 0xb1, 0xff, 0x37, 0xc8, 0x55, 4089 0x97, 0x97, 0xa0, 0x6e, 0xf4, 0xf0, 0xef, 0x61, 4090 0xc1, 0x86, 0x32, 0x4e, 0x2b, 0x35, 0x06, 0x38, 4091 0x36, 0x06, 0x90, 0x7b, 0x6a, 0x7c, 0x02, 0xb0, 4092 0xf9, 0xf6, 0x15, 0x7b, 0x53, 0xc8, 0x67, 0xe4, 4093 0xb9, 0x16, 0x6c, 0x76, 0x7b, 0x80, 0x4d, 0x46, 4094 0xa5, 0x9b, 0x52, 0x16, 0xcd, 0xe7, 0xa4, 0xe9, 4095 0x90, 0x40, 0xc5, 0xa4, 0x04, 0x33, 0x22, 0x5e, 4096 0xe2, 0x82, 0xa1, 0xb0, 0xa0, 0x6c, 0x52, 0x3e, 4097 0xaf, 0x45, 0x34, 0xd7, 0xf8, 0x3f, 0xa1, 0x15, 4098 0x5b, 0x00, 0x47, 0x71, 0x8c, 0xbc, 0x54, 0x6a, 4099 0x0d, 0x07, 0x2b, 0x04, 0xb3, 0x56, 0x4e, 0xea, 4100 0x1b, 0x42, 0x22, 0x73, 0xf5, 0x48, 0x27, 0x1a, 4101 0x0b, 0xb2, 0x31, 0x60, 0x53, 0xfa, 0x76, 0x99, 4102 0x19, 0x55, 0xeb, 0xd6, 0x31, 0x59, 0x43, 0x4e, 4103 0xce, 0xbb, 0x4e, 0x46, 0x6d, 0xae, 0x5a, 0x10, 4104 0x73, 0xa6, 0x72, 0x76, 0x27, 0x09, 0x7a, 0x10, 4105 0x49, 0xe6, 0x17, 0xd9, 0x1d, 0x36, 0x10, 0x94, 4106 0xfa, 0x68, 0xf0, 0xff, 0x77, 0x98, 0x71, 0x30, 4107 0x30, 0x5b, 0xea, 0xba, 0x2e, 0xda, 0x04, 0xdf, 4108 0x99, 0x7b, 0x71, 0x4d, 0x6c, 0x6f, 0x2c, 0x29, 4109 0xa6, 0xad, 0x5c, 0xb4, 0x02, 0x2b, 0x02, 0x70, 4110 0x9b 4111 }, 4112 .len = 265 4113 }, 4114 .auth_tag = { 4115 .data = { 4116 0xee, 0xad, 0x9d, 0x67, 0x89, 0x0c, 0xbb, 0x22, 4117 0x39, 0x23, 0x36, 0xfe, 0xa1, 0x85, 0x1f, 0x38 4118 }, 4119 .len = 16 4120 } 4121 }; 4122 #endif /* TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_ */ 4123