github.com/hyperledger/fabric-protos-go@v0.3.3/common/configuration.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: common/configuration.proto
     3  
     4  package common
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/golang/protobuf/proto"
     9  	math "math"
    10  )
    11  
    12  // Reference imports to suppress errors if they are not otherwise used.
    13  var _ = proto.Marshal
    14  var _ = fmt.Errorf
    15  var _ = math.Inf
    16  
    17  // This is a compile-time assertion to ensure that this generated file
    18  // is compatible with the proto package it is being compiled against.
    19  // A compilation error at this line likely means your copy of the
    20  // proto package needs to be updated.
    21  const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
    22  
    23  // HashingAlgorithm is encoded into the configuration transaction as a
    24  // configuration item of type Chain with a Key of "HashingAlgorithm" and a
    25  // Value of HashingAlgorithm as marshaled protobuf bytes
    26  type HashingAlgorithm struct {
    27  	// SHA256 is currently the only supported and tested algorithm.
    28  	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    29  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    30  	XXX_unrecognized     []byte   `json:"-"`
    31  	XXX_sizecache        int32    `json:"-"`
    32  }
    33  
    34  func (m *HashingAlgorithm) Reset()         { *m = HashingAlgorithm{} }
    35  func (m *HashingAlgorithm) String() string { return proto.CompactTextString(m) }
    36  func (*HashingAlgorithm) ProtoMessage()    {}
    37  func (*HashingAlgorithm) Descriptor() ([]byte, []int) {
    38  	return fileDescriptor_cba1ec2883858369, []int{0}
    39  }
    40  
    41  func (m *HashingAlgorithm) XXX_Unmarshal(b []byte) error {
    42  	return xxx_messageInfo_HashingAlgorithm.Unmarshal(m, b)
    43  }
    44  func (m *HashingAlgorithm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    45  	return xxx_messageInfo_HashingAlgorithm.Marshal(b, m, deterministic)
    46  }
    47  func (m *HashingAlgorithm) XXX_Merge(src proto.Message) {
    48  	xxx_messageInfo_HashingAlgorithm.Merge(m, src)
    49  }
    50  func (m *HashingAlgorithm) XXX_Size() int {
    51  	return xxx_messageInfo_HashingAlgorithm.Size(m)
    52  }
    53  func (m *HashingAlgorithm) XXX_DiscardUnknown() {
    54  	xxx_messageInfo_HashingAlgorithm.DiscardUnknown(m)
    55  }
    56  
    57  var xxx_messageInfo_HashingAlgorithm proto.InternalMessageInfo
    58  
    59  func (m *HashingAlgorithm) GetName() string {
    60  	if m != nil {
    61  		return m.Name
    62  	}
    63  	return ""
    64  }
    65  
    66  // BlockDataHashingStructure is encoded into the configuration transaction as a configuration item of
    67  // type Chain with a Key of "BlockDataHashingStructure" and a Value of HashingAlgorithm as marshaled protobuf bytes
    68  type BlockDataHashingStructure struct {
    69  	// width specifies the width of the Merkle tree to use when computing the BlockDataHash
    70  	// in order to replicate flat hashing, set this width to MAX_UINT32
    71  	Width                uint32   `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
    72  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    73  	XXX_unrecognized     []byte   `json:"-"`
    74  	XXX_sizecache        int32    `json:"-"`
    75  }
    76  
    77  func (m *BlockDataHashingStructure) Reset()         { *m = BlockDataHashingStructure{} }
    78  func (m *BlockDataHashingStructure) String() string { return proto.CompactTextString(m) }
    79  func (*BlockDataHashingStructure) ProtoMessage()    {}
    80  func (*BlockDataHashingStructure) Descriptor() ([]byte, []int) {
    81  	return fileDescriptor_cba1ec2883858369, []int{1}
    82  }
    83  
    84  func (m *BlockDataHashingStructure) XXX_Unmarshal(b []byte) error {
    85  	return xxx_messageInfo_BlockDataHashingStructure.Unmarshal(m, b)
    86  }
    87  func (m *BlockDataHashingStructure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    88  	return xxx_messageInfo_BlockDataHashingStructure.Marshal(b, m, deterministic)
    89  }
    90  func (m *BlockDataHashingStructure) XXX_Merge(src proto.Message) {
    91  	xxx_messageInfo_BlockDataHashingStructure.Merge(m, src)
    92  }
    93  func (m *BlockDataHashingStructure) XXX_Size() int {
    94  	return xxx_messageInfo_BlockDataHashingStructure.Size(m)
    95  }
    96  func (m *BlockDataHashingStructure) XXX_DiscardUnknown() {
    97  	xxx_messageInfo_BlockDataHashingStructure.DiscardUnknown(m)
    98  }
    99  
   100  var xxx_messageInfo_BlockDataHashingStructure proto.InternalMessageInfo
   101  
   102  func (m *BlockDataHashingStructure) GetWidth() uint32 {
   103  	if m != nil {
   104  		return m.Width
   105  	}
   106  	return 0
   107  }
   108  
   109  // OrdererAddresses is encoded into the configuration transaction as a configuration item of type Chain
   110  // with a Key of "OrdererAddresses" and a Value of OrdererAddresses as marshaled protobuf bytes
   111  type OrdererAddresses struct {
   112  	Addresses            []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
   113  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   114  	XXX_unrecognized     []byte   `json:"-"`
   115  	XXX_sizecache        int32    `json:"-"`
   116  }
   117  
   118  func (m *OrdererAddresses) Reset()         { *m = OrdererAddresses{} }
   119  func (m *OrdererAddresses) String() string { return proto.CompactTextString(m) }
   120  func (*OrdererAddresses) ProtoMessage()    {}
   121  func (*OrdererAddresses) Descriptor() ([]byte, []int) {
   122  	return fileDescriptor_cba1ec2883858369, []int{2}
   123  }
   124  
   125  func (m *OrdererAddresses) XXX_Unmarshal(b []byte) error {
   126  	return xxx_messageInfo_OrdererAddresses.Unmarshal(m, b)
   127  }
   128  func (m *OrdererAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   129  	return xxx_messageInfo_OrdererAddresses.Marshal(b, m, deterministic)
   130  }
   131  func (m *OrdererAddresses) XXX_Merge(src proto.Message) {
   132  	xxx_messageInfo_OrdererAddresses.Merge(m, src)
   133  }
   134  func (m *OrdererAddresses) XXX_Size() int {
   135  	return xxx_messageInfo_OrdererAddresses.Size(m)
   136  }
   137  func (m *OrdererAddresses) XXX_DiscardUnknown() {
   138  	xxx_messageInfo_OrdererAddresses.DiscardUnknown(m)
   139  }
   140  
   141  var xxx_messageInfo_OrdererAddresses proto.InternalMessageInfo
   142  
   143  func (m *OrdererAddresses) GetAddresses() []string {
   144  	if m != nil {
   145  		return m.Addresses
   146  	}
   147  	return nil
   148  }
   149  
   150  // Consenter represents a consenting node (i.e. replica).
   151  type Consenter struct {
   152  	Id                   uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   153  	Host                 string   `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
   154  	Port                 uint32   `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
   155  	MspId                string   `protobuf:"bytes,4,opt,name=msp_id,json=mspId,proto3" json:"msp_id,omitempty"`
   156  	Identity             []byte   `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"`
   157  	ClientTlsCert        []byte   `protobuf:"bytes,6,opt,name=client_tls_cert,json=clientTlsCert,proto3" json:"client_tls_cert,omitempty"`
   158  	ServerTlsCert        []byte   `protobuf:"bytes,7,opt,name=server_tls_cert,json=serverTlsCert,proto3" json:"server_tls_cert,omitempty"`
   159  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   160  	XXX_unrecognized     []byte   `json:"-"`
   161  	XXX_sizecache        int32    `json:"-"`
   162  }
   163  
   164  func (m *Consenter) Reset()         { *m = Consenter{} }
   165  func (m *Consenter) String() string { return proto.CompactTextString(m) }
   166  func (*Consenter) ProtoMessage()    {}
   167  func (*Consenter) Descriptor() ([]byte, []int) {
   168  	return fileDescriptor_cba1ec2883858369, []int{3}
   169  }
   170  
   171  func (m *Consenter) XXX_Unmarshal(b []byte) error {
   172  	return xxx_messageInfo_Consenter.Unmarshal(m, b)
   173  }
   174  func (m *Consenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   175  	return xxx_messageInfo_Consenter.Marshal(b, m, deterministic)
   176  }
   177  func (m *Consenter) XXX_Merge(src proto.Message) {
   178  	xxx_messageInfo_Consenter.Merge(m, src)
   179  }
   180  func (m *Consenter) XXX_Size() int {
   181  	return xxx_messageInfo_Consenter.Size(m)
   182  }
   183  func (m *Consenter) XXX_DiscardUnknown() {
   184  	xxx_messageInfo_Consenter.DiscardUnknown(m)
   185  }
   186  
   187  var xxx_messageInfo_Consenter proto.InternalMessageInfo
   188  
   189  func (m *Consenter) GetId() uint32 {
   190  	if m != nil {
   191  		return m.Id
   192  	}
   193  	return 0
   194  }
   195  
   196  func (m *Consenter) GetHost() string {
   197  	if m != nil {
   198  		return m.Host
   199  	}
   200  	return ""
   201  }
   202  
   203  func (m *Consenter) GetPort() uint32 {
   204  	if m != nil {
   205  		return m.Port
   206  	}
   207  	return 0
   208  }
   209  
   210  func (m *Consenter) GetMspId() string {
   211  	if m != nil {
   212  		return m.MspId
   213  	}
   214  	return ""
   215  }
   216  
   217  func (m *Consenter) GetIdentity() []byte {
   218  	if m != nil {
   219  		return m.Identity
   220  	}
   221  	return nil
   222  }
   223  
   224  func (m *Consenter) GetClientTlsCert() []byte {
   225  	if m != nil {
   226  		return m.ClientTlsCert
   227  	}
   228  	return nil
   229  }
   230  
   231  func (m *Consenter) GetServerTlsCert() []byte {
   232  	if m != nil {
   233  		return m.ServerTlsCert
   234  	}
   235  	return nil
   236  }
   237  
   238  // Orderers is encoded into the configuration transaction as a configuration item of type Chain
   239  // with a Key of "Orderers" and a Value of Orderers as marshaled protobuf bytes
   240  type Orderers struct {
   241  	ConsenterMapping     []*Consenter `protobuf:"bytes,1,rep,name=consenter_mapping,json=consenterMapping,proto3" json:"consenter_mapping,omitempty"`
   242  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   243  	XXX_unrecognized     []byte       `json:"-"`
   244  	XXX_sizecache        int32        `json:"-"`
   245  }
   246  
   247  func (m *Orderers) Reset()         { *m = Orderers{} }
   248  func (m *Orderers) String() string { return proto.CompactTextString(m) }
   249  func (*Orderers) ProtoMessage()    {}
   250  func (*Orderers) Descriptor() ([]byte, []int) {
   251  	return fileDescriptor_cba1ec2883858369, []int{4}
   252  }
   253  
   254  func (m *Orderers) XXX_Unmarshal(b []byte) error {
   255  	return xxx_messageInfo_Orderers.Unmarshal(m, b)
   256  }
   257  func (m *Orderers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   258  	return xxx_messageInfo_Orderers.Marshal(b, m, deterministic)
   259  }
   260  func (m *Orderers) XXX_Merge(src proto.Message) {
   261  	xxx_messageInfo_Orderers.Merge(m, src)
   262  }
   263  func (m *Orderers) XXX_Size() int {
   264  	return xxx_messageInfo_Orderers.Size(m)
   265  }
   266  func (m *Orderers) XXX_DiscardUnknown() {
   267  	xxx_messageInfo_Orderers.DiscardUnknown(m)
   268  }
   269  
   270  var xxx_messageInfo_Orderers proto.InternalMessageInfo
   271  
   272  func (m *Orderers) GetConsenterMapping() []*Consenter {
   273  	if m != nil {
   274  		return m.ConsenterMapping
   275  	}
   276  	return nil
   277  }
   278  
   279  // Consortium represents the consortium context in which the channel was created
   280  type Consortium struct {
   281  	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   282  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   283  	XXX_unrecognized     []byte   `json:"-"`
   284  	XXX_sizecache        int32    `json:"-"`
   285  }
   286  
   287  func (m *Consortium) Reset()         { *m = Consortium{} }
   288  func (m *Consortium) String() string { return proto.CompactTextString(m) }
   289  func (*Consortium) ProtoMessage()    {}
   290  func (*Consortium) Descriptor() ([]byte, []int) {
   291  	return fileDescriptor_cba1ec2883858369, []int{5}
   292  }
   293  
   294  func (m *Consortium) XXX_Unmarshal(b []byte) error {
   295  	return xxx_messageInfo_Consortium.Unmarshal(m, b)
   296  }
   297  func (m *Consortium) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   298  	return xxx_messageInfo_Consortium.Marshal(b, m, deterministic)
   299  }
   300  func (m *Consortium) XXX_Merge(src proto.Message) {
   301  	xxx_messageInfo_Consortium.Merge(m, src)
   302  }
   303  func (m *Consortium) XXX_Size() int {
   304  	return xxx_messageInfo_Consortium.Size(m)
   305  }
   306  func (m *Consortium) XXX_DiscardUnknown() {
   307  	xxx_messageInfo_Consortium.DiscardUnknown(m)
   308  }
   309  
   310  var xxx_messageInfo_Consortium proto.InternalMessageInfo
   311  
   312  func (m *Consortium) GetName() string {
   313  	if m != nil {
   314  		return m.Name
   315  	}
   316  	return ""
   317  }
   318  
   319  // Capabilities message defines the capabilities a particular binary must implement
   320  // for that binary to be able to safely participate in the channel.  The capabilities
   321  // message is defined at the /Channel level, the /Channel/Application level, and the
   322  // /Channel/Orderer level.
   323  //
   324  // The /Channel level capabilties define capabilities which both the orderer and peer
   325  // binaries must satisfy.  These capabilties might be things like a new MSP type,
   326  // or a new policy type.
   327  //
   328  // The /Channel/Orderer level capabilties define capabilities which must be supported
   329  // by the orderer, but which have no bearing on the behavior of the peer.  For instance
   330  // if the orderer changes the logic for how it constructs new channels, only all orderers
   331  // must agree on the new logic.  The peers do not need to be aware of this change as
   332  // they only interact with the channel after it has been constructed.
   333  //
   334  // Finally, the /Channel/Application level capabilities define capabilities which the peer
   335  // binary must satisfy, but which have no bearing on the orderer.  For instance, if the
   336  // peer adds a new UTXO transaction type, or changes the chaincode lifecycle requirements,
   337  // all peers must agree on the new logic.  However, orderers never inspect transactions
   338  // this deeply, and therefore have no need to be aware of the change.
   339  //
   340  // The capabilities strings defined in these messages typically correspond to release
   341  // binary versions (e.g. "V1.1"), and are used primarilly as a mechanism for a fully
   342  // upgraded network to switch from one set of logic to a new one.
   343  //
   344  // Although for V1.1, the orderers must be upgraded to V1.1 prior to the rest of the
   345  // network, going forward, because of the split between the /Channel, /Channel/Orderer
   346  // and /Channel/Application capabilities.  It should be possible for the orderer and
   347  // application networks to upgrade themselves independently (with the exception of any
   348  // new capabilities defined at the /Channel level).
   349  type Capabilities struct {
   350  	Capabilities         map[string]*Capability `protobuf:"bytes,1,rep,name=capabilities,proto3" json:"capabilities,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   351  	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
   352  	XXX_unrecognized     []byte                 `json:"-"`
   353  	XXX_sizecache        int32                  `json:"-"`
   354  }
   355  
   356  func (m *Capabilities) Reset()         { *m = Capabilities{} }
   357  func (m *Capabilities) String() string { return proto.CompactTextString(m) }
   358  func (*Capabilities) ProtoMessage()    {}
   359  func (*Capabilities) Descriptor() ([]byte, []int) {
   360  	return fileDescriptor_cba1ec2883858369, []int{6}
   361  }
   362  
   363  func (m *Capabilities) XXX_Unmarshal(b []byte) error {
   364  	return xxx_messageInfo_Capabilities.Unmarshal(m, b)
   365  }
   366  func (m *Capabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   367  	return xxx_messageInfo_Capabilities.Marshal(b, m, deterministic)
   368  }
   369  func (m *Capabilities) XXX_Merge(src proto.Message) {
   370  	xxx_messageInfo_Capabilities.Merge(m, src)
   371  }
   372  func (m *Capabilities) XXX_Size() int {
   373  	return xxx_messageInfo_Capabilities.Size(m)
   374  }
   375  func (m *Capabilities) XXX_DiscardUnknown() {
   376  	xxx_messageInfo_Capabilities.DiscardUnknown(m)
   377  }
   378  
   379  var xxx_messageInfo_Capabilities proto.InternalMessageInfo
   380  
   381  func (m *Capabilities) GetCapabilities() map[string]*Capability {
   382  	if m != nil {
   383  		return m.Capabilities
   384  	}
   385  	return nil
   386  }
   387  
   388  // Capability is an empty message for the time being.  It is defined as a protobuf
   389  // message rather than a constant, so that we may extend capabilities with other fields
   390  // if the need arises in the future.  For the time being, a capability being in the
   391  // capabilities map requires that that capability be supported.
   392  type Capability struct {
   393  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   394  	XXX_unrecognized     []byte   `json:"-"`
   395  	XXX_sizecache        int32    `json:"-"`
   396  }
   397  
   398  func (m *Capability) Reset()         { *m = Capability{} }
   399  func (m *Capability) String() string { return proto.CompactTextString(m) }
   400  func (*Capability) ProtoMessage()    {}
   401  func (*Capability) Descriptor() ([]byte, []int) {
   402  	return fileDescriptor_cba1ec2883858369, []int{7}
   403  }
   404  
   405  func (m *Capability) XXX_Unmarshal(b []byte) error {
   406  	return xxx_messageInfo_Capability.Unmarshal(m, b)
   407  }
   408  func (m *Capability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   409  	return xxx_messageInfo_Capability.Marshal(b, m, deterministic)
   410  }
   411  func (m *Capability) XXX_Merge(src proto.Message) {
   412  	xxx_messageInfo_Capability.Merge(m, src)
   413  }
   414  func (m *Capability) XXX_Size() int {
   415  	return xxx_messageInfo_Capability.Size(m)
   416  }
   417  func (m *Capability) XXX_DiscardUnknown() {
   418  	xxx_messageInfo_Capability.DiscardUnknown(m)
   419  }
   420  
   421  var xxx_messageInfo_Capability proto.InternalMessageInfo
   422  
   423  func init() {
   424  	proto.RegisterType((*HashingAlgorithm)(nil), "common.HashingAlgorithm")
   425  	proto.RegisterType((*BlockDataHashingStructure)(nil), "common.BlockDataHashingStructure")
   426  	proto.RegisterType((*OrdererAddresses)(nil), "common.OrdererAddresses")
   427  	proto.RegisterType((*Consenter)(nil), "common.Consenter")
   428  	proto.RegisterType((*Orderers)(nil), "common.Orderers")
   429  	proto.RegisterType((*Consortium)(nil), "common.Consortium")
   430  	proto.RegisterType((*Capabilities)(nil), "common.Capabilities")
   431  	proto.RegisterMapType((map[string]*Capability)(nil), "common.Capabilities.CapabilitiesEntry")
   432  	proto.RegisterType((*Capability)(nil), "common.Capability")
   433  }
   434  
   435  func init() { proto.RegisterFile("common/configuration.proto", fileDescriptor_cba1ec2883858369) }
   436  
   437  var fileDescriptor_cba1ec2883858369 = []byte{
   438  	// 459 bytes of a gzipped FileDescriptorProto
   439  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0x6e, 0xd3, 0x40,
   440  	0x10, 0x86, 0xe5, 0xa4, 0x09, 0xcd, 0x34, 0x85, 0x64, 0x05, 0x92, 0x89, 0x38, 0x44, 0x16, 0x8a,
   441  	0x72, 0xa9, 0x03, 0xe5, 0x82, 0x38, 0x20, 0xb5, 0x01, 0x09, 0x2a, 0x21, 0x24, 0x17, 0x71, 0xe0,
   442  	0x12, 0x6d, 0xec, 0xa9, 0xbd, 0xaa, 0xbd, 0x6b, 0xcd, 0x8e, 0x8b, 0xfc, 0x54, 0xbc, 0x05, 0xcf,
   443  	0x85, 0xec, 0x75, 0x93, 0x54, 0xe5, 0x36, 0xff, 0x3f, 0xdf, 0xec, 0xcc, 0x68, 0x16, 0x66, 0xb1,
   444  	0x29, 0x0a, 0xa3, 0x57, 0xb1, 0xd1, 0x37, 0x2a, 0xad, 0x48, 0xb2, 0x32, 0x3a, 0x2c, 0xc9, 0xb0,
   445  	0x11, 0x43, 0x97, 0x0b, 0x16, 0x30, 0xf9, 0x22, 0x6d, 0xa6, 0x74, 0x7a, 0x91, 0xa7, 0x86, 0x14,
   446  	0x67, 0x85, 0x10, 0x70, 0xa4, 0x65, 0x81, 0xbe, 0x37, 0xf7, 0x96, 0xa3, 0xa8, 0x8d, 0x83, 0xb7,
   447  	0xf0, 0xf2, 0x32, 0x37, 0xf1, 0xed, 0x27, 0xc9, 0xb2, 0x2b, 0xb8, 0x66, 0xaa, 0x62, 0xae, 0x08,
   448  	0xc5, 0x73, 0x18, 0xfc, 0x56, 0x09, 0x67, 0x6d, 0xc5, 0x69, 0xe4, 0x44, 0xf0, 0x06, 0x26, 0xdf,
   449  	0x29, 0x41, 0x42, 0xba, 0x48, 0x12, 0x42, 0x6b, 0xd1, 0x8a, 0x57, 0x30, 0x92, 0xf7, 0xc2, 0xf7,
   450  	0xe6, 0xfd, 0xe5, 0x28, 0xda, 0x1b, 0xc1, 0x5f, 0x0f, 0x46, 0x6b, 0xa3, 0x2d, 0x6a, 0x46, 0x12,
   451  	0x4f, 0xa1, 0xa7, 0x92, 0xee, 0xc9, 0x9e, 0x4a, 0x9a, 0xb1, 0x32, 0x63, 0xd9, 0xef, 0xb9, 0xb1,
   452  	0x9a, 0xb8, 0xf1, 0x4a, 0x43, 0xec, 0xf7, 0x5b, 0xaa, 0x8d, 0xc5, 0x0b, 0x18, 0x16, 0xb6, 0xdc,
   453  	0xa8, 0xc4, 0x3f, 0x6a, 0xc9, 0x41, 0x61, 0xcb, 0xaf, 0x89, 0x98, 0xc1, 0xb1, 0x4a, 0x50, 0xb3,
   454  	0xe2, 0xda, 0x1f, 0xcc, 0xbd, 0xe5, 0x38, 0xda, 0x69, 0xb1, 0x80, 0x67, 0x71, 0xae, 0x50, 0xf3,
   455  	0x86, 0x73, 0xbb, 0x89, 0x91, 0xd8, 0x1f, 0xb6, 0xc8, 0xa9, 0xb3, 0x7f, 0xe4, 0x76, 0x8d, 0xc4,
   456  	0x0d, 0x67, 0x91, 0xee, 0x90, 0xf6, 0xdc, 0x13, 0xc7, 0x39, 0xbb, 0xe3, 0x82, 0x2b, 0x38, 0xee,
   457  	0x56, 0xb7, 0xe2, 0x23, 0x4c, 0xe3, 0xfb, 0x9d, 0x36, 0x85, 0x2c, 0x4b, 0xa5, 0xd3, 0x76, 0xf5,
   458  	0x93, 0xf3, 0x69, 0xe8, 0xae, 0x10, 0xee, 0x96, 0x8e, 0x26, 0x3b, 0xf6, 0x9b, 0x43, 0x83, 0x39,
   459  	0x40, 0x93, 0x36, 0xc4, 0xaa, 0xfa, 0xff, 0x6d, 0xfe, 0x78, 0x30, 0x5e, 0xcb, 0x52, 0x6e, 0x55,
   460  	0xae, 0x58, 0xa1, 0x15, 0x57, 0x30, 0x8e, 0x0f, 0x74, 0xd7, 0x6d, 0xb1, 0xeb, 0x76, 0x90, 0x7b,
   461  	0x20, 0x3e, 0x6b, 0xa6, 0x3a, 0x7a, 0x50, 0x3b, 0xbb, 0x86, 0xe9, 0x23, 0x44, 0x4c, 0xa0, 0x7f,
   462  	0x8b, 0x75, 0x37, 0x44, 0x13, 0x8a, 0x25, 0x0c, 0xee, 0x64, 0x5e, 0x61, 0x7b, 0x9d, 0x93, 0x73,
   463  	0xf1, 0xa8, 0x57, 0x1d, 0x39, 0xe0, 0x43, 0xef, 0xbd, 0x17, 0x8c, 0x01, 0xf6, 0x89, 0xcb, 0x9f,
   464  	0xf0, 0xda, 0x50, 0x1a, 0x66, 0x75, 0x89, 0x94, 0x63, 0x92, 0x22, 0x85, 0x37, 0x72, 0x4b, 0x2a,
   465  	0x76, 0x7f, 0xd5, 0x76, 0x6f, 0xfd, 0x0a, 0x53, 0xc5, 0x59, 0xb5, 0x6d, 0xe4, 0xea, 0x00, 0x5e,
   466  	0x39, 0xf8, 0xcc, 0xc1, 0x67, 0xa9, 0x59, 0x39, 0x7e, 0x3b, 0x6c, 0x9d, 0x77, 0xff, 0x02, 0x00,
   467  	0x00, 0xff, 0xff, 0x49, 0xe4, 0x92, 0xcc, 0x08, 0x03, 0x00, 0x00,
   468  }