github.com/cosmos/cosmos-sdk@v0.50.1/crypto/keyring/record.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: cosmos/crypto/keyring/v1/record.proto
     3  
     4  package keyring
     5  
     6  import (
     7  	fmt "fmt"
     8  	types "github.com/cosmos/cosmos-sdk/codec/types"
     9  	hd "github.com/cosmos/cosmos-sdk/crypto/hd"
    10  	_ "github.com/cosmos/gogoproto/gogoproto"
    11  	proto "github.com/golang/protobuf/proto"
    12  	io "io"
    13  	math "math"
    14  	math_bits "math/bits"
    15  )
    16  
    17  // Reference imports to suppress errors if they are not otherwise used.
    18  var _ = proto.Marshal
    19  var _ = fmt.Errorf
    20  var _ = math.Inf
    21  
    22  // This is a compile-time assertion to ensure that this generated file
    23  // is compatible with the proto package it is being compiled against.
    24  // A compilation error at this line likely means your copy of the
    25  // proto package needs to be updated.
    26  const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
    27  
    28  // Record is used for representing a key in the keyring.
    29  type Record struct {
    30  	// name represents a name of Record
    31  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    32  	// pub_key represents a public key in any format
    33  	PubKey *types.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
    34  	// Record contains one of the following items
    35  	//
    36  	// Types that are valid to be assigned to Item:
    37  	//	*Record_Local_
    38  	//	*Record_Ledger_
    39  	//	*Record_Multi_
    40  	//	*Record_Offline_
    41  	Item isRecord_Item `protobuf_oneof:"item"`
    42  }
    43  
    44  func (m *Record) Reset()         { *m = Record{} }
    45  func (m *Record) String() string { return proto.CompactTextString(m) }
    46  func (*Record) ProtoMessage()    {}
    47  func (*Record) Descriptor() ([]byte, []int) {
    48  	return fileDescriptor_36d640103edea005, []int{0}
    49  }
    50  func (m *Record) XXX_Unmarshal(b []byte) error {
    51  	return m.Unmarshal(b)
    52  }
    53  func (m *Record) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    54  	if deterministic {
    55  		return xxx_messageInfo_Record.Marshal(b, m, deterministic)
    56  	} else {
    57  		b = b[:cap(b)]
    58  		n, err := m.MarshalToSizedBuffer(b)
    59  		if err != nil {
    60  			return nil, err
    61  		}
    62  		return b[:n], nil
    63  	}
    64  }
    65  func (m *Record) XXX_Merge(src proto.Message) {
    66  	xxx_messageInfo_Record.Merge(m, src)
    67  }
    68  func (m *Record) XXX_Size() int {
    69  	return m.Size()
    70  }
    71  func (m *Record) XXX_DiscardUnknown() {
    72  	xxx_messageInfo_Record.DiscardUnknown(m)
    73  }
    74  
    75  var xxx_messageInfo_Record proto.InternalMessageInfo
    76  
    77  type isRecord_Item interface {
    78  	isRecord_Item()
    79  	MarshalTo([]byte) (int, error)
    80  	Size() int
    81  }
    82  
    83  type Record_Local_ struct {
    84  	Local *Record_Local `protobuf:"bytes,3,opt,name=local,proto3,oneof" json:"local,omitempty"`
    85  }
    86  type Record_Ledger_ struct {
    87  	Ledger *Record_Ledger `protobuf:"bytes,4,opt,name=ledger,proto3,oneof" json:"ledger,omitempty"`
    88  }
    89  type Record_Multi_ struct {
    90  	Multi *Record_Multi `protobuf:"bytes,5,opt,name=multi,proto3,oneof" json:"multi,omitempty"`
    91  }
    92  type Record_Offline_ struct {
    93  	Offline *Record_Offline `protobuf:"bytes,6,opt,name=offline,proto3,oneof" json:"offline,omitempty"`
    94  }
    95  
    96  func (*Record_Local_) isRecord_Item()   {}
    97  func (*Record_Ledger_) isRecord_Item()  {}
    98  func (*Record_Multi_) isRecord_Item()   {}
    99  func (*Record_Offline_) isRecord_Item() {}
   100  
   101  func (m *Record) GetItem() isRecord_Item {
   102  	if m != nil {
   103  		return m.Item
   104  	}
   105  	return nil
   106  }
   107  
   108  func (m *Record) GetLocal() *Record_Local {
   109  	if x, ok := m.GetItem().(*Record_Local_); ok {
   110  		return x.Local
   111  	}
   112  	return nil
   113  }
   114  
   115  func (m *Record) GetLedger() *Record_Ledger {
   116  	if x, ok := m.GetItem().(*Record_Ledger_); ok {
   117  		return x.Ledger
   118  	}
   119  	return nil
   120  }
   121  
   122  func (m *Record) GetMulti() *Record_Multi {
   123  	if x, ok := m.GetItem().(*Record_Multi_); ok {
   124  		return x.Multi
   125  	}
   126  	return nil
   127  }
   128  
   129  func (m *Record) GetOffline() *Record_Offline {
   130  	if x, ok := m.GetItem().(*Record_Offline_); ok {
   131  		return x.Offline
   132  	}
   133  	return nil
   134  }
   135  
   136  // XXX_OneofWrappers is for the internal use of the proto package.
   137  func (*Record) XXX_OneofWrappers() []interface{} {
   138  	return []interface{}{
   139  		(*Record_Local_)(nil),
   140  		(*Record_Ledger_)(nil),
   141  		(*Record_Multi_)(nil),
   142  		(*Record_Offline_)(nil),
   143  	}
   144  }
   145  
   146  // Item is a keyring item stored in a keyring backend.
   147  // Local item
   148  type Record_Local struct {
   149  	PrivKey *types.Any `protobuf:"bytes,1,opt,name=priv_key,json=privKey,proto3" json:"priv_key,omitempty"`
   150  }
   151  
   152  func (m *Record_Local) Reset()         { *m = Record_Local{} }
   153  func (m *Record_Local) String() string { return proto.CompactTextString(m) }
   154  func (*Record_Local) ProtoMessage()    {}
   155  func (*Record_Local) Descriptor() ([]byte, []int) {
   156  	return fileDescriptor_36d640103edea005, []int{0, 0}
   157  }
   158  func (m *Record_Local) XXX_Unmarshal(b []byte) error {
   159  	return m.Unmarshal(b)
   160  }
   161  func (m *Record_Local) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   162  	if deterministic {
   163  		return xxx_messageInfo_Record_Local.Marshal(b, m, deterministic)
   164  	} else {
   165  		b = b[:cap(b)]
   166  		n, err := m.MarshalToSizedBuffer(b)
   167  		if err != nil {
   168  			return nil, err
   169  		}
   170  		return b[:n], nil
   171  	}
   172  }
   173  func (m *Record_Local) XXX_Merge(src proto.Message) {
   174  	xxx_messageInfo_Record_Local.Merge(m, src)
   175  }
   176  func (m *Record_Local) XXX_Size() int {
   177  	return m.Size()
   178  }
   179  func (m *Record_Local) XXX_DiscardUnknown() {
   180  	xxx_messageInfo_Record_Local.DiscardUnknown(m)
   181  }
   182  
   183  var xxx_messageInfo_Record_Local proto.InternalMessageInfo
   184  
   185  // Ledger item
   186  type Record_Ledger struct {
   187  	Path *hd.BIP44Params `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
   188  }
   189  
   190  func (m *Record_Ledger) Reset()         { *m = Record_Ledger{} }
   191  func (m *Record_Ledger) String() string { return proto.CompactTextString(m) }
   192  func (*Record_Ledger) ProtoMessage()    {}
   193  func (*Record_Ledger) Descriptor() ([]byte, []int) {
   194  	return fileDescriptor_36d640103edea005, []int{0, 1}
   195  }
   196  func (m *Record_Ledger) XXX_Unmarshal(b []byte) error {
   197  	return m.Unmarshal(b)
   198  }
   199  func (m *Record_Ledger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   200  	if deterministic {
   201  		return xxx_messageInfo_Record_Ledger.Marshal(b, m, deterministic)
   202  	} else {
   203  		b = b[:cap(b)]
   204  		n, err := m.MarshalToSizedBuffer(b)
   205  		if err != nil {
   206  			return nil, err
   207  		}
   208  		return b[:n], nil
   209  	}
   210  }
   211  func (m *Record_Ledger) XXX_Merge(src proto.Message) {
   212  	xxx_messageInfo_Record_Ledger.Merge(m, src)
   213  }
   214  func (m *Record_Ledger) XXX_Size() int {
   215  	return m.Size()
   216  }
   217  func (m *Record_Ledger) XXX_DiscardUnknown() {
   218  	xxx_messageInfo_Record_Ledger.DiscardUnknown(m)
   219  }
   220  
   221  var xxx_messageInfo_Record_Ledger proto.InternalMessageInfo
   222  
   223  // Multi item
   224  type Record_Multi struct {
   225  }
   226  
   227  func (m *Record_Multi) Reset()         { *m = Record_Multi{} }
   228  func (m *Record_Multi) String() string { return proto.CompactTextString(m) }
   229  func (*Record_Multi) ProtoMessage()    {}
   230  func (*Record_Multi) Descriptor() ([]byte, []int) {
   231  	return fileDescriptor_36d640103edea005, []int{0, 2}
   232  }
   233  func (m *Record_Multi) XXX_Unmarshal(b []byte) error {
   234  	return m.Unmarshal(b)
   235  }
   236  func (m *Record_Multi) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   237  	if deterministic {
   238  		return xxx_messageInfo_Record_Multi.Marshal(b, m, deterministic)
   239  	} else {
   240  		b = b[:cap(b)]
   241  		n, err := m.MarshalToSizedBuffer(b)
   242  		if err != nil {
   243  			return nil, err
   244  		}
   245  		return b[:n], nil
   246  	}
   247  }
   248  func (m *Record_Multi) XXX_Merge(src proto.Message) {
   249  	xxx_messageInfo_Record_Multi.Merge(m, src)
   250  }
   251  func (m *Record_Multi) XXX_Size() int {
   252  	return m.Size()
   253  }
   254  func (m *Record_Multi) XXX_DiscardUnknown() {
   255  	xxx_messageInfo_Record_Multi.DiscardUnknown(m)
   256  }
   257  
   258  var xxx_messageInfo_Record_Multi proto.InternalMessageInfo
   259  
   260  // Offline item
   261  type Record_Offline struct {
   262  }
   263  
   264  func (m *Record_Offline) Reset()         { *m = Record_Offline{} }
   265  func (m *Record_Offline) String() string { return proto.CompactTextString(m) }
   266  func (*Record_Offline) ProtoMessage()    {}
   267  func (*Record_Offline) Descriptor() ([]byte, []int) {
   268  	return fileDescriptor_36d640103edea005, []int{0, 3}
   269  }
   270  func (m *Record_Offline) XXX_Unmarshal(b []byte) error {
   271  	return m.Unmarshal(b)
   272  }
   273  func (m *Record_Offline) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   274  	if deterministic {
   275  		return xxx_messageInfo_Record_Offline.Marshal(b, m, deterministic)
   276  	} else {
   277  		b = b[:cap(b)]
   278  		n, err := m.MarshalToSizedBuffer(b)
   279  		if err != nil {
   280  			return nil, err
   281  		}
   282  		return b[:n], nil
   283  	}
   284  }
   285  func (m *Record_Offline) XXX_Merge(src proto.Message) {
   286  	xxx_messageInfo_Record_Offline.Merge(m, src)
   287  }
   288  func (m *Record_Offline) XXX_Size() int {
   289  	return m.Size()
   290  }
   291  func (m *Record_Offline) XXX_DiscardUnknown() {
   292  	xxx_messageInfo_Record_Offline.DiscardUnknown(m)
   293  }
   294  
   295  var xxx_messageInfo_Record_Offline proto.InternalMessageInfo
   296  
   297  func init() {
   298  	proto.RegisterType((*Record)(nil), "cosmos.crypto.keyring.v1.Record")
   299  	proto.RegisterType((*Record_Local)(nil), "cosmos.crypto.keyring.v1.Record.Local")
   300  	proto.RegisterType((*Record_Ledger)(nil), "cosmos.crypto.keyring.v1.Record.Ledger")
   301  	proto.RegisterType((*Record_Multi)(nil), "cosmos.crypto.keyring.v1.Record.Multi")
   302  	proto.RegisterType((*Record_Offline)(nil), "cosmos.crypto.keyring.v1.Record.Offline")
   303  }
   304  
   305  func init() {
   306  	proto.RegisterFile("cosmos/crypto/keyring/v1/record.proto", fileDescriptor_36d640103edea005)
   307  }
   308  
   309  var fileDescriptor_36d640103edea005 = []byte{
   310  	// 411 bytes of a gzipped FileDescriptorProto
   311  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xbd, 0xae, 0xd3, 0x30,
   312  	0x1c, 0xc5, 0x1d, 0x6e, 0x3e, 0xb8, 0x66, 0xb3, 0xee, 0x10, 0x22, 0x64, 0x55, 0x48, 0x40, 0x25,
   313  	0x54, 0x5b, 0x85, 0x0e, 0x4c, 0x95, 0x5a, 0x31, 0x14, 0x95, 0x8a, 0x2a, 0x23, 0x0b, 0xca, 0x87,
   314  	0x9b, 0x44, 0x4d, 0xe2, 0xc8, 0x49, 0x2a, 0xe5, 0x2d, 0x18, 0x79, 0xa4, 0x8e, 0x1d, 0x19, 0xa1,
   315  	0xd9, 0x78, 0x0a, 0x64, 0x3b, 0x1d, 0xa8, 0x04, 0x65, 0x8a, 0x23, 0xff, 0xce, 0xff, 0x9c, 0x63,
   316  	0xfd, 0xe1, 0x8b, 0x88, 0xd7, 0x05, 0xaf, 0x69, 0x24, 0xba, 0xaa, 0xe1, 0x74, 0xcf, 0x3a, 0x91,
   317  	0x95, 0x09, 0x3d, 0x4c, 0xa9, 0x60, 0x11, 0x17, 0x31, 0xa9, 0x04, 0x6f, 0x38, 0x72, 0x35, 0x46,
   318  	0x34, 0x46, 0x06, 0x8c, 0x1c, 0xa6, 0xde, 0x43, 0xc2, 0x13, 0xae, 0x20, 0x2a, 0x4f, 0x9a, 0xf7,
   319  	0x9e, 0x26, 0x9c, 0x27, 0x39, 0xa3, 0xea, 0x2f, 0x6c, 0x77, 0x34, 0x28, 0xbb, 0xe1, 0xea, 0xd9,
   320  	0x9f, 0x8e, 0x69, 0x2c, 0xcd, 0xd2, 0xc1, 0xe8, 0xf9, 0xaf, 0x3b, 0x68, 0xfb, 0xca, 0x19, 0x21,
   321  	0x68, 0x96, 0x41, 0xc1, 0x5c, 0x63, 0x64, 0x8c, 0xef, 0x7d, 0x75, 0x46, 0x13, 0xe8, 0x54, 0x6d,
   322  	0xf8, 0x65, 0xcf, 0x3a, 0xf7, 0xd1, 0xc8, 0x18, 0x3f, 0x79, 0xf3, 0x40, 0xb4, 0x13, 0xb9, 0x38,
   323  	0x91, 0x45, 0xd9, 0xf9, 0x76, 0xd5, 0x86, 0x6b, 0xd6, 0xa1, 0x39, 0xb4, 0x72, 0x1e, 0x05, 0xb9,
   324  	0x7b, 0xa7, 0xe0, 0x97, 0xe4, 0x6f, 0x35, 0x88, 0xf6, 0x24, 0x1f, 0x25, 0xbd, 0x02, 0xbe, 0x96,
   325  	0xa1, 0x05, 0xb4, 0x73, 0x16, 0x27, 0x4c, 0xb8, 0xa6, 0x1a, 0xf0, 0xea, 0xf6, 0x00, 0x85, 0xaf,
   326  	0x80, 0x3f, 0x08, 0x65, 0x84, 0xa2, 0xcd, 0x9b, 0xcc, 0xb5, 0xfe, 0x33, 0xc2, 0x46, 0xd2, 0x32,
   327  	0x82, 0x92, 0xa1, 0xf7, 0xd0, 0xe1, 0xbb, 0x5d, 0x9e, 0x95, 0xcc, 0xb5, 0xd5, 0x84, 0xf1, 0xcd,
   328  	0x09, 0x9f, 0x34, 0xbf, 0x02, 0xfe, 0x45, 0xea, 0xbd, 0x83, 0x96, 0xaa, 0x86, 0x28, 0x7c, 0x5c,
   329  	0x89, 0xec, 0xa0, 0x5e, 0xd0, 0xf8, 0xc7, 0x0b, 0x3a, 0x92, 0x5a, 0xb3, 0xce, 0x9b, 0x43, 0x5b,
   330  	0x77, 0x42, 0x33, 0x68, 0x56, 0x41, 0x93, 0x0e, 0xb2, 0xd1, 0x55, 0x8c, 0x34, 0x96, 0x09, 0x96,
   331  	0x1f, 0xb6, 0xb3, 0xd9, 0x36, 0x10, 0x41, 0x51, 0xfb, 0x8a, 0xf6, 0x1c, 0x68, 0xa9, 0x46, 0xde,
   332  	0x3d, 0x74, 0x86, 0x60, 0x4b, 0x1b, 0x9a, 0x59, 0xc3, 0x8a, 0xe5, 0xe6, 0xf8, 0x13, 0x83, 0xe3,
   333  	0x19, 0x1b, 0xa7, 0x33, 0x36, 0x7e, 0x9c, 0xb1, 0xf1, 0xb5, 0xc7, 0xe0, 0x5b, 0x8f, 0xc1, 0xa9,
   334  	0xc7, 0xe0, 0x7b, 0x8f, 0xc1, 0xe7, 0xd7, 0x49, 0xd6, 0xa4, 0x6d, 0x48, 0x22, 0x5e, 0xd0, 0xcb,
   335  	0xde, 0xa8, 0xcf, 0xa4, 0x8e, 0xf7, 0x57, 0x4b, 0x1b, 0xda, 0xaa, 0xc1, 0xdb, 0xdf, 0x01, 0x00,
   336  	0x00, 0xff, 0xff, 0x47, 0x24, 0x2f, 0xa9, 0xd4, 0x02, 0x00, 0x00,
   337  }
   338  
   339  func (m *Record) Marshal() (dAtA []byte, err error) {
   340  	size := m.Size()
   341  	dAtA = make([]byte, size)
   342  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   343  	if err != nil {
   344  		return nil, err
   345  	}
   346  	return dAtA[:n], nil
   347  }
   348  
   349  func (m *Record) MarshalTo(dAtA []byte) (int, error) {
   350  	size := m.Size()
   351  	return m.MarshalToSizedBuffer(dAtA[:size])
   352  }
   353  
   354  func (m *Record) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   355  	i := len(dAtA)
   356  	_ = i
   357  	var l int
   358  	_ = l
   359  	if m.Item != nil {
   360  		{
   361  			size := m.Item.Size()
   362  			i -= size
   363  			if _, err := m.Item.MarshalTo(dAtA[i:]); err != nil {
   364  				return 0, err
   365  			}
   366  		}
   367  	}
   368  	if m.PubKey != nil {
   369  		{
   370  			size, err := m.PubKey.MarshalToSizedBuffer(dAtA[:i])
   371  			if err != nil {
   372  				return 0, err
   373  			}
   374  			i -= size
   375  			i = encodeVarintRecord(dAtA, i, uint64(size))
   376  		}
   377  		i--
   378  		dAtA[i] = 0x12
   379  	}
   380  	if len(m.Name) > 0 {
   381  		i -= len(m.Name)
   382  		copy(dAtA[i:], m.Name)
   383  		i = encodeVarintRecord(dAtA, i, uint64(len(m.Name)))
   384  		i--
   385  		dAtA[i] = 0xa
   386  	}
   387  	return len(dAtA) - i, nil
   388  }
   389  
   390  func (m *Record_Local_) MarshalTo(dAtA []byte) (int, error) {
   391  	size := m.Size()
   392  	return m.MarshalToSizedBuffer(dAtA[:size])
   393  }
   394  
   395  func (m *Record_Local_) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   396  	i := len(dAtA)
   397  	if m.Local != nil {
   398  		{
   399  			size, err := m.Local.MarshalToSizedBuffer(dAtA[:i])
   400  			if err != nil {
   401  				return 0, err
   402  			}
   403  			i -= size
   404  			i = encodeVarintRecord(dAtA, i, uint64(size))
   405  		}
   406  		i--
   407  		dAtA[i] = 0x1a
   408  	}
   409  	return len(dAtA) - i, nil
   410  }
   411  func (m *Record_Ledger_) MarshalTo(dAtA []byte) (int, error) {
   412  	size := m.Size()
   413  	return m.MarshalToSizedBuffer(dAtA[:size])
   414  }
   415  
   416  func (m *Record_Ledger_) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   417  	i := len(dAtA)
   418  	if m.Ledger != nil {
   419  		{
   420  			size, err := m.Ledger.MarshalToSizedBuffer(dAtA[:i])
   421  			if err != nil {
   422  				return 0, err
   423  			}
   424  			i -= size
   425  			i = encodeVarintRecord(dAtA, i, uint64(size))
   426  		}
   427  		i--
   428  		dAtA[i] = 0x22
   429  	}
   430  	return len(dAtA) - i, nil
   431  }
   432  func (m *Record_Multi_) MarshalTo(dAtA []byte) (int, error) {
   433  	size := m.Size()
   434  	return m.MarshalToSizedBuffer(dAtA[:size])
   435  }
   436  
   437  func (m *Record_Multi_) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   438  	i := len(dAtA)
   439  	if m.Multi != nil {
   440  		{
   441  			size, err := m.Multi.MarshalToSizedBuffer(dAtA[:i])
   442  			if err != nil {
   443  				return 0, err
   444  			}
   445  			i -= size
   446  			i = encodeVarintRecord(dAtA, i, uint64(size))
   447  		}
   448  		i--
   449  		dAtA[i] = 0x2a
   450  	}
   451  	return len(dAtA) - i, nil
   452  }
   453  func (m *Record_Offline_) MarshalTo(dAtA []byte) (int, error) {
   454  	size := m.Size()
   455  	return m.MarshalToSizedBuffer(dAtA[:size])
   456  }
   457  
   458  func (m *Record_Offline_) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   459  	i := len(dAtA)
   460  	if m.Offline != nil {
   461  		{
   462  			size, err := m.Offline.MarshalToSizedBuffer(dAtA[:i])
   463  			if err != nil {
   464  				return 0, err
   465  			}
   466  			i -= size
   467  			i = encodeVarintRecord(dAtA, i, uint64(size))
   468  		}
   469  		i--
   470  		dAtA[i] = 0x32
   471  	}
   472  	return len(dAtA) - i, nil
   473  }
   474  func (m *Record_Local) Marshal() (dAtA []byte, err error) {
   475  	size := m.Size()
   476  	dAtA = make([]byte, size)
   477  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   478  	if err != nil {
   479  		return nil, err
   480  	}
   481  	return dAtA[:n], nil
   482  }
   483  
   484  func (m *Record_Local) MarshalTo(dAtA []byte) (int, error) {
   485  	size := m.Size()
   486  	return m.MarshalToSizedBuffer(dAtA[:size])
   487  }
   488  
   489  func (m *Record_Local) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   490  	i := len(dAtA)
   491  	_ = i
   492  	var l int
   493  	_ = l
   494  	if m.PrivKey != nil {
   495  		{
   496  			size, err := m.PrivKey.MarshalToSizedBuffer(dAtA[:i])
   497  			if err != nil {
   498  				return 0, err
   499  			}
   500  			i -= size
   501  			i = encodeVarintRecord(dAtA, i, uint64(size))
   502  		}
   503  		i--
   504  		dAtA[i] = 0xa
   505  	}
   506  	return len(dAtA) - i, nil
   507  }
   508  
   509  func (m *Record_Ledger) Marshal() (dAtA []byte, err error) {
   510  	size := m.Size()
   511  	dAtA = make([]byte, size)
   512  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   513  	if err != nil {
   514  		return nil, err
   515  	}
   516  	return dAtA[:n], nil
   517  }
   518  
   519  func (m *Record_Ledger) MarshalTo(dAtA []byte) (int, error) {
   520  	size := m.Size()
   521  	return m.MarshalToSizedBuffer(dAtA[:size])
   522  }
   523  
   524  func (m *Record_Ledger) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   525  	i := len(dAtA)
   526  	_ = i
   527  	var l int
   528  	_ = l
   529  	if m.Path != nil {
   530  		{
   531  			size, err := m.Path.MarshalToSizedBuffer(dAtA[:i])
   532  			if err != nil {
   533  				return 0, err
   534  			}
   535  			i -= size
   536  			i = encodeVarintRecord(dAtA, i, uint64(size))
   537  		}
   538  		i--
   539  		dAtA[i] = 0xa
   540  	}
   541  	return len(dAtA) - i, nil
   542  }
   543  
   544  func (m *Record_Multi) Marshal() (dAtA []byte, err error) {
   545  	size := m.Size()
   546  	dAtA = make([]byte, size)
   547  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   548  	if err != nil {
   549  		return nil, err
   550  	}
   551  	return dAtA[:n], nil
   552  }
   553  
   554  func (m *Record_Multi) MarshalTo(dAtA []byte) (int, error) {
   555  	size := m.Size()
   556  	return m.MarshalToSizedBuffer(dAtA[:size])
   557  }
   558  
   559  func (m *Record_Multi) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   560  	i := len(dAtA)
   561  	_ = i
   562  	var l int
   563  	_ = l
   564  	return len(dAtA) - i, nil
   565  }
   566  
   567  func (m *Record_Offline) Marshal() (dAtA []byte, err error) {
   568  	size := m.Size()
   569  	dAtA = make([]byte, size)
   570  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   571  	if err != nil {
   572  		return nil, err
   573  	}
   574  	return dAtA[:n], nil
   575  }
   576  
   577  func (m *Record_Offline) MarshalTo(dAtA []byte) (int, error) {
   578  	size := m.Size()
   579  	return m.MarshalToSizedBuffer(dAtA[:size])
   580  }
   581  
   582  func (m *Record_Offline) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   583  	i := len(dAtA)
   584  	_ = i
   585  	var l int
   586  	_ = l
   587  	return len(dAtA) - i, nil
   588  }
   589  
   590  func encodeVarintRecord(dAtA []byte, offset int, v uint64) int {
   591  	offset -= sovRecord(v)
   592  	base := offset
   593  	for v >= 1<<7 {
   594  		dAtA[offset] = uint8(v&0x7f | 0x80)
   595  		v >>= 7
   596  		offset++
   597  	}
   598  	dAtA[offset] = uint8(v)
   599  	return base
   600  }
   601  func (m *Record) Size() (n int) {
   602  	if m == nil {
   603  		return 0
   604  	}
   605  	var l int
   606  	_ = l
   607  	l = len(m.Name)
   608  	if l > 0 {
   609  		n += 1 + l + sovRecord(uint64(l))
   610  	}
   611  	if m.PubKey != nil {
   612  		l = m.PubKey.Size()
   613  		n += 1 + l + sovRecord(uint64(l))
   614  	}
   615  	if m.Item != nil {
   616  		n += m.Item.Size()
   617  	}
   618  	return n
   619  }
   620  
   621  func (m *Record_Local_) Size() (n int) {
   622  	if m == nil {
   623  		return 0
   624  	}
   625  	var l int
   626  	_ = l
   627  	if m.Local != nil {
   628  		l = m.Local.Size()
   629  		n += 1 + l + sovRecord(uint64(l))
   630  	}
   631  	return n
   632  }
   633  func (m *Record_Ledger_) Size() (n int) {
   634  	if m == nil {
   635  		return 0
   636  	}
   637  	var l int
   638  	_ = l
   639  	if m.Ledger != nil {
   640  		l = m.Ledger.Size()
   641  		n += 1 + l + sovRecord(uint64(l))
   642  	}
   643  	return n
   644  }
   645  func (m *Record_Multi_) Size() (n int) {
   646  	if m == nil {
   647  		return 0
   648  	}
   649  	var l int
   650  	_ = l
   651  	if m.Multi != nil {
   652  		l = m.Multi.Size()
   653  		n += 1 + l + sovRecord(uint64(l))
   654  	}
   655  	return n
   656  }
   657  func (m *Record_Offline_) Size() (n int) {
   658  	if m == nil {
   659  		return 0
   660  	}
   661  	var l int
   662  	_ = l
   663  	if m.Offline != nil {
   664  		l = m.Offline.Size()
   665  		n += 1 + l + sovRecord(uint64(l))
   666  	}
   667  	return n
   668  }
   669  func (m *Record_Local) Size() (n int) {
   670  	if m == nil {
   671  		return 0
   672  	}
   673  	var l int
   674  	_ = l
   675  	if m.PrivKey != nil {
   676  		l = m.PrivKey.Size()
   677  		n += 1 + l + sovRecord(uint64(l))
   678  	}
   679  	return n
   680  }
   681  
   682  func (m *Record_Ledger) Size() (n int) {
   683  	if m == nil {
   684  		return 0
   685  	}
   686  	var l int
   687  	_ = l
   688  	if m.Path != nil {
   689  		l = m.Path.Size()
   690  		n += 1 + l + sovRecord(uint64(l))
   691  	}
   692  	return n
   693  }
   694  
   695  func (m *Record_Multi) Size() (n int) {
   696  	if m == nil {
   697  		return 0
   698  	}
   699  	var l int
   700  	_ = l
   701  	return n
   702  }
   703  
   704  func (m *Record_Offline) Size() (n int) {
   705  	if m == nil {
   706  		return 0
   707  	}
   708  	var l int
   709  	_ = l
   710  	return n
   711  }
   712  
   713  func sovRecord(x uint64) (n int) {
   714  	return (math_bits.Len64(x|1) + 6) / 7
   715  }
   716  func sozRecord(x uint64) (n int) {
   717  	return sovRecord(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   718  }
   719  func (m *Record) Unmarshal(dAtA []byte) error {
   720  	l := len(dAtA)
   721  	iNdEx := 0
   722  	for iNdEx < l {
   723  		preIndex := iNdEx
   724  		var wire uint64
   725  		for shift := uint(0); ; shift += 7 {
   726  			if shift >= 64 {
   727  				return ErrIntOverflowRecord
   728  			}
   729  			if iNdEx >= l {
   730  				return io.ErrUnexpectedEOF
   731  			}
   732  			b := dAtA[iNdEx]
   733  			iNdEx++
   734  			wire |= uint64(b&0x7F) << shift
   735  			if b < 0x80 {
   736  				break
   737  			}
   738  		}
   739  		fieldNum := int32(wire >> 3)
   740  		wireType := int(wire & 0x7)
   741  		if wireType == 4 {
   742  			return fmt.Errorf("proto: Record: wiretype end group for non-group")
   743  		}
   744  		if fieldNum <= 0 {
   745  			return fmt.Errorf("proto: Record: illegal tag %d (wire type %d)", fieldNum, wire)
   746  		}
   747  		switch fieldNum {
   748  		case 1:
   749  			if wireType != 2 {
   750  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
   751  			}
   752  			var stringLen uint64
   753  			for shift := uint(0); ; shift += 7 {
   754  				if shift >= 64 {
   755  					return ErrIntOverflowRecord
   756  				}
   757  				if iNdEx >= l {
   758  					return io.ErrUnexpectedEOF
   759  				}
   760  				b := dAtA[iNdEx]
   761  				iNdEx++
   762  				stringLen |= uint64(b&0x7F) << shift
   763  				if b < 0x80 {
   764  					break
   765  				}
   766  			}
   767  			intStringLen := int(stringLen)
   768  			if intStringLen < 0 {
   769  				return ErrInvalidLengthRecord
   770  			}
   771  			postIndex := iNdEx + intStringLen
   772  			if postIndex < 0 {
   773  				return ErrInvalidLengthRecord
   774  			}
   775  			if postIndex > l {
   776  				return io.ErrUnexpectedEOF
   777  			}
   778  			m.Name = string(dAtA[iNdEx:postIndex])
   779  			iNdEx = postIndex
   780  		case 2:
   781  			if wireType != 2 {
   782  				return fmt.Errorf("proto: wrong wireType = %d for field PubKey", wireType)
   783  			}
   784  			var msglen int
   785  			for shift := uint(0); ; shift += 7 {
   786  				if shift >= 64 {
   787  					return ErrIntOverflowRecord
   788  				}
   789  				if iNdEx >= l {
   790  					return io.ErrUnexpectedEOF
   791  				}
   792  				b := dAtA[iNdEx]
   793  				iNdEx++
   794  				msglen |= int(b&0x7F) << shift
   795  				if b < 0x80 {
   796  					break
   797  				}
   798  			}
   799  			if msglen < 0 {
   800  				return ErrInvalidLengthRecord
   801  			}
   802  			postIndex := iNdEx + msglen
   803  			if postIndex < 0 {
   804  				return ErrInvalidLengthRecord
   805  			}
   806  			if postIndex > l {
   807  				return io.ErrUnexpectedEOF
   808  			}
   809  			if m.PubKey == nil {
   810  				m.PubKey = &types.Any{}
   811  			}
   812  			if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   813  				return err
   814  			}
   815  			iNdEx = postIndex
   816  		case 3:
   817  			if wireType != 2 {
   818  				return fmt.Errorf("proto: wrong wireType = %d for field Local", wireType)
   819  			}
   820  			var msglen int
   821  			for shift := uint(0); ; shift += 7 {
   822  				if shift >= 64 {
   823  					return ErrIntOverflowRecord
   824  				}
   825  				if iNdEx >= l {
   826  					return io.ErrUnexpectedEOF
   827  				}
   828  				b := dAtA[iNdEx]
   829  				iNdEx++
   830  				msglen |= int(b&0x7F) << shift
   831  				if b < 0x80 {
   832  					break
   833  				}
   834  			}
   835  			if msglen < 0 {
   836  				return ErrInvalidLengthRecord
   837  			}
   838  			postIndex := iNdEx + msglen
   839  			if postIndex < 0 {
   840  				return ErrInvalidLengthRecord
   841  			}
   842  			if postIndex > l {
   843  				return io.ErrUnexpectedEOF
   844  			}
   845  			v := &Record_Local{}
   846  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   847  				return err
   848  			}
   849  			m.Item = &Record_Local_{v}
   850  			iNdEx = postIndex
   851  		case 4:
   852  			if wireType != 2 {
   853  				return fmt.Errorf("proto: wrong wireType = %d for field Ledger", wireType)
   854  			}
   855  			var msglen int
   856  			for shift := uint(0); ; shift += 7 {
   857  				if shift >= 64 {
   858  					return ErrIntOverflowRecord
   859  				}
   860  				if iNdEx >= l {
   861  					return io.ErrUnexpectedEOF
   862  				}
   863  				b := dAtA[iNdEx]
   864  				iNdEx++
   865  				msglen |= int(b&0x7F) << shift
   866  				if b < 0x80 {
   867  					break
   868  				}
   869  			}
   870  			if msglen < 0 {
   871  				return ErrInvalidLengthRecord
   872  			}
   873  			postIndex := iNdEx + msglen
   874  			if postIndex < 0 {
   875  				return ErrInvalidLengthRecord
   876  			}
   877  			if postIndex > l {
   878  				return io.ErrUnexpectedEOF
   879  			}
   880  			v := &Record_Ledger{}
   881  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   882  				return err
   883  			}
   884  			m.Item = &Record_Ledger_{v}
   885  			iNdEx = postIndex
   886  		case 5:
   887  			if wireType != 2 {
   888  				return fmt.Errorf("proto: wrong wireType = %d for field Multi", wireType)
   889  			}
   890  			var msglen int
   891  			for shift := uint(0); ; shift += 7 {
   892  				if shift >= 64 {
   893  					return ErrIntOverflowRecord
   894  				}
   895  				if iNdEx >= l {
   896  					return io.ErrUnexpectedEOF
   897  				}
   898  				b := dAtA[iNdEx]
   899  				iNdEx++
   900  				msglen |= int(b&0x7F) << shift
   901  				if b < 0x80 {
   902  					break
   903  				}
   904  			}
   905  			if msglen < 0 {
   906  				return ErrInvalidLengthRecord
   907  			}
   908  			postIndex := iNdEx + msglen
   909  			if postIndex < 0 {
   910  				return ErrInvalidLengthRecord
   911  			}
   912  			if postIndex > l {
   913  				return io.ErrUnexpectedEOF
   914  			}
   915  			v := &Record_Multi{}
   916  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   917  				return err
   918  			}
   919  			m.Item = &Record_Multi_{v}
   920  			iNdEx = postIndex
   921  		case 6:
   922  			if wireType != 2 {
   923  				return fmt.Errorf("proto: wrong wireType = %d for field Offline", wireType)
   924  			}
   925  			var msglen int
   926  			for shift := uint(0); ; shift += 7 {
   927  				if shift >= 64 {
   928  					return ErrIntOverflowRecord
   929  				}
   930  				if iNdEx >= l {
   931  					return io.ErrUnexpectedEOF
   932  				}
   933  				b := dAtA[iNdEx]
   934  				iNdEx++
   935  				msglen |= int(b&0x7F) << shift
   936  				if b < 0x80 {
   937  					break
   938  				}
   939  			}
   940  			if msglen < 0 {
   941  				return ErrInvalidLengthRecord
   942  			}
   943  			postIndex := iNdEx + msglen
   944  			if postIndex < 0 {
   945  				return ErrInvalidLengthRecord
   946  			}
   947  			if postIndex > l {
   948  				return io.ErrUnexpectedEOF
   949  			}
   950  			v := &Record_Offline{}
   951  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   952  				return err
   953  			}
   954  			m.Item = &Record_Offline_{v}
   955  			iNdEx = postIndex
   956  		default:
   957  			iNdEx = preIndex
   958  			skippy, err := skipRecord(dAtA[iNdEx:])
   959  			if err != nil {
   960  				return err
   961  			}
   962  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   963  				return ErrInvalidLengthRecord
   964  			}
   965  			if (iNdEx + skippy) > l {
   966  				return io.ErrUnexpectedEOF
   967  			}
   968  			iNdEx += skippy
   969  		}
   970  	}
   971  
   972  	if iNdEx > l {
   973  		return io.ErrUnexpectedEOF
   974  	}
   975  	return nil
   976  }
   977  func (m *Record_Local) Unmarshal(dAtA []byte) error {
   978  	l := len(dAtA)
   979  	iNdEx := 0
   980  	for iNdEx < l {
   981  		preIndex := iNdEx
   982  		var wire uint64
   983  		for shift := uint(0); ; shift += 7 {
   984  			if shift >= 64 {
   985  				return ErrIntOverflowRecord
   986  			}
   987  			if iNdEx >= l {
   988  				return io.ErrUnexpectedEOF
   989  			}
   990  			b := dAtA[iNdEx]
   991  			iNdEx++
   992  			wire |= uint64(b&0x7F) << shift
   993  			if b < 0x80 {
   994  				break
   995  			}
   996  		}
   997  		fieldNum := int32(wire >> 3)
   998  		wireType := int(wire & 0x7)
   999  		if wireType == 4 {
  1000  			return fmt.Errorf("proto: Local: wiretype end group for non-group")
  1001  		}
  1002  		if fieldNum <= 0 {
  1003  			return fmt.Errorf("proto: Local: illegal tag %d (wire type %d)", fieldNum, wire)
  1004  		}
  1005  		switch fieldNum {
  1006  		case 1:
  1007  			if wireType != 2 {
  1008  				return fmt.Errorf("proto: wrong wireType = %d for field PrivKey", wireType)
  1009  			}
  1010  			var msglen int
  1011  			for shift := uint(0); ; shift += 7 {
  1012  				if shift >= 64 {
  1013  					return ErrIntOverflowRecord
  1014  				}
  1015  				if iNdEx >= l {
  1016  					return io.ErrUnexpectedEOF
  1017  				}
  1018  				b := dAtA[iNdEx]
  1019  				iNdEx++
  1020  				msglen |= int(b&0x7F) << shift
  1021  				if b < 0x80 {
  1022  					break
  1023  				}
  1024  			}
  1025  			if msglen < 0 {
  1026  				return ErrInvalidLengthRecord
  1027  			}
  1028  			postIndex := iNdEx + msglen
  1029  			if postIndex < 0 {
  1030  				return ErrInvalidLengthRecord
  1031  			}
  1032  			if postIndex > l {
  1033  				return io.ErrUnexpectedEOF
  1034  			}
  1035  			if m.PrivKey == nil {
  1036  				m.PrivKey = &types.Any{}
  1037  			}
  1038  			if err := m.PrivKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1039  				return err
  1040  			}
  1041  			iNdEx = postIndex
  1042  		default:
  1043  			iNdEx = preIndex
  1044  			skippy, err := skipRecord(dAtA[iNdEx:])
  1045  			if err != nil {
  1046  				return err
  1047  			}
  1048  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1049  				return ErrInvalidLengthRecord
  1050  			}
  1051  			if (iNdEx + skippy) > l {
  1052  				return io.ErrUnexpectedEOF
  1053  			}
  1054  			iNdEx += skippy
  1055  		}
  1056  	}
  1057  
  1058  	if iNdEx > l {
  1059  		return io.ErrUnexpectedEOF
  1060  	}
  1061  	return nil
  1062  }
  1063  func (m *Record_Ledger) Unmarshal(dAtA []byte) error {
  1064  	l := len(dAtA)
  1065  	iNdEx := 0
  1066  	for iNdEx < l {
  1067  		preIndex := iNdEx
  1068  		var wire uint64
  1069  		for shift := uint(0); ; shift += 7 {
  1070  			if shift >= 64 {
  1071  				return ErrIntOverflowRecord
  1072  			}
  1073  			if iNdEx >= l {
  1074  				return io.ErrUnexpectedEOF
  1075  			}
  1076  			b := dAtA[iNdEx]
  1077  			iNdEx++
  1078  			wire |= uint64(b&0x7F) << shift
  1079  			if b < 0x80 {
  1080  				break
  1081  			}
  1082  		}
  1083  		fieldNum := int32(wire >> 3)
  1084  		wireType := int(wire & 0x7)
  1085  		if wireType == 4 {
  1086  			return fmt.Errorf("proto: Ledger: wiretype end group for non-group")
  1087  		}
  1088  		if fieldNum <= 0 {
  1089  			return fmt.Errorf("proto: Ledger: illegal tag %d (wire type %d)", fieldNum, wire)
  1090  		}
  1091  		switch fieldNum {
  1092  		case 1:
  1093  			if wireType != 2 {
  1094  				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
  1095  			}
  1096  			var msglen int
  1097  			for shift := uint(0); ; shift += 7 {
  1098  				if shift >= 64 {
  1099  					return ErrIntOverflowRecord
  1100  				}
  1101  				if iNdEx >= l {
  1102  					return io.ErrUnexpectedEOF
  1103  				}
  1104  				b := dAtA[iNdEx]
  1105  				iNdEx++
  1106  				msglen |= int(b&0x7F) << shift
  1107  				if b < 0x80 {
  1108  					break
  1109  				}
  1110  			}
  1111  			if msglen < 0 {
  1112  				return ErrInvalidLengthRecord
  1113  			}
  1114  			postIndex := iNdEx + msglen
  1115  			if postIndex < 0 {
  1116  				return ErrInvalidLengthRecord
  1117  			}
  1118  			if postIndex > l {
  1119  				return io.ErrUnexpectedEOF
  1120  			}
  1121  			if m.Path == nil {
  1122  				m.Path = &hd.BIP44Params{}
  1123  			}
  1124  			if err := m.Path.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1125  				return err
  1126  			}
  1127  			iNdEx = postIndex
  1128  		default:
  1129  			iNdEx = preIndex
  1130  			skippy, err := skipRecord(dAtA[iNdEx:])
  1131  			if err != nil {
  1132  				return err
  1133  			}
  1134  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1135  				return ErrInvalidLengthRecord
  1136  			}
  1137  			if (iNdEx + skippy) > l {
  1138  				return io.ErrUnexpectedEOF
  1139  			}
  1140  			iNdEx += skippy
  1141  		}
  1142  	}
  1143  
  1144  	if iNdEx > l {
  1145  		return io.ErrUnexpectedEOF
  1146  	}
  1147  	return nil
  1148  }
  1149  func (m *Record_Multi) Unmarshal(dAtA []byte) error {
  1150  	l := len(dAtA)
  1151  	iNdEx := 0
  1152  	for iNdEx < l {
  1153  		preIndex := iNdEx
  1154  		var wire uint64
  1155  		for shift := uint(0); ; shift += 7 {
  1156  			if shift >= 64 {
  1157  				return ErrIntOverflowRecord
  1158  			}
  1159  			if iNdEx >= l {
  1160  				return io.ErrUnexpectedEOF
  1161  			}
  1162  			b := dAtA[iNdEx]
  1163  			iNdEx++
  1164  			wire |= uint64(b&0x7F) << shift
  1165  			if b < 0x80 {
  1166  				break
  1167  			}
  1168  		}
  1169  		fieldNum := int32(wire >> 3)
  1170  		wireType := int(wire & 0x7)
  1171  		if wireType == 4 {
  1172  			return fmt.Errorf("proto: Multi: wiretype end group for non-group")
  1173  		}
  1174  		if fieldNum <= 0 {
  1175  			return fmt.Errorf("proto: Multi: illegal tag %d (wire type %d)", fieldNum, wire)
  1176  		}
  1177  		switch fieldNum {
  1178  		default:
  1179  			iNdEx = preIndex
  1180  			skippy, err := skipRecord(dAtA[iNdEx:])
  1181  			if err != nil {
  1182  				return err
  1183  			}
  1184  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1185  				return ErrInvalidLengthRecord
  1186  			}
  1187  			if (iNdEx + skippy) > l {
  1188  				return io.ErrUnexpectedEOF
  1189  			}
  1190  			iNdEx += skippy
  1191  		}
  1192  	}
  1193  
  1194  	if iNdEx > l {
  1195  		return io.ErrUnexpectedEOF
  1196  	}
  1197  	return nil
  1198  }
  1199  func (m *Record_Offline) Unmarshal(dAtA []byte) error {
  1200  	l := len(dAtA)
  1201  	iNdEx := 0
  1202  	for iNdEx < l {
  1203  		preIndex := iNdEx
  1204  		var wire uint64
  1205  		for shift := uint(0); ; shift += 7 {
  1206  			if shift >= 64 {
  1207  				return ErrIntOverflowRecord
  1208  			}
  1209  			if iNdEx >= l {
  1210  				return io.ErrUnexpectedEOF
  1211  			}
  1212  			b := dAtA[iNdEx]
  1213  			iNdEx++
  1214  			wire |= uint64(b&0x7F) << shift
  1215  			if b < 0x80 {
  1216  				break
  1217  			}
  1218  		}
  1219  		fieldNum := int32(wire >> 3)
  1220  		wireType := int(wire & 0x7)
  1221  		if wireType == 4 {
  1222  			return fmt.Errorf("proto: Offline: wiretype end group for non-group")
  1223  		}
  1224  		if fieldNum <= 0 {
  1225  			return fmt.Errorf("proto: Offline: illegal tag %d (wire type %d)", fieldNum, wire)
  1226  		}
  1227  		switch fieldNum {
  1228  		default:
  1229  			iNdEx = preIndex
  1230  			skippy, err := skipRecord(dAtA[iNdEx:])
  1231  			if err != nil {
  1232  				return err
  1233  			}
  1234  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1235  				return ErrInvalidLengthRecord
  1236  			}
  1237  			if (iNdEx + skippy) > l {
  1238  				return io.ErrUnexpectedEOF
  1239  			}
  1240  			iNdEx += skippy
  1241  		}
  1242  	}
  1243  
  1244  	if iNdEx > l {
  1245  		return io.ErrUnexpectedEOF
  1246  	}
  1247  	return nil
  1248  }
  1249  func skipRecord(dAtA []byte) (n int, err error) {
  1250  	l := len(dAtA)
  1251  	iNdEx := 0
  1252  	depth := 0
  1253  	for iNdEx < l {
  1254  		var wire uint64
  1255  		for shift := uint(0); ; shift += 7 {
  1256  			if shift >= 64 {
  1257  				return 0, ErrIntOverflowRecord
  1258  			}
  1259  			if iNdEx >= l {
  1260  				return 0, io.ErrUnexpectedEOF
  1261  			}
  1262  			b := dAtA[iNdEx]
  1263  			iNdEx++
  1264  			wire |= (uint64(b) & 0x7F) << shift
  1265  			if b < 0x80 {
  1266  				break
  1267  			}
  1268  		}
  1269  		wireType := int(wire & 0x7)
  1270  		switch wireType {
  1271  		case 0:
  1272  			for shift := uint(0); ; shift += 7 {
  1273  				if shift >= 64 {
  1274  					return 0, ErrIntOverflowRecord
  1275  				}
  1276  				if iNdEx >= l {
  1277  					return 0, io.ErrUnexpectedEOF
  1278  				}
  1279  				iNdEx++
  1280  				if dAtA[iNdEx-1] < 0x80 {
  1281  					break
  1282  				}
  1283  			}
  1284  		case 1:
  1285  			iNdEx += 8
  1286  		case 2:
  1287  			var length int
  1288  			for shift := uint(0); ; shift += 7 {
  1289  				if shift >= 64 {
  1290  					return 0, ErrIntOverflowRecord
  1291  				}
  1292  				if iNdEx >= l {
  1293  					return 0, io.ErrUnexpectedEOF
  1294  				}
  1295  				b := dAtA[iNdEx]
  1296  				iNdEx++
  1297  				length |= (int(b) & 0x7F) << shift
  1298  				if b < 0x80 {
  1299  					break
  1300  				}
  1301  			}
  1302  			if length < 0 {
  1303  				return 0, ErrInvalidLengthRecord
  1304  			}
  1305  			iNdEx += length
  1306  		case 3:
  1307  			depth++
  1308  		case 4:
  1309  			if depth == 0 {
  1310  				return 0, ErrUnexpectedEndOfGroupRecord
  1311  			}
  1312  			depth--
  1313  		case 5:
  1314  			iNdEx += 4
  1315  		default:
  1316  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1317  		}
  1318  		if iNdEx < 0 {
  1319  			return 0, ErrInvalidLengthRecord
  1320  		}
  1321  		if depth == 0 {
  1322  			return iNdEx, nil
  1323  		}
  1324  	}
  1325  	return 0, io.ErrUnexpectedEOF
  1326  }
  1327  
  1328  var (
  1329  	ErrInvalidLengthRecord        = fmt.Errorf("proto: negative length found during unmarshaling")
  1330  	ErrIntOverflowRecord          = fmt.Errorf("proto: integer overflow")
  1331  	ErrUnexpectedEndOfGroupRecord = fmt.Errorf("proto: unexpected end of group")
  1332  )