// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: unrecognized.proto

package unrecognized

import (
	bytes "bytes"
	compress_gzip "compress/gzip"
	encoding_binary "encoding/binary"
	fmt "fmt"
	_ "github.com/gogo/protobuf/gogoproto"
	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
	proto "github.com/gogo/protobuf/proto"
	github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
	io "io"
	io_ioutil "io/ioutil"
	math "math"
	reflect "reflect"
	strings "strings"
)

// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package

type A struct {
	Field1               *int64   `protobuf:"varint,2,opt,name=Field1" json:"Field1,omitempty"`
	B                    []*B     `protobuf:"bytes,1,rep,name=B" json:"B,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_A proto.InternalMessageInfo

type B struct {
	C                    *C       `protobuf:"bytes,1,opt,name=C" json:"C,omitempty"`
	D                    *D       `protobuf:"bytes,2,opt,name=D" json:"D,omitempty"`
	F                    *OldC    `protobuf:"bytes,5,opt,name=F" json:"F,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_B proto.InternalMessageInfo

type D struct {
	Field1               *int64   `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_D proto.InternalMessageInfo

type C struct {
	Field2               *float64  `protobuf:"fixed64,2,opt,name=Field2" json:"Field2,omitempty"`
	Field3               *string   `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"`
	Field4               *float64  `protobuf:"fixed64,4,opt,name=Field4" json:"Field4,omitempty"`
	Field5               [][]byte  `protobuf:"bytes,5,rep,name=Field5" json:"Field5,omitempty"`
	Field6               *int64    `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"`
	Field7               []float32 `protobuf:"fixed32,7,rep,name=Field7" json:"Field7,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

var xxx_messageInfo_C proto.InternalMessageInfo

type U struct {
	Field2               []float64 `protobuf:"fixed64,2,rep,name=Field2" json:"Field2,omitempty"`
	Field3               *uint32   `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

var xxx_messageInfo_U proto.InternalMessageInfo

type UnoM struct {
	Field2               []float64 `protobuf:"fixed64,2,rep,name=Field2" json:"Field2,omitempty"`
	Field3               *uint32   `protobuf:"varint,3,opt,name=Field3" json:"Field3,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *UnoM) Reset()      { *m = UnoM{} }
func (*UnoM) ProtoMessage() {}
func (*UnoM) Descriptor() ([]byte, []int) {
	return fileDescriptor_5318ad6f723bf9f6, []int{5}
}
func (m *UnoM) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnoM.Unmarshal(m, b)
}
func (m *UnoM) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnoM.Marshal(b, m, deterministic)
}
func (m *UnoM) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnoM.Merge(m, src)
}
func (m *UnoM) XXX_Size() int {
	return xxx_messageInfo_UnoM.Size(m)
}
func (m *UnoM) XXX_DiscardUnknown() {
	xxx_messageInfo_UnoM.DiscardUnknown(m)
}

var xxx_messageInfo_UnoM proto.InternalMessageInfo

type OldA struct {
	Field1               *int64   `protobuf:"varint,2,opt,name=Field1" json:"Field1,omitempty"`
	B                    []*OldB  `protobuf:"bytes,1,rep,name=B" json:"B,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_OldA proto.InternalMessageInfo

type OldB struct {
	C                    *OldC    `protobuf:"bytes,1,opt,name=C" json:"C,omitempty"`
	F                    *OldC    `protobuf:"bytes,5,opt,name=F" json:"F,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_OldB proto.InternalMessageInfo

type OldC struct {
	Field1               *int64    `protobuf:"varint,1,opt,name=Field1" json:"Field1,omitempty"`
	Field2               *float64  `protobuf:"fixed64,2,opt,name=Field2" json:"Field2,omitempty"`
	Field3               *string   `protobuf:"bytes,3,opt,name=Field3" json:"Field3,omitempty"`
	Field6               *int64    `protobuf:"varint,6,opt,name=Field6" json:"Field6,omitempty"`
	Field7               []float32 `protobuf:"fixed32,7,rep,name=Field7" json:"Field7,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

var xxx_messageInfo_OldC proto.InternalMessageInfo

type OldU struct {
	Field1               *string   `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"`
	Field2               []float64 `protobuf:"fixed64,2,rep,name=Field2" json:"Field2,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

var xxx_messageInfo_OldU proto.InternalMessageInfo

type OldUnoM struct {
	Field1               *string   `protobuf:"bytes,1,opt,name=Field1" json:"Field1,omitempty"`
	Field2               []float64 `protobuf:"fixed64,2,rep,name=Field2" json:"Field2,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *OldUnoM) Reset()      { *m = OldUnoM{} }
func (*OldUnoM) ProtoMessage() {}
func (*OldUnoM) Descriptor() ([]byte, []int) {
	return fileDescriptor_5318ad6f723bf9f6, []int{10}
}
func (m *OldUnoM) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OldUnoM.Unmarshal(m, b)
}
func (m *OldUnoM) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OldUnoM.Marshal(b, m, deterministic)
}
func (m *OldUnoM) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OldUnoM.Merge(m, src)
}
func (m *OldUnoM) XXX_Size() int {
	return xxx_messageInfo_OldUnoM.Size(m)
}
func (m *OldUnoM) XXX_DiscardUnknown() {
	xxx_messageInfo_OldUnoM.DiscardUnknown(m)
}

var xxx_messageInfo_OldUnoM proto.InternalMessageInfo

func init() {
	proto.RegisterType((*A)(nil), "unrecognized.A")
	proto.RegisterType((*B)(nil), "unrecognized.B")
	proto.RegisterType((*D)(nil), "unrecognized.D")
	proto.RegisterType((*C)(nil), "unrecognized.C")
	proto.RegisterType((*U)(nil), "unrecognized.U")
	proto.RegisterType((*UnoM)(nil), "unrecognized.UnoM")
	proto.RegisterType((*OldA)(nil), "unrecognized.OldA")
	proto.RegisterType((*OldB)(nil), "unrecognized.OldB")
	proto.RegisterType((*OldC)(nil), "unrecognized.OldC")
	proto.RegisterType((*OldU)(nil), "unrecognized.OldU")
	proto.RegisterType((*OldUnoM)(nil), "unrecognized.OldUnoM")
}

func init() { proto.RegisterFile("unrecognized.proto", fileDescriptor_5318ad6f723bf9f6) }

var fileDescriptor_5318ad6f723bf9f6 = []byte{
	// 417 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0x3f, 0x4f, 0xf2, 0x50,
	0x14, 0xc6, 0x7b, 0x68, 0x81, 0x70, 0x5f, 0xde, 0xbc, 0x6f, 0x3a, 0x98, 0x1b, 0x8d, 0xb7, 0x37,
	0x9d, 0xba, 0x08, 0x91, 0xbf, 0x91, 0x49, 0xdb, 0xa6, 0x1a, 0x13, 0x43, 0xd2, 0x84, 0x2f, 0x00,
	0xc5, 0x4a, 0x82, 0xd4, 0x10, 0x58, 0x1c, 0x8c, 0xa3, 0xa3, 0x89, 0x5f, 0xc0, 0x6e, 0x8e, 0x8e,
	0x7e, 0x04, 0x46, 0x46, 0x47, 0xda, 0x4f, 0xe0, 0xe8, 0x68, 0x7a, 0x2d, 0xf5, 0x22, 0x90, 0xa0,
	0xdb, 0xbd, 0xcf, 0x73, 0xce, 0x79, 0x4e, 0xce, 0x0f, 0xc9, 0xe3, 0xc1, 0xb0, 0xdb, 0xf1, 0xdc,
	0x41, 0xef, 0xba, 0xeb, 0x14, 0xae, 0x86, 0xde, 0xc8, 0x93, 0xf3, 0xbc, 0xb6, 0xbd, 0xe7, 0xf6,
	0x46, 0x17, 0xe3, 0x76, 0xa1, 0xe3, 0x5d, 0x16, 0x5d, 0xcf, 0xf5, 0x8a, 0xac, 0xa8, 0x3d, 0x3e,
	0x67, 0x3f, 0xf6, 0x61, 0xaf, 0xcf, 0x66, 0xf5, 0x10, 0xc1, 0x91, 0xbc, 0x85, 0x32, 0x56, 0xaf,
	0xdb, 0x77, 0xf6, 0x71, 0x8a, 0x82, 0x26, 0xda, 0xf1, 0x4f, 0xde, 0x45, 0xa0, 0x63, 0xa0, 0xa2,
	0xf6, 0xa7, 0xf4, 0xaf, 0xb0, 0x90, 0xac, 0xdb, 0xa0, 0x37, 0xa4, 0xa9, 0xaf, 0x08, 0x6a, 0x07,
	0x81, 0x1e, 0x55, 0x1a, 0x18, 0x28, 0x2c, 0x57, 0x1a, 0x36, 0x18, 0x91, 0x6d, 0xb2, 0xd9, 0x4b,
	0xb6, 0x69, 0x83, 0x29, 0x53, 0x04, 0x16, 0x4e, 0x33, 0x5b, 0x5e, 0xb4, 0x9b, 0x7d, 0xc7, 0xb0,
	0xc1, 0x52, 0x77, 0x10, 0x98, 0xdc, 0x9a, 0xc0, 0xaf, 0xa9, 0x3e, 0x00, 0x02, 0x23, 0x71, 0x4b,
	0x2c, 0x08, 0x62, 0xb7, 0x94, 0xe8, 0x65, 0x2c, 0x52, 0xd0, 0x72, 0xb1, 0x5e, 0x4e, 0xf4, 0x0a,
	0x96, 0xb8, 0xfa, 0x4a, 0xa2, 0x57, 0x71, 0x9a, 0x8a, 0x5a, 0x3e, 0xd6, 0xab, 0x89, 0x5e, 0xc3,
	0x19, 0x2e, 0xbd, 0x96, 0xe8, 0x75, 0x9c, 0xa5, 0xa2, 0x96, 0x8a, 0xf5, 0xba, 0x7a, 0x80, 0xa0,
	0xb5, 0xb0, 0x94, 0xb8, 0x76, 0xa9, 0xbf, 0xf3, 0xa5, 0xe2, 0x93, 0x9e, 0x20, 0xa9, 0x35, 0xf0,
	0xce, 0x7e, 0xdc, 0xfd, 0xff, 0xce, 0x57, 0x84, 0x7b, 0x5f, 0x11, 0x1e, 0x7d, 0x45, 0x60, 0x93,
	0x2c, 0x24, 0x35, 0xfb, 0xce, 0x7a, 0xc2, 0xf4, 0x8b, 0xf0, 0xf2, 0xe5, 0x39, 0xc8, 0xa7, 0x6c,
	0x8e, 0x1e, 0xd5, 0xcf, 0x39, 0xaf, 0x24, 0x65, 0x6c, 0xc0, 0xf2, 0x86, 0xcd, 0x32, 0xd6, 0xe1,
	0xfc, 0x35, 0xc8, 0x4d, 0xc1, 0xd4, 0x58, 0x7e, 0xeb, 0x5b, 0x7e, 0x6e, 0x65, 0x3e, 0x77, 0x75,
	0xf5, 0x18, 0x65, 0xa3, 0x3e, 0x1e, 0xcc, 0x86, 0xad, 0x8d, 0x3c, 0x0f, 0x46, 0xaf, 0x4c, 0x02,
	0x22, 0x4c, 0x03, 0x22, 0xbc, 0x06, 0x44, 0x98, 0x05, 0x04, 0xde, 0x02, 0x02, 0xef, 0x01, 0x81,
	0xdb, 0x90, 0xc0, 0x53, 0x48, 0xe0, 0x39, 0x24, 0xf0, 0x12, 0x12, 0x98, 0x84, 0x04, 0xa6, 0x21,
	0x81, 0x59, 0x48, 0xe0, 0x23, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x6d, 0x38, 0x81, 0xfb, 0x03, 0x00,
	0x00,
}

func (this *A) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *B) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *D) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *C) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *U) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *UnoM) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *OldA) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *OldB) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *OldC) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *OldU) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func (this *OldUnoM) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return UnrecognizedDescription()
}
func UnrecognizedDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
	var gzipped = []byte{
		// 4119 bytes of a gzipped FileDescriptorSet
		0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0xdc, 0xe6,
		0x75, 0x26, 0xf6, 0x42, 0xee, 0x9e, 0x5d, 0x2e, 0x41, 0x90, 0xa6, 0x56, 0x74, 0x4c, 0x51, 0x6b,
		0x3b, 0xa6, 0xed, 0x98, 0x4a, 0x65, 0x5d, 0xac, 0x55, 0x13, 0x67, 0xb9, 0x5c, 0xd1, 0x54, 0x49,
		0x2e, 0x83, 0xe5, 0xc6, 0x97, 0x4c, 0x07, 0x03, 0x62, 0x7f, 0x2e, 0x21, 0x61, 0x01, 0x04, 0xc0,
		0x4a, 0xa6, 0xa6, 0xd3, 0x51, 0xc7, 0xbd, 0x65, 0x7a, 0x4b, 0x9b, 0xce, 0x34, 0x71, 0x1d, 0x37,
		0x4a, 0xa7, 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0xe9, 0x4b, 0x5a, 0x3f, 0x75, 0x9c,
		0xb7, 0x3e, 0xf4, 0xc1, 0x52, 0x3d, 0xd3, 0x9b, 0xdb, 0xa6, 0xad, 0x1e, 0x32, 0xa3, 0x97, 0xce,
		0x7f, 0xc3, 0x02, 0xd8, 0xa5, 0x00, 0x7a, 0xc6, 0xf6, 0x93, 0x88, 0xf3, 0x9f, 0xef, 0xc3, 0xf9,
		0xcf, 0x7f, 0xfe, 0x73, 0xce, 0xff, 0x63, 0x05, 0x6f, 0x56, 0x61, 0xb1, 0x6b, 0x59, 0x5d, 0x03,
		0x9d, 0xb2, 0x1d, 0xcb, 0xb3, 0x76, 0xfb, 0x7b, 0xa7, 0x3a, 0xc8, 0xd5, 0x1c, 0xdd, 0xf6, 0x2c,
		0x67, 0x99, 0xc8, 0xa4, 0x29, 0xaa, 0xb1, 0xcc, 0x35, 0x2a, 0x9b, 0x30, 0x7d, 0x49, 0x37, 0xd0,
		0xaa, 0xaf, 0xd8, 0x42, 0x9e, 0xf4, 0x0c, 0x64, 0xf6, 0x74, 0x03, 0x95, 0x85, 0xc5, 0xf4, 0x52,
		0xe1, 0xf4, 0x23, 0xcb, 0x11, 0xd0, 0x72, 0x18, 0xb1, 0x8d, 0xc5, 0x32, 0x41, 0x54, 0xde, 0xc9,
		0xc0, 0xcc, 0x88, 0x51, 0x49, 0x82, 0x8c, 0xa9, 0xf6, 0x30, 0xa3, 0xb0, 0x94, 0x97, 0xc9, 0xdf,
		0x52, 0x19, 0x26, 0x6c, 0x55, 0xbb, 0xaa, 0x76, 0x51, 0x39, 0x45, 0xc4, 0xfc, 0x51, 0x5a, 0x00,
		0xe8, 0x20, 0x1b, 0x99, 0x1d, 0x64, 0x6a, 0x07, 0xe5, 0xf4, 0x62, 0x7a, 0x29, 0x2f, 0x07, 0x24,
		0xd2, 0x93, 0x30, 0x6d, 0xf7, 0x77, 0x0d, 0x5d, 0x53, 0x02, 0x6a, 0xb0, 0x98, 0x5e, 0xca, 0xca,
		0x22, 0x1d, 0x58, 0x1d, 0x28, 0x3f, 0x06, 0x53, 0xd7, 0x91, 0x7a, 0x35, 0xa8, 0x5a, 0x20, 0xaa,
		0x25, 0x2c, 0x0e, 0x28, 0xd6, 0xa1, 0xd8, 0x43, 0xae, 0xab, 0x76, 0x91, 0xe2, 0x1d, 0xd8, 0xa8,
		0x9c, 0x21, 0xb3, 0x5f, 0x1c, 0x9a, 0x7d, 0x74, 0xe6, 0x05, 0x86, 0xda, 0x39, 0xb0, 0x91, 0x54,
		0x83, 0x3c, 0x32, 0xfb, 0x3d, 0xca, 0x90, 0x3d, 0xc4, 0x7f, 0x0d, 0xb3, 0xdf, 0x8b, 0xb2, 0xe4,
		0x30, 0x8c, 0x51, 0x4c, 0xb8, 0xc8, 0xb9, 0xa6, 0x6b, 0xa8, 0x3c, 0x4e, 0x08, 0x1e, 0x1b, 0x22,
		0x68, 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x75, 0xc8, 0xa3, 0x97, 0x3d, 0x64, 0xba, 0xba, 0x65,
		0x96, 0x27, 0x08, 0xc9, 0xa3, 0x23, 0x56, 0x11, 0x19, 0x9d, 0x28, 0xc5, 0x00, 0x27, 0x9d, 0x83,
		0x09, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0xcb, 0xb9, 0x45, 0x61, 0xa9, 0x70, 0xfa, 0x23, 0x23, 0x03,
		0xa1, 0x49, 0x75, 0x64, 0xae, 0x2c, 0xad, 0x83, 0xe8, 0x5a, 0x7d, 0x47, 0x43, 0x8a, 0x66, 0x75,
		0x90, 0xa2, 0x9b, 0x7b, 0x56, 0x39, 0x4f, 0x08, 0x4e, 0x0c, 0x4f, 0x84, 0x28, 0xd6, 0xad, 0x0e,
		0x5a, 0x37, 0xf7, 0x2c, 0xb9, 0xe4, 0x86, 0x9e, 0xa5, 0x39, 0x18, 0x77, 0x0f, 0x4c, 0x4f, 0x7d,
		0xb9, 0x5c, 0x24, 0x11, 0xc2, 0x9e, 0x2a, 0xdf, 0x1b, 0x87, 0xa9, 0x24, 0x21, 0x76, 0x11, 0xb2,
		0x7b, 0x78, 0x96, 0xe5, 0xd4, 0x51, 0x7c, 0x40, 0x31, 0x61, 0x27, 0x8e, 0xbf, 0x47, 0x27, 0xd6,
		0xa0, 0x60, 0x22, 0xd7, 0x43, 0x1d, 0x1a, 0x11, 0xe9, 0x84, 0x31, 0x05, 0x14, 0x34, 0x1c, 0x52,
		0x99, 0xf7, 0x14, 0x52, 0x2f, 0xc0, 0x94, 0x6f, 0x92, 0xe2, 0xa8, 0x66, 0x97, 0xc7, 0xe6, 0xa9,
		0x38, 0x4b, 0x96, 0x1b, 0x1c, 0x27, 0x63, 0x98, 0x5c, 0x42, 0xa1, 0x67, 0x69, 0x15, 0xc0, 0x32,
		0x91, 0xb5, 0xa7, 0x74, 0x90, 0x66, 0x94, 0x73, 0x87, 0x78, 0xa9, 0x89, 0x55, 0x86, 0xbc, 0x64,
		0x51, 0xa9, 0x66, 0x48, 0x17, 0x06, 0xa1, 0x36, 0x71, 0x48, 0xa4, 0x6c, 0xd2, 0x4d, 0x36, 0x14,
		0x6d, 0x6d, 0x28, 0x39, 0x08, 0xc7, 0x3d, 0xea, 0xb0, 0x99, 0xe5, 0x89, 0x11, 0xcb, 0xb1, 0x33,
		0x93, 0x19, 0x8c, 0x4e, 0x6c, 0xd2, 0x09, 0x3e, 0x4a, 0x0f, 0x83, 0x2f, 0x50, 0x48, 0x58, 0x01,
		0xc9, 0x42, 0x45, 0x2e, 0xdc, 0x52, 0x7b, 0x68, 0xfe, 0x06, 0x94, 0xc2, 0xee, 0x91, 0x66, 0x21,
		0xeb, 0x7a, 0xaa, 0xe3, 0x91, 0x28, 0xcc, 0xca, 0xf4, 0x41, 0x12, 0x21, 0x8d, 0xcc, 0x0e, 0xc9,
		0x72, 0x59, 0x19, 0xff, 0x29, 0x7d, 0x6a, 0x30, 0xe1, 0x34, 0x99, 0xf0, 0x47, 0x87, 0x57, 0x34,
		0xc4, 0x1c, 0x9d, 0xf7, 0xfc, 0x79, 0x98, 0x0c, 0x4d, 0x20, 0xe9, 0xab, 0x2b, 0x3f, 0x03, 0x0f,
		0x8c, 0xa4, 0x96, 0x5e, 0x80, 0xd9, 0xbe, 0xa9, 0x9b, 0x1e, 0x72, 0x6c, 0x07, 0xe1, 0x88, 0xa5,
		0xaf, 0x2a, 0xff, 0xcb, 0xc4, 0x21, 0x31, 0xd7, 0x0e, 0x6a, 0x53, 0x16, 0x79, 0xa6, 0x3f, 0x2c,
		0x7c, 0x22, 0x9f, 0xfb, 0xd7, 0x09, 0xf1, 0xe6, 0xcd, 0x9b, 0x37, 0x53, 0x95, 0x2f, 0x8d, 0xc3,
		0xec, 0xa8, 0x3d, 0x33, 0x72, 0xfb, 0xce, 0xc1, 0xb8, 0xd9, 0xef, 0xed, 0x22, 0x87, 0x38, 0x29,
		0x2b, 0xb3, 0x27, 0xa9, 0x06, 0x59, 0x43, 0xdd, 0x45, 0x46, 0x39, 0xb3, 0x28, 0x2c, 0x95, 0x4e,
		0x3f, 0x99, 0x68, 0x57, 0x2e, 0x6f, 0x60, 0x88, 0x4c, 0x91, 0xd2, 0x27, 0x21, 0xc3, 0x52, 0x34,
		0x66, 0x78, 0x22, 0x19, 0x03, 0xde, 0x4b, 0x32, 0xc1, 0x49, 0x0f, 0x42, 0x1e, 0xff, 0x4b, 0x63,
		0x63, 0x9c, 0xd8, 0x9c, 0xc3, 0x02, 0x1c, 0x17, 0xd2, 0x3c, 0xe4, 0xc8, 0x36, 0xe9, 0x20, 0x5e,
		0xda, 0xfc, 0x67, 0x1c, 0x58, 0x1d, 0xb4, 0xa7, 0xf6, 0x0d, 0x4f, 0xb9, 0xa6, 0x1a, 0x7d, 0x44,
		0x02, 0x3e, 0x2f, 0x17, 0x99, 0xf0, 0x33, 0x58, 0x26, 0x9d, 0x80, 0x02, 0xdd, 0x55, 0xba, 0xd9,
		0x41, 0x2f, 0x93, 0xec, 0x99, 0x95, 0xe9, 0x46, 0x5b, 0xc7, 0x12, 0xfc, 0xfa, 0x2b, 0xae, 0x65,
		0xf2, 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0xf3, 0xd1, 0xc4, 0xfd, 0xd0, 0xe8, 0xe9, 0x45,
		0x63, 0xaa, 0xf2, 0x9d, 0x14, 0x64, 0x48, 0xbe, 0x98, 0x82, 0xc2, 0xce, 0x8b, 0xdb, 0x0d, 0x65,
		0xb5, 0xd9, 0x5e, 0xd9, 0x68, 0x88, 0x82, 0x54, 0x02, 0x20, 0x82, 0x4b, 0x1b, 0xcd, 0xda, 0x8e,
		0x98, 0xf2, 0x9f, 0xd7, 0xb7, 0x76, 0xce, 0x9d, 0x11, 0xd3, 0x3e, 0xa0, 0x4d, 0x05, 0x99, 0xa0,
		0xc2, 0xd3, 0xa7, 0xc5, 0xac, 0x24, 0x42, 0x91, 0x12, 0xac, 0xbf, 0xd0, 0x58, 0x3d, 0x77, 0x46,
		0x1c, 0x0f, 0x4b, 0x9e, 0x3e, 0x2d, 0x4e, 0x48, 0x93, 0x90, 0x27, 0x92, 0x95, 0x66, 0x73, 0x43,
		0xcc, 0xf9, 0x9c, 0xad, 0x1d, 0x79, 0x7d, 0x6b, 0x4d, 0xcc, 0xfb, 0x9c, 0x6b, 0x72, 0xb3, 0xbd,
		0x2d, 0x82, 0xcf, 0xb0, 0xd9, 0x68, 0xb5, 0x6a, 0x6b, 0x0d, 0xb1, 0xe0, 0x6b, 0xac, 0xbc, 0xb8,
		0xd3, 0x68, 0x89, 0xc5, 0x90, 0x59, 0x4f, 0x9f, 0x16, 0x27, 0xfd, 0x57, 0x34, 0xb6, 0xda, 0x9b,
		0x62, 0x49, 0x9a, 0x86, 0x49, 0xfa, 0x0a, 0x6e, 0xc4, 0x54, 0x44, 0x74, 0xee, 0x8c, 0x28, 0x0e,
		0x0c, 0xa1, 0x2c, 0xd3, 0x21, 0xc1, 0xb9, 0x33, 0xa2, 0x54, 0xa9, 0x43, 0x96, 0x44, 0x97, 0x24,
		0x41, 0x69, 0xa3, 0xb6, 0xd2, 0xd8, 0x50, 0x9a, 0xdb, 0x3b, 0xeb, 0xcd, 0xad, 0xda, 0x86, 0x28,
		0x0c, 0x64, 0x72, 0xe3, 0xd3, 0xed, 0x75, 0xb9, 0xb1, 0x2a, 0xa6, 0x82, 0xb2, 0xed, 0x46, 0x6d,
		0xa7, 0xb1, 0x2a, 0xa6, 0x2b, 0x1a, 0xcc, 0x8e, 0xca, 0x93, 0x23, 0x77, 0x46, 0x60, 0x89, 0x53,
		0x87, 0x2c, 0x31, 0xe1, 0x1a, 0x5a, 0xe2, 0x7f, 0x4e, 0xc1, 0xcc, 0x88, 0x5a, 0x31, 0xf2, 0x25,
		0xcf, 0x42, 0x96, 0x86, 0x28, 0xad, 0x9e, 0x8f, 0x8f, 0x2c, 0x3a, 0x24, 0x60, 0x87, 0x2a, 0x28,
		0xc1, 0x05, 0x3b, 0x88, 0xf4, 0x21, 0x1d, 0x04, 0xa6, 0x18, 0xca, 0xe9, 0x3f, 0x3d, 0x94, 0xd3,
		0x69, 0xd9, 0x3b, 0x97, 0xa4, 0xec, 0x11, 0xd9, 0xd1, 0x72, 0x7b, 0x76, 0x44, 0x6e, 0xbf, 0x08,
		0xd3, 0x43, 0x44, 0x89, 0x73, 0xec, 0x2b, 0x02, 0x94, 0x0f, 0x73, 0x4e, 0x4c, 0xa6, 0x4b, 0x85,
		0x32, 0xdd, 0xc5, 0xa8, 0x07, 0x4f, 0x1e, 0xbe, 0x08, 0x43, 0x6b, 0xfd, 0x86, 0x00, 0x73, 0xa3,
		0x3b, 0xc5, 0x91, 0x36, 0x7c, 0x12, 0xc6, 0x7b, 0xc8, 0xdb, 0xb7, 0x78, 0xb7, 0xf4, 0xd1, 0x11,
		0x35, 0x18, 0x0f, 0x47, 0x17, 0x9b, 0xa1, 0x82, 0x45, 0x3c, 0x7d, 0x58, 0xbb, 0x47, 0xad, 0x19,
		0xb2, 0xf4, 0xf3, 0x29, 0x78, 0x60, 0x24, 0xf9, 0x48, 0x43, 0x1f, 0x02, 0xd0, 0x4d, 0xbb, 0xef,
		0xd1, 0x8e, 0x88, 0x26, 0xd8, 0x3c, 0x91, 0x90, 0xe4, 0x85, 0x93, 0x67, 0xdf, 0xf3, 0xc7, 0xd3,
		0x64, 0x1c, 0xa8, 0x88, 0x28, 0x3c, 0x33, 0x30, 0x34, 0x43, 0x0c, 0x5d, 0x38, 0x64, 0xa6, 0x43,
		0x81, 0xf9, 0x71, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0x9e, 0x6e, 0x76,
		0x49, 0x05, 0xc9, 0x55, 0xb3, 0x7b, 0xaa, 0xe1, 0x22, 0x79, 0x8a, 0x0e, 0xb7, 0xf8, 0x28, 0x46,
		0x90, 0x00, 0x72, 0x02, 0x88, 0xf1, 0x10, 0x82, 0x0e, 0xfb, 0x88, 0xca, 0xaf, 0xe6, 0xa1, 0x10,
		0xe8, 0xab, 0xa5, 0x93, 0x50, 0xbc, 0xa2, 0x5e, 0x53, 0x15, 0x7e, 0x56, 0xa2, 0x9e, 0x28, 0x60,
		0xd9, 0x36, 0x3b, 0x2f, 0x7d, 0x1c, 0x66, 0x89, 0x8a, 0xd5, 0xf7, 0x90, 0xa3, 0x68, 0x86, 0xea,
		0xba, 0xc4, 0x69, 0x39, 0xa2, 0x2a, 0xe1, 0xb1, 0x26, 0x1e, 0xaa, 0xf3, 0x11, 0xe9, 0x2c, 0xcc,
		0x10, 0x44, 0xaf, 0x6f, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, 0x49, 0x7c, 0xcb,
		0xa6, 0xb1, 0xc6, 0x26, 0x53, 0xc0, 0x16, 0xb9, 0xd2, 0x2a, 0x3c, 0x44, 0x60, 0x5d, 0x64, 0x22,
		0x47, 0xf5, 0x90, 0x82, 0x3e, 0xd7, 0x57, 0x0d, 0x57, 0x51, 0xcd, 0x8e, 0xb2, 0xaf, 0xba, 0xfb,
		0xe5, 0x59, 0x4c, 0xb0, 0x92, 0x2a, 0x0b, 0xf2, 0x71, 0xac, 0xb8, 0xc6, 0xf4, 0x1a, 0x44, 0xad,
		0x66, 0x76, 0x9e, 0x53, 0xdd, 0x7d, 0xa9, 0x0a, 0x73, 0x84, 0xc5, 0xf5, 0x1c, 0xdd, 0xec, 0x2a,
		0xda, 0x3e, 0xd2, 0xae, 0x2a, 0x7d, 0x6f, 0xef, 0x99, 0xf2, 0x83, 0xc1, 0xf7, 0x13, 0x0b, 0x5b,
		0x44, 0xa7, 0x8e, 0x55, 0xda, 0xde, 0xde, 0x33, 0x52, 0x0b, 0x8a, 0x78, 0x31, 0x7a, 0xfa, 0x0d,
		0xa4, 0xec, 0x59, 0x0e, 0x29, 0x8d, 0xa5, 0x11, 0xa9, 0x29, 0xe0, 0xc1, 0xe5, 0x26, 0x03, 0x6c,
		0x5a, 0x1d, 0x54, 0xcd, 0xb6, 0xb6, 0x1b, 0x8d, 0x55, 0xb9, 0xc0, 0x59, 0x2e, 0x59, 0x0e, 0x0e,
		0xa8, 0xae, 0xe5, 0x3b, 0xb8, 0x40, 0x03, 0xaa, 0x6b, 0x71, 0xf7, 0x9e, 0x85, 0x19, 0x4d, 0xa3,
		0x73, 0xd6, 0x35, 0x85, 0x9d, 0xb1, 0xdc, 0xb2, 0x18, 0x72, 0x96, 0xa6, 0xad, 0x51, 0x05, 0x16,
		0xe3, 0xae, 0x74, 0x01, 0x1e, 0x18, 0x38, 0x2b, 0x08, 0x9c, 0x1e, 0x9a, 0x65, 0x14, 0x7a, 0x16,
		0x66, 0xec, 0x83, 0x61, 0xa0, 0x14, 0x7a, 0xa3, 0x7d, 0x10, 0x85, 0x9d, 0x87, 0x59, 0x7b, 0xdf,
		0x1e, 0xc6, 0x3d, 0x11, 0xc4, 0x49, 0xf6, 0xbe, 0x1d, 0x05, 0x3e, 0x4a, 0x0e, 0xdc, 0x0e, 0xd2,
		0x54, 0x0f, 0x75, 0xca, 0xc7, 0x82, 0xea, 0x81, 0x01, 0xe9, 0x14, 0x88, 0x9a, 0xa6, 0x20, 0x53,
		0xdd, 0x35, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xf2, 0x89, 0xa0, 0x72, 0x49, 0xd3, 0x1a, 0x64,
		0xb4, 0x46, 0x06, 0xa5, 0x27, 0x60, 0xda, 0xda, 0xbd, 0xa2, 0xd1, 0x90, 0x54, 0x6c, 0x07, 0xed,
		0xe9, 0x2f, 0x97, 0x1f, 0x21, 0xfe, 0x9d, 0xc2, 0x03, 0x24, 0x20, 0xb7, 0x89, 0x58, 0x7a, 0x1c,
		0x44, 0xcd, 0xdd, 0x57, 0x1d, 0x9b, 0xe4, 0x64, 0xd7, 0x56, 0x35, 0x54, 0x7e, 0x94, 0xaa, 0x52,
		0xf9, 0x16, 0x17, 0xe3, 0x2d, 0xe1, 0x5e, 0xd7, 0xf7, 0x3c, 0xce, 0xf8, 0x18, 0xdd, 0x12, 0x44,
		0xc6, 0xd8, 0x96, 0x40, 0xc4, 0xae, 0x08, 0xbd, 0x78, 0x89, 0xa8, 0x95, 0xec, 0x7d, 0x3b, 0xf8,
		0xde, 0x87, 0x61, 0x12, 0x6b, 0x0e, 0x5e, 0xfa, 0x38, 0x6d, 0xc8, 0xec, 0xfd, 0xc0, 0x1b, 0xcf,
		0xc0, 0x1c, 0x56, 0xea, 0x21, 0x4f, 0xed, 0xa8, 0x9e, 0x1a, 0xd0, 0xfe, 0x18, 0xd1, 0xc6, 0x7e,
		0xdf, 0x64, 0x83, 0x21, 0x3b, 0x9d, 0xfe, 0xee, 0x81, 0x1f, 0x59, 0x4f, 0x51, 0x3b, 0xb1, 0x8c,
		0xc7, 0xd6, 0xfb, 0xd6, 0x74, 0x57, 0xaa, 0x50, 0x0c, 0x06, 0xbe, 0x94, 0x07, 0x1a, 0xfa, 0xa2,
		0x80, 0xbb, 0xa0, 0x7a, 0x73, 0x15, 0xf7, 0x2f, 0x2f, 0x35, 0xc4, 0x14, 0xee, 0xa3, 0x36, 0xd6,
		0x77, 0x1a, 0x8a, 0xdc, 0xde, 0xda, 0x59, 0xdf, 0x6c, 0x88, 0xe9, 0x60, 0xc3, 0xfe, 0x83, 0x14,
		0x94, 0xc2, 0x67, 0x2f, 0xe9, 0x27, 0xe1, 0x18, 0xbf, 0x28, 0x71, 0x91, 0xa7, 0x5c, 0xd7, 0x1d,
		0xb2, 0x17, 0x7b, 0x2a, 0xad, 0x8b, 0x7e, 0x34, 0xcc, 0x32, 0xad, 0x16, 0xf2, 0x9e, 0xd7, 0x1d,
		0xbc, 0xd3, 0x7a, 0xaa, 0x27, 0x6d, 0xc0, 0x09, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0x3b, 0xaa, 0xd3,
		0x51, 0x06, 0x57, 0x54, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0x03, 0x7d, 0x96, 0x8f, 0x98,
		0x56, 0x8b, 0x29, 0x0f, 0x8a, 0x43, 0x8d, 0xa9, 0x46, 0x22, 0x37, 0x7d, 0x58, 0xe4, 0x3e, 0x08,
		0xf9, 0x9e, 0x6a, 0x2b, 0xc8, 0xf4, 0x9c, 0x03, 0xd2, 0x71, 0xe7, 0xe4, 0x5c, 0x4f, 0xb5, 0x1b,
		0xf8, 0xf9, 0x83, 0x39, 0xf8, 0xfc, 0x53, 0x1a, 0x8a, 0xc1, 0xae, 0x1b, 0x1f, 0x62, 0x34, 0x52,
		0xa0, 0x04, 0x92, 0xc2, 0x1e, 0xbe, 0x6f, 0x8f, 0xbe, 0x5c, 0xc7, 0x95, 0xab, 0x3a, 0x4e, 0x7b,
		0x61, 0x99, 0x22, 0x71, 0xd7, 0x80, 0x43, 0x0b, 0xd1, 0xde, 0x23, 0x27, 0xb3, 0x27, 0x69, 0x0d,
		0xc6, 0xaf, 0xb8, 0x84, 0x7b, 0x9c, 0x70, 0x3f, 0x72, 0x7f, 0xee, 0xcb, 0x2d, 0x42, 0x9e, 0xbf,
		0xdc, 0x52, 0xb6, 0x9a, 0xf2, 0x66, 0x6d, 0x43, 0x66, 0x70, 0xe9, 0x38, 0x64, 0x0c, 0xf5, 0xc6,
		0x41, 0xb8, 0xc6, 0x11, 0x51, 0x52, 0xc7, 0x1f, 0x87, 0xcc, 0x75, 0xa4, 0x5e, 0x0d, 0x57, 0x16,
		0x22, 0x7a, 0x1f, 0x43, 0xff, 0x14, 0x64, 0x89, 0xbf, 0x24, 0x00, 0xe6, 0x31, 0x71, 0x4c, 0xca,
		0x41, 0xa6, 0xde, 0x94, 0x71, 0xf8, 0x8b, 0x50, 0xa4, 0x52, 0x65, 0x7b, 0xbd, 0x51, 0x6f, 0x88,
		0xa9, 0xca, 0x59, 0x18, 0xa7, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x38, 0xc6, 0x1e, 0x19, 0x87,
		0xc0, 0x47, 0xdb, 0x9b, 0x2b, 0x0d, 0x59, 0x4c, 0x05, 0x97, 0xd7, 0x85, 0x62, 0xb0, 0xe1, 0xfe,
		0x60, 0x62, 0xea, 0xfb, 0x02, 0x14, 0x02, 0x0d, 0x34, 0xee, 0x7c, 0x54, 0xc3, 0xb0, 0xae, 0x2b,
		0xaa, 0xa1, 0xab, 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x24, 0x5d, 0xb4, 0x0f, 0xc4, 0xf8,
		0xd7, 0x05, 0x10, 0xa3, 0xbd, 0x6b, 0xc4, 0x40, 0xe1, 0x43, 0x35, 0xf0, 0x35, 0x01, 0x4a, 0xe1,
		0x86, 0x35, 0x62, 0xde, 0xc9, 0x0f, 0xd5, 0xbc, 0xb7, 0x53, 0x30, 0x19, 0x6a, 0x53, 0x93, 0x5a,
		0xf7, 0x39, 0x98, 0xd6, 0x3b, 0xa8, 0x67, 0x5b, 0x1e, 0x32, 0xb5, 0x03, 0xc5, 0x40, 0xd7, 0x90,
		0x51, 0xae, 0x90, 0x44, 0x71, 0xea, 0xfe, 0x8d, 0xf0, 0xf2, 0xfa, 0x00, 0xb7, 0x81, 0x61, 0xd5,
		0x99, 0xf5, 0xd5, 0xc6, 0xe6, 0x76, 0x73, 0xa7, 0xb1, 0x55, 0x7f, 0x51, 0x69, 0x6f, 0xfd, 0xd4,
		0x56, 0xf3, 0xf9, 0x2d, 0x59, 0xd4, 0x23, 0x6a, 0xef, 0xe3, 0x56, 0xdf, 0x06, 0x31, 0x6a, 0x94,
		0x74, 0x0c, 0x46, 0x99, 0x25, 0x8e, 0x49, 0x33, 0x30, 0xb5, 0xd5, 0x54, 0x5a, 0xeb, 0xab, 0x0d,
		0xa5, 0x71, 0xe9, 0x52, 0xa3, 0xbe, 0xd3, 0xa2, 0x57, 0x1b, 0xbe, 0xf6, 0x4e, 0x78, 0x53, 0xbf,
		0x9a, 0x86, 0x99, 0x11, 0x96, 0x48, 0x35, 0x76, 0x28, 0xa1, 0xe7, 0xa4, 0xa7, 0x92, 0x58, 0xbf,
		0x8c, 0xbb, 0x82, 0x6d, 0xd5, 0xf1, 0xd8, 0x19, 0xe6, 0x71, 0xc0, 0x5e, 0x32, 0x3d, 0x7d, 0x4f,
		0x47, 0x0e, 0xbb, 0x09, 0xa2, 0x27, 0x95, 0xa9, 0x81, 0x9c, 0x5e, 0x06, 0x7d, 0x0c, 0x24, 0xdb,
		0x72, 0x75, 0x4f, 0xbf, 0x86, 0x14, 0xdd, 0xe4, 0xd7, 0x46, 0xf8, 0xe4, 0x92, 0x91, 0x45, 0x3e,
		0xb2, 0x6e, 0x7a, 0xbe, 0xb6, 0x89, 0xba, 0x6a, 0x44, 0x1b, 0x27, 0xf0, 0xb4, 0x2c, 0xf2, 0x11,
		0x5f, 0xfb, 0x24, 0x14, 0x3b, 0x56, 0x1f, 0xb7, 0x73, 0x54, 0x0f, 0xd7, 0x0b, 0x41, 0x2e, 0x50,
		0x99, 0xaf, 0xc2, 0x1a, 0xf5, 0xc1, 0x7d, 0x55, 0x51, 0x2e, 0x50, 0x19, 0x55, 0x79, 0x0c, 0xa6,
		0xd4, 0x6e, 0xd7, 0xc1, 0xe4, 0x9c, 0x88, 0x1e, 0x3d, 0x4a, 0xbe, 0x98, 0x28, 0xce, 0x5f, 0x86,
		0x1c, 0xf7, 0x03, 0x2e, 0xc9, 0xd8, 0x13, 0x8a, 0x4d, 0xcf, 0xd3, 0xa9, 0xa5, 0xbc, 0x9c, 0x33,
		0xf9, 0xe0, 0x49, 0x28, 0xea, 0xae, 0x32, 0xb8, 0x7e, 0x4f, 0x2d, 0xa6, 0x96, 0x72, 0x72, 0x41,
		0x77, 0xfd, 0xab, 0xcb, 0xca, 0x1b, 0x29, 0x28, 0x85, 0x3f, 0x1f, 0x48, 0xab, 0x90, 0x33, 0x2c,
		0x4d, 0x25, 0xa1, 0x45, 0xbf, 0x5d, 0x2d, 0xc5, 0x7c, 0x71, 0x58, 0xde, 0x60, 0xfa, 0xb2, 0x8f,
		0x9c, 0xff, 0x07, 0x01, 0x72, 0x5c, 0x2c, 0xcd, 0x41, 0xc6, 0x56, 0xbd, 0x7d, 0x42, 0x97, 0x5d,
		0x49, 0x89, 0x82, 0x4c, 0x9e, 0xb1, 0xdc, 0xb5, 0x55, 0x93, 0x84, 0x00, 0x93, 0xe3, 0x67, 0xbc,
		0xae, 0x06, 0x52, 0x3b, 0xe4, 0x5c, 0x63, 0xf5, 0x7a, 0xc8, 0xf4, 0x5c, 0xbe, 0xae, 0x4c, 0x5e,
		0x67, 0x62, 0xe9, 0x49, 0x98, 0xf6, 0x1c, 0x55, 0x37, 0x42, 0xba, 0x19, 0xa2, 0x2b, 0xf2, 0x01,
		0x5f, 0xb9, 0x0a, 0xc7, 0x39, 0x6f, 0x07, 0x79, 0xaa, 0xb6, 0x8f, 0x3a, 0x03, 0xd0, 0x38, 0xb9,
		0xbf, 0x38, 0xc6, 0x14, 0x56, 0xd9, 0x38, 0xc7, 0x56, 0x7e, 0x28, 0xc0, 0x34, 0x3f, 0x89, 0x75,
		0x7c, 0x67, 0x6d, 0x02, 0xa8, 0xa6, 0x69, 0x79, 0x41, 0x77, 0x0d, 0x87, 0xf2, 0x10, 0x6e, 0xb9,
		0xe6, 0x83, 0xe4, 0x00, 0xc1, 0x7c, 0x0f, 0x60, 0x30, 0x72, 0xa8, 0xdb, 0x4e, 0x40, 0x81, 0x7d,
		0x1b, 0x22, 0x1f, 0x18, 0xe9, 0xd9, 0x1d, 0xa8, 0x08, 0x1f, 0xd9, 0xa4, 0x59, 0xc8, 0xee, 0xa2,
		0xae, 0x6e, 0xb2, 0x1b, 0x5f, 0xfa, 0xc0, 0x6f, 0x58, 0x32, 0xfe, 0x0d, 0xcb, 0xca, 0x67, 0x61,
		0x46, 0xb3, 0x7a, 0x51, 0x73, 0x57, 0xc4, 0xc8, 0xfd, 0x81, 0xfb, 0x9c, 0xf0, 0x12, 0x0c, 0x5a,
		0xcc, 0x1f, 0x0b, 0xc2, 0xd7, 0x52, 0xe9, 0xb5, 0xed, 0x95, 0x6f, 0xa6, 0xe6, 0xd7, 0x28, 0x74,
		0x9b, 0xcf, 0x54, 0x46, 0x7b, 0x06, 0xd2, 0xb0, 0xf5, 0xf0, 0xf5, 0x27, 0xe1, 0xa9, 0xae, 0xee,
		0xed, 0xf7, 0x77, 0x97, 0x35, 0xab, 0x77, 0xaa, 0x6b, 0x75, 0xad, 0xc1, 0x37, 0x55, 0xfc, 0x44,
		0x1e, 0xc8, 0x5f, 0xec, 0xbb, 0x6a, 0xde, 0x97, 0xce, 0xc7, 0x7e, 0x84, 0xad, 0x6e, 0xc1, 0x0c,
		0x53, 0x56, 0xc8, 0x87, 0x1d, 0x7a, 0x3c, 0x91, 0xee, 0x7b, 0x39, 0x56, 0xfe, 0xf6, 0x3b, 0xa4,
		0x5c, 0xcb, 0xd3, 0x0c, 0x8a, 0xc7, 0xe8, 0x09, 0xa6, 0x2a, 0xc3, 0x03, 0x21, 0x3e, 0xba, 0x35,
		0x91, 0x13, 0xc3, 0xf8, 0x03, 0xc6, 0x38, 0x13, 0x60, 0x6c, 0x31, 0x68, 0xb5, 0x0e, 0x93, 0x47,
		0xe1, 0xfa, 0x3b, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x35, 0x98, 0x22, 0x24, 0x5a, 0xdf, 0xf5, 0xac,
		0x1e, 0xc9, 0x7b, 0xf7, 0xa7, 0xf9, 0xfb, 0x77, 0xe8, 0x5e, 0x29, 0x61, 0x58, 0xdd, 0x47, 0x55,
		0xab, 0x40, 0xbe, 0x65, 0x75, 0x90, 0x66, 0xc4, 0x30, 0xbc, 0xc9, 0x0c, 0xf1, 0xf5, 0xab, 0x9f,
		0x81, 0x59, 0xfc, 0x37, 0x49, 0x4b, 0x41, 0x4b, 0xe2, 0x6f, 0xd2, 0xca, 0x3f, 0x7c, 0x85, 0x6e,
		0xc7, 0x19, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0xbb, 0xc8, 0xf3, 0x90, 0xe3, 0x2a, 0xaa, 0x31,
		0xca, 0xbc, 0xc0, 0x55, 0x44, 0xf9, 0xcb, 0xef, 0x86, 0x57, 0x71, 0x8d, 0x22, 0x6b, 0x86, 0x51,
		0x6d, 0xc3, 0xb1, 0x11, 0x51, 0x91, 0x80, 0xf3, 0x55, 0xc6, 0x39, 0x3b, 0x14, 0x19, 0x98, 0x76,
		0x1b, 0xb8, 0xdc, 0x5f, 0xcb, 0x04, 0x9c, 0xbf, 0xcb, 0x38, 0x25, 0x86, 0xe5, 0x4b, 0x8a, 0x19,
		0x2f, 0xc3, 0xf4, 0x35, 0xe4, 0xec, 0x5a, 0x2e, 0xbb, 0xfe, 0x49, 0x40, 0xf7, 0x1a, 0xa3, 0x9b,
		0x62, 0x40, 0x72, 0x1f, 0x84, 0xb9, 0x2e, 0x40, 0x6e, 0x4f, 0xd5, 0x50, 0x02, 0x8a, 0xaf, 0x30,
		0x8a, 0x09, 0xac, 0x8f, 0xa1, 0x35, 0x28, 0x76, 0x2d, 0x56, 0x99, 0xe2, 0xe1, 0xaf, 0x33, 0x78,
		0x81, 0x63, 0x18, 0x85, 0x6d, 0xd9, 0x7d, 0x03, 0x97, 0xad, 0x78, 0x8a, 0xdf, 0xe3, 0x14, 0x1c,
		0xc3, 0x28, 0x8e, 0xe0, 0xd6, 0xaf, 0x72, 0x0a, 0x37, 0xe0, 0xcf, 0x67, 0xa1, 0x60, 0x99, 0xc6,
		0x81, 0x65, 0x26, 0x31, 0xe2, 0x16, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x17, 0x21, 0x9f, 0x74, 0x21,
		0xfe, 0xe0, 0x5d, 0xbe, 0x3d, 0xf8, 0x0a, 0xac, 0xc1, 0x14, 0x4f, 0x50, 0xba, 0x65, 0x26, 0xa0,
		0xf8, 0x3a, 0xa3, 0x28, 0x05, 0x60, 0x6c, 0x1a, 0x1e, 0x72, 0xbd, 0x2e, 0x4a, 0x42, 0xf2, 0x06,
		0x9f, 0x06, 0x83, 0x30, 0x57, 0xee, 0x22, 0x53, 0xdb, 0x4f, 0xc6, 0xf0, 0x0d, 0xee, 0x4a, 0x8e,
		0xc1, 0x14, 0x75, 0x98, 0xec, 0xa9, 0x8e, 0xbb, 0xaf, 0x1a, 0x89, 0x96, 0xe3, 0x0f, 0x19, 0x47,
		0xd1, 0x07, 0x31, 0x8f, 0xf4, 0xcd, 0xa3, 0xd0, 0x7c, 0x93, 0x7b, 0x24, 0x00, 0x63, 0x5b, 0xcf,
		0xf5, 0xc8, 0x5d, 0xd9, 0x51, 0xd8, 0xfe, 0x88, 0x6f, 0x3d, 0x8a, 0xdd, 0x0c, 0x32, 0x5e, 0x84,
		0xbc, 0xab, 0xdf, 0x48, 0x44, 0xf3, 0xc7, 0x7c, 0xa5, 0x09, 0x00, 0x83, 0x5f, 0x84, 0xe3, 0x23,
		0xcb, 0x44, 0x02, 0xb2, 0x3f, 0x61, 0x64, 0x73, 0x23, 0x4a, 0x05, 0x4b, 0x09, 0x47, 0xa5, 0xfc,
		0x53, 0x9e, 0x12, 0x50, 0x84, 0x6b, 0x1b, 0x9f, 0x15, 0x5c, 0x75, 0xef, 0x68, 0x5e, 0xfb, 0x33,
		0xee, 0x35, 0x8a, 0x0d, 0x79, 0x6d, 0x07, 0xe6, 0x18, 0xe3, 0xd1, 0xd6, 0xf5, 0x5b, 0x3c, 0xb1,
		0x52, 0x74, 0x3b, 0xbc, 0xba, 0x9f, 0x85, 0x79, 0xdf, 0x9d, 0xbc, 0x29, 0x75, 0x95, 0x9e, 0x6a,
		0x27, 0x60, 0xfe, 0x36, 0x63, 0xe6, 0x19, 0xdf, 0xef, 0x6a, 0xdd, 0x4d, 0xd5, 0xc6, 0xe4, 0x2f,
		0x40, 0x99, 0x93, 0xf7, 0x4d, 0x07, 0x69, 0x56, 0xd7, 0xd4, 0x6f, 0xa0, 0x4e, 0x02, 0xea, 0x3f,
		0x8f, 0x2c, 0x55, 0x3b, 0x00, 0xc7, 0xcc, 0xeb, 0x20, 0xfa, 0xbd, 0x8a, 0xa2, 0xf7, 0x6c, 0xcb,
		0xf1, 0x62, 0x18, 0xff, 0x82, 0xaf, 0x94, 0x8f, 0x5b, 0x27, 0xb0, 0x6a, 0x03, 0x4a, 0xe4, 0x31,
		0x69, 0x48, 0xfe, 0x25, 0x23, 0x9a, 0x1c, 0xa0, 0x58, 0xe2, 0xd0, 0xac, 0x9e, 0xad, 0x3a, 0x49,
		0xf2, 0xdf, 0x5f, 0xf1, 0xc4, 0xc1, 0x20, 0x2c, 0x71, 0x78, 0x07, 0x36, 0xc2, 0xd5, 0x3e, 0x01,
		0xc3, 0x77, 0x78, 0xe2, 0xe0, 0x18, 0x46, 0xc1, 0x1b, 0x86, 0x04, 0x14, 0x7f, 0xcd, 0x29, 0x38,
		0x06, 0x53, 0x7c, 0x7a, 0x50, 0x68, 0x1d, 0xd4, 0xd5, 0x5d, 0xcf, 0xa1, 0xad, 0xf0, 0xfd, 0xa9,
		0xbe, 0xfb, 0x6e, 0xb8, 0x09, 0x93, 0x03, 0x50, 0x9c, 0x89, 0xd8, 0x15, 0x2a, 0x39, 0x29, 0xc5,
		0x1b, 0xf6, 0x3d, 0x9e, 0x89, 0x02, 0x30, 0x6c, 0x5b, 0xa0, 0x43, 0xc4, 0x6e, 0xd7, 0xf0, 0xf9,
		0x20, 0x01, 0xdd, 0xf7, 0x23, 0xc6, 0xb5, 0x38, 0x16, 0x73, 0x06, 0xfa, 0x9f, 0xbe, 0x79, 0x15,
		0x1d, 0x24, 0x8a, 0xce, 0xbf, 0x89, 0xf4, 0x3f, 0x6d, 0x8a, 0xa4, 0x39, 0x64, 0x2a, 0xd2, 0x4f,
		0x49, 0x71, 0xbf, 0x02, 0x2a, 0xff, 0xdc, 0x5d, 0x36, 0xdf, 0x70, 0x3b, 0x55, 0xdd, 0xc0, 0x41,
		0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xb9, 0xeb, 0xc7, 0x79, 0xa8, 0xe7, 0xa9, 0x5e, 0x82, 0xc9,
		0x50, 0xc3, 0x13, 0x4f, 0xf5, 0xf3, 0x8c, 0xaa, 0x18, 0xec, 0x77, 0xaa, 0x67, 0x21, 0x83, 0x9b,
		0x97, 0x78, 0xf8, 0x2f, 0x30, 0x38, 0x51, 0xaf, 0x7e, 0x02, 0x72, 0xbc, 0x69, 0x89, 0x87, 0xfe,
		0x22, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0x97, 0x38, 0x9c, 0x43, 0x30, 0x3c,
		0xb9, 0x0b, 0xff, 0xf6, 0x57, 0x32, 0xac, 0xe8, 0x70, 0xdf, 0x5d, 0x84, 0x09, 0xd6, 0xa9, 0xc4,
		0xa3, 0x3f, 0xcf, 0x5e, 0xce, 0x11, 0xd5, 0xf3, 0x90, 0x4d, 0xe8, 0xf0, 0x5f, 0x63, 0x50, 0xaa,
		0x5f, 0xad, 0x43, 0x21, 0xd0, 0x9d, 0xc4, 0xc3, 0x7f, 0x9d, 0xc1, 0x83, 0x28, 0x6c, 0x3a, 0xeb,
		0x4e, 0xe2, 0x09, 0x7e, 0x83, 0x9b, 0xce, 0x10, 0xd8, 0x6d, 0xbc, 0x31, 0x89, 0x47, 0x7f, 0x81,
		0x7b, 0x9d, 0x43, 0xaa, 0xcf, 0x42, 0xde, 0x2f, 0x36, 0xf1, 0xf8, 0xdf, 0x64, 0xf8, 0x01, 0x06,
		0x7b, 0x20, 0x50, 0xec, 0xe2, 0x29, 0x7e, 0x8b, 0x7b, 0x20, 0x80, 0xc2, 0xdb, 0x28, 0xda, 0xc0,
		0xc4, 0x33, 0x7d, 0x91, 0x6f, 0xa3, 0x48, 0xff, 0x82, 0x57, 0x93, 0xe4, 0xfc, 0x78, 0x8a, 0xdf,
		0xe6, 0xab, 0x49, 0xf4, 0xb1, 0x19, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0x77, 0xb8, 0x19, 0x91, 0x86,
		0xa0, 0xba, 0x0d, 0xd2, 0x70, 0x37, 0x10, 0xcf, 0xf7, 0x25, 0xc6, 0x37, 0x3d, 0xd4, 0x0c, 0x54,
		0x9f, 0x87, 0xb9, 0xd1, 0x9d, 0x40, 0x3c, 0xeb, 0x97, 0xef, 0x46, 0xce, 0x6e, 0xc1, 0x46, 0xa0,
		0xba, 0x33, 0x28, 0x29, 0xc1, 0x2e, 0x20, 0x9e, 0xf6, 0xd5, 0xbb, 0xe1, 0xc4, 0x1d, 0x6c, 0x02,
		0xaa, 0x35, 0x80, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x8d, 0x71, 0x05, 0x40, 0x78, 0x6b, 0xb0, 0xfa,
		0x1b, 0x8f, 0xff, 0x0a, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xf1, 0xe8, 0xd7, 0xf9,
		0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0x81, 0xea, 0x16, 0xcf, 0x70, 0x8b, 0x47, 0x76, 0x00, 0x55, 0xdd,
		0x82, 0xe9, 0xa1, 0x82, 0x18, 0x4f, 0xf5, 0x35, 0x46, 0x25, 0x46, 0xeb, 0x61, 0xb0, 0x78, 0xb1,
		0x62, 0x18, 0xcf, 0xf6, 0xfb, 0x91, 0xe2, 0xc5, 0x6a, 0x61, 0xf5, 0x22, 0xe4, 0xcc, 0xbe, 0x61,
		0xe0, 0xcd, 0x23, 0xdd, 0xff, 0x97, 0x7b, 0xe5, 0x7f, 0xbb, 0xc7, 0xbc, 0xc3, 0x01, 0xd5, 0xb3,
		0x90, 0x45, 0xbd, 0x5d, 0xd4, 0x89, 0x43, 0xfe, 0xfb, 0x3d, 0x9e, 0x30, 0xb1, 0x76, 0xf5, 0x59,
		0x00, 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0xc5, 0x60, 0xff, 0xe3, 0x1e, 0xfb, 0x4d, 0xcd, 0x00, 0x32,
		0x20, 0xa0, 0xbf, 0xd0, 0xb9, 0x3f, 0xc1, 0xbb, 0x61, 0x02, 0xb2, 0x22, 0x17, 0x60, 0xe2, 0x8a,
		0x6b, 0x99, 0x9e, 0xda, 0x8d, 0x43, 0xff, 0x27, 0x43, 0x73, 0x7d, 0xec, 0xb0, 0x9e, 0xe5, 0x20,
		0x4f, 0xed, 0xba, 0x71, 0xd8, 0xff, 0x62, 0x58, 0x1f, 0x80, 0xc1, 0x9a, 0xea, 0x7a, 0x49, 0xe6,
		0xfd, 0xdf, 0x1c, 0xcc, 0x01, 0xd8, 0x68, 0xfc, 0xf7, 0x55, 0x74, 0x10, 0x87, 0xfd, 0x11, 0x37,
		0x9a, 0xe9, 0x57, 0x3f, 0x01, 0x79, 0xfc, 0x27, 0xfd, 0xa1, 0x5c, 0x0c, 0xf8, 0x7f, 0x18, 0x78,
		0x80, 0xc0, 0x6f, 0x76, 0xbd, 0x8e, 0xa7, 0xc7, 0x3b, 0xfb, 0x7f, 0xd9, 0x4a, 0x73, 0xfd, 0x6a,
		0x0d, 0x0a, 0xae, 0xd7, 0xe9, 0xf4, 0x59, 0x7f, 0x1a, 0x03, 0xff, 0xbf, 0x7b, 0xfe, 0x95, 0x85,
		0x8f, 0xc1, 0xab, 0x7d, 0xfd, 0xaa, 0x67, 0x5b, 0xe4, 0x33, 0x47, 0x1c, 0xc3, 0x5d, 0xc6, 0x10,
		0x80, 0xac, 0x34, 0x46, 0x5f, 0xdf, 0xc2, 0x9a, 0xb5, 0x66, 0xd1, 0x8b, 0xdb, 0x97, 0x2a, 0xf1,
		0x37, 0xb0, 0x70, 0x6f, 0x02, 0x27, 0xf3, 0x41, 0x6e, 0x63, 0xb7, 0xb1, 0xc5, 0xa0, 0x6c, 0xfe,
		0x68, 0x57, 0xb9, 0x95, 0x4f, 0x81, 0x50, 0x93, 0xe6, 0x60, 0x9c, 0xcc, 0xe1, 0x27, 0xc8, 0x15,
		0x75, 0x5a, 0x66, 0x4f, 0xd2, 0x43, 0x20, 0xac, 0xb0, 0xbb, 0xf2, 0xa9, 0xe5, 0xd0, 0x9b, 0x57,
		0x64, 0x61, 0xa5, 0x9a, 0x79, 0xeb, 0xd6, 0x89, 0xb1, 0x8a, 0x06, 0xc2, 0x0a, 0xd6, 0xac, 0x93,
		0x0f, 0x98, 0x43, 0x9a, 0x75, 0x59, 0xa8, 0xe3, 0xe1, 0x55, 0xf6, 0xd3, 0xcd, 0xc8, 0xf0, 0xaa,
		0x2c, 0xac, 0x4a, 0x8b, 0x20, 0x5c, 0x22, 0x1f, 0x6d, 0x0a, 0xa7, 0xa5, 0xf0, 0x70, 0xd3, 0xe8,
		0xd4, 0x65, 0xe1, 0x52, 0xe5, 0x41, 0x10, 0x56, 0x03, 0x66, 0x0a, 0x41, 0x33, 0x2b, 0x5f, 0x14,
		0x40, 0xa8, 0xfb, 0xa3, 0xa7, 0xc9, 0x8b, 0x04, 0x36, 0x7a, 0xda, 0x97, 0x3f, 0xcd, 0xbe, 0x4c,
		0xb0, 0x27, 0x5f, 0x7e, 0x86, 0x5c, 0xb4, 0x73, 0xfd, 0x33, 0xbe, 0xfc, 0x2c, 0xf9, 0xa1, 0x64,
		0x91, 0xc9, 0xcf, 0xfa, 0xf2, 0x73, 0xe4, 0xb3, 0x11, 0x7f, 0xfb, 0x39, 0x5f, 0x7e, 0x9e, 0xfc,
		0xd7, 0x93, 0x14, 0x93, 0x9f, 0xaf, 0x5c, 0x00, 0xa1, 0x1d, 0x32, 0x2a, 0x7d, 0xa8, 0x51, 0x93,
		0xdc, 0x28, 0xe6, 0xd2, 0xe7, 0x20, 0xd3, 0x36, 0xad, 0xcd, 0x23, 0xa3, 0xc5, 0x5f, 0xbe, 0x75,
		0x62, 0xec, 0x0b, 0xb7, 0x4e, 0x8c, 0x7d, 0xf5, 0xd6, 0x89, 0x31, 0xc2, 0x74, 0x09, 0x32, 0x4d,
		0xa3, 0x73, 0xf8, 0x0a, 0x2f, 0x0e, 0x56, 0x78, 0xd8, 0xf3, 0x81, 0x45, 0xbe, 0x4c, 0x78, 0x56,
		0xb0, 0x3e, 0x5f, 0xe7, 0x91, 0x2b, 0x55, 0x4f, 0xb0, 0x96, 0x3f, 0x4b, 0xb8, 0xea, 0x87, 0x2d,
		0xe7, 0x7b, 0x5e, 0xc8, 0xa4, 0x0b, 0x73, 0x8e, 0xbc, 0xbf, 0x1d, 0x79, 0x7f, 0x7e, 0xe4, 0xfb,
		0x03, 0x5e, 0xaf, 0xac, 0xc1, 0x04, 0xc6, 0x05, 0x17, 0x26, 0x21, 0xb4, 0x5a, 0x0c, 0x2e, 0xcc,
		0xca, 0x99, 0x37, 0x6f, 0x2f, 0x8c, 0xbd, 0x75, 0x7b, 0x61, 0xec, 0x1f, 0x6f, 0x2f, 0x8c, 0xbd,
		0x7d, 0x7b, 0x41, 0xf8, 0xd1, 0xed, 0x05, 0xe1, 0xc7, 0xb7, 0x17, 0x84, 0x9b, 0x77, 0x16, 0x84,
		0x6f, 0xdc, 0x59, 0x10, 0xbe, 0x75, 0x67, 0x41, 0xf8, 0xee, 0x9d, 0x05, 0xe1, 0xcd, 0x3b, 0x0b,
		0xc2, 0x5b, 0x77, 0x16, 0x84, 0xb7, 0xef, 0x2c, 0x08, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x4b,
		0x91, 0xe1, 0x56, 0xf2, 0x36, 0x00, 0x00,
	}
	r := bytes.NewReader(gzipped)
	gzipr, err := compress_gzip.NewReader(r)
	if err != nil {
		panic(err)
	}
	ungzipped, err := io_ioutil.ReadAll(gzipr)
	if err != nil {
		panic(err)
	}
	if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
		panic(err)
	}
	return d
}
func (this *A) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*A)
	if !ok {
		that2, ok := that.(A)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *A")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *A but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *A but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if len(this.B) != len(that1.B) {
		return fmt.Errorf("B this(%v) Not Equal that(%v)", len(this.B), len(that1.B))
	}
	for i := range this.B {
		if !this.B[i].Equal(that1.B[i]) {
			return fmt.Errorf("B this[%v](%v) Not Equal that[%v](%v)", i, this.B[i], i, that1.B[i])
		}
	}
	return nil
}
func (this *A) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*A)
	if !ok {
		that2, ok := that.(A)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if len(this.B) != len(that1.B) {
		return false
	}
	for i := range this.B {
		if !this.B[i].Equal(that1.B[i]) {
			return false
		}
	}
	return true
}
func (this *B) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*B)
	if !ok {
		that2, ok := that.(B)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *B")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *B but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *B but is not nil && this == nil")
	}
	if !this.C.Equal(that1.C) {
		return fmt.Errorf("C this(%v) Not Equal that(%v)", this.C, that1.C)
	}
	if !this.D.Equal(that1.D) {
		return fmt.Errorf("D this(%v) Not Equal that(%v)", this.D, that1.D)
	}
	if !this.F.Equal(that1.F) {
		return fmt.Errorf("F this(%v) Not Equal that(%v)", this.F, that1.F)
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *B) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*B)
	if !ok {
		that2, ok := that.(B)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if !this.C.Equal(that1.C) {
		return false
	}
	if !this.D.Equal(that1.D) {
		return false
	}
	if !this.F.Equal(that1.F) {
		return false
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *D) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*D)
	if !ok {
		that2, ok := that.(D)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *D")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *D but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *D but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *D) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*D)
	if !ok {
		that2, ok := that.(D)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *C) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*C)
	if !ok {
		that2, ok := that.(C)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *C")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *C but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *C but is not nil && this == nil")
	}
	if this.Field2 != nil && that1.Field2 != nil {
		if *this.Field2 != *that1.Field2 {
			return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", *this.Field2, *that1.Field2)
		}
	} else if this.Field2 != nil {
		return fmt.Errorf("this.Field2 == nil && that.Field2 != nil")
	} else if that1.Field2 != nil {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", this.Field2, that1.Field2)
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", *this.Field3, *that1.Field3)
		}
	} else if this.Field3 != nil {
		return fmt.Errorf("this.Field3 == nil && that.Field3 != nil")
	} else if that1.Field3 != nil {
		return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", this.Field3, that1.Field3)
	}
	if this.Field4 != nil && that1.Field4 != nil {
		if *this.Field4 != *that1.Field4 {
			return fmt.Errorf("Field4 this(%v) Not Equal that(%v)", *this.Field4, *that1.Field4)
		}
	} else if this.Field4 != nil {
		return fmt.Errorf("this.Field4 == nil && that.Field4 != nil")
	} else if that1.Field4 != nil {
		return fmt.Errorf("Field4 this(%v) Not Equal that(%v)", this.Field4, that1.Field4)
	}
	if len(this.Field5) != len(that1.Field5) {
		return fmt.Errorf("Field5 this(%v) Not Equal that(%v)", len(this.Field5), len(that1.Field5))
	}
	for i := range this.Field5 {
		if !bytes.Equal(this.Field5[i], that1.Field5[i]) {
			return fmt.Errorf("Field5 this[%v](%v) Not Equal that[%v](%v)", i, this.Field5[i], i, that1.Field5[i])
		}
	}
	if this.Field6 != nil && that1.Field6 != nil {
		if *this.Field6 != *that1.Field6 {
			return fmt.Errorf("Field6 this(%v) Not Equal that(%v)", *this.Field6, *that1.Field6)
		}
	} else if this.Field6 != nil {
		return fmt.Errorf("this.Field6 == nil && that.Field6 != nil")
	} else if that1.Field6 != nil {
		return fmt.Errorf("Field6 this(%v) Not Equal that(%v)", this.Field6, that1.Field6)
	}
	if len(this.Field7) != len(that1.Field7) {
		return fmt.Errorf("Field7 this(%v) Not Equal that(%v)", len(this.Field7), len(that1.Field7))
	}
	for i := range this.Field7 {
		if this.Field7[i] != that1.Field7[i] {
			return fmt.Errorf("Field7 this[%v](%v) Not Equal that[%v](%v)", i, this.Field7[i], i, that1.Field7[i])
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *C) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*C)
	if !ok {
		that2, ok := that.(C)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field2 != nil && that1.Field2 != nil {
		if *this.Field2 != *that1.Field2 {
			return false
		}
	} else if this.Field2 != nil {
		return false
	} else if that1.Field2 != nil {
		return false
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return false
		}
	} else if this.Field3 != nil {
		return false
	} else if that1.Field3 != nil {
		return false
	}
	if this.Field4 != nil && that1.Field4 != nil {
		if *this.Field4 != *that1.Field4 {
			return false
		}
	} else if this.Field4 != nil {
		return false
	} else if that1.Field4 != nil {
		return false
	}
	if len(this.Field5) != len(that1.Field5) {
		return false
	}
	for i := range this.Field5 {
		if !bytes.Equal(this.Field5[i], that1.Field5[i]) {
			return false
		}
	}
	if this.Field6 != nil && that1.Field6 != nil {
		if *this.Field6 != *that1.Field6 {
			return false
		}
	} else if this.Field6 != nil {
		return false
	} else if that1.Field6 != nil {
		return false
	}
	if len(this.Field7) != len(that1.Field7) {
		return false
	}
	for i := range this.Field7 {
		if this.Field7[i] != that1.Field7[i] {
			return false
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *U) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*U)
	if !ok {
		that2, ok := that.(U)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *U")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *U but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *U but is not nil && this == nil")
	}
	if len(this.Field2) != len(that1.Field2) {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", len(this.Field2), len(that1.Field2))
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return fmt.Errorf("Field2 this[%v](%v) Not Equal that[%v](%v)", i, this.Field2[i], i, that1.Field2[i])
		}
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", *this.Field3, *that1.Field3)
		}
	} else if this.Field3 != nil {
		return fmt.Errorf("this.Field3 == nil && that.Field3 != nil")
	} else if that1.Field3 != nil {
		return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", this.Field3, that1.Field3)
	}
	return nil
}
func (this *U) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*U)
	if !ok {
		that2, ok := that.(U)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if len(this.Field2) != len(that1.Field2) {
		return false
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return false
		}
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return false
		}
	} else if this.Field3 != nil {
		return false
	} else if that1.Field3 != nil {
		return false
	}
	return true
}
func (this *UnoM) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*UnoM)
	if !ok {
		that2, ok := that.(UnoM)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *UnoM")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *UnoM but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *UnoM but is not nil && this == nil")
	}
	if len(this.Field2) != len(that1.Field2) {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", len(this.Field2), len(that1.Field2))
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return fmt.Errorf("Field2 this[%v](%v) Not Equal that[%v](%v)", i, this.Field2[i], i, that1.Field2[i])
		}
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", *this.Field3, *that1.Field3)
		}
	} else if this.Field3 != nil {
		return fmt.Errorf("this.Field3 == nil && that.Field3 != nil")
	} else if that1.Field3 != nil {
		return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", this.Field3, that1.Field3)
	}
	return nil
}
func (this *UnoM) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*UnoM)
	if !ok {
		that2, ok := that.(UnoM)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if len(this.Field2) != len(that1.Field2) {
		return false
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return false
		}
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return false
		}
	} else if this.Field3 != nil {
		return false
	} else if that1.Field3 != nil {
		return false
	}
	return true
}
func (this *OldA) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*OldA)
	if !ok {
		that2, ok := that.(OldA)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *OldA")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *OldA but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *OldA but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if len(this.B) != len(that1.B) {
		return fmt.Errorf("B this(%v) Not Equal that(%v)", len(this.B), len(that1.B))
	}
	for i := range this.B {
		if !this.B[i].Equal(that1.B[i]) {
			return fmt.Errorf("B this[%v](%v) Not Equal that[%v](%v)", i, this.B[i], i, that1.B[i])
		}
	}
	return nil
}
func (this *OldA) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*OldA)
	if !ok {
		that2, ok := that.(OldA)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if len(this.B) != len(that1.B) {
		return false
	}
	for i := range this.B {
		if !this.B[i].Equal(that1.B[i]) {
			return false
		}
	}
	return true
}
func (this *OldB) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*OldB)
	if !ok {
		that2, ok := that.(OldB)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *OldB")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *OldB but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *OldB but is not nil && this == nil")
	}
	if !this.C.Equal(that1.C) {
		return fmt.Errorf("C this(%v) Not Equal that(%v)", this.C, that1.C)
	}
	if !this.F.Equal(that1.F) {
		return fmt.Errorf("F this(%v) Not Equal that(%v)", this.F, that1.F)
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *OldB) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*OldB)
	if !ok {
		that2, ok := that.(OldB)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if !this.C.Equal(that1.C) {
		return false
	}
	if !this.F.Equal(that1.F) {
		return false
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *OldC) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*OldC)
	if !ok {
		that2, ok := that.(OldC)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *OldC")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *OldC but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *OldC but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if this.Field2 != nil && that1.Field2 != nil {
		if *this.Field2 != *that1.Field2 {
			return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", *this.Field2, *that1.Field2)
		}
	} else if this.Field2 != nil {
		return fmt.Errorf("this.Field2 == nil && that.Field2 != nil")
	} else if that1.Field2 != nil {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", this.Field2, that1.Field2)
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", *this.Field3, *that1.Field3)
		}
	} else if this.Field3 != nil {
		return fmt.Errorf("this.Field3 == nil && that.Field3 != nil")
	} else if that1.Field3 != nil {
		return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", this.Field3, that1.Field3)
	}
	if this.Field6 != nil && that1.Field6 != nil {
		if *this.Field6 != *that1.Field6 {
			return fmt.Errorf("Field6 this(%v) Not Equal that(%v)", *this.Field6, *that1.Field6)
		}
	} else if this.Field6 != nil {
		return fmt.Errorf("this.Field6 == nil && that.Field6 != nil")
	} else if that1.Field6 != nil {
		return fmt.Errorf("Field6 this(%v) Not Equal that(%v)", this.Field6, that1.Field6)
	}
	if len(this.Field7) != len(that1.Field7) {
		return fmt.Errorf("Field7 this(%v) Not Equal that(%v)", len(this.Field7), len(that1.Field7))
	}
	for i := range this.Field7 {
		if this.Field7[i] != that1.Field7[i] {
			return fmt.Errorf("Field7 this[%v](%v) Not Equal that[%v](%v)", i, this.Field7[i], i, that1.Field7[i])
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *OldC) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*OldC)
	if !ok {
		that2, ok := that.(OldC)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if this.Field2 != nil && that1.Field2 != nil {
		if *this.Field2 != *that1.Field2 {
			return false
		}
	} else if this.Field2 != nil {
		return false
	} else if that1.Field2 != nil {
		return false
	}
	if this.Field3 != nil && that1.Field3 != nil {
		if *this.Field3 != *that1.Field3 {
			return false
		}
	} else if this.Field3 != nil {
		return false
	} else if that1.Field3 != nil {
		return false
	}
	if this.Field6 != nil && that1.Field6 != nil {
		if *this.Field6 != *that1.Field6 {
			return false
		}
	} else if this.Field6 != nil {
		return false
	} else if that1.Field6 != nil {
		return false
	}
	if len(this.Field7) != len(that1.Field7) {
		return false
	}
	for i := range this.Field7 {
		if this.Field7[i] != that1.Field7[i] {
			return false
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *OldU) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*OldU)
	if !ok {
		that2, ok := that.(OldU)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *OldU")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *OldU but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *OldU but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if len(this.Field2) != len(that1.Field2) {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", len(this.Field2), len(that1.Field2))
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return fmt.Errorf("Field2 this[%v](%v) Not Equal that[%v](%v)", i, this.Field2[i], i, that1.Field2[i])
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *OldU) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*OldU)
	if !ok {
		that2, ok := that.(OldU)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if len(this.Field2) != len(that1.Field2) {
		return false
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return false
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *OldUnoM) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*OldUnoM)
	if !ok {
		that2, ok := that.(OldUnoM)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *OldUnoM")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *OldUnoM but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *OldUnoM but is not nil && this == nil")
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", *this.Field1, *that1.Field1)
		}
	} else if this.Field1 != nil {
		return fmt.Errorf("this.Field1 == nil && that.Field1 != nil")
	} else if that1.Field1 != nil {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	if len(this.Field2) != len(that1.Field2) {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", len(this.Field2), len(that1.Field2))
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return fmt.Errorf("Field2 this[%v](%v) Not Equal that[%v](%v)", i, this.Field2[i], i, that1.Field2[i])
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *OldUnoM) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*OldUnoM)
	if !ok {
		that2, ok := that.(OldUnoM)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != nil && that1.Field1 != nil {
		if *this.Field1 != *that1.Field1 {
			return false
		}
	} else if this.Field1 != nil {
		return false
	} else if that1.Field1 != nil {
		return false
	}
	if len(this.Field2) != len(that1.Field2) {
		return false
	}
	for i := range this.Field2 {
		if this.Field2[i] != that1.Field2[i] {
			return false
		}
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *A) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.A{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "int64")+",\n")
	}
	if this.B != nil {
		s = append(s, "B: "+fmt.Sprintf("%#v", this.B)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *B) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 7)
	s = append(s, "&unrecognized.B{")
	if this.C != nil {
		s = append(s, "C: "+fmt.Sprintf("%#v", this.C)+",\n")
	}
	if this.D != nil {
		s = append(s, "D: "+fmt.Sprintf("%#v", this.D)+",\n")
	}
	if this.F != nil {
		s = append(s, "F: "+fmt.Sprintf("%#v", this.F)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *D) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&unrecognized.D{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "int64")+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *C) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 10)
	s = append(s, "&unrecognized.C{")
	if this.Field2 != nil {
		s = append(s, "Field2: "+valueToGoStringUnrecognized(this.Field2, "float64")+",\n")
	}
	if this.Field3 != nil {
		s = append(s, "Field3: "+valueToGoStringUnrecognized(this.Field3, "string")+",\n")
	}
	if this.Field4 != nil {
		s = append(s, "Field4: "+valueToGoStringUnrecognized(this.Field4, "float64")+",\n")
	}
	if this.Field5 != nil {
		s = append(s, "Field5: "+fmt.Sprintf("%#v", this.Field5)+",\n")
	}
	if this.Field6 != nil {
		s = append(s, "Field6: "+valueToGoStringUnrecognized(this.Field6, "int64")+",\n")
	}
	if this.Field7 != nil {
		s = append(s, "Field7: "+fmt.Sprintf("%#v", this.Field7)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *U) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.U{")
	if this.Field2 != nil {
		s = append(s, "Field2: "+fmt.Sprintf("%#v", this.Field2)+",\n")
	}
	if this.Field3 != nil {
		s = append(s, "Field3: "+valueToGoStringUnrecognized(this.Field3, "uint32")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *UnoM) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.UnoM{")
	if this.Field2 != nil {
		s = append(s, "Field2: "+fmt.Sprintf("%#v", this.Field2)+",\n")
	}
	if this.Field3 != nil {
		s = append(s, "Field3: "+valueToGoStringUnrecognized(this.Field3, "uint32")+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *OldA) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.OldA{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "int64")+",\n")
	}
	if this.B != nil {
		s = append(s, "B: "+fmt.Sprintf("%#v", this.B)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *OldB) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.OldB{")
	if this.C != nil {
		s = append(s, "C: "+fmt.Sprintf("%#v", this.C)+",\n")
	}
	if this.F != nil {
		s = append(s, "F: "+fmt.Sprintf("%#v", this.F)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *OldC) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 9)
	s = append(s, "&unrecognized.OldC{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "int64")+",\n")
	}
	if this.Field2 != nil {
		s = append(s, "Field2: "+valueToGoStringUnrecognized(this.Field2, "float64")+",\n")
	}
	if this.Field3 != nil {
		s = append(s, "Field3: "+valueToGoStringUnrecognized(this.Field3, "string")+",\n")
	}
	if this.Field6 != nil {
		s = append(s, "Field6: "+valueToGoStringUnrecognized(this.Field6, "int64")+",\n")
	}
	if this.Field7 != nil {
		s = append(s, "Field7: "+fmt.Sprintf("%#v", this.Field7)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *OldU) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.OldU{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "string")+",\n")
	}
	if this.Field2 != nil {
		s = append(s, "Field2: "+fmt.Sprintf("%#v", this.Field2)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *OldUnoM) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 6)
	s = append(s, "&unrecognized.OldUnoM{")
	if this.Field1 != nil {
		s = append(s, "Field1: "+valueToGoStringUnrecognized(this.Field1, "string")+",\n")
	}
	if this.Field2 != nil {
		s = append(s, "Field2: "+fmt.Sprintf("%#v", this.Field2)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func valueToGoStringUnrecognized(v interface{}, typ string) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func (m *A) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *A) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.B) > 0 {
		for _, msg := range m.B {
			dAtA[i] = 0xa
			i++
			i = encodeVarintUnrecognized(dAtA, i, uint64(msg.Size()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if m.Field1 != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field1))
	}
	return i, nil
}

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

func (m *B) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.C != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(m.C.Size()))
		n1, err := m.C.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n1
	}
	if m.D != nil {
		dAtA[i] = 0x12
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(m.D.Size()))
		n2, err := m.D.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n2
	}
	if m.F != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(m.F.Size()))
		n3, err := m.F.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n3
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

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

func (m *D) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Field1 != nil {
		dAtA[i] = 0x8
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field1))
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

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

func (m *C) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Field2 != nil {
		dAtA[i] = 0x11
		i++
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field2))))
		i += 8
	}
	if m.Field3 != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(len(*m.Field3)))
		i += copy(dAtA[i:], *m.Field3)
	}
	if m.Field4 != nil {
		dAtA[i] = 0x21
		i++
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field4))))
		i += 8
	}
	if len(m.Field5) > 0 {
		for _, b := range m.Field5 {
			dAtA[i] = 0x2a
			i++
			i = encodeVarintUnrecognized(dAtA, i, uint64(len(b)))
			i += copy(dAtA[i:], b)
		}
	}
	if m.Field6 != nil {
		dAtA[i] = 0x30
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field6))
	}
	if len(m.Field7) > 0 {
		for _, num := range m.Field7 {
			dAtA[i] = 0x3d
			i++
			f4 := math.Float32bits(float32(num))
			encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f4))
			i += 4
		}
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

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

func (m *U) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Field2) > 0 {
		for _, num := range m.Field2 {
			dAtA[i] = 0x11
			i++
			f5 := math.Float64bits(float64(num))
			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f5))
			i += 8
		}
	}
	if m.Field3 != nil {
		dAtA[i] = 0x18
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field3))
	}
	return i, nil
}

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

func (m *OldA) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.B) > 0 {
		for _, msg := range m.B {
			dAtA[i] = 0xa
			i++
			i = encodeVarintUnrecognized(dAtA, i, uint64(msg.Size()))
			n, err := msg.MarshalTo(dAtA[i:])
			if err != nil {
				return 0, err
			}
			i += n
		}
	}
	if m.Field1 != nil {
		dAtA[i] = 0x10
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field1))
	}
	return i, nil
}

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

func (m *OldB) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.C != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(m.C.Size()))
		n6, err := m.C.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n6
	}
	if m.F != nil {
		dAtA[i] = 0x2a
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(m.F.Size()))
		n7, err := m.F.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n7
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

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

func (m *OldC) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Field1 != nil {
		dAtA[i] = 0x8
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field1))
	}
	if m.Field2 != nil {
		dAtA[i] = 0x11
		i++
		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.Field2))))
		i += 8
	}
	if m.Field3 != nil {
		dAtA[i] = 0x1a
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(len(*m.Field3)))
		i += copy(dAtA[i:], *m.Field3)
	}
	if m.Field6 != nil {
		dAtA[i] = 0x30
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(*m.Field6))
	}
	if len(m.Field7) > 0 {
		for _, num := range m.Field7 {
			dAtA[i] = 0x3d
			i++
			f8 := math.Float32bits(float32(num))
			encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f8))
			i += 4
		}
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

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

func (m *OldU) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Field1 != nil {
		dAtA[i] = 0xa
		i++
		i = encodeVarintUnrecognized(dAtA, i, uint64(len(*m.Field1)))
		i += copy(dAtA[i:], *m.Field1)
	}
	if len(m.Field2) > 0 {
		for _, num := range m.Field2 {
			dAtA[i] = 0x11
			i++
			f9 := math.Float64bits(float64(num))
			encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(f9))
			i += 8
		}
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

func encodeVarintUnrecognized(dAtA []byte, offset int, v uint64) int {
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return offset + 1
}
func NewPopulatedA(r randyUnrecognized, easy bool) *A {
	this := &A{}
	if r.Intn(10) != 0 {
		v1 := r.Intn(5)
		this.B = make([]*B, v1)
		for i := 0; i < v1; i++ {
			this.B[i] = NewPopulatedB(r, easy)
		}
	}
	if r.Intn(10) != 0 {
		v2 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v2 *= -1
		}
		this.Field1 = &v2
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedB(r randyUnrecognized, easy bool) *B {
	this := &B{}
	if r.Intn(10) != 0 {
		this.C = NewPopulatedC(r, easy)
	}
	if r.Intn(10) != 0 {
		this.D = NewPopulatedD(r, easy)
	}
	if r.Intn(10) != 0 {
		this.F = NewPopulatedOldC(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 6)
	}
	return this
}

func NewPopulatedD(r randyUnrecognized, easy bool) *D {
	this := &D{}
	if r.Intn(10) != 0 {
		v3 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v3 *= -1
		}
		this.Field1 = &v3
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 2)
	}
	return this
}

func NewPopulatedC(r randyUnrecognized, easy bool) *C {
	this := &C{}
	if r.Intn(10) != 0 {
		v4 := float64(r.Float64())
		if r.Intn(2) == 0 {
			v4 *= -1
		}
		this.Field2 = &v4
	}
	if r.Intn(10) != 0 {
		v5 := string(randStringUnrecognized(r))
		this.Field3 = &v5
	}
	if r.Intn(10) != 0 {
		v6 := float64(r.Float64())
		if r.Intn(2) == 0 {
			v6 *= -1
		}
		this.Field4 = &v6
	}
	if r.Intn(10) != 0 {
		v7 := r.Intn(10)
		this.Field5 = make([][]byte, v7)
		for i := 0; i < v7; i++ {
			v8 := r.Intn(100)
			this.Field5[i] = make([]byte, v8)
			for j := 0; j < v8; j++ {
				this.Field5[i][j] = byte(r.Intn(256))
			}
		}
	}
	if r.Intn(10) != 0 {
		v9 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v9 *= -1
		}
		this.Field6 = &v9
	}
	if r.Intn(10) != 0 {
		v10 := r.Intn(10)
		this.Field7 = make([]float32, v10)
		for i := 0; i < v10; i++ {
			this.Field7[i] = float32(r.Float32())
			if r.Intn(2) == 0 {
				this.Field7[i] *= -1
			}
		}
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 8)
	}
	return this
}

func NewPopulatedU(r randyUnrecognized, easy bool) *U {
	this := &U{}
	if r.Intn(10) != 0 {
		v11 := r.Intn(10)
		this.Field2 = make([]float64, v11)
		for i := 0; i < v11; i++ {
			this.Field2[i] = float64(r.Float64())
			if r.Intn(2) == 0 {
				this.Field2[i] *= -1
			}
		}
	}
	if r.Intn(10) != 0 {
		v12 := uint32(r.Uint32())
		this.Field3 = &v12
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedUnoM(r randyUnrecognized, easy bool) *UnoM {
	this := &UnoM{}
	if r.Intn(10) != 0 {
		v13 := r.Intn(10)
		this.Field2 = make([]float64, v13)
		for i := 0; i < v13; i++ {
			this.Field2[i] = float64(r.Float64())
			if r.Intn(2) == 0 {
				this.Field2[i] *= -1
			}
		}
	}
	if r.Intn(10) != 0 {
		v14 := uint32(r.Uint32())
		this.Field3 = &v14
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedOldA(r randyUnrecognized, easy bool) *OldA {
	this := &OldA{}
	if r.Intn(10) != 0 {
		v15 := r.Intn(5)
		this.B = make([]*OldB, v15)
		for i := 0; i < v15; i++ {
			this.B[i] = NewPopulatedOldB(r, easy)
		}
	}
	if r.Intn(10) != 0 {
		v16 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v16 *= -1
		}
		this.Field1 = &v16
	}
	if !easy && r.Intn(10) != 0 {
	}
	return this
}

func NewPopulatedOldB(r randyUnrecognized, easy bool) *OldB {
	this := &OldB{}
	if r.Intn(10) != 0 {
		this.C = NewPopulatedOldC(r, easy)
	}
	if r.Intn(10) != 0 {
		this.F = NewPopulatedOldC(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 6)
	}
	return this
}

func NewPopulatedOldC(r randyUnrecognized, easy bool) *OldC {
	this := &OldC{}
	if r.Intn(10) != 0 {
		v17 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v17 *= -1
		}
		this.Field1 = &v17
	}
	if r.Intn(10) != 0 {
		v18 := float64(r.Float64())
		if r.Intn(2) == 0 {
			v18 *= -1
		}
		this.Field2 = &v18
	}
	if r.Intn(10) != 0 {
		v19 := string(randStringUnrecognized(r))
		this.Field3 = &v19
	}
	if r.Intn(10) != 0 {
		v20 := int64(r.Int63())
		if r.Intn(2) == 0 {
			v20 *= -1
		}
		this.Field6 = &v20
	}
	if r.Intn(10) != 0 {
		v21 := r.Intn(10)
		this.Field7 = make([]float32, v21)
		for i := 0; i < v21; i++ {
			this.Field7[i] = float32(r.Float32())
			if r.Intn(2) == 0 {
				this.Field7[i] *= -1
			}
		}
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 8)
	}
	return this
}

func NewPopulatedOldU(r randyUnrecognized, easy bool) *OldU {
	this := &OldU{}
	if r.Intn(10) != 0 {
		v22 := string(randStringUnrecognized(r))
		this.Field1 = &v22
	}
	if r.Intn(10) != 0 {
		v23 := r.Intn(10)
		this.Field2 = make([]float64, v23)
		for i := 0; i < v23; i++ {
			this.Field2[i] = float64(r.Float64())
			if r.Intn(2) == 0 {
				this.Field2[i] *= -1
			}
		}
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 3)
	}
	return this
}

func NewPopulatedOldUnoM(r randyUnrecognized, easy bool) *OldUnoM {
	this := &OldUnoM{}
	if r.Intn(10) != 0 {
		v24 := string(randStringUnrecognized(r))
		this.Field1 = &v24
	}
	if r.Intn(10) != 0 {
		v25 := r.Intn(10)
		this.Field2 = make([]float64, v25)
		for i := 0; i < v25; i++ {
			this.Field2[i] = float64(r.Float64())
			if r.Intn(2) == 0 {
				this.Field2[i] *= -1
			}
		}
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedUnrecognized(r, 3)
	}
	return this
}

type randyUnrecognized interface {
	Float32() float32
	Float64() float64
	Int63() int64
	Int31() int32
	Uint32() uint32
	Intn(n int) int
}

func randUTF8RuneUnrecognized(r randyUnrecognized) rune {
	ru := r.Intn(62)
	if ru < 10 {
		return rune(ru + 48)
	} else if ru < 36 {
		return rune(ru + 55)
	}
	return rune(ru + 61)
}
func randStringUnrecognized(r randyUnrecognized) string {
	v26 := r.Intn(100)
	tmps := make([]rune, v26)
	for i := 0; i < v26; i++ {
		tmps[i] = randUTF8RuneUnrecognized(r)
	}
	return string(tmps)
}
func randUnrecognizedUnrecognized(r randyUnrecognized, maxFieldNumber int) (dAtA []byte) {
	l := r.Intn(5)
	for i := 0; i < l; i++ {
		wire := r.Intn(4)
		if wire == 3 {
			wire = 5
		}
		fieldNumber := maxFieldNumber + r.Intn(100)
		dAtA = randFieldUnrecognized(dAtA, r, fieldNumber, wire)
	}
	return dAtA
}
func randFieldUnrecognized(dAtA []byte, r randyUnrecognized, fieldNumber int, wire int) []byte {
	key := uint32(fieldNumber)<<3 | uint32(wire)
	switch wire {
	case 0:
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(key))
		v27 := r.Int63()
		if r.Intn(2) == 0 {
			v27 *= -1
		}
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(v27))
	case 1:
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	case 2:
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(key))
		ll := r.Intn(100)
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(ll))
		for j := 0; j < ll; j++ {
			dAtA = append(dAtA, byte(r.Intn(256)))
		}
	default:
		dAtA = encodeVarintPopulateUnrecognized(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	}
	return dAtA
}
func encodeVarintPopulateUnrecognized(dAtA []byte, v uint64) []byte {
	for v >= 1<<7 {
		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
		v >>= 7
	}
	dAtA = append(dAtA, uint8(v))
	return dAtA
}
func (m *A) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if len(m.B) > 0 {
		for _, e := range m.B {
			l = e.Size()
			n += 1 + l + sovUnrecognized(uint64(l))
		}
	}
	if m.Field1 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field1))
	}
	return n
}

func (m *B) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.C != nil {
		l = m.C.Size()
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.D != nil {
		l = m.D.Size()
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.F != nil {
		l = m.F.Size()
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *D) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Field1 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field1))
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *C) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Field2 != nil {
		n += 9
	}
	if m.Field3 != nil {
		l = len(*m.Field3)
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.Field4 != nil {
		n += 9
	}
	if len(m.Field5) > 0 {
		for _, b := range m.Field5 {
			l = len(b)
			n += 1 + l + sovUnrecognized(uint64(l))
		}
	}
	if m.Field6 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field6))
	}
	if len(m.Field7) > 0 {
		n += 5 * len(m.Field7)
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *U) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if len(m.Field2) > 0 {
		n += 9 * len(m.Field2)
	}
	if m.Field3 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field3))
	}
	return n
}

func (m *OldA) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if len(m.B) > 0 {
		for _, e := range m.B {
			l = e.Size()
			n += 1 + l + sovUnrecognized(uint64(l))
		}
	}
	if m.Field1 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field1))
	}
	return n
}

func (m *OldB) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.C != nil {
		l = m.C.Size()
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.F != nil {
		l = m.F.Size()
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *OldC) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Field1 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field1))
	}
	if m.Field2 != nil {
		n += 9
	}
	if m.Field3 != nil {
		l = len(*m.Field3)
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if m.Field6 != nil {
		n += 1 + sovUnrecognized(uint64(*m.Field6))
	}
	if len(m.Field7) > 0 {
		n += 5 * len(m.Field7)
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *OldU) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Field1 != nil {
		l = len(*m.Field1)
		n += 1 + l + sovUnrecognized(uint64(l))
	}
	if len(m.Field2) > 0 {
		n += 9 * len(m.Field2)
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func sovUnrecognized(x uint64) (n int) {
	for {
		n++
		x >>= 7
		if x == 0 {
			break
		}
	}
	return n
}
func sozUnrecognized(x uint64) (n int) {
	return sovUnrecognized(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *A) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&A{`,
		`B:` + strings.Replace(fmt.Sprintf("%v", this.B), "B", "B", 1) + `,`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *B) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&B{`,
		`C:` + strings.Replace(fmt.Sprintf("%v", this.C), "C", "C", 1) + `,`,
		`D:` + strings.Replace(fmt.Sprintf("%v", this.D), "D", "D", 1) + `,`,
		`F:` + strings.Replace(fmt.Sprintf("%v", this.F), "OldC", "OldC", 1) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *D) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&D{`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *C) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&C{`,
		`Field2:` + valueToStringUnrecognized(this.Field2) + `,`,
		`Field3:` + valueToStringUnrecognized(this.Field3) + `,`,
		`Field4:` + valueToStringUnrecognized(this.Field4) + `,`,
		`Field5:` + fmt.Sprintf("%v", this.Field5) + `,`,
		`Field6:` + valueToStringUnrecognized(this.Field6) + `,`,
		`Field7:` + fmt.Sprintf("%v", this.Field7) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *U) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&U{`,
		`Field2:` + fmt.Sprintf("%v", this.Field2) + `,`,
		`Field3:` + valueToStringUnrecognized(this.Field3) + `,`,
		`}`,
	}, "")
	return s
}
func (this *UnoM) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&UnoM{`,
		`Field2:` + fmt.Sprintf("%v", this.Field2) + `,`,
		`Field3:` + valueToStringUnrecognized(this.Field3) + `,`,
		`}`,
	}, "")
	return s
}
func (this *OldA) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&OldA{`,
		`B:` + strings.Replace(fmt.Sprintf("%v", this.B), "OldB", "OldB", 1) + `,`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *OldB) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&OldB{`,
		`C:` + strings.Replace(fmt.Sprintf("%v", this.C), "OldC", "OldC", 1) + `,`,
		`F:` + strings.Replace(fmt.Sprintf("%v", this.F), "OldC", "OldC", 1) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *OldC) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&OldC{`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`Field2:` + valueToStringUnrecognized(this.Field2) + `,`,
		`Field3:` + valueToStringUnrecognized(this.Field3) + `,`,
		`Field6:` + valueToStringUnrecognized(this.Field6) + `,`,
		`Field7:` + fmt.Sprintf("%v", this.Field7) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *OldU) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&OldU{`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`Field2:` + fmt.Sprintf("%v", this.Field2) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *OldUnoM) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&OldUnoM{`,
		`Field1:` + valueToStringUnrecognized(this.Field1) + `,`,
		`Field2:` + fmt.Sprintf("%v", this.Field2) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func valueToStringUnrecognized(v interface{}) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("*%v", pv)
}
func (m *A) 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 ErrIntOverflowUnrecognized
			}
			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: A: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: A: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.B = append(m.B, &B{})
			if err := m.B[len(m.B)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field1", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field1 = &v
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *B) 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 ErrIntOverflowUnrecognized
			}
			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: B: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: B: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.C == nil {
				m.C = &C{}
			}
			if err := m.C.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.D == nil {
				m.D = &D{}
			}
			if err := m.D.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.F == nil {
				m.F = &OldC{}
			}
			if err := m.F.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *D) 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 ErrIntOverflowUnrecognized
			}
			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: D: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: D: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field1", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field1 = &v
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *C) 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 ErrIntOverflowUnrecognized
			}
			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: C: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: C: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 2:
			if wireType != 1 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field2", wireType)
			}
			var v uint64
			if (iNdEx + 8) > l {
				return io.ErrUnexpectedEOF
			}
			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
			iNdEx += 8
			v2 := float64(math.Float64frombits(v))
			m.Field2 = &v2
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field3", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				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 ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.Field3 = &s
			iNdEx = postIndex
		case 4:
			if wireType != 1 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field4", wireType)
			}
			var v uint64
			if (iNdEx + 8) > l {
				return io.ErrUnexpectedEOF
			}
			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
			iNdEx += 8
			v2 := float64(math.Float64frombits(v))
			m.Field4 = &v2
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field5", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Field5 = append(m.Field5, make([]byte, postIndex-iNdEx))
			copy(m.Field5[len(m.Field5)-1], dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 6:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field6", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field6 = &v
		case 7:
			if wireType == 5 {
				var v uint32
				if (iNdEx + 4) > l {
					return io.ErrUnexpectedEOF
				}
				v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
				iNdEx += 4
				v2 := float32(math.Float32frombits(v))
				m.Field7 = append(m.Field7, v2)
			} else if wireType == 2 {
				var packedLen int
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return ErrIntOverflowUnrecognized
					}
					if iNdEx >= l {
						return io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					packedLen |= int(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				if packedLen < 0 {
					return ErrInvalidLengthUnrecognized
				}
				postIndex := iNdEx + packedLen
				if postIndex < 0 {
					return ErrInvalidLengthUnrecognized
				}
				if postIndex > l {
					return io.ErrUnexpectedEOF
				}
				var elementCount int
				elementCount = packedLen / 4
				if elementCount != 0 && len(m.Field7) == 0 {
					m.Field7 = make([]float32, 0, elementCount)
				}
				for iNdEx < postIndex {
					var v uint32
					if (iNdEx + 4) > l {
						return io.ErrUnexpectedEOF
					}
					v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
					iNdEx += 4
					v2 := float32(math.Float32frombits(v))
					m.Field7 = append(m.Field7, v2)
				}
			} else {
				return fmt.Errorf("proto: wrong wireType = %d for field Field7", wireType)
			}
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *U) 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 ErrIntOverflowUnrecognized
			}
			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: U: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: U: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 2:
			if wireType == 1 {
				var v uint64
				if (iNdEx + 8) > l {
					return io.ErrUnexpectedEOF
				}
				v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
				iNdEx += 8
				v2 := float64(math.Float64frombits(v))
				m.Field2 = append(m.Field2, v2)
			} else if wireType == 2 {
				var packedLen int
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return ErrIntOverflowUnrecognized
					}
					if iNdEx >= l {
						return io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					packedLen |= int(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				if packedLen < 0 {
					return ErrInvalidLengthUnrecognized
				}
				postIndex := iNdEx + packedLen
				if postIndex < 0 {
					return ErrInvalidLengthUnrecognized
				}
				if postIndex > l {
					return io.ErrUnexpectedEOF
				}
				var elementCount int
				elementCount = packedLen / 8
				if elementCount != 0 && len(m.Field2) == 0 {
					m.Field2 = make([]float64, 0, elementCount)
				}
				for iNdEx < postIndex {
					var v uint64
					if (iNdEx + 8) > l {
						return io.ErrUnexpectedEOF
					}
					v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
					iNdEx += 8
					v2 := float64(math.Float64frombits(v))
					m.Field2 = append(m.Field2, v2)
				}
			} else {
				return fmt.Errorf("proto: wrong wireType = %d for field Field2", wireType)
			}
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field3", wireType)
			}
			var v uint32
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= uint32(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field3 = &v
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *OldA) 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 ErrIntOverflowUnrecognized
			}
			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: OldA: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: OldA: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.B = append(m.B, &OldB{})
			if err := m.B[len(m.B)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field1", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field1 = &v
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *OldB) 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 ErrIntOverflowUnrecognized
			}
			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: OldB: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: OldB: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.C == nil {
				m.C = &OldC{}
			}
			if err := m.C.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.F == nil {
				m.F = &OldC{}
			}
			if err := m.F.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *OldC) 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 ErrIntOverflowUnrecognized
			}
			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: OldC: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: OldC: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field1", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field1 = &v
		case 2:
			if wireType != 1 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field2", wireType)
			}
			var v uint64
			if (iNdEx + 8) > l {
				return io.ErrUnexpectedEOF
			}
			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
			iNdEx += 8
			v2 := float64(math.Float64frombits(v))
			m.Field2 = &v2
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field3", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				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 ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.Field3 = &s
			iNdEx = postIndex
		case 6:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field6", wireType)
			}
			var v int64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				v |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Field6 = &v
		case 7:
			if wireType == 5 {
				var v uint32
				if (iNdEx + 4) > l {
					return io.ErrUnexpectedEOF
				}
				v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
				iNdEx += 4
				v2 := float32(math.Float32frombits(v))
				m.Field7 = append(m.Field7, v2)
			} else if wireType == 2 {
				var packedLen int
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return ErrIntOverflowUnrecognized
					}
					if iNdEx >= l {
						return io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					packedLen |= int(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				if packedLen < 0 {
					return ErrInvalidLengthUnrecognized
				}
				postIndex := iNdEx + packedLen
				if postIndex < 0 {
					return ErrInvalidLengthUnrecognized
				}
				if postIndex > l {
					return io.ErrUnexpectedEOF
				}
				var elementCount int
				elementCount = packedLen / 4
				if elementCount != 0 && len(m.Field7) == 0 {
					m.Field7 = make([]float32, 0, elementCount)
				}
				for iNdEx < postIndex {
					var v uint32
					if (iNdEx + 4) > l {
						return io.ErrUnexpectedEOF
					}
					v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
					iNdEx += 4
					v2 := float32(math.Float32frombits(v))
					m.Field7 = append(m.Field7, v2)
				}
			} else {
				return fmt.Errorf("proto: wrong wireType = %d for field Field7", wireType)
			}
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *OldU) 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 ErrIntOverflowUnrecognized
			}
			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: OldU: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: OldU: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Field1", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowUnrecognized
				}
				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 ErrInvalidLengthUnrecognized
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			s := string(dAtA[iNdEx:postIndex])
			m.Field1 = &s
			iNdEx = postIndex
		case 2:
			if wireType == 1 {
				var v uint64
				if (iNdEx + 8) > l {
					return io.ErrUnexpectedEOF
				}
				v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
				iNdEx += 8
				v2 := float64(math.Float64frombits(v))
				m.Field2 = append(m.Field2, v2)
			} else if wireType == 2 {
				var packedLen int
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return ErrIntOverflowUnrecognized
					}
					if iNdEx >= l {
						return io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					packedLen |= int(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				if packedLen < 0 {
					return ErrInvalidLengthUnrecognized
				}
				postIndex := iNdEx + packedLen
				if postIndex < 0 {
					return ErrInvalidLengthUnrecognized
				}
				if postIndex > l {
					return io.ErrUnexpectedEOF
				}
				var elementCount int
				elementCount = packedLen / 8
				if elementCount != 0 && len(m.Field2) == 0 {
					m.Field2 = make([]float64, 0, elementCount)
				}
				for iNdEx < postIndex {
					var v uint64
					if (iNdEx + 8) > l {
						return io.ErrUnexpectedEOF
					}
					v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
					iNdEx += 8
					v2 := float64(math.Float64frombits(v))
					m.Field2 = append(m.Field2, v2)
				}
			} else {
				return fmt.Errorf("proto: wrong wireType = %d for field Field2", wireType)
			}
		default:
			iNdEx = preIndex
			skippy, err := skipUnrecognized(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) < 0 {
				return ErrInvalidLengthUnrecognized
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipUnrecognized(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowUnrecognized
			}
			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, ErrIntOverflowUnrecognized
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
			return iNdEx, nil
		case 1:
			iNdEx += 8
			return iNdEx, nil
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowUnrecognized
				}
				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, ErrInvalidLengthUnrecognized
			}
			iNdEx += length
			if iNdEx < 0 {
				return 0, ErrInvalidLengthUnrecognized
			}
			return iNdEx, nil
		case 3:
			for {
				var innerWire uint64
				var start int = iNdEx
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return 0, ErrIntOverflowUnrecognized
					}
					if iNdEx >= l {
						return 0, io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					innerWire |= (uint64(b) & 0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				innerWireType := int(innerWire & 0x7)
				if innerWireType == 4 {
					break
				}
				next, err := skipUnrecognized(dAtA[start:])
				if err != nil {
					return 0, err
				}
				iNdEx = start + next
				if iNdEx < 0 {
					return 0, ErrInvalidLengthUnrecognized
				}
			}
			return iNdEx, nil
		case 4:
			return iNdEx, nil
		case 5:
			iNdEx += 4
			return iNdEx, nil
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
	}
	panic("unreachable")
}

var (
	ErrInvalidLengthUnrecognized = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowUnrecognized   = fmt.Errorf("proto: integer overflow")
)
