github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/go/tao/keys.pb.go (about) 1 // Code generated by protoc-gen-go. 2 // source: keys.proto 3 // DO NOT EDIT! 4 5 /* 6 Package tao is a generated protocol buffer package. 7 8 It is generated from these files: 9 keys.proto 10 11 It has these top-level messages: 12 CryptoHeader 13 CryptoKey 14 CryptoKeyset 15 PBEData 16 ContextualizedData 17 SignaturePDU 18 SignedData 19 EncryptionIntegrityPDU 20 EncryptedData 21 KeyDerivationPDU 22 */ 23 package tao 24 25 import proto "github.com/golang/protobuf/proto" 26 import fmt "fmt" 27 import math "math" 28 29 // Reference imports to suppress errors if they are not otherwise used. 30 var _ = proto.Marshal 31 var _ = fmt.Errorf 32 var _ = math.Inf 33 34 // This is a compile-time assertion to ensure that this generated file 35 // is compatible with the proto package it is being compiled against. 36 // A compilation error at this line likely means your copy of the 37 // proto package needs to be updated. 38 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package 39 40 type CryptoVersion int32 41 42 const ( 43 CryptoVersion_CRYPTO_VERSION_1 CryptoVersion = 1 44 CryptoVersion_CRYPTO_VERSION_2 CryptoVersion = 2 45 ) 46 47 var CryptoVersion_name = map[int32]string{ 48 1: "CRYPTO_VERSION_1", 49 2: "CRYPTO_VERSION_2", 50 } 51 var CryptoVersion_value = map[string]int32{ 52 "CRYPTO_VERSION_1": 1, 53 "CRYPTO_VERSION_2": 2, 54 } 55 56 func (x CryptoVersion) Enum() *CryptoVersion { 57 p := new(CryptoVersion) 58 *p = x 59 return p 60 } 61 func (x CryptoVersion) String() string { 62 return proto.EnumName(CryptoVersion_name, int32(x)) 63 } 64 func (x *CryptoVersion) UnmarshalJSON(data []byte) error { 65 value, err := proto.UnmarshalJSONEnum(CryptoVersion_value, data, "CryptoVersion") 66 if err != nil { 67 return err 68 } 69 *x = CryptoVersion(value) 70 return nil 71 } 72 func (CryptoVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } 73 74 // CryptoHeader has been changed to include: 75 // key_name, key_epoch, key_type, key_purpose, key_status (all strings). 76 // key_epoch is monotonically increasing integer 77 // key_status: "primary," "pre-primary", "post-primary," "inactive," "revoked" 78 // key_types: 79 // "aes-128-raw", "aes-256-raw", 80 // "aes128-ctr", "aes256-ctr", 81 // "aes128-ctr-hmacsha256", "aes256-ctr-hmacsha256", 82 // "hmacsha256", "hmacsha384", "hmacsha512", 83 // "rsa1024", "rsa2048", "rsa3072" 84 // "ecdsap256", "ecdsap384", "ecdsap384", 85 // "rsa1024-public", "rsa2048-public", "rsa3072-public" 86 // "ecdsap256-public", "ecdsap384-public" 87 // "hdkf-sha256" 88 // key_purpose: "verifying", "signing", "crypting", "deriving", "sealing" 89 type CryptoHeader struct { 90 Version *CryptoVersion `protobuf:"varint,1,req,name=version,enum=tao.CryptoVersion" json:"version,omitempty"` 91 KeyName *string `protobuf:"bytes,2,opt,name=key_name,json=keyName" json:"key_name,omitempty"` 92 KeyEpoch *int32 `protobuf:"varint,3,opt,name=key_epoch,json=keyEpoch" json:"key_epoch,omitempty"` 93 KeyType *string `protobuf:"bytes,4,opt,name=key_type,json=keyType" json:"key_type,omitempty"` 94 KeyPurpose *string `protobuf:"bytes,5,opt,name=key_purpose,json=keyPurpose" json:"key_purpose,omitempty"` 95 KeyStatus *string `protobuf:"bytes,6,opt,name=key_status,json=keyStatus" json:"key_status,omitempty"` 96 XXX_unrecognized []byte `json:"-"` 97 } 98 99 func (m *CryptoHeader) Reset() { *m = CryptoHeader{} } 100 func (m *CryptoHeader) String() string { return proto.CompactTextString(m) } 101 func (*CryptoHeader) ProtoMessage() {} 102 func (*CryptoHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } 103 104 func (m *CryptoHeader) GetVersion() CryptoVersion { 105 if m != nil && m.Version != nil { 106 return *m.Version 107 } 108 return CryptoVersion_CRYPTO_VERSION_1 109 } 110 111 func (m *CryptoHeader) GetKeyName() string { 112 if m != nil && m.KeyName != nil { 113 return *m.KeyName 114 } 115 return "" 116 } 117 118 func (m *CryptoHeader) GetKeyEpoch() int32 { 119 if m != nil && m.KeyEpoch != nil { 120 return *m.KeyEpoch 121 } 122 return 0 123 } 124 125 func (m *CryptoHeader) GetKeyType() string { 126 if m != nil && m.KeyType != nil { 127 return *m.KeyType 128 } 129 return "" 130 } 131 132 func (m *CryptoHeader) GetKeyPurpose() string { 133 if m != nil && m.KeyPurpose != nil { 134 return *m.KeyPurpose 135 } 136 return "" 137 } 138 139 func (m *CryptoHeader) GetKeyStatus() string { 140 if m != nil && m.KeyStatus != nil { 141 return *m.KeyStatus 142 } 143 return "" 144 } 145 146 // CryptoKey 147 type CryptoKey struct { 148 KeyHeader *CryptoHeader `protobuf:"bytes,1,req,name=key_header,json=keyHeader" json:"key_header,omitempty"` 149 KeyComponents [][]byte `protobuf:"bytes,2,rep,name=key_components,json=keyComponents" json:"key_components,omitempty"` 150 XXX_unrecognized []byte `json:"-"` 151 } 152 153 func (m *CryptoKey) Reset() { *m = CryptoKey{} } 154 func (m *CryptoKey) String() string { return proto.CompactTextString(m) } 155 func (*CryptoKey) ProtoMessage() {} 156 func (*CryptoKey) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } 157 158 func (m *CryptoKey) GetKeyHeader() *CryptoHeader { 159 if m != nil { 160 return m.KeyHeader 161 } 162 return nil 163 } 164 165 func (m *CryptoKey) GetKeyComponents() [][]byte { 166 if m != nil { 167 return m.KeyComponents 168 } 169 return nil 170 } 171 172 type CryptoKeyset struct { 173 Keys [][]byte `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"` 174 // Cert for Signing Key 175 Cert []byte `protobuf:"bytes,2,opt,name=cert" json:"cert,omitempty"` 176 Delegation *Attestation `protobuf:"bytes,3,opt,name=delegation" json:"delegation,omitempty"` 177 // certs supporting cert from cert signer to authority. 178 CertChain [][]byte `protobuf:"bytes,4,rep,name=cert_chain,json=certChain" json:"cert_chain,omitempty"` 179 XXX_unrecognized []byte `json:"-"` 180 } 181 182 func (m *CryptoKeyset) Reset() { *m = CryptoKeyset{} } 183 func (m *CryptoKeyset) String() string { return proto.CompactTextString(m) } 184 func (*CryptoKeyset) ProtoMessage() {} 185 func (*CryptoKeyset) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } 186 187 func (m *CryptoKeyset) GetKeys() [][]byte { 188 if m != nil { 189 return m.Keys 190 } 191 return nil 192 } 193 194 func (m *CryptoKeyset) GetCert() []byte { 195 if m != nil { 196 return m.Cert 197 } 198 return nil 199 } 200 201 func (m *CryptoKeyset) GetDelegation() *Attestation { 202 if m != nil { 203 return m.Delegation 204 } 205 return nil 206 } 207 208 func (m *CryptoKeyset) GetCertChain() [][]byte { 209 if m != nil { 210 return m.CertChain 211 } 212 return nil 213 } 214 215 // TODO(jlm): Should cipher/hmac be replaced by CryptoHeader? 216 type PBEData struct { 217 Version *CryptoVersion `protobuf:"varint,1,req,name=version,enum=tao.CryptoVersion" json:"version,omitempty"` 218 Cipher *string `protobuf:"bytes,2,req,name=cipher" json:"cipher,omitempty"` 219 Hmac *string `protobuf:"bytes,3,req,name=hmac" json:"hmac,omitempty"` 220 Iterations *int32 `protobuf:"varint,4,req,name=iterations" json:"iterations,omitempty"` 221 Iv []byte `protobuf:"bytes,5,req,name=iv" json:"iv,omitempty"` 222 Ciphertext []byte `protobuf:"bytes,6,req,name=ciphertext" json:"ciphertext,omitempty"` 223 // TODO(kwalsh) Should this not use a mac as well for integrity protection? 224 Salt []byte `protobuf:"bytes,7,req,name=salt" json:"salt,omitempty"` 225 XXX_unrecognized []byte `json:"-"` 226 } 227 228 func (m *PBEData) Reset() { *m = PBEData{} } 229 func (m *PBEData) String() string { return proto.CompactTextString(m) } 230 func (*PBEData) ProtoMessage() {} 231 func (*PBEData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } 232 233 func (m *PBEData) GetVersion() CryptoVersion { 234 if m != nil && m.Version != nil { 235 return *m.Version 236 } 237 return CryptoVersion_CRYPTO_VERSION_1 238 } 239 240 func (m *PBEData) GetCipher() string { 241 if m != nil && m.Cipher != nil { 242 return *m.Cipher 243 } 244 return "" 245 } 246 247 func (m *PBEData) GetHmac() string { 248 if m != nil && m.Hmac != nil { 249 return *m.Hmac 250 } 251 return "" 252 } 253 254 func (m *PBEData) GetIterations() int32 { 255 if m != nil && m.Iterations != nil { 256 return *m.Iterations 257 } 258 return 0 259 } 260 261 func (m *PBEData) GetIv() []byte { 262 if m != nil { 263 return m.Iv 264 } 265 return nil 266 } 267 268 func (m *PBEData) GetCiphertext() []byte { 269 if m != nil { 270 return m.Ciphertext 271 } 272 return nil 273 } 274 275 func (m *PBEData) GetSalt() []byte { 276 if m != nil { 277 return m.Salt 278 } 279 return nil 280 } 281 282 // Contextualized protobuf. 283 // SECURITY WARNING: Always choose a unique context for each unique type of 284 // message. One easy way to do this is to number the messages in a protocol 285 // and make the context "ProtocolName Message Y: ProtobufName Version X" 286 // Marshaled representation of this is the data that is signed. 287 type ContextualizedData struct { 288 Context *string `protobuf:"bytes,1,req,name=context" json:"context,omitempty"` 289 Data []byte `protobuf:"bytes,2,req,name=data" json:"data,omitempty"` 290 XXX_unrecognized []byte `json:"-"` 291 } 292 293 func (m *ContextualizedData) Reset() { *m = ContextualizedData{} } 294 func (m *ContextualizedData) String() string { return proto.CompactTextString(m) } 295 func (*ContextualizedData) ProtoMessage() {} 296 func (*ContextualizedData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } 297 298 func (m *ContextualizedData) GetContext() string { 299 if m != nil && m.Context != nil { 300 return *m.Context 301 } 302 return "" 303 } 304 305 func (m *ContextualizedData) GetData() []byte { 306 if m != nil { 307 return m.Data 308 } 309 return nil 310 } 311 312 // A PDU including metadata for representing data to be signed. The data is 313 // a serialized ContextualizedData message providing unique deserialization. 314 type SignaturePDU struct { 315 Header *CryptoHeader `protobuf:"bytes,1,req,name=header" json:"header,omitempty"` 316 Context *string `protobuf:"bytes,2,req,name=context" json:"context,omitempty"` 317 // The serialized ContextualizedData that is to be signed. 318 Data []byte `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` 319 XXX_unrecognized []byte `json:"-"` 320 } 321 322 func (m *SignaturePDU) Reset() { *m = SignaturePDU{} } 323 func (m *SignaturePDU) String() string { return proto.CompactTextString(m) } 324 func (*SignaturePDU) ProtoMessage() {} 325 func (*SignaturePDU) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } 326 327 func (m *SignaturePDU) GetHeader() *CryptoHeader { 328 if m != nil { 329 return m.Header 330 } 331 return nil 332 } 333 334 func (m *SignaturePDU) GetContext() string { 335 if m != nil && m.Context != nil { 336 return *m.Context 337 } 338 return "" 339 } 340 341 func (m *SignaturePDU) GetData() []byte { 342 if m != nil { 343 return m.Data 344 } 345 return nil 346 } 347 348 // The result of signing. 349 type SignedData struct { 350 Header *CryptoHeader `protobuf:"bytes,1,req,name=header" json:"header,omitempty"` 351 Signature []byte `protobuf:"bytes,2,req,name=signature" json:"signature,omitempty"` 352 XXX_unrecognized []byte `json:"-"` 353 } 354 355 func (m *SignedData) Reset() { *m = SignedData{} } 356 func (m *SignedData) String() string { return proto.CompactTextString(m) } 357 func (*SignedData) ProtoMessage() {} 358 func (*SignedData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } 359 360 func (m *SignedData) GetHeader() *CryptoHeader { 361 if m != nil { 362 return m.Header 363 } 364 return nil 365 } 366 367 func (m *SignedData) GetSignature() []byte { 368 if m != nil { 369 return m.Signature 370 } 371 return nil 372 } 373 374 // A PDU to be serialized and signed for integrity-protection when using 375 // encryption modes (like AES CTR with HMAC-SHA) that require a separate MAC. 376 // Note: We actually just hmac the partially serialized EncryptedData message 377 // with all fields complete except the mac field. 378 type EncryptionIntegrityPDU struct { 379 Header *CryptoHeader `protobuf:"bytes,1,req,name=header" json:"header,omitempty"` 380 Iv []byte `protobuf:"bytes,2,req,name=iv" json:"iv,omitempty"` 381 Ciphertext []byte `protobuf:"bytes,3,req,name=ciphertext" json:"ciphertext,omitempty"` 382 XXX_unrecognized []byte `json:"-"` 383 } 384 385 func (m *EncryptionIntegrityPDU) Reset() { *m = EncryptionIntegrityPDU{} } 386 func (m *EncryptionIntegrityPDU) String() string { return proto.CompactTextString(m) } 387 func (*EncryptionIntegrityPDU) ProtoMessage() {} 388 func (*EncryptionIntegrityPDU) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } 389 390 func (m *EncryptionIntegrityPDU) GetHeader() *CryptoHeader { 391 if m != nil { 392 return m.Header 393 } 394 return nil 395 } 396 397 func (m *EncryptionIntegrityPDU) GetIv() []byte { 398 if m != nil { 399 return m.Iv 400 } 401 return nil 402 } 403 404 func (m *EncryptionIntegrityPDU) GetCiphertext() []byte { 405 if m != nil { 406 return m.Ciphertext 407 } 408 return nil 409 } 410 411 // The result of encrypting. 412 type EncryptedData struct { 413 Header *CryptoHeader `protobuf:"bytes,1,req,name=header" json:"header,omitempty"` 414 Iv []byte `protobuf:"bytes,2,req,name=iv" json:"iv,omitempty"` 415 Ciphertext []byte `protobuf:"bytes,3,req,name=ciphertext" json:"ciphertext,omitempty"` 416 Mac []byte `protobuf:"bytes,4,opt,name=mac" json:"mac,omitempty"` 417 XXX_unrecognized []byte `json:"-"` 418 } 419 420 func (m *EncryptedData) Reset() { *m = EncryptedData{} } 421 func (m *EncryptedData) String() string { return proto.CompactTextString(m) } 422 func (*EncryptedData) ProtoMessage() {} 423 func (*EncryptedData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } 424 425 func (m *EncryptedData) GetHeader() *CryptoHeader { 426 if m != nil { 427 return m.Header 428 } 429 return nil 430 } 431 432 func (m *EncryptedData) GetIv() []byte { 433 if m != nil { 434 return m.Iv 435 } 436 return nil 437 } 438 439 func (m *EncryptedData) GetCiphertext() []byte { 440 if m != nil { 441 return m.Ciphertext 442 } 443 return nil 444 } 445 446 func (m *EncryptedData) GetMac() []byte { 447 if m != nil { 448 return m.Mac 449 } 450 return nil 451 } 452 453 // A PDU to be serialized and fed to HKDF for derivation. 454 type KeyDerivationPDU struct { 455 PreviousHash []byte `protobuf:"bytes,1,req,name=previous_hash,json=previousHash" json:"previous_hash,omitempty"` 456 Size *uint32 `protobuf:"fixed32,2,req,name=size" json:"size,omitempty"` 457 Context *string `protobuf:"bytes,3,req,name=context" json:"context,omitempty"` 458 Index *uint32 `protobuf:"fixed32,4,req,name=index" json:"index,omitempty"` 459 XXX_unrecognized []byte `json:"-"` 460 } 461 462 func (m *KeyDerivationPDU) Reset() { *m = KeyDerivationPDU{} } 463 func (m *KeyDerivationPDU) String() string { return proto.CompactTextString(m) } 464 func (*KeyDerivationPDU) ProtoMessage() {} 465 func (*KeyDerivationPDU) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } 466 467 func (m *KeyDerivationPDU) GetPreviousHash() []byte { 468 if m != nil { 469 return m.PreviousHash 470 } 471 return nil 472 } 473 474 func (m *KeyDerivationPDU) GetSize() uint32 { 475 if m != nil && m.Size != nil { 476 return *m.Size 477 } 478 return 0 479 } 480 481 func (m *KeyDerivationPDU) GetContext() string { 482 if m != nil && m.Context != nil { 483 return *m.Context 484 } 485 return "" 486 } 487 488 func (m *KeyDerivationPDU) GetIndex() uint32 { 489 if m != nil && m.Index != nil { 490 return *m.Index 491 } 492 return 0 493 } 494 495 func init() { 496 proto.RegisterType((*CryptoHeader)(nil), "tao.CryptoHeader") 497 proto.RegisterType((*CryptoKey)(nil), "tao.CryptoKey") 498 proto.RegisterType((*CryptoKeyset)(nil), "tao.CryptoKeyset") 499 proto.RegisterType((*PBEData)(nil), "tao.PBEData") 500 proto.RegisterType((*ContextualizedData)(nil), "tao.ContextualizedData") 501 proto.RegisterType((*SignaturePDU)(nil), "tao.SignaturePDU") 502 proto.RegisterType((*SignedData)(nil), "tao.SignedData") 503 proto.RegisterType((*EncryptionIntegrityPDU)(nil), "tao.EncryptionIntegrityPDU") 504 proto.RegisterType((*EncryptedData)(nil), "tao.EncryptedData") 505 proto.RegisterType((*KeyDerivationPDU)(nil), "tao.KeyDerivationPDU") 506 proto.RegisterEnum("tao.CryptoVersion", CryptoVersion_name, CryptoVersion_value) 507 } 508 509 /* 510 func init() { proto.RegisterFile("keys.proto", fileDescriptor0) } 511 512 var fileDescriptor0 = []byte{ 513 // 623 bytes of a gzipped FileDescriptorProto 514 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x53, 0x5f, 0x6b, 0xdb, 0x5e, 515 0x0c, 0x25, 0x76, 0x5b, 0xff, 0xac, 0x26, 0xc5, 0xbd, 0xfc, 0x28, 0xde, 0xff, 0xe2, 0x31, 0xe8, 516 0xc6, 0x28, 0x5b, 0x5e, 0xf7, 0xb4, 0xa6, 0x81, 0x96, 0x41, 0x1b, 0x9c, 0xb6, 0xb0, 0x27, 0x73, 517 0xb1, 0x2f, 0xb1, 0x59, 0x62, 0x1b, 0xdf, 0x9b, 0xd0, 0x6c, 0x7b, 0xdf, 0x47, 0xdb, 0xe3, 0xbe, 518 0xd2, 0x24, 0xd9, 0x49, 0xdd, 0xd1, 0x31, 0xf2, 0x26, 0x1d, 0x49, 0xf7, 0xe8, 0x48, 0xba, 0x00, 519 0x5f, 0xd4, 0x52, 0x1f, 0x97, 0x55, 0x61, 0x0a, 0x61, 0x1b, 0x59, 0x3c, 0xde, 0x97, 0xc6, 0x28, 520 0x6d, 0xa4, 0xc9, 0x8a, 0xbc, 0xc6, 0x83, 0x5f, 0x1d, 0xe8, 0x0e, 0xaa, 0x65, 0x69, 0x8a, 0x33, 521 0x25, 0x13, 0x55, 0x89, 0xb7, 0xe0, 0x2c, 0x54, 0xa5, 0x31, 0xc3, 0xef, 0x1c, 0x5a, 0x47, 0x7b, 522 0x7d, 0x71, 0x8c, 0xa5, 0xc7, 0x75, 0xce, 0x4d, 0x1d, 0x09, 0x57, 0x29, 0xe2, 0x11, 0xfc, 0x87, 523 0x24, 0x51, 0x2e, 0x67, 0xca, 0xb7, 0x0e, 0x3b, 0x47, 0x6e, 0xe8, 0xa0, 0x7f, 0x81, 0xae, 0x78, 524 0x02, 0x2e, 0x85, 0x54, 0x59, 0xc4, 0xa9, 0x6f, 0x63, 0x6c, 0x3b, 0xa4, 0xdc, 0x21, 0xf9, 0xab, 525 0x3a, 0xb3, 0x2c, 0x95, 0xbf, 0xb5, 0xae, 0xbb, 0x42, 0x57, 0xbc, 0x80, 0x5d, 0x0a, 0x95, 0xf3, 526 0xaa, 0x2c, 0xb4, 0xf2, 0xb7, 0x39, 0x4a, 0x52, 0x46, 0x35, 0x22, 0x9e, 0xb1, 0xb0, 0x88, 0x74, 527 0xcc, 0xb5, 0xbf, 0xc3, 0x71, 0xa2, 0x1a, 0x33, 0x10, 0x24, 0xe0, 0xd6, 0xcd, 0x7e, 0x52, 0x4b, 528 0xf1, 0xae, 0xce, 0x4d, 0x59, 0x1b, 0x0b, 0xda, 0xed, 0xef, 0xb7, 0x04, 0xd5, 0xa2, 0xb9, 0xbc, 529 0xd1, 0xff, 0x0a, 0xf6, 0xa8, 0x22, 0x2e, 0x66, 0x65, 0x91, 0xab, 0xdc, 0x68, 0xd4, 0x65, 0x1f, 530 0x75, 0xc3, 0x1e, 0xa2, 0x83, 0x35, 0x18, 0xfc, 0x58, 0xcf, 0x0d, 0x69, 0xb4, 0x32, 0x42, 0xc0, 531 0x16, 0x8d, 0x1b, 0x39, 0x28, 0x9b, 0x6d, 0xc2, 0x62, 0x55, 0x19, 0x9e, 0x0c, 0x62, 0x64, 0x53, 532 0x47, 0x89, 0x9a, 0xaa, 0x09, 0x2f, 0x81, 0xe7, 0xb2, 0xdb, 0xf7, 0xb8, 0xa3, 0x8f, 0x77, 0xcb, 533 0x09, 0x5b, 0x39, 0xa4, 0x97, 0x2a, 0xa3, 0x38, 0x95, 0x59, 0x8e, 0xd3, 0xa2, 0xf7, 0x5d, 0x42, 534 0x06, 0x04, 0x04, 0x3f, 0x3b, 0xe0, 0x8c, 0x4e, 0x86, 0xa7, 0xd2, 0xc8, 0x0d, 0x97, 0x77, 0x00, 535 0x3b, 0x71, 0x56, 0xa6, 0x38, 0x18, 0x0b, 0x93, 0xdd, 0xb0, 0xf1, 0xa8, 0xed, 0x74, 0x26, 0x63, 536 0x6c, 0x8e, 0x50, 0xb6, 0xc5, 0x73, 0x80, 0xcc, 0xa8, 0x8a, 0x3b, 0xd2, 0xd8, 0x84, 0x85, 0xeb, 537 0x6c, 0x21, 0x62, 0x0f, 0xac, 0x6c, 0x81, 0xcb, 0xb2, 0xb0, 0x39, 0xb4, 0x28, 0xbf, 0x7e, 0xcd, 538 0xa8, 0x5b, 0x83, 0x4b, 0x22, 0xbc, 0x85, 0x10, 0x87, 0x96, 0x53, 0xe3, 0x3b, 0x1c, 0x61, 0x3b, 539 0x38, 0x01, 0x31, 0x28, 0x72, 0x0a, 0xcf, 0xe5, 0x34, 0xfb, 0xaa, 0x12, 0xd6, 0xe4, 0x83, 0x13, 540 0xd7, 0x28, 0x6b, 0xc2, 0x4b, 0x69, 0x5c, 0x7a, 0x23, 0xc1, 0x0c, 0xee, 0x1e, 0xdf, 0x20, 0x3b, 541 0x98, 0x40, 0x77, 0x9c, 0x4d, 0x72, 0xbc, 0x84, 0x4a, 0x8d, 0x4e, 0xaf, 0xc5, 0x6b, 0xd8, 0xf9, 542 0xd7, 0xf2, 0x9b, 0x84, 0x36, 0x91, 0xf5, 0x30, 0x91, 0xdd, 0x22, 0xba, 0x06, 0x20, 0xa2, 0xa6, 543 0xc9, 0x0d, 0x68, 0x9e, 0x82, 0xab, 0x57, 0x1d, 0x36, 0xad, 0xdf, 0x01, 0x81, 0x86, 0x83, 0x61, 544 0x1e, 0x53, 0x1d, 0x8e, 0xf5, 0x1c, 0xe9, 0x27, 0x55, 0x66, 0x96, 0x1b, 0x2a, 0xa9, 0x97, 0x61, 545 0xfd, 0x65, 0x19, 0xf6, 0x9f, 0xcb, 0x08, 0xbe, 0x43, 0xaf, 0x21, 0xdd, 0x5c, 0xce, 0x86, 0x5c, 546 0xc2, 0x03, 0x9b, 0x6e, 0x6b, 0x8b, 0xbf, 0x04, 0x99, 0xc1, 0x37, 0xf0, 0xf0, 0x0f, 0x9d, 0xaa, 547 0x2a, 0x5b, 0xf0, 0x31, 0x91, 0xd8, 0x97, 0xd0, 0x2b, 0x2b, 0xb5, 0xc8, 0x8a, 0xb9, 0x8e, 0x52, 548 0xa9, 0x53, 0xee, 0xa3, 0x1b, 0x76, 0x57, 0xe0, 0x19, 0x62, 0x7c, 0x43, 0x78, 0x26, 0x4c, 0xee, 549 0x84, 0x6c, 0xb7, 0x97, 0x68, 0xdf, 0x5f, 0xe2, 0xff, 0xb0, 0x9d, 0xe5, 0x89, 0xba, 0xe5, 0xe3, 550 0x75, 0xc2, 0xda, 0x79, 0xf3, 0x01, 0x7a, 0xf7, 0x7e, 0x07, 0xa6, 0x79, 0x83, 0xf0, 0xf3, 0xe8, 551 0xea, 0x32, 0xba, 0x19, 0x86, 0xe3, 0xf3, 0xcb, 0x8b, 0xe8, 0xbd, 0xd7, 0x79, 0x00, 0xed, 0x7b, 552 0xd6, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, 0x44, 0x80, 0x7b, 0x61, 0x05, 0x00, 0x00, 553 } 554 */