// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: ibc/core/client/v1/deprecated.proto

package types

import (
	types "cosmossdk.io/x/upgrade/types"
	fmt "fmt"
	_ "github.com/cosmos/cosmos-proto"
	types1 "git.cw.tr/mukan-network/mukan-sdk/codec/types"
	_ "github.com/cosmos/gogoproto/gogoproto"
	proto "github.com/cosmos/gogoproto/proto"
	io "io"
	math "math"
	math_bits "math/bits"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package

// ClientUpdateProposal is a legacy governance proposal. If it passes, the substitute
// client's latest consensus state is copied over to the subject client. The proposal
// handler may fail if the subject and the substitute do not match in client and
// chain parameters (with exception to latest height, frozen height, and chain-id).
//
// Deprecated: Please use MsgRecoverClient in favour of this message type.
//
// Deprecated: Do not use.
type ClientUpdateProposal struct {
	// the title of the update proposal
	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	// the description of the proposal
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// the client identifier for the client to be updated if the proposal passes
	SubjectClientId string `protobuf:"bytes,3,opt,name=subject_client_id,json=subjectClientId,proto3" json:"subject_client_id,omitempty" yaml:"subject_client_id"`
	// the substitute client identifier for the client standing in for the subject
	// client
	SubstituteClientId string `protobuf:"bytes,4,opt,name=substitute_client_id,json=substituteClientId,proto3" json:"substitute_client_id,omitempty" yaml:"substitute_client_id"`
}

func (m *ClientUpdateProposal) Reset()         { *m = ClientUpdateProposal{} }
func (m *ClientUpdateProposal) String() string { return proto.CompactTextString(m) }
func (*ClientUpdateProposal) ProtoMessage()    {}
func (*ClientUpdateProposal) Descriptor() ([]byte, []int) {
	return fileDescriptor_95e37bacc9dd01d3, []int{0}
}
func (m *ClientUpdateProposal) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *ClientUpdateProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_ClientUpdateProposal.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *ClientUpdateProposal) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClientUpdateProposal.Merge(m, src)
}
func (m *ClientUpdateProposal) XXX_Size() int {
	return m.Size()
}
func (m *ClientUpdateProposal) XXX_DiscardUnknown() {
	xxx_messageInfo_ClientUpdateProposal.DiscardUnknown(m)
}

var xxx_messageInfo_ClientUpdateProposal proto.InternalMessageInfo

// UpgradeProposal is a gov Content type for initiating an IBC breaking
// upgrade.
//
// Deprecated: Please use MsgIBCSoftwareUpgrade in favour of this message type.
//
// Deprecated: Do not use.
type UpgradeProposal struct {
	Title       string     `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Description string     `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	Plan        types.Plan `protobuf:"bytes,3,opt,name=plan,proto3" json:"plan"`
	// An UpgradedClientState must be provided to perform an IBC breaking upgrade.
	// This will make the chain commit to the correct upgraded (self) client state
	// before the upgrade occurs, so that connecting chains can verify that the
	// new upgraded client is valid by verifying a proof on the previous version
	// of the chain. This will allow IBC connections to persist smoothly across
	// planned chain upgrades
	UpgradedClientState *types1.Any `protobuf:"bytes,4,opt,name=upgraded_client_state,json=upgradedClientState,proto3" json:"upgraded_client_state,omitempty" yaml:"upgraded_client_state"`
}

func (m *UpgradeProposal) Reset()      { *m = UpgradeProposal{} }
func (*UpgradeProposal) ProtoMessage() {}
func (*UpgradeProposal) Descriptor() ([]byte, []int) {
	return fileDescriptor_95e37bacc9dd01d3, []int{1}
}
func (m *UpgradeProposal) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *UpgradeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_UpgradeProposal.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *UpgradeProposal) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpgradeProposal.Merge(m, src)
}
func (m *UpgradeProposal) XXX_Size() int {
	return m.Size()
}
func (m *UpgradeProposal) XXX_DiscardUnknown() {
	xxx_messageInfo_UpgradeProposal.DiscardUnknown(m)
}

var xxx_messageInfo_UpgradeProposal proto.InternalMessageInfo

func init() {
	proto.RegisterType((*ClientUpdateProposal)(nil), "ibc.core.client.v1.ClientUpdateProposal")
	proto.RegisterType((*UpgradeProposal)(nil), "ibc.core.client.v1.UpgradeProposal")
}

func init() {
	proto.RegisterFile("ibc/core/client/v1/deprecated.proto", fileDescriptor_95e37bacc9dd01d3)
}

var fileDescriptor_95e37bacc9dd01d3 = []byte{
	// 481 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xb1, 0x8e, 0xd3, 0x40,
	0x10, 0xb5, 0x43, 0x40, 0xc2, 0x29, 0x4e, 0x18, 0x23, 0x99, 0x10, 0xd9, 0x91, 0xb9, 0x82, 0x82,
	0xec, 0x9e, 0x83, 0x84, 0x44, 0x3a, 0x72, 0x0d, 0x74, 0x87, 0x4f, 0xd7, 0xd0, 0x44, 0xeb, 0xf5,
	0x62, 0xf6, 0xe4, 0x78, 0x2d, 0xef, 0xd8, 0x52, 0xfe, 0x80, 0x12, 0x3a, 0x24, 0x9a, 0x7c, 0x04,
	0x1f, 0x71, 0xa2, 0xba, 0x92, 0x2a, 0x42, 0x49, 0x43, 0x9d, 0x2f, 0x40, 0xde, 0xb5, 0xe1, 0xa4,
	0x20, 0x51, 0xd0, 0xf9, 0xbd, 0x79, 0x33, 0xe3, 0x79, 0xb3, 0x63, 0x3d, 0xe6, 0x31, 0xc5, 0x54,
	0x94, 0x0c, 0xd3, 0x8c, 0xb3, 0x1c, 0x70, 0x1d, 0xe2, 0x84, 0x15, 0x25, 0xa3, 0x04, 0x58, 0x82,
	0x8a, 0x52, 0x80, 0xb0, 0x6d, 0x1e, 0x53, 0xd4, 0x88, 0x90, 0x16, 0xa1, 0x3a, 0x1c, 0x1e, 0x53,
	0x21, 0x97, 0x42, 0xe2, 0xaa, 0x48, 0x4b, 0x92, 0x30, 0x5c, 0x87, 0x31, 0x03, 0x12, 0x76, 0x58,
	0x67, 0x0e, 0x1f, 0x6a, 0xd5, 0x42, 0x21, 0xac, 0x41, 0x1b, 0x72, 0x52, 0x91, 0x0a, 0xcd, 0x37,
	0x5f, 0x5d, 0x42, 0x2a, 0x44, 0x9a, 0x31, 0xac, 0x50, 0x5c, 0xbd, 0xc3, 0x24, 0x5f, 0xe9, 0x50,
	0xf0, 0xa9, 0x67, 0x39, 0xa7, 0xaa, 0xff, 0x45, 0x91, 0x10, 0x60, 0x67, 0xa5, 0x28, 0x84, 0x24,
	0x99, 0xed, 0x58, 0xb7, 0x81, 0x43, 0xc6, 0x5c, 0x73, 0x6c, 0x3e, 0xb9, 0x1b, 0x69, 0x60, 0x8f,
	0xad, 0x41, 0xc2, 0x24, 0x2d, 0x79, 0x01, 0x5c, 0xe4, 0x6e, 0x4f, 0xc5, 0x6e, 0x52, 0xf6, 0x2b,
	0xeb, 0x9e, 0xac, 0xe2, 0x4b, 0x46, 0x61, 0xa1, 0xe7, 0x5a, 0xf0, 0xc4, 0xbd, 0xd5, 0xe8, 0xe6,
	0xa3, 0xfd, 0xc6, 0x77, 0x57, 0x64, 0x99, 0xcd, 0x82, 0x03, 0x49, 0x10, 0x1d, 0xb5, 0x9c, 0xfe,
	0x9b, 0xd7, 0x89, 0xfd, 0xc6, 0x72, 0x64, 0x15, 0x4b, 0xe0, 0x50, 0x01, 0xbb, 0x51, 0xac, 0xaf,
	0x8a, 0xf9, 0xfb, 0x8d, 0xff, 0xe8, 0x77, 0xb1, 0x03, 0x55, 0x10, 0xd9, 0x7f, 0xe8, 0xae, 0xe4,
	0xec, 0xf8, 0xc3, 0xda, 0x37, 0xbe, 0x7d, 0x9d, 0x0c, 0x5b, 0xd3, 0x52, 0x51, 0xa3, 0xd6, 0x63,
	0x74, 0x2a, 0x72, 0x60, 0x39, 0xb8, 0x66, 0xf0, 0xa5, 0x67, 0x1d, 0x5d, 0x68, 0xc7, 0xff, 0xdb,
	0x8e, 0xe7, 0x56, 0xbf, 0xc8, 0x48, 0xae, 0x1c, 0x18, 0x4c, 0x47, 0xa8, 0x6d, 0xdc, 0x2d, 0xb4,
	0x6b, 0x7e, 0x96, 0x91, 0x7c, 0xde, 0xbf, 0xda, 0xf8, 0x46, 0xa4, 0xf4, 0xf6, 0xa5, 0xf5, 0xa0,
	0xd5, 0x24, 0xdd, 0x50, 0x12, 0x08, 0x30, 0x35, 0xfd, 0x60, 0xea, 0x20, 0xbd, 0x52, 0xd4, 0xad,
	0x14, 0xbd, 0xcc, 0x57, 0xf3, 0xf1, 0x7e, 0xe3, 0x8f, 0xb4, 0x27, 0x7f, 0x4d, 0x0e, 0xa2, 0xfb,
	0x1d, 0xaf, 0x2d, 0x39, 0x6f, 0xd8, 0xd9, 0xd3, 0xc6, 0x95, 0xcf, 0x6b, 0xdf, 0xf8, 0xb9, 0xf6,
	0xcd, 0x7f, 0xb9, 0x33, 0x3f, 0xbf, 0xda, 0x7a, 0xe6, 0xf5, 0xd6, 0x33, 0x7f, 0x6c, 0x3d, 0xf3,
	0xe3, 0xce, 0x33, 0xae, 0x77, 0x9e, 0xf1, 0x7d, 0xe7, 0x19, 0x6f, 0x5f, 0xa4, 0x1c, 0xde, 0x57,
	0x31, 0xa2, 0x62, 0xd9, 0xbe, 0x4a, 0xcc, 0x63, 0x3a, 0x49, 0x05, 0xae, 0xc3, 0x13, 0xbc, 0x14,
	0x49, 0x95, 0x31, 0xa9, 0xef, 0xe2, 0x64, 0x3a, 0x69, 0x4f, 0x03, 0x56, 0x05, 0x93, 0xf1, 0x1d,
	0x35, 0xc7, 0xb3, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4b, 0xb1, 0xbc, 0x55, 0x3a, 0x03, 0x00,
	0x00,
}

func (this *UpgradeProposal) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*UpgradeProposal)
	if !ok {
		that2, ok := that.(UpgradeProposal)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Title != that1.Title {
		return false
	}
	if this.Description != that1.Description {
		return false
	}
	if !this.Plan.Equal(&that1.Plan) {
		return false
	}
	if !this.UpgradedClientState.Equal(that1.UpgradedClientState) {
		return false
	}
	return true
}
func (m *ClientUpdateProposal) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBuffer(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *ClientUpdateProposal) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *ClientUpdateProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.SubstituteClientId) > 0 {
		i -= len(m.SubstituteClientId)
		copy(dAtA[i:], m.SubstituteClientId)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.SubstituteClientId)))
		i--
		dAtA[i] = 0x22
	}
	if len(m.SubjectClientId) > 0 {
		i -= len(m.SubjectClientId)
		copy(dAtA[i:], m.SubjectClientId)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.SubjectClientId)))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.Description) > 0 {
		i -= len(m.Description)
		copy(dAtA[i:], m.Description)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.Description)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Title) > 0 {
		i -= len(m.Title)
		copy(dAtA[i:], m.Title)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.Title)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *UpgradeProposal) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBuffer(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *UpgradeProposal) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *UpgradeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.UpgradedClientState != nil {
		{
			size, err := m.UpgradedClientState.MarshalToSizedBuffer(dAtA[:i])
			if err != nil {
				return 0, err
			}
			i -= size
			i = encodeVarintDeprecated(dAtA, i, uint64(size))
		}
		i--
		dAtA[i] = 0x22
	}
	{
		size, err := m.Plan.MarshalToSizedBuffer(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = encodeVarintDeprecated(dAtA, i, uint64(size))
	}
	i--
	dAtA[i] = 0x1a
	if len(m.Description) > 0 {
		i -= len(m.Description)
		copy(dAtA[i:], m.Description)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.Description)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Title) > 0 {
		i -= len(m.Title)
		copy(dAtA[i:], m.Title)
		i = encodeVarintDeprecated(dAtA, i, uint64(len(m.Title)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func encodeVarintDeprecated(dAtA []byte, offset int, v uint64) int {
	offset -= sovDeprecated(v)
	base := offset
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return base
}
func (m *ClientUpdateProposal) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Title)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	l = len(m.Description)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	l = len(m.SubjectClientId)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	l = len(m.SubstituteClientId)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	return n
}

func (m *UpgradeProposal) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Title)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	l = len(m.Description)
	if l > 0 {
		n += 1 + l + sovDeprecated(uint64(l))
	}
	l = m.Plan.Size()
	n += 1 + l + sovDeprecated(uint64(l))
	if m.UpgradedClientState != nil {
		l = m.UpgradedClientState.Size()
		n += 1 + l + sovDeprecated(uint64(l))
	}
	return n
}

func sovDeprecated(x uint64) (n int) {
	return (math_bits.Len64(x|1) + 6) / 7
}
func sozDeprecated(x uint64) (n int) {
	return sovDeprecated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *ClientUpdateProposal) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowDeprecated
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: ClientUpdateProposal: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: ClientUpdateProposal: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Title = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Description = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SubjectClientId", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.SubjectClientId = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field SubstituteClientId", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.SubstituteClientId = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipDeprecated(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthDeprecated
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *UpgradeProposal) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowDeprecated
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: UpgradeProposal: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: UpgradeProposal: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Title = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Description = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Plan", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.Plan.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field UpgradedClientState", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthDeprecated
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthDeprecated
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.UpgradedClientState == nil {
				m.UpgradedClientState = &types1.Any{}
			}
			if err := m.UpgradedClientState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipDeprecated(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthDeprecated
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipDeprecated(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	depth := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowDeprecated
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
		case 1:
			iNdEx += 8
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowDeprecated
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if length < 0 {
				return 0, ErrInvalidLengthDeprecated
			}
			iNdEx += length
		case 3:
			depth++
		case 4:
			if depth == 0 {
				return 0, ErrUnexpectedEndOfGroupDeprecated
			}
			depth--
		case 5:
			iNdEx += 4
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
		if iNdEx < 0 {
			return 0, ErrInvalidLengthDeprecated
		}
		if depth == 0 {
			return iNdEx, nil
		}
	}
	return 0, io.ErrUnexpectedEOF
}

var (
	ErrInvalidLengthDeprecated        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowDeprecated          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupDeprecated = fmt.Errorf("proto: unexpected end of group")
)
