github.com/adnan-c/fabric_e2e_couchdb@v0.6.1-preview.0.20170228180935-21ce6b23cf91/protos/common/common.pb.go (about)

     1  // Code generated by protoc-gen-go.
     2  // source: common/common.proto
     3  // DO NOT EDIT!
     4  
     5  /*
     6  Package common is a generated protocol buffer package.
     7  
     8  It is generated from these files:
     9  	common/common.proto
    10  	common/configtx.proto
    11  	common/configuration.proto
    12  	common/ledger.proto
    13  	common/msp_principal.proto
    14  	common/policies.proto
    15  
    16  It has these top-level messages:
    17  	LastConfig
    18  	Metadata
    19  	MetadataSignature
    20  	Header
    21  	ChannelHeader
    22  	SignatureHeader
    23  	Payload
    24  	Envelope
    25  	Block
    26  	BlockHeader
    27  	BlockData
    28  	BlockMetadata
    29  	ConfigEnvelope
    30  	ConfigGroupSchema
    31  	ConfigValueSchema
    32  	ConfigPolicySchema
    33  	Config
    34  	ConfigUpdateEnvelope
    35  	ConfigUpdate
    36  	ConfigGroup
    37  	ConfigValue
    38  	ConfigPolicy
    39  	ConfigSignature
    40  	HashingAlgorithm
    41  	BlockDataHashingStructure
    42  	OrdererAddresses
    43  	BlockchainInfo
    44  	MSPPrincipal
    45  	OrganizationUnit
    46  	MSPRole
    47  	Policy
    48  	SignaturePolicyEnvelope
    49  	SignaturePolicy
    50  	ImplicitMetaPolicy
    51  */
    52  package common
    53  
    54  import proto "github.com/golang/protobuf/proto"
    55  import fmt "fmt"
    56  import math "math"
    57  import google_protobuf "github.com/golang/protobuf/ptypes/timestamp"
    58  
    59  // Reference imports to suppress errors if they are not otherwise used.
    60  var _ = proto.Marshal
    61  var _ = fmt.Errorf
    62  var _ = math.Inf
    63  
    64  // This is a compile-time assertion to ensure that this generated file
    65  // is compatible with the proto package it is being compiled against.
    66  // A compilation error at this line likely means your copy of the
    67  // proto package needs to be updated.
    68  const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
    69  
    70  // These status codes are intended to resemble selected HTTP status codes
    71  type Status int32
    72  
    73  const (
    74  	Status_UNKNOWN                  Status = 0
    75  	Status_SUCCESS                  Status = 200
    76  	Status_BAD_REQUEST              Status = 400
    77  	Status_FORBIDDEN                Status = 403
    78  	Status_NOT_FOUND                Status = 404
    79  	Status_REQUEST_ENTITY_TOO_LARGE Status = 413
    80  	Status_INTERNAL_SERVER_ERROR    Status = 500
    81  	Status_SERVICE_UNAVAILABLE      Status = 503
    82  )
    83  
    84  var Status_name = map[int32]string{
    85  	0:   "UNKNOWN",
    86  	200: "SUCCESS",
    87  	400: "BAD_REQUEST",
    88  	403: "FORBIDDEN",
    89  	404: "NOT_FOUND",
    90  	413: "REQUEST_ENTITY_TOO_LARGE",
    91  	500: "INTERNAL_SERVER_ERROR",
    92  	503: "SERVICE_UNAVAILABLE",
    93  }
    94  var Status_value = map[string]int32{
    95  	"UNKNOWN":                  0,
    96  	"SUCCESS":                  200,
    97  	"BAD_REQUEST":              400,
    98  	"FORBIDDEN":                403,
    99  	"NOT_FOUND":                404,
   100  	"REQUEST_ENTITY_TOO_LARGE": 413,
   101  	"INTERNAL_SERVER_ERROR":    500,
   102  	"SERVICE_UNAVAILABLE":      503,
   103  }
   104  
   105  func (x Status) String() string {
   106  	return proto.EnumName(Status_name, int32(x))
   107  }
   108  func (Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
   109  
   110  type HeaderType int32
   111  
   112  const (
   113  	HeaderType_MESSAGE              HeaderType = 0
   114  	HeaderType_CONFIG               HeaderType = 1
   115  	HeaderType_CONFIG_UPDATE        HeaderType = 2
   116  	HeaderType_ENDORSER_TRANSACTION HeaderType = 3
   117  	HeaderType_ORDERER_TRANSACTION  HeaderType = 4
   118  	HeaderType_DELIVER_SEEK_INFO    HeaderType = 5
   119  )
   120  
   121  var HeaderType_name = map[int32]string{
   122  	0: "MESSAGE",
   123  	1: "CONFIG",
   124  	2: "CONFIG_UPDATE",
   125  	3: "ENDORSER_TRANSACTION",
   126  	4: "ORDERER_TRANSACTION",
   127  	5: "DELIVER_SEEK_INFO",
   128  }
   129  var HeaderType_value = map[string]int32{
   130  	"MESSAGE":              0,
   131  	"CONFIG":               1,
   132  	"CONFIG_UPDATE":        2,
   133  	"ENDORSER_TRANSACTION": 3,
   134  	"ORDERER_TRANSACTION":  4,
   135  	"DELIVER_SEEK_INFO":    5,
   136  }
   137  
   138  func (x HeaderType) String() string {
   139  	return proto.EnumName(HeaderType_name, int32(x))
   140  }
   141  func (HeaderType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
   142  
   143  // This enum enlists indexes of the block metadata array
   144  type BlockMetadataIndex int32
   145  
   146  const (
   147  	BlockMetadataIndex_SIGNATURES          BlockMetadataIndex = 0
   148  	BlockMetadataIndex_LAST_CONFIG         BlockMetadataIndex = 1
   149  	BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2
   150  	BlockMetadataIndex_ORDERER             BlockMetadataIndex = 3
   151  )
   152  
   153  var BlockMetadataIndex_name = map[int32]string{
   154  	0: "SIGNATURES",
   155  	1: "LAST_CONFIG",
   156  	2: "TRANSACTIONS_FILTER",
   157  	3: "ORDERER",
   158  }
   159  var BlockMetadataIndex_value = map[string]int32{
   160  	"SIGNATURES":          0,
   161  	"LAST_CONFIG":         1,
   162  	"TRANSACTIONS_FILTER": 2,
   163  	"ORDERER":             3,
   164  }
   165  
   166  func (x BlockMetadataIndex) String() string {
   167  	return proto.EnumName(BlockMetadataIndex_name, int32(x))
   168  }
   169  func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
   170  
   171  // LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index
   172  type LastConfig struct {
   173  	Index uint64 `protobuf:"varint,1,opt,name=index" json:"index,omitempty"`
   174  }
   175  
   176  func (m *LastConfig) Reset()                    { *m = LastConfig{} }
   177  func (m *LastConfig) String() string            { return proto.CompactTextString(m) }
   178  func (*LastConfig) ProtoMessage()               {}
   179  func (*LastConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
   180  
   181  // Metadata is a common structure to be used to encode block metadata
   182  type Metadata struct {
   183  	Value      []byte               `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
   184  	Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures" json:"signatures,omitempty"`
   185  }
   186  
   187  func (m *Metadata) Reset()                    { *m = Metadata{} }
   188  func (m *Metadata) String() string            { return proto.CompactTextString(m) }
   189  func (*Metadata) ProtoMessage()               {}
   190  func (*Metadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
   191  
   192  func (m *Metadata) GetSignatures() []*MetadataSignature {
   193  	if m != nil {
   194  		return m.Signatures
   195  	}
   196  	return nil
   197  }
   198  
   199  type MetadataSignature struct {
   200  	SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"`
   201  	Signature       []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
   202  }
   203  
   204  func (m *MetadataSignature) Reset()                    { *m = MetadataSignature{} }
   205  func (m *MetadataSignature) String() string            { return proto.CompactTextString(m) }
   206  func (*MetadataSignature) ProtoMessage()               {}
   207  func (*MetadataSignature) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
   208  
   209  type Header struct {
   210  	ChannelHeader   []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"`
   211  	SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"`
   212  }
   213  
   214  func (m *Header) Reset()                    { *m = Header{} }
   215  func (m *Header) String() string            { return proto.CompactTextString(m) }
   216  func (*Header) ProtoMessage()               {}
   217  func (*Header) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
   218  
   219  // Header is a generic replay prevention and identity message to include in a signed payload
   220  type ChannelHeader struct {
   221  	Type int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"`
   222  	// Version indicates message protocol version
   223  	Version int32 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"`
   224  	// Timestamp is the local time when the message was created
   225  	// by the sender
   226  	Timestamp *google_protobuf.Timestamp `protobuf:"bytes,3,opt,name=timestamp" json:"timestamp,omitempty"`
   227  	// Identifier of the channel this message is bound for
   228  	ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId" json:"channel_id,omitempty"`
   229  	// An unique identifier that is used end-to-end.
   230  	//  -  set by higher layers such as end user or SDK
   231  	//  -  passed to the endorser (which will check for uniqueness)
   232  	//  -  as the header is passed along unchanged, it will be
   233  	//     be retrieved by the committer (uniqueness check here as well)
   234  	//  -  to be stored in the ledger
   235  	TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId" json:"tx_id,omitempty"`
   236  	// The epoch in which this header was generated, where epoch is defined based on block height
   237  	// Epoch in which the response has been generated. This field identifies a
   238  	// logical window of time. A proposal response is accepted by a peer only if
   239  	// two conditions hold:
   240  	// 1. the epoch specified in the message is the current epoch
   241  	// 2. this message has been only seen once during this epoch (i.e. it hasn't
   242  	//    been replayed)
   243  	Epoch uint64 `protobuf:"varint,6,opt,name=epoch" json:"epoch,omitempty"`
   244  	// Extension that may be attached based on the header type
   245  	Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"`
   246  }
   247  
   248  func (m *ChannelHeader) Reset()                    { *m = ChannelHeader{} }
   249  func (m *ChannelHeader) String() string            { return proto.CompactTextString(m) }
   250  func (*ChannelHeader) ProtoMessage()               {}
   251  func (*ChannelHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
   252  
   253  func (m *ChannelHeader) GetTimestamp() *google_protobuf.Timestamp {
   254  	if m != nil {
   255  		return m.Timestamp
   256  	}
   257  	return nil
   258  }
   259  
   260  type SignatureHeader struct {
   261  	// Creator of the message, specified as a certificate chain
   262  	Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
   263  	// Arbitrary number that may only be used once. Can be used to detect replay attacks.
   264  	Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"`
   265  }
   266  
   267  func (m *SignatureHeader) Reset()                    { *m = SignatureHeader{} }
   268  func (m *SignatureHeader) String() string            { return proto.CompactTextString(m) }
   269  func (*SignatureHeader) ProtoMessage()               {}
   270  func (*SignatureHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
   271  
   272  // Payload is the message contents (and header to allow for signing)
   273  type Payload struct {
   274  	// Header is included to provide identity and prevent replay
   275  	Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
   276  	// Data, the encoding of which is defined by the type in the header
   277  	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
   278  }
   279  
   280  func (m *Payload) Reset()                    { *m = Payload{} }
   281  func (m *Payload) String() string            { return proto.CompactTextString(m) }
   282  func (*Payload) ProtoMessage()               {}
   283  func (*Payload) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
   284  
   285  func (m *Payload) GetHeader() *Header {
   286  	if m != nil {
   287  		return m.Header
   288  	}
   289  	return nil
   290  }
   291  
   292  // Envelope wraps a Payload with a signature so that the message may be authenticated
   293  type Envelope struct {
   294  	// A marshaled Payload
   295  	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   296  	// A signature by the creator specified in the Payload header
   297  	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
   298  }
   299  
   300  func (m *Envelope) Reset()                    { *m = Envelope{} }
   301  func (m *Envelope) String() string            { return proto.CompactTextString(m) }
   302  func (*Envelope) ProtoMessage()               {}
   303  func (*Envelope) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
   304  
   305  // This is finalized block structure to be shared among the orderer and peer
   306  // Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded
   307  // in the BlockHeader.  This makes it natural and obvious that the Data is included in the hash, but
   308  // the Metadata is not.
   309  type Block struct {
   310  	Header   *BlockHeader   `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
   311  	Data     *BlockData     `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"`
   312  	Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"`
   313  }
   314  
   315  func (m *Block) Reset()                    { *m = Block{} }
   316  func (m *Block) String() string            { return proto.CompactTextString(m) }
   317  func (*Block) ProtoMessage()               {}
   318  func (*Block) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
   319  
   320  func (m *Block) GetHeader() *BlockHeader {
   321  	if m != nil {
   322  		return m.Header
   323  	}
   324  	return nil
   325  }
   326  
   327  func (m *Block) GetData() *BlockData {
   328  	if m != nil {
   329  		return m.Data
   330  	}
   331  	return nil
   332  }
   333  
   334  func (m *Block) GetMetadata() *BlockMetadata {
   335  	if m != nil {
   336  		return m.Metadata
   337  	}
   338  	return nil
   339  }
   340  
   341  // BlockHeader is the element of the block which forms the block chain
   342  // The block header is hashed using the configured chain hashing algorithm
   343  // over the ASN.1 encoding of the BlockHeader
   344  type BlockHeader struct {
   345  	Number       uint64 `protobuf:"varint,1,opt,name=number" json:"number,omitempty"`
   346  	PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"`
   347  	DataHash     []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"`
   348  }
   349  
   350  func (m *BlockHeader) Reset()                    { *m = BlockHeader{} }
   351  func (m *BlockHeader) String() string            { return proto.CompactTextString(m) }
   352  func (*BlockHeader) ProtoMessage()               {}
   353  func (*BlockHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
   354  
   355  type BlockData struct {
   356  	Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
   357  }
   358  
   359  func (m *BlockData) Reset()                    { *m = BlockData{} }
   360  func (m *BlockData) String() string            { return proto.CompactTextString(m) }
   361  func (*BlockData) ProtoMessage()               {}
   362  func (*BlockData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
   363  
   364  type BlockMetadata struct {
   365  	Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"`
   366  }
   367  
   368  func (m *BlockMetadata) Reset()                    { *m = BlockMetadata{} }
   369  func (m *BlockMetadata) String() string            { return proto.CompactTextString(m) }
   370  func (*BlockMetadata) ProtoMessage()               {}
   371  func (*BlockMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
   372  
   373  func init() {
   374  	proto.RegisterType((*LastConfig)(nil), "common.LastConfig")
   375  	proto.RegisterType((*Metadata)(nil), "common.Metadata")
   376  	proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature")
   377  	proto.RegisterType((*Header)(nil), "common.Header")
   378  	proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader")
   379  	proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader")
   380  	proto.RegisterType((*Payload)(nil), "common.Payload")
   381  	proto.RegisterType((*Envelope)(nil), "common.Envelope")
   382  	proto.RegisterType((*Block)(nil), "common.Block")
   383  	proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader")
   384  	proto.RegisterType((*BlockData)(nil), "common.BlockData")
   385  	proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata")
   386  	proto.RegisterEnum("common.Status", Status_name, Status_value)
   387  	proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value)
   388  	proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value)
   389  }
   390  
   391  func init() { proto.RegisterFile("common/common.proto", fileDescriptor0) }
   392  
   393  var fileDescriptor0 = []byte{
   394  	// 870 bytes of a gzipped FileDescriptorProto
   395  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x55, 0xdd, 0x6e, 0xe3, 0x44,
   396  	0x14, 0xae, 0xe3, 0xfc, 0x34, 0xc7, 0x4d, 0x3b, 0x9d, 0x6c, 0x59, 0x53, 0x58, 0x6d, 0x64, 0xb4,
   397  	0xa8, 0xb4, 0x22, 0x11, 0xe5, 0x06, 0x2e, 0x9d, 0x78, 0xd2, 0xb5, 0x36, 0x6b, 0x2f, 0x63, 0x67,
   398  	0x11, 0xbb, 0x48, 0xd6, 0x24, 0x99, 0x26, 0x16, 0x89, 0x1d, 0xd9, 0x4e, 0xd5, 0xde, 0xf2, 0x00,
   399  	0x08, 0x09, 0x6e, 0x79, 0x01, 0x9e, 0x84, 0xb7, 0xe0, 0x25, 0x90, 0xb8, 0x45, 0xf6, 0xd8, 0xde,
   400  	0x24, 0xac, 0xb4, 0x57, 0x99, 0xef, 0x9c, 0xcf, 0xe7, 0x7c, 0xf3, 0x9d, 0x13, 0x1b, 0xda, 0xd3,
   401  	0x70, 0xb5, 0x0a, 0x83, 0x9e, 0xf8, 0xe9, 0xae, 0xa3, 0x30, 0x09, 0x71, 0x5d, 0xa0, 0xf3, 0xa7,
   402  	0xf3, 0x30, 0x9c, 0x2f, 0x79, 0x2f, 0x8b, 0x4e, 0x36, 0xb7, 0xbd, 0xc4, 0x5f, 0xf1, 0x38, 0x61,
   403  	0xab, 0xb5, 0x20, 0x6a, 0x1a, 0xc0, 0x88, 0xc5, 0xc9, 0x20, 0x0c, 0x6e, 0xfd, 0x39, 0x7e, 0x04,
   404  	0x35, 0x3f, 0x98, 0xf1, 0x7b, 0x55, 0xea, 0x48, 0x17, 0x55, 0x2a, 0x80, 0xf6, 0x16, 0x0e, 0x5f,
   405  	0xf2, 0x84, 0xcd, 0x58, 0xc2, 0x52, 0xc6, 0x1d, 0x5b, 0x6e, 0x78, 0xc6, 0x38, 0xa2, 0x02, 0xe0,
   406  	0x6f, 0x01, 0x62, 0x7f, 0x1e, 0xb0, 0x64, 0x13, 0xf1, 0x58, 0xad, 0x74, 0xe4, 0x0b, 0xe5, 0xfa,
   407  	0xe3, 0x6e, 0xae, 0xa8, 0x78, 0xd6, 0x29, 0x18, 0x74, 0x8b, 0xac, 0xfd, 0x08, 0xa7, 0xff, 0x23,
   408  	0xe0, 0x2f, 0x00, 0x95, 0x14, 0x6f, 0xc1, 0xd9, 0x8c, 0x47, 0x79, 0xc3, 0x93, 0x32, 0xfe, 0x3c,
   409  	0x0b, 0xe3, 0x4f, 0xa1, 0x59, 0x86, 0xd4, 0x4a, 0xc6, 0x79, 0x17, 0xd0, 0xde, 0x40, 0x3d, 0xe7,
   410  	0x3d, 0x83, 0xe3, 0xe9, 0x82, 0x05, 0x01, 0x5f, 0xee, 0x16, 0x6c, 0xe5, 0xd1, 0x9c, 0xf6, 0xbe,
   411  	0xce, 0x95, 0xf7, 0x76, 0xd6, 0xfe, 0x96, 0xa0, 0x35, 0xd8, 0x79, 0x18, 0x43, 0x35, 0x79, 0x58,
   412  	0x0b, 0x6f, 0x6a, 0x34, 0x3b, 0x63, 0x15, 0x1a, 0x77, 0x3c, 0x8a, 0xfd, 0x30, 0xc8, 0xea, 0xd4,
   413  	0x68, 0x01, 0xf1, 0x37, 0xd0, 0x2c, 0xa7, 0xa1, 0xca, 0x1d, 0xe9, 0x42, 0xb9, 0x3e, 0xef, 0x8a,
   414  	0x79, 0x75, 0x8b, 0x79, 0x75, 0xdd, 0x82, 0x41, 0xdf, 0x91, 0xf1, 0x13, 0x80, 0xe2, 0x2e, 0xfe,
   415  	0x4c, 0xad, 0x76, 0xa4, 0x8b, 0x26, 0x6d, 0xe6, 0x11, 0x73, 0x86, 0xdb, 0x50, 0x4b, 0xee, 0xd3,
   416  	0x4c, 0x2d, 0xcb, 0x54, 0x93, 0x7b, 0x73, 0x96, 0x0e, 0x8e, 0xaf, 0xc3, 0xe9, 0x42, 0xad, 0x8b,
   417  	0xd1, 0x66, 0x20, 0x75, 0x8f, 0xdf, 0x27, 0x3c, 0xc8, 0xf4, 0x35, 0x84, 0x7b, 0x65, 0x40, 0xd3,
   418  	0xe1, 0xc4, 0xd9, 0xb3, 0x5b, 0x85, 0xc6, 0x34, 0xe2, 0x2c, 0x09, 0x0b, 0xff, 0x0a, 0x98, 0x36,
   419  	0x08, 0xc2, 0x60, 0x5a, 0x0c, 0x41, 0x00, 0x8d, 0x40, 0xe3, 0x15, 0x7b, 0x58, 0x86, 0x6c, 0x86,
   420  	0x3f, 0x87, 0xfa, 0x96, 0xf3, 0xca, 0xf5, 0x71, 0xb1, 0x20, 0xa2, 0x34, 0xcd, 0xb3, 0xa9, 0x8b,
   421  	0xe9, 0x36, 0xe4, 0x75, 0xb2, 0xb3, 0xd6, 0x87, 0x43, 0x12, 0xdc, 0xf1, 0x65, 0x28, 0x1c, 0x5d,
   422  	0x8b, 0x92, 0x85, 0x84, 0x1c, 0x7e, 0x60, 0x17, 0x7e, 0x91, 0xa0, 0xd6, 0x5f, 0x86, 0xd3, 0x9f,
   423  	0xf0, 0xd5, 0x9e, 0x92, 0x76, 0xa1, 0x24, 0x4b, 0xef, 0xc9, 0x79, 0xb6, 0x25, 0x47, 0xb9, 0x3e,
   424  	0xdd, 0xa1, 0x1a, 0x2c, 0x61, 0x42, 0x21, 0xfe, 0x0a, 0x0e, 0x57, 0xf9, 0x1e, 0xe7, 0xc3, 0x3c,
   425  	0xdb, 0xa1, 0x16, 0x4b, 0x4e, 0x4b, 0x9a, 0x36, 0x07, 0x65, 0xab, 0x21, 0xfe, 0x08, 0xea, 0xc1,
   426  	0x66, 0x35, 0xc9, 0x55, 0x55, 0x69, 0x8e, 0xf0, 0x67, 0xd0, 0x5a, 0x47, 0xfc, 0xce, 0x0f, 0x37,
   427  	0xb1, 0xb7, 0x60, 0xf1, 0x22, 0xbf, 0xd9, 0x51, 0x11, 0x7c, 0xce, 0xe2, 0x05, 0xfe, 0x04, 0x9a,
   428  	0x69, 0x4d, 0x41, 0x90, 0x33, 0xc2, 0x61, 0x1a, 0x48, 0x93, 0xda, 0x53, 0x68, 0x96, 0x72, 0x4b,
   429  	0x7b, 0xa5, 0x8e, 0x5c, 0xda, 0x7b, 0x05, 0xad, 0x1d, 0x91, 0xf8, 0x7c, 0xeb, 0x36, 0x82, 0x58,
   430  	0xe2, 0xcb, 0x3f, 0x25, 0xa8, 0x3b, 0x09, 0x4b, 0x36, 0x31, 0x56, 0xa0, 0x31, 0xb6, 0x5e, 0x58,
   431  	0xf6, 0xf7, 0x16, 0x3a, 0xc0, 0x47, 0xd0, 0x70, 0xc6, 0x83, 0x01, 0x71, 0x1c, 0xf4, 0x97, 0x84,
   432  	0x11, 0x28, 0x7d, 0xdd, 0xf0, 0x28, 0xf9, 0x6e, 0x4c, 0x1c, 0x17, 0xfd, 0x2a, 0xe3, 0x63, 0x68,
   433  	0x0e, 0x6d, 0xda, 0x37, 0x0d, 0x83, 0x58, 0xe8, 0xb7, 0x0c, 0x5b, 0xb6, 0xeb, 0x0d, 0xed, 0xb1,
   434  	0x65, 0xa0, 0xdf, 0x65, 0xfc, 0x04, 0xd4, 0x9c, 0xed, 0x11, 0xcb, 0x35, 0xdd, 0x1f, 0x3c, 0xd7,
   435  	0xb6, 0xbd, 0x91, 0x4e, 0x6f, 0x08, 0xfa, 0x43, 0xc6, 0xe7, 0x70, 0x66, 0x5a, 0x2e, 0xa1, 0x96,
   436  	0x3e, 0xf2, 0x1c, 0x42, 0x5f, 0x13, 0xea, 0x11, 0x4a, 0x6d, 0x8a, 0xfe, 0x91, 0xb1, 0x0a, 0xed,
   437  	0x34, 0x64, 0x0e, 0x88, 0x37, 0xb6, 0xf4, 0xd7, 0xba, 0x39, 0xd2, 0xfb, 0x23, 0x82, 0xfe, 0x95,
   438  	0x2f, 0x7f, 0x96, 0x00, 0x84, 0xbf, 0x6e, 0xfa, 0x6f, 0x54, 0xa0, 0xf1, 0x92, 0x38, 0x8e, 0x7e,
   439  	0x43, 0xd0, 0x01, 0x06, 0xa8, 0x0f, 0x6c, 0x6b, 0x68, 0xde, 0x20, 0x09, 0x9f, 0x42, 0x4b, 0x9c,
   440  	0xbd, 0xf1, 0x2b, 0x43, 0x77, 0x09, 0xaa, 0x60, 0x15, 0x1e, 0x11, 0xcb, 0xb0, 0xa9, 0x43, 0xa8,
   441  	0xe7, 0x52, 0xdd, 0x72, 0xf4, 0x81, 0x6b, 0xda, 0x16, 0x92, 0xf1, 0x63, 0x68, 0xdb, 0xd4, 0x20,
   442  	0x74, 0x2f, 0x51, 0xc5, 0x67, 0x70, 0x6a, 0x90, 0x91, 0x99, 0x6a, 0x73, 0x08, 0x79, 0xe1, 0x99,
   443  	0xd6, 0xd0, 0x46, 0xb5, 0xcb, 0xb7, 0x80, 0x77, 0xec, 0x35, 0xd3, 0xd7, 0x2a, 0x3e, 0x06, 0x70,
   444  	0xcc, 0x1b, 0x4b, 0x77, 0xc7, 0x94, 0x38, 0xe8, 0x00, 0x9f, 0x80, 0x32, 0xd2, 0x1d, 0xd7, 0x2b,
   445  	0x35, 0x3d, 0x86, 0xf6, 0x56, 0x79, 0xc7, 0x1b, 0x9a, 0x23, 0x97, 0x50, 0x54, 0x49, 0x6f, 0x91,
   446  	0xf7, 0x47, 0x72, 0xff, 0xcb, 0x37, 0x57, 0x73, 0x3f, 0x59, 0x6c, 0x26, 0xe9, 0xba, 0xf5, 0x16,
   447  	0x0f, 0x6b, 0x1e, 0x2d, 0xf9, 0x6c, 0xce, 0xa3, 0xde, 0x2d, 0x9b, 0x44, 0xfe, 0x54, 0xbc, 0xfb,
   448  	0xe3, 0xfc, 0xfb, 0x30, 0xa9, 0x67, 0xf0, 0xeb, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xa7,
   449  	0x76, 0x1e, 0x37, 0x06, 0x00, 0x00,
   450  }