github.com/hyperledger/fabric-protos-go@v0.3.3/common/common.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: common/common.proto 3 4 package common 5 6 import ( 7 fmt "fmt" 8 proto "github.com/golang/protobuf/proto" 9 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 10 math "math" 11 ) 12 13 // Reference imports to suppress errors if they are not otherwise used. 14 var _ = proto.Marshal 15 var _ = fmt.Errorf 16 var _ = math.Inf 17 18 // This is a compile-time assertion to ensure that this generated file 19 // is compatible with the proto package it is being compiled against. 20 // A compilation error at this line likely means your copy of the 21 // proto package needs to be updated. 22 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 23 24 // These status codes are intended to resemble selected HTTP status codes 25 type Status int32 26 27 const ( 28 Status_UNKNOWN Status = 0 29 Status_SUCCESS Status = 200 30 Status_BAD_REQUEST Status = 400 31 Status_FORBIDDEN Status = 403 32 Status_NOT_FOUND Status = 404 33 Status_REQUEST_ENTITY_TOO_LARGE Status = 413 34 Status_INTERNAL_SERVER_ERROR Status = 500 35 Status_NOT_IMPLEMENTED Status = 501 36 Status_SERVICE_UNAVAILABLE Status = 503 37 ) 38 39 var Status_name = map[int32]string{ 40 0: "UNKNOWN", 41 200: "SUCCESS", 42 400: "BAD_REQUEST", 43 403: "FORBIDDEN", 44 404: "NOT_FOUND", 45 413: "REQUEST_ENTITY_TOO_LARGE", 46 500: "INTERNAL_SERVER_ERROR", 47 501: "NOT_IMPLEMENTED", 48 503: "SERVICE_UNAVAILABLE", 49 } 50 51 var Status_value = map[string]int32{ 52 "UNKNOWN": 0, 53 "SUCCESS": 200, 54 "BAD_REQUEST": 400, 55 "FORBIDDEN": 403, 56 "NOT_FOUND": 404, 57 "REQUEST_ENTITY_TOO_LARGE": 413, 58 "INTERNAL_SERVER_ERROR": 500, 59 "NOT_IMPLEMENTED": 501, 60 "SERVICE_UNAVAILABLE": 503, 61 } 62 63 func (x Status) String() string { 64 return proto.EnumName(Status_name, int32(x)) 65 } 66 67 func (Status) EnumDescriptor() ([]byte, []int) { 68 return fileDescriptor_8f954d82c0b891f6, []int{0} 69 } 70 71 type HeaderType int32 72 73 const ( 74 HeaderType_MESSAGE HeaderType = 0 75 HeaderType_CONFIG HeaderType = 1 76 HeaderType_CONFIG_UPDATE HeaderType = 2 77 HeaderType_ENDORSER_TRANSACTION HeaderType = 3 78 HeaderType_ORDERER_TRANSACTION HeaderType = 4 // Deprecated: Do not use. 79 HeaderType_DELIVER_SEEK_INFO HeaderType = 5 80 HeaderType_CHAINCODE_PACKAGE HeaderType = 6 81 ) 82 83 var HeaderType_name = map[int32]string{ 84 0: "MESSAGE", 85 1: "CONFIG", 86 2: "CONFIG_UPDATE", 87 3: "ENDORSER_TRANSACTION", 88 4: "ORDERER_TRANSACTION", 89 5: "DELIVER_SEEK_INFO", 90 6: "CHAINCODE_PACKAGE", 91 } 92 93 var HeaderType_value = map[string]int32{ 94 "MESSAGE": 0, 95 "CONFIG": 1, 96 "CONFIG_UPDATE": 2, 97 "ENDORSER_TRANSACTION": 3, 98 "ORDERER_TRANSACTION": 4, 99 "DELIVER_SEEK_INFO": 5, 100 "CHAINCODE_PACKAGE": 6, 101 } 102 103 func (x HeaderType) String() string { 104 return proto.EnumName(HeaderType_name, int32(x)) 105 } 106 107 func (HeaderType) EnumDescriptor() ([]byte, []int) { 108 return fileDescriptor_8f954d82c0b891f6, []int{1} 109 } 110 111 // This enum enlists indexes of the block metadata array 112 type BlockMetadataIndex int32 113 114 const ( 115 BlockMetadataIndex_SIGNATURES BlockMetadataIndex = 0 116 BlockMetadataIndex_LAST_CONFIG BlockMetadataIndex = 1 // Deprecated: Do not use. 117 BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2 118 BlockMetadataIndex_ORDERER BlockMetadataIndex = 3 // Deprecated: Do not use. 119 BlockMetadataIndex_COMMIT_HASH BlockMetadataIndex = 4 120 ) 121 122 var BlockMetadataIndex_name = map[int32]string{ 123 0: "SIGNATURES", 124 1: "LAST_CONFIG", 125 2: "TRANSACTIONS_FILTER", 126 3: "ORDERER", 127 4: "COMMIT_HASH", 128 } 129 130 var BlockMetadataIndex_value = map[string]int32{ 131 "SIGNATURES": 0, 132 "LAST_CONFIG": 1, 133 "TRANSACTIONS_FILTER": 2, 134 "ORDERER": 3, 135 "COMMIT_HASH": 4, 136 } 137 138 func (x BlockMetadataIndex) String() string { 139 return proto.EnumName(BlockMetadataIndex_name, int32(x)) 140 } 141 142 func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) { 143 return fileDescriptor_8f954d82c0b891f6, []int{2} 144 } 145 146 // LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index 147 type LastConfig struct { 148 Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` 149 XXX_NoUnkeyedLiteral struct{} `json:"-"` 150 XXX_unrecognized []byte `json:"-"` 151 XXX_sizecache int32 `json:"-"` 152 } 153 154 func (m *LastConfig) Reset() { *m = LastConfig{} } 155 func (m *LastConfig) String() string { return proto.CompactTextString(m) } 156 func (*LastConfig) ProtoMessage() {} 157 func (*LastConfig) Descriptor() ([]byte, []int) { 158 return fileDescriptor_8f954d82c0b891f6, []int{0} 159 } 160 161 func (m *LastConfig) XXX_Unmarshal(b []byte) error { 162 return xxx_messageInfo_LastConfig.Unmarshal(m, b) 163 } 164 func (m *LastConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 165 return xxx_messageInfo_LastConfig.Marshal(b, m, deterministic) 166 } 167 func (m *LastConfig) XXX_Merge(src proto.Message) { 168 xxx_messageInfo_LastConfig.Merge(m, src) 169 } 170 func (m *LastConfig) XXX_Size() int { 171 return xxx_messageInfo_LastConfig.Size(m) 172 } 173 func (m *LastConfig) XXX_DiscardUnknown() { 174 xxx_messageInfo_LastConfig.DiscardUnknown(m) 175 } 176 177 var xxx_messageInfo_LastConfig proto.InternalMessageInfo 178 179 func (m *LastConfig) GetIndex() uint64 { 180 if m != nil { 181 return m.Index 182 } 183 return 0 184 } 185 186 // Metadata is a common structure to be used to encode block metadata 187 type Metadata struct { 188 Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 189 Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` 190 XXX_NoUnkeyedLiteral struct{} `json:"-"` 191 XXX_unrecognized []byte `json:"-"` 192 XXX_sizecache int32 `json:"-"` 193 } 194 195 func (m *Metadata) Reset() { *m = Metadata{} } 196 func (m *Metadata) String() string { return proto.CompactTextString(m) } 197 func (*Metadata) ProtoMessage() {} 198 func (*Metadata) Descriptor() ([]byte, []int) { 199 return fileDescriptor_8f954d82c0b891f6, []int{1} 200 } 201 202 func (m *Metadata) XXX_Unmarshal(b []byte) error { 203 return xxx_messageInfo_Metadata.Unmarshal(m, b) 204 } 205 func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 206 return xxx_messageInfo_Metadata.Marshal(b, m, deterministic) 207 } 208 func (m *Metadata) XXX_Merge(src proto.Message) { 209 xxx_messageInfo_Metadata.Merge(m, src) 210 } 211 func (m *Metadata) XXX_Size() int { 212 return xxx_messageInfo_Metadata.Size(m) 213 } 214 func (m *Metadata) XXX_DiscardUnknown() { 215 xxx_messageInfo_Metadata.DiscardUnknown(m) 216 } 217 218 var xxx_messageInfo_Metadata proto.InternalMessageInfo 219 220 func (m *Metadata) GetValue() []byte { 221 if m != nil { 222 return m.Value 223 } 224 return nil 225 } 226 227 func (m *Metadata) GetSignatures() []*MetadataSignature { 228 if m != nil { 229 return m.Signatures 230 } 231 return nil 232 } 233 234 type MetadataSignature struct { 235 SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` 236 Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 237 IdentifierHeader []byte `protobuf:"bytes,3,opt,name=identifier_header,json=identifierHeader,proto3" json:"identifier_header,omitempty"` 238 XXX_NoUnkeyedLiteral struct{} `json:"-"` 239 XXX_unrecognized []byte `json:"-"` 240 XXX_sizecache int32 `json:"-"` 241 } 242 243 func (m *MetadataSignature) Reset() { *m = MetadataSignature{} } 244 func (m *MetadataSignature) String() string { return proto.CompactTextString(m) } 245 func (*MetadataSignature) ProtoMessage() {} 246 func (*MetadataSignature) Descriptor() ([]byte, []int) { 247 return fileDescriptor_8f954d82c0b891f6, []int{2} 248 } 249 250 func (m *MetadataSignature) XXX_Unmarshal(b []byte) error { 251 return xxx_messageInfo_MetadataSignature.Unmarshal(m, b) 252 } 253 func (m *MetadataSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 254 return xxx_messageInfo_MetadataSignature.Marshal(b, m, deterministic) 255 } 256 func (m *MetadataSignature) XXX_Merge(src proto.Message) { 257 xxx_messageInfo_MetadataSignature.Merge(m, src) 258 } 259 func (m *MetadataSignature) XXX_Size() int { 260 return xxx_messageInfo_MetadataSignature.Size(m) 261 } 262 func (m *MetadataSignature) XXX_DiscardUnknown() { 263 xxx_messageInfo_MetadataSignature.DiscardUnknown(m) 264 } 265 266 var xxx_messageInfo_MetadataSignature proto.InternalMessageInfo 267 268 func (m *MetadataSignature) GetSignatureHeader() []byte { 269 if m != nil { 270 return m.SignatureHeader 271 } 272 return nil 273 } 274 275 func (m *MetadataSignature) GetSignature() []byte { 276 if m != nil { 277 return m.Signature 278 } 279 return nil 280 } 281 282 func (m *MetadataSignature) GetIdentifierHeader() []byte { 283 if m != nil { 284 return m.IdentifierHeader 285 } 286 return nil 287 } 288 289 // IdentifierHeader is used as an alternative to a SignatureHeader when the creator can be referenced by id 290 type IdentifierHeader struct { 291 Identifier uint32 `protobuf:"varint,1,opt,name=identifier,proto3" json:"identifier,omitempty"` 292 Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` 293 XXX_NoUnkeyedLiteral struct{} `json:"-"` 294 XXX_unrecognized []byte `json:"-"` 295 XXX_sizecache int32 `json:"-"` 296 } 297 298 func (m *IdentifierHeader) Reset() { *m = IdentifierHeader{} } 299 func (m *IdentifierHeader) String() string { return proto.CompactTextString(m) } 300 func (*IdentifierHeader) ProtoMessage() {} 301 func (*IdentifierHeader) Descriptor() ([]byte, []int) { 302 return fileDescriptor_8f954d82c0b891f6, []int{3} 303 } 304 305 func (m *IdentifierHeader) XXX_Unmarshal(b []byte) error { 306 return xxx_messageInfo_IdentifierHeader.Unmarshal(m, b) 307 } 308 func (m *IdentifierHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 309 return xxx_messageInfo_IdentifierHeader.Marshal(b, m, deterministic) 310 } 311 func (m *IdentifierHeader) XXX_Merge(src proto.Message) { 312 xxx_messageInfo_IdentifierHeader.Merge(m, src) 313 } 314 func (m *IdentifierHeader) XXX_Size() int { 315 return xxx_messageInfo_IdentifierHeader.Size(m) 316 } 317 func (m *IdentifierHeader) XXX_DiscardUnknown() { 318 xxx_messageInfo_IdentifierHeader.DiscardUnknown(m) 319 } 320 321 var xxx_messageInfo_IdentifierHeader proto.InternalMessageInfo 322 323 func (m *IdentifierHeader) GetIdentifier() uint32 { 324 if m != nil { 325 return m.Identifier 326 } 327 return 0 328 } 329 330 func (m *IdentifierHeader) GetNonce() []byte { 331 if m != nil { 332 return m.Nonce 333 } 334 return nil 335 } 336 337 type Header struct { 338 ChannelHeader []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"` 339 SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` 340 XXX_NoUnkeyedLiteral struct{} `json:"-"` 341 XXX_unrecognized []byte `json:"-"` 342 XXX_sizecache int32 `json:"-"` 343 } 344 345 func (m *Header) Reset() { *m = Header{} } 346 func (m *Header) String() string { return proto.CompactTextString(m) } 347 func (*Header) ProtoMessage() {} 348 func (*Header) Descriptor() ([]byte, []int) { 349 return fileDescriptor_8f954d82c0b891f6, []int{4} 350 } 351 352 func (m *Header) XXX_Unmarshal(b []byte) error { 353 return xxx_messageInfo_Header.Unmarshal(m, b) 354 } 355 func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 356 return xxx_messageInfo_Header.Marshal(b, m, deterministic) 357 } 358 func (m *Header) XXX_Merge(src proto.Message) { 359 xxx_messageInfo_Header.Merge(m, src) 360 } 361 func (m *Header) XXX_Size() int { 362 return xxx_messageInfo_Header.Size(m) 363 } 364 func (m *Header) XXX_DiscardUnknown() { 365 xxx_messageInfo_Header.DiscardUnknown(m) 366 } 367 368 var xxx_messageInfo_Header proto.InternalMessageInfo 369 370 func (m *Header) GetChannelHeader() []byte { 371 if m != nil { 372 return m.ChannelHeader 373 } 374 return nil 375 } 376 377 func (m *Header) GetSignatureHeader() []byte { 378 if m != nil { 379 return m.SignatureHeader 380 } 381 return nil 382 } 383 384 // Header is a generic replay prevention and identity message to include in a signed payload 385 type ChannelHeader struct { 386 Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 387 // Version indicates message protocol version 388 Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 389 // Timestamp is the local time when the message was created 390 // by the sender 391 Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 392 // Identifier of the channel this message is bound for 393 ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` 394 // An unique identifier that is used end-to-end. 395 // - set by higher layers such as end user or SDK 396 // - passed to the endorser (which will check for uniqueness) 397 // - as the header is passed along unchanged, it will be 398 // be retrieved by the committer (uniqueness check here as well) 399 // - to be stored in the ledger 400 TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` 401 // The epoch in which this header was generated, where epoch is defined based on block height 402 // Epoch in which the response has been generated. This field identifies a 403 // logical window of time. A proposal response is accepted by a peer only if 404 // two conditions hold: 405 // 1. the epoch specified in the message is the current epoch 406 // 2. this message has been only seen once during this epoch (i.e. it hasn't 407 // been replayed) 408 Epoch uint64 `protobuf:"varint,6,opt,name=epoch,proto3" json:"epoch,omitempty"` 409 // Extension that may be attached based on the header type 410 Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"` 411 // If mutual TLS is employed, this represents 412 // the hash of the client's TLS certificate 413 TlsCertHash []byte `protobuf:"bytes,8,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"` 414 XXX_NoUnkeyedLiteral struct{} `json:"-"` 415 XXX_unrecognized []byte `json:"-"` 416 XXX_sizecache int32 `json:"-"` 417 } 418 419 func (m *ChannelHeader) Reset() { *m = ChannelHeader{} } 420 func (m *ChannelHeader) String() string { return proto.CompactTextString(m) } 421 func (*ChannelHeader) ProtoMessage() {} 422 func (*ChannelHeader) Descriptor() ([]byte, []int) { 423 return fileDescriptor_8f954d82c0b891f6, []int{5} 424 } 425 426 func (m *ChannelHeader) XXX_Unmarshal(b []byte) error { 427 return xxx_messageInfo_ChannelHeader.Unmarshal(m, b) 428 } 429 func (m *ChannelHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 430 return xxx_messageInfo_ChannelHeader.Marshal(b, m, deterministic) 431 } 432 func (m *ChannelHeader) XXX_Merge(src proto.Message) { 433 xxx_messageInfo_ChannelHeader.Merge(m, src) 434 } 435 func (m *ChannelHeader) XXX_Size() int { 436 return xxx_messageInfo_ChannelHeader.Size(m) 437 } 438 func (m *ChannelHeader) XXX_DiscardUnknown() { 439 xxx_messageInfo_ChannelHeader.DiscardUnknown(m) 440 } 441 442 var xxx_messageInfo_ChannelHeader proto.InternalMessageInfo 443 444 func (m *ChannelHeader) GetType() int32 { 445 if m != nil { 446 return m.Type 447 } 448 return 0 449 } 450 451 func (m *ChannelHeader) GetVersion() int32 { 452 if m != nil { 453 return m.Version 454 } 455 return 0 456 } 457 458 func (m *ChannelHeader) GetTimestamp() *timestamppb.Timestamp { 459 if m != nil { 460 return m.Timestamp 461 } 462 return nil 463 } 464 465 func (m *ChannelHeader) GetChannelId() string { 466 if m != nil { 467 return m.ChannelId 468 } 469 return "" 470 } 471 472 func (m *ChannelHeader) GetTxId() string { 473 if m != nil { 474 return m.TxId 475 } 476 return "" 477 } 478 479 func (m *ChannelHeader) GetEpoch() uint64 { 480 if m != nil { 481 return m.Epoch 482 } 483 return 0 484 } 485 486 func (m *ChannelHeader) GetExtension() []byte { 487 if m != nil { 488 return m.Extension 489 } 490 return nil 491 } 492 493 func (m *ChannelHeader) GetTlsCertHash() []byte { 494 if m != nil { 495 return m.TlsCertHash 496 } 497 return nil 498 } 499 500 type SignatureHeader struct { 501 // Creator of the message, a marshaled msp.SerializedIdentity 502 Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` 503 // Arbitrary number that may only be used once. Can be used to detect replay attacks. 504 Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` 505 XXX_NoUnkeyedLiteral struct{} `json:"-"` 506 XXX_unrecognized []byte `json:"-"` 507 XXX_sizecache int32 `json:"-"` 508 } 509 510 func (m *SignatureHeader) Reset() { *m = SignatureHeader{} } 511 func (m *SignatureHeader) String() string { return proto.CompactTextString(m) } 512 func (*SignatureHeader) ProtoMessage() {} 513 func (*SignatureHeader) Descriptor() ([]byte, []int) { 514 return fileDescriptor_8f954d82c0b891f6, []int{6} 515 } 516 517 func (m *SignatureHeader) XXX_Unmarshal(b []byte) error { 518 return xxx_messageInfo_SignatureHeader.Unmarshal(m, b) 519 } 520 func (m *SignatureHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 521 return xxx_messageInfo_SignatureHeader.Marshal(b, m, deterministic) 522 } 523 func (m *SignatureHeader) XXX_Merge(src proto.Message) { 524 xxx_messageInfo_SignatureHeader.Merge(m, src) 525 } 526 func (m *SignatureHeader) XXX_Size() int { 527 return xxx_messageInfo_SignatureHeader.Size(m) 528 } 529 func (m *SignatureHeader) XXX_DiscardUnknown() { 530 xxx_messageInfo_SignatureHeader.DiscardUnknown(m) 531 } 532 533 var xxx_messageInfo_SignatureHeader proto.InternalMessageInfo 534 535 func (m *SignatureHeader) GetCreator() []byte { 536 if m != nil { 537 return m.Creator 538 } 539 return nil 540 } 541 542 func (m *SignatureHeader) GetNonce() []byte { 543 if m != nil { 544 return m.Nonce 545 } 546 return nil 547 } 548 549 // Payload is the message contents (and header to allow for signing) 550 type Payload struct { 551 // Header is included to provide identity and prevent replay 552 Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` 553 // Data, the encoding of which is defined by the type in the header 554 Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 555 XXX_NoUnkeyedLiteral struct{} `json:"-"` 556 XXX_unrecognized []byte `json:"-"` 557 XXX_sizecache int32 `json:"-"` 558 } 559 560 func (m *Payload) Reset() { *m = Payload{} } 561 func (m *Payload) String() string { return proto.CompactTextString(m) } 562 func (*Payload) ProtoMessage() {} 563 func (*Payload) Descriptor() ([]byte, []int) { 564 return fileDescriptor_8f954d82c0b891f6, []int{7} 565 } 566 567 func (m *Payload) XXX_Unmarshal(b []byte) error { 568 return xxx_messageInfo_Payload.Unmarshal(m, b) 569 } 570 func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 571 return xxx_messageInfo_Payload.Marshal(b, m, deterministic) 572 } 573 func (m *Payload) XXX_Merge(src proto.Message) { 574 xxx_messageInfo_Payload.Merge(m, src) 575 } 576 func (m *Payload) XXX_Size() int { 577 return xxx_messageInfo_Payload.Size(m) 578 } 579 func (m *Payload) XXX_DiscardUnknown() { 580 xxx_messageInfo_Payload.DiscardUnknown(m) 581 } 582 583 var xxx_messageInfo_Payload proto.InternalMessageInfo 584 585 func (m *Payload) GetHeader() *Header { 586 if m != nil { 587 return m.Header 588 } 589 return nil 590 } 591 592 func (m *Payload) GetData() []byte { 593 if m != nil { 594 return m.Data 595 } 596 return nil 597 } 598 599 // Envelope wraps a Payload with a signature so that the message may be authenticated 600 type Envelope struct { 601 // A marshaled Payload 602 Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` 603 // A signature by the creator specified in the Payload header 604 Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 605 XXX_NoUnkeyedLiteral struct{} `json:"-"` 606 XXX_unrecognized []byte `json:"-"` 607 XXX_sizecache int32 `json:"-"` 608 } 609 610 func (m *Envelope) Reset() { *m = Envelope{} } 611 func (m *Envelope) String() string { return proto.CompactTextString(m) } 612 func (*Envelope) ProtoMessage() {} 613 func (*Envelope) Descriptor() ([]byte, []int) { 614 return fileDescriptor_8f954d82c0b891f6, []int{8} 615 } 616 617 func (m *Envelope) XXX_Unmarshal(b []byte) error { 618 return xxx_messageInfo_Envelope.Unmarshal(m, b) 619 } 620 func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 621 return xxx_messageInfo_Envelope.Marshal(b, m, deterministic) 622 } 623 func (m *Envelope) XXX_Merge(src proto.Message) { 624 xxx_messageInfo_Envelope.Merge(m, src) 625 } 626 func (m *Envelope) XXX_Size() int { 627 return xxx_messageInfo_Envelope.Size(m) 628 } 629 func (m *Envelope) XXX_DiscardUnknown() { 630 xxx_messageInfo_Envelope.DiscardUnknown(m) 631 } 632 633 var xxx_messageInfo_Envelope proto.InternalMessageInfo 634 635 func (m *Envelope) GetPayload() []byte { 636 if m != nil { 637 return m.Payload 638 } 639 return nil 640 } 641 642 func (m *Envelope) GetSignature() []byte { 643 if m != nil { 644 return m.Signature 645 } 646 return nil 647 } 648 649 // This is finalized block structure to be shared among the orderer and peer 650 // Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded 651 // in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but 652 // the Metadata is not. 653 type Block struct { 654 Header *BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` 655 Data *BlockData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` 656 Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` 657 XXX_NoUnkeyedLiteral struct{} `json:"-"` 658 XXX_unrecognized []byte `json:"-"` 659 XXX_sizecache int32 `json:"-"` 660 } 661 662 func (m *Block) Reset() { *m = Block{} } 663 func (m *Block) String() string { return proto.CompactTextString(m) } 664 func (*Block) ProtoMessage() {} 665 func (*Block) Descriptor() ([]byte, []int) { 666 return fileDescriptor_8f954d82c0b891f6, []int{9} 667 } 668 669 func (m *Block) XXX_Unmarshal(b []byte) error { 670 return xxx_messageInfo_Block.Unmarshal(m, b) 671 } 672 func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 673 return xxx_messageInfo_Block.Marshal(b, m, deterministic) 674 } 675 func (m *Block) XXX_Merge(src proto.Message) { 676 xxx_messageInfo_Block.Merge(m, src) 677 } 678 func (m *Block) XXX_Size() int { 679 return xxx_messageInfo_Block.Size(m) 680 } 681 func (m *Block) XXX_DiscardUnknown() { 682 xxx_messageInfo_Block.DiscardUnknown(m) 683 } 684 685 var xxx_messageInfo_Block proto.InternalMessageInfo 686 687 func (m *Block) GetHeader() *BlockHeader { 688 if m != nil { 689 return m.Header 690 } 691 return nil 692 } 693 694 func (m *Block) GetData() *BlockData { 695 if m != nil { 696 return m.Data 697 } 698 return nil 699 } 700 701 func (m *Block) GetMetadata() *BlockMetadata { 702 if m != nil { 703 return m.Metadata 704 } 705 return nil 706 } 707 708 // BlockHeader is the element of the block which forms the block chain 709 // The block header is hashed using the configured chain hashing algorithm 710 // over the ASN.1 encoding of the BlockHeader 711 type BlockHeader struct { 712 Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` 713 PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"` 714 DataHash []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` 715 XXX_NoUnkeyedLiteral struct{} `json:"-"` 716 XXX_unrecognized []byte `json:"-"` 717 XXX_sizecache int32 `json:"-"` 718 } 719 720 func (m *BlockHeader) Reset() { *m = BlockHeader{} } 721 func (m *BlockHeader) String() string { return proto.CompactTextString(m) } 722 func (*BlockHeader) ProtoMessage() {} 723 func (*BlockHeader) Descriptor() ([]byte, []int) { 724 return fileDescriptor_8f954d82c0b891f6, []int{10} 725 } 726 727 func (m *BlockHeader) XXX_Unmarshal(b []byte) error { 728 return xxx_messageInfo_BlockHeader.Unmarshal(m, b) 729 } 730 func (m *BlockHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 731 return xxx_messageInfo_BlockHeader.Marshal(b, m, deterministic) 732 } 733 func (m *BlockHeader) XXX_Merge(src proto.Message) { 734 xxx_messageInfo_BlockHeader.Merge(m, src) 735 } 736 func (m *BlockHeader) XXX_Size() int { 737 return xxx_messageInfo_BlockHeader.Size(m) 738 } 739 func (m *BlockHeader) XXX_DiscardUnknown() { 740 xxx_messageInfo_BlockHeader.DiscardUnknown(m) 741 } 742 743 var xxx_messageInfo_BlockHeader proto.InternalMessageInfo 744 745 func (m *BlockHeader) GetNumber() uint64 { 746 if m != nil { 747 return m.Number 748 } 749 return 0 750 } 751 752 func (m *BlockHeader) GetPreviousHash() []byte { 753 if m != nil { 754 return m.PreviousHash 755 } 756 return nil 757 } 758 759 func (m *BlockHeader) GetDataHash() []byte { 760 if m != nil { 761 return m.DataHash 762 } 763 return nil 764 } 765 766 type BlockData struct { 767 Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` 768 XXX_NoUnkeyedLiteral struct{} `json:"-"` 769 XXX_unrecognized []byte `json:"-"` 770 XXX_sizecache int32 `json:"-"` 771 } 772 773 func (m *BlockData) Reset() { *m = BlockData{} } 774 func (m *BlockData) String() string { return proto.CompactTextString(m) } 775 func (*BlockData) ProtoMessage() {} 776 func (*BlockData) Descriptor() ([]byte, []int) { 777 return fileDescriptor_8f954d82c0b891f6, []int{11} 778 } 779 780 func (m *BlockData) XXX_Unmarshal(b []byte) error { 781 return xxx_messageInfo_BlockData.Unmarshal(m, b) 782 } 783 func (m *BlockData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 784 return xxx_messageInfo_BlockData.Marshal(b, m, deterministic) 785 } 786 func (m *BlockData) XXX_Merge(src proto.Message) { 787 xxx_messageInfo_BlockData.Merge(m, src) 788 } 789 func (m *BlockData) XXX_Size() int { 790 return xxx_messageInfo_BlockData.Size(m) 791 } 792 func (m *BlockData) XXX_DiscardUnknown() { 793 xxx_messageInfo_BlockData.DiscardUnknown(m) 794 } 795 796 var xxx_messageInfo_BlockData proto.InternalMessageInfo 797 798 func (m *BlockData) GetData() [][]byte { 799 if m != nil { 800 return m.Data 801 } 802 return nil 803 } 804 805 type BlockMetadata struct { 806 Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"` 807 XXX_NoUnkeyedLiteral struct{} `json:"-"` 808 XXX_unrecognized []byte `json:"-"` 809 XXX_sizecache int32 `json:"-"` 810 } 811 812 func (m *BlockMetadata) Reset() { *m = BlockMetadata{} } 813 func (m *BlockMetadata) String() string { return proto.CompactTextString(m) } 814 func (*BlockMetadata) ProtoMessage() {} 815 func (*BlockMetadata) Descriptor() ([]byte, []int) { 816 return fileDescriptor_8f954d82c0b891f6, []int{12} 817 } 818 819 func (m *BlockMetadata) XXX_Unmarshal(b []byte) error { 820 return xxx_messageInfo_BlockMetadata.Unmarshal(m, b) 821 } 822 func (m *BlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 823 return xxx_messageInfo_BlockMetadata.Marshal(b, m, deterministic) 824 } 825 func (m *BlockMetadata) XXX_Merge(src proto.Message) { 826 xxx_messageInfo_BlockMetadata.Merge(m, src) 827 } 828 func (m *BlockMetadata) XXX_Size() int { 829 return xxx_messageInfo_BlockMetadata.Size(m) 830 } 831 func (m *BlockMetadata) XXX_DiscardUnknown() { 832 xxx_messageInfo_BlockMetadata.DiscardUnknown(m) 833 } 834 835 var xxx_messageInfo_BlockMetadata proto.InternalMessageInfo 836 837 func (m *BlockMetadata) GetMetadata() [][]byte { 838 if m != nil { 839 return m.Metadata 840 } 841 return nil 842 } 843 844 // OrdererBlockMetadata defines metadata that is set by the ordering service. 845 type OrdererBlockMetadata struct { 846 LastConfig *LastConfig `protobuf:"bytes,1,opt,name=last_config,json=lastConfig,proto3" json:"last_config,omitempty"` 847 ConsenterMetadata []byte `protobuf:"bytes,2,opt,name=consenter_metadata,json=consenterMetadata,proto3" json:"consenter_metadata,omitempty"` 848 XXX_NoUnkeyedLiteral struct{} `json:"-"` 849 XXX_unrecognized []byte `json:"-"` 850 XXX_sizecache int32 `json:"-"` 851 } 852 853 func (m *OrdererBlockMetadata) Reset() { *m = OrdererBlockMetadata{} } 854 func (m *OrdererBlockMetadata) String() string { return proto.CompactTextString(m) } 855 func (*OrdererBlockMetadata) ProtoMessage() {} 856 func (*OrdererBlockMetadata) Descriptor() ([]byte, []int) { 857 return fileDescriptor_8f954d82c0b891f6, []int{13} 858 } 859 860 func (m *OrdererBlockMetadata) XXX_Unmarshal(b []byte) error { 861 return xxx_messageInfo_OrdererBlockMetadata.Unmarshal(m, b) 862 } 863 func (m *OrdererBlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 864 return xxx_messageInfo_OrdererBlockMetadata.Marshal(b, m, deterministic) 865 } 866 func (m *OrdererBlockMetadata) XXX_Merge(src proto.Message) { 867 xxx_messageInfo_OrdererBlockMetadata.Merge(m, src) 868 } 869 func (m *OrdererBlockMetadata) XXX_Size() int { 870 return xxx_messageInfo_OrdererBlockMetadata.Size(m) 871 } 872 func (m *OrdererBlockMetadata) XXX_DiscardUnknown() { 873 xxx_messageInfo_OrdererBlockMetadata.DiscardUnknown(m) 874 } 875 876 var xxx_messageInfo_OrdererBlockMetadata proto.InternalMessageInfo 877 878 func (m *OrdererBlockMetadata) GetLastConfig() *LastConfig { 879 if m != nil { 880 return m.LastConfig 881 } 882 return nil 883 } 884 885 func (m *OrdererBlockMetadata) GetConsenterMetadata() []byte { 886 if m != nil { 887 return m.ConsenterMetadata 888 } 889 return nil 890 } 891 892 func init() { 893 proto.RegisterEnum("common.Status", Status_name, Status_value) 894 proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value) 895 proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value) 896 proto.RegisterType((*LastConfig)(nil), "common.LastConfig") 897 proto.RegisterType((*Metadata)(nil), "common.Metadata") 898 proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature") 899 proto.RegisterType((*IdentifierHeader)(nil), "common.IdentifierHeader") 900 proto.RegisterType((*Header)(nil), "common.Header") 901 proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader") 902 proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader") 903 proto.RegisterType((*Payload)(nil), "common.Payload") 904 proto.RegisterType((*Envelope)(nil), "common.Envelope") 905 proto.RegisterType((*Block)(nil), "common.Block") 906 proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader") 907 proto.RegisterType((*BlockData)(nil), "common.BlockData") 908 proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata") 909 proto.RegisterType((*OrdererBlockMetadata)(nil), "common.OrdererBlockMetadata") 910 } 911 912 func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) } 913 914 var fileDescriptor_8f954d82c0b891f6 = []byte{ 915 // 1095 bytes of a gzipped FileDescriptorProto 916 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0x4d, 0x6f, 0xeb, 0x44, 917 0x17, 0x6e, 0xbe, 0x93, 0xe3, 0xa6, 0x9d, 0x4c, 0xda, 0xf7, 0x0d, 0xbd, 0x5c, 0x6e, 0x65, 0xb8, 918 0xa8, 0xb4, 0x6a, 0x2a, 0x7a, 0x37, 0xb0, 0x74, 0xec, 0x69, 0x63, 0x35, 0xb1, 0xc3, 0xd8, 0x29, 919 0xe2, 0xb2, 0xb0, 0xdc, 0x64, 0x9a, 0x58, 0x24, 0x76, 0x64, 0x4f, 0xaa, 0x96, 0x2d, 0x2b, 0x36, 920 0x08, 0x09, 0xb6, 0xfc, 0x17, 0x96, 0xfc, 0x1a, 0x56, 0x20, 0xb6, 0xc8, 0x1e, 0x3b, 0x1f, 0xe5, 921 0xc2, 0x2a, 0x3e, 0xcf, 0x79, 0xe6, 0x9c, 0xe7, 0x7c, 0xcc, 0x04, 0x9a, 0xa3, 0x60, 0x3e, 0x0f, 922 0xfc, 0x0b, 0xf1, 0xd3, 0x5e, 0x84, 0x01, 0x0f, 0x70, 0x59, 0x58, 0x47, 0xaf, 0x26, 0x41, 0x30, 923 0x99, 0xb1, 0x8b, 0x04, 0xbd, 0x5b, 0xde, 0x5f, 0x70, 0x6f, 0xce, 0x22, 0xee, 0xce, 0x17, 0x82, 924 0x28, 0xcb, 0x00, 0x3d, 0x37, 0xe2, 0x6a, 0xe0, 0xdf, 0x7b, 0x13, 0x7c, 0x00, 0x25, 0xcf, 0x1f, 925 0xb3, 0xc7, 0x56, 0xee, 0x38, 0x77, 0x52, 0xa4, 0xc2, 0x90, 0xbf, 0x86, 0x6a, 0x9f, 0x71, 0x77, 926 0xec, 0x72, 0x37, 0x66, 0x3c, 0xb8, 0xb3, 0x25, 0x4b, 0x18, 0xbb, 0x54, 0x18, 0xf8, 0x73, 0x80, 927 0xc8, 0x9b, 0xf8, 0x2e, 0x5f, 0x86, 0x2c, 0x6a, 0xe5, 0x8f, 0x0b, 0x27, 0xd2, 0xe5, 0x7b, 0xed, 928 0x54, 0x51, 0x76, 0xd6, 0xca, 0x18, 0x74, 0x83, 0x2c, 0x7f, 0x9f, 0x83, 0xc6, 0x3f, 0x18, 0xf8, 929 0x13, 0x40, 0x2b, 0x8e, 0x33, 0x65, 0xee, 0x98, 0x85, 0x69, 0xc6, 0xfd, 0x15, 0xde, 0x4d, 0x60, 930 0xfc, 0x3e, 0xd4, 0x56, 0x50, 0x2b, 0x9f, 0x70, 0xd6, 0x00, 0x3e, 0x83, 0x86, 0x37, 0x66, 0x3e, 931 0xf7, 0xee, 0x3d, 0x16, 0x66, 0x91, 0x0a, 0x09, 0x0b, 0xad, 0x1d, 0x22, 0x94, 0xdc, 0x05, 0xa4, 932 0x3f, 0xc3, 0xf0, 0x07, 0x00, 0x6b, 0x5e, 0xa2, 0xa1, 0x4e, 0x37, 0x90, 0xb8, 0x21, 0x7e, 0xe0, 933 0x8f, 0xb2, 0xd4, 0xc2, 0x90, 0xdf, 0x42, 0x39, 0x3d, 0xff, 0x1a, 0xf6, 0x46, 0x53, 0xd7, 0xf7, 934 0xd9, 0x6c, 0xbb, 0x8e, 0x7a, 0x8a, 0xa6, 0xb4, 0x77, 0x15, 0x9c, 0x7f, 0x67, 0xc1, 0xf2, 0x77, 935 0x79, 0xa8, 0xab, 0x5b, 0x87, 0x31, 0x14, 0xf9, 0xd3, 0x42, 0xcc, 0xa4, 0x44, 0x93, 0x6f, 0xdc, 936 0x82, 0xca, 0x03, 0x0b, 0x23, 0x2f, 0xf0, 0x93, 0x38, 0x25, 0x9a, 0x99, 0xf8, 0x33, 0xa8, 0xad, 937 0xb6, 0x20, 0x69, 0x85, 0x74, 0x79, 0xd4, 0x16, 0x7b, 0xd2, 0xce, 0xf6, 0xa4, 0x6d, 0x67, 0x0c, 938 0xba, 0x26, 0xe3, 0x97, 0x00, 0x59, 0x2d, 0xde, 0xb8, 0x55, 0x3c, 0xce, 0x9d, 0xd4, 0x68, 0x2d, 939 0x45, 0xf4, 0x31, 0x6e, 0x42, 0x89, 0x3f, 0xc6, 0x9e, 0x52, 0xe2, 0x29, 0xf2, 0x47, 0x7d, 0x1c, 940 0xf7, 0x87, 0x2d, 0x82, 0xd1, 0xb4, 0x55, 0x16, 0x2b, 0x95, 0x18, 0xf1, 0xd0, 0xd8, 0x23, 0x67, 941 0x7e, 0xa2, 0xaf, 0x22, 0x86, 0xb6, 0x02, 0xb0, 0x0c, 0x75, 0x3e, 0x8b, 0x9c, 0x11, 0x0b, 0xb9, 942 0x33, 0x75, 0xa3, 0x69, 0xab, 0x9a, 0x30, 0x24, 0x3e, 0x8b, 0x54, 0x16, 0xf2, 0xae, 0x1b, 0x4d, 943 0x65, 0x05, 0xf6, 0xad, 0x67, 0x9b, 0xd0, 0x82, 0xca, 0x28, 0x64, 0x2e, 0x0f, 0xb2, 0x1e, 0x67, 944 0xe6, 0xbf, 0x0c, 0x89, 0x40, 0x65, 0xe0, 0x3e, 0xcd, 0x02, 0x77, 0x8c, 0x3f, 0x86, 0xf2, 0xc6, 945 0x74, 0xa4, 0xcb, 0xbd, 0x6c, 0x79, 0x45, 0x68, 0x9a, 0x7a, 0xe3, 0x4e, 0xc7, 0x8b, 0x9a, 0xc6, 946 0x49, 0xbe, 0xe5, 0x0e, 0x54, 0x89, 0xff, 0xc0, 0x66, 0x81, 0xe8, 0xfa, 0x42, 0x84, 0xcc, 0x24, 947 0xa4, 0xe6, 0x7f, 0xaf, 0xa9, 0xfc, 0x43, 0x0e, 0x4a, 0x9d, 0x59, 0x30, 0xfa, 0x06, 0x9f, 0x3d, 948 0x53, 0xd2, 0xcc, 0x94, 0x24, 0xee, 0x67, 0x72, 0x5e, 0x6f, 0xc8, 0x91, 0x2e, 0x1b, 0x5b, 0x54, 949 0xcd, 0xe5, 0xae, 0x50, 0x88, 0x3f, 0x85, 0xea, 0x3c, 0xbd, 0x62, 0xe9, 0xc0, 0x0f, 0xb7, 0xa8, 950 0xd9, 0xfd, 0xa3, 0x2b, 0x9a, 0x3c, 0x01, 0x69, 0x23, 0x21, 0xfe, 0x1f, 0x94, 0xfd, 0xe5, 0xfc, 951 0x2e, 0x55, 0x55, 0xa4, 0xa9, 0x85, 0x3f, 0x84, 0xfa, 0x22, 0x64, 0x0f, 0x5e, 0xb0, 0x8c, 0xc4, 952 0xa4, 0x44, 0x65, 0xbb, 0x19, 0x18, 0x8f, 0x0a, 0xbf, 0x80, 0x5a, 0x1c, 0x53, 0x10, 0xc4, 0xdd, 953 0xab, 0xc6, 0x40, 0x32, 0xc7, 0x57, 0x50, 0x5b, 0xc9, 0x5d, 0xb5, 0x37, 0x77, 0x5c, 0x58, 0xb5, 954 0xf7, 0x0c, 0xea, 0x5b, 0x22, 0xf1, 0xd1, 0x46, 0x35, 0x82, 0xb8, 0x96, 0xfd, 0x2d, 0x1c, 0x98, 955 0xe1, 0x98, 0x85, 0x2c, 0xdc, 0x3e, 0xf3, 0x06, 0xa4, 0x99, 0x1b, 0x71, 0x67, 0x94, 0xbc, 0x73, 956 0x69, 0x6b, 0x71, 0xd6, 0x84, 0xf5, 0x0b, 0x48, 0x61, 0xb6, 0x7e, 0x0d, 0xcf, 0x01, 0x8f, 0x02, 957 0x3f, 0x62, 0x3e, 0x67, 0xa1, 0xb3, 0x4a, 0x29, 0x2a, 0x6c, 0xac, 0x3c, 0x59, 0x8e, 0xd3, 0x5f, 958 0x73, 0x50, 0xb6, 0xb8, 0xcb, 0x97, 0x11, 0x96, 0xa0, 0x32, 0x34, 0x6e, 0x0c, 0xf3, 0x4b, 0x03, 959 0xed, 0xe0, 0x5d, 0xa8, 0x58, 0x43, 0x55, 0x25, 0x96, 0x85, 0x7e, 0xcb, 0x61, 0x04, 0x52, 0x47, 960 0xd1, 0x1c, 0x4a, 0xbe, 0x18, 0x12, 0xcb, 0x46, 0x3f, 0x16, 0xf0, 0x1e, 0xd4, 0xae, 0x4c, 0xda, 961 0xd1, 0x35, 0x8d, 0x18, 0xe8, 0xa7, 0xc4, 0x36, 0x4c, 0xdb, 0xb9, 0x32, 0x87, 0x86, 0x86, 0x7e, 962 0x2e, 0xe0, 0x97, 0xd0, 0x4a, 0xd9, 0x0e, 0x31, 0x6c, 0xdd, 0xfe, 0xca, 0xb1, 0x4d, 0xd3, 0xe9, 963 0x29, 0xf4, 0x9a, 0xa0, 0x5f, 0x0a, 0xf8, 0x08, 0x0e, 0x75, 0xc3, 0x26, 0xd4, 0x50, 0x7a, 0x8e, 964 0x45, 0xe8, 0x2d, 0xa1, 0x0e, 0xa1, 0xd4, 0xa4, 0xe8, 0x8f, 0x02, 0x3e, 0x80, 0xfd, 0x38, 0x94, 965 0xde, 0x1f, 0xf4, 0x48, 0x9f, 0x18, 0x36, 0xd1, 0xd0, 0x9f, 0x05, 0xdc, 0x82, 0x66, 0x4c, 0xd4, 966 0x55, 0xe2, 0x0c, 0x0d, 0xe5, 0x56, 0xd1, 0x7b, 0x4a, 0xa7, 0x47, 0xd0, 0x5f, 0x85, 0xd3, 0xdf, 967 0x73, 0x00, 0x62, 0xe2, 0x76, 0xfc, 0x86, 0x48, 0x50, 0xe9, 0x13, 0xcb, 0x52, 0xae, 0x09, 0xda, 968 0xc1, 0x00, 0x65, 0xd5, 0x34, 0xae, 0xf4, 0x6b, 0x94, 0xc3, 0x0d, 0xa8, 0x8b, 0x6f, 0x67, 0x38, 969 0xd0, 0x14, 0x9b, 0xa0, 0x3c, 0x6e, 0xc1, 0x01, 0x31, 0x34, 0x93, 0x5a, 0x84, 0x3a, 0x36, 0x55, 970 0x0c, 0x4b, 0x51, 0x6d, 0xdd, 0x34, 0x50, 0x01, 0xbf, 0x80, 0xa6, 0x49, 0x35, 0x42, 0x9f, 0x39, 971 0x8a, 0x47, 0xf9, 0x6a, 0x0e, 0x1f, 0x42, 0x43, 0x23, 0x3d, 0x3d, 0x56, 0x6d, 0x11, 0x72, 0xe3, 972 0xe8, 0xc6, 0x95, 0x89, 0x4a, 0x31, 0xac, 0x76, 0x15, 0xdd, 0x50, 0x4d, 0x8d, 0x38, 0x03, 0x45, 973 0xbd, 0x89, 0x35, 0x94, 0xe5, 0x62, 0xb5, 0x82, 0x2a, 0x72, 0xb1, 0x5a, 0x45, 0x55, 0xb9, 0x58, 974 0xad, 0xa1, 0xda, 0xe9, 0xc1, 0x80, 0x10, 0xea, 0x50, 0x62, 0x99, 0x43, 0x1a, 0xd7, 0x93, 0xc8, 975 0x49, 0x51, 0x45, 0xeb, 0xeb, 0x86, 0x63, 0x0e, 0x08, 0x55, 0xe2, 0x8c, 0xa7, 0x0d, 0xdb, 0xbc, 976 0x21, 0xc6, 0xa6, 0x88, 0x53, 0x0e, 0x78, 0x6b, 0x51, 0xf4, 0xf8, 0x0f, 0x0f, 0xef, 0x01, 0x58, 977 0xfa, 0xb5, 0xa1, 0xd8, 0x43, 0x4a, 0x2c, 0xb4, 0x83, 0x9b, 0x20, 0xf5, 0x14, 0xcb, 0x76, 0xb2, 978 0xfa, 0x13, 0xe5, 0xff, 0x87, 0xe6, 0x46, 0x24, 0xcb, 0xb9, 0xd2, 0x7b, 0x36, 0xa1, 0x28, 0x8f, 979 0xf7, 0xa1, 0x92, 0xd6, 0x8b, 0x0a, 0x09, 0x73, 0x1f, 0x24, 0xd5, 0xec, 0xf7, 0x75, 0xdb, 0xe9, 980 0x2a, 0x56, 0x17, 0x15, 0x3b, 0xb7, 0xf0, 0x51, 0x10, 0x4e, 0xda, 0xd3, 0xa7, 0x05, 0x0b, 0x67, 981 0x6c, 0x3c, 0x61, 0x61, 0xfb, 0xde, 0xbd, 0x0b, 0xbd, 0x91, 0x78, 0x7f, 0xa3, 0x74, 0x2f, 0xdf, 982 0xb6, 0x27, 0x1e, 0x9f, 0x2e, 0xef, 0x62, 0xf3, 0x62, 0x83, 0x7c, 0x21, 0xc8, 0xe7, 0x82, 0x7c, 983 0x3e, 0x09, 0xd2, 0xff, 0xfe, 0xbb, 0x72, 0x82, 0xbc, 0xf9, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x2a, 984 0xfe, 0x18, 0xa3, 0x13, 0x08, 0x00, 0x00, 985 }